一种结构化信息抽取方法、搜索方法和装置的制作方法

文档序号:6444850阅读:160来源:国知局
专利名称:一种结构化信息抽取方法、搜索方法和装置的制作方法
一种结构化信息抽取方法、搜索方法和装置
技术领域
本发明涉及信息检索和自然语言处理技术领域,特别涉及一种结构化信息抽取方法、搜索方法和装置。
背景技术
随着信息和网络技术的不断发展,日益增长的涉及各个领域的海量信息资源,对信息组织和检索提出了巨大的挑战。搜索引擎是人们获取信息的重要途径,搜索引擎根据输入的搜索词(query)将所需的信息从网页中抽取出来,并返回搜索结果。当信息数据规模不断增长时,由于信息非结构化、信息种类多样化、文档内容涵盖范围广泛等因素,导致搜索引擎搜索效率低、召回率低,想要在搜索引擎中直接找到自己想要的答案,较为困难。结构化数据搜索也称作垂直搜索,是相对于通用搜索的信息量大、查询不准确、深度不够等提出的新的搜索模式。为了实现结构化数据搜索,需要对网页信息进行结构化提取,将网页的非结构化数据抽取 成特定的结构化数据,并将这些数据存储到数据库,建立索引以供搜索。网页信息由一定数量的句子组成,从句子中抽取结构化数据。对于单个句子而言,有些表达是某个实体通过发生某种动作与另一个属性值产生关联。例如:1978年刘德华考进无线艺员训练班。其中,实体词为“刘德华”,属性词为“考进”,“无线艺员训练班”为属性值。通常情况下,网页中的实体词是较为固定的,属性词的表达形式会比较多,比如“考进”还可以表达为“考入” “就读”等同义词。进行结构化提取的过程是对句子进行分析,从而抽取出句子中实体词和属性词对应的属性值。现有的结构化数据的方法中,实体词和属性词分别通过预设的实体词词典和属性词词典进行匹配识别,在网页中找到相匹配的实体词或属性词,再抽取得到对应的属性值。如果属性词词典中没有包含某一形式的表达,其对应的属性值将无法被识别出来,导致召回率低。尽管属性词词典还可以通过人工或者结合同义词词典添加的方式将其他同义属性词添加到属性词词典中,然而人工添加方式耗费人力资源、效率较低且召回率较低;结合同义词词典的方式,同样存在召回率较低的问题。

发明内容本发明提供了一种结构化信息抽取方法、搜索方法和装置,能够自动建立模板和挖掘属性值,实现结构化信息的抽取,更加节约人力资源,提高搜索引擎的效率和召回率。具体技术方案如下:一种结构化信息抽取方法,该方法包括:S1、从语料中获取包含预设属性词的语句集合;S2、从所述语句集合中获取包含预设属性值的语句作为种子seed,构成seed集合;S3、从各seed中抽取模板pattern构成所述预设属性词对应的pattern集合,所述pattern包括:与属性值相邻的字符串以及seed中满足预设特征要求的特征值;
S4、利用pattern集合中的各pattern到步骤SI获取的语句集合中抽取属性值,得到所述预设属性词对应的属性值集合。根据本发明一优选实施例,在所述步骤S4之后还包括:S5、利用所述属性值集合到语句集合中进行匹配,提取新的seed,转至步骤S3,直到算法收敛,得到结构化信息,所述结构化信息包括:属性词和属性值。根据本发明一优选实施例,在步骤S3中,所述与属性值相邻的字符串包括:词语、短语或符号;所述seed中满足预设特征要求的特征值包括以下所列中的至少一种:属性值的前一个动词、后一个动词、最近的名词、属性值的词性、属性值中名词的个数以及属性值的字数。根据本发明一优选实施例,所述步骤S3中,还包括对所述预设属性词对应的pattern集合进行过滤,过滤方法采用以下所列的至少一种:基于pattern的出现频率进行过滤或者基于pattern的语义相关性进行过滤。根据本发明一优选实施例,所述步骤S4中,还包括对所述预设属性词对应的属性值集合进行过滤,过滤方法可以采用以下所列的一种或几种结合:A、基于词频进行过滤,将词频低于预设要求的属性值过滤掉;B、基于词性特征进行过滤,将词性不符合属性值特征的属性值过滤掉;C、基于属性值的字数,将字数超过预设字数要求的属性值过滤掉;D、基于属性值分词中停用词的个数,将所包含停用词个数超过预设要求的属性值过滤掉。根据本发明一优选实施例,在进行基于词频过滤之前,先判断所述预设属性词对应的属性值是否可重复出现的,判断的规则为:判断提取得到的预设属性词对应的属性值是否在所述语句集合的多个语句中出现,如果是,则认为该预设属性词对应的属性值是可重复出现的;对于可重复出现的属性值,根据属性值的词频进行过滤,将词频小于预设属性值词频阈值的属性值过滤掉;对于非重复出现的属性值,根据属性值上下文字符串的词频进行过滤,将上下文字符串的词频小于预设词频阈值的属性值过滤掉。一种结构化信息的搜索方法,该方法包括以下步骤:S6、从用户输入的query中获取属性词;S7、利用步骤S6得到的属性词在结构化信息中匹配,得到对应的属性值信息,将得到的属性值信息包含在搜索结果中返回给所述用户;其中所述结构化信息是采用本发明所述结构化信息抽取方法得到的。根据本发明一优选实施例,所述步骤S6中还包括:从用户输入的query中获取实体词;所述步骤S7中的匹配具体为:利用步骤S6得到的属性词在所述实体词对应的结构化信息中匹配,得到对应的属性值信息。一种结构化信息抽取装置,该装置包括:语句集合获取模块,用于从语料中获取包含预设属性词的语句集合;
seed集合获取模块,用于从所述语句集合中获取包含预设属性值的语句作为种子seed,构成seed集合;pattern抽取模块,用于从各seed中抽取模板pattern构成所述预设属性词对应的pattern集合,所述pattern包括:与属性值相邻的字符串以及seed中满足预设特征要求的特征值;属性值抽取模块,用于利用pattern集合中的各pattern到所述语句集合获取单元获取的语句集合中抽取属性值,得到所述预设属性词对应的属性值集合。根据本发明一优选实施例,所述seed集合获取模块利用所述属性值抽取模块得到的属性值集合到语句集合中进行匹配,提取新的seed,加入到seed集合中;所述属性值抽取模块在算法收敛后,得到结构化信息,所述结构化信息包括:属性词和属性值。根据本发明一优选实施例,所述pattern抽取模块中与属性值相邻的字符串包括:词语、短语或符号;所述seed中满足预设特征要求的特征值包括以下所列中的至少一种:属性值的前一个动词、后一个动词、最近的名词、属性值的词性、属性值中名词的个数以及属性值的字数。根据本发明一优选实施例,该装置还包括pattern过滤模块,用于对所述pattern抽取模块抽取的pattern集合进行过滤后提供给所述属性值抽取模块,过滤方法采用以下所列的至少一种:基于pattern的出现频率进行过滤或者基于pattern的语义相关性进行过滤。根据本发明一优选实施例,该装置还包括属性值过滤模块,用于对所述预设属性词对应的属性值集合进行过滤后提供给所述seed集合获取模块,过滤方法可以采用以下所列的一种或几种结合:A、基于词频进行过滤,将词频低于预设要求的属性值过滤掉;B、基于词性特征进行过滤,将词性不符合属性值特征的属性值过滤掉;C、基于属性值的字数,将字数超过预设字数要求的属性值过滤掉;D、基于属性值分词中停用词的个数,将所包含停用词个数超过预设要求的属性值过滤掉。根据本发明一优选实施例,所述属性值过滤模块在进行基于词频过滤之前,先判断所述预设属性词对应的属性值是否可重复出现的,判断的规则为:判断提取得到的预设属性词对应的属性值是否在所述语句集合的多个语句中出现,如果是,则认为该预设属性词对应的属性值是可重复出现的;对于可重复出现的属性值,根据属性值的词频进行过滤,将词频小于预设属性值词频阈值的属性值过滤掉;对于非重复出现的属性值,根据属性值上下文字符串的词频进行过滤,将上下文字符串的词频小于预设词频阈值的属性值过滤掉。一种结构化信息的搜索装置,该装置包括:分析模块,用于从用户输入的query中获取属性词;匹配模块,用于利用所述分析模块得到的属性词在所述结构化信息中匹配,得到对应的属性值信息,将得到的属性值信息返回到包含在搜索结果中返回给所述用户;其中所述结构化信息是采用本发明结构化信息抽取装置得到的。根据本发明一优选实施例,所述分析模块进一步从所述用户输入的query中获取实体词;所述匹配模块具体利用所述分析模块得到的属性词在所述实体词对应的结构化信息中匹配,得到对应的属性值信息。由以上技术方案可以看出,本发明提供的结构化信息抽取方法和装置,通过从有限个seed中提取模板(pattern),利用得到的pattern抽取属性值,并采用循环的方式不断迭代,能够自动建立模板和挖掘属性值词典,实现结构化信息的抽取,更加节约人力资源,提高搜索引擎的效率和召回率。

图1为本发明实施例一提供的结构化信息抽取方法流程图;图2为本发明实施例二提供的结构化信息抽取装置结构图;图3为本发明实施例三提供的结构化信息的搜索方法流程图;图4为本发明实施例四提供的结构和信息的搜索装置结构图。
具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。实施例一、图1是本实施例提供的结构化信息抽取方法流程图,如图1所示,该方法包括:S101、从语料中获取包含预设属性词的语句集合。所述语料是一定规模的资源集合,可以根据实际应用场景进行选择,比如,可以选择整个百科的词条及词条正文作为语料,也可以选择特定范围内或者百科下面的某一个分类的词条及词条正文作为语料。预设属性词是能够表示实体动作或某一方面属性的词项,可以是一些动词或者名词,比如,名词“电影” “电视剧”,动词“考进” “考入”等。预设属性词可以通过人工设定的方式进行设定,也可以是一个动态形成的列表,利用一定规模的语料通过机器学习的方式进行词频统计,先对该一定规模的语料进行分词和过滤等处理,去除停用词和一些词性不适合做属性词的词项后,将排在前N个的词项作为预设属性词,形成预设属性词列表。利用该预设属性词列表,从获取语句集合的语料中获取包含不同预设属性词的语句集合。值得一提的是,采用机器学习方式获取预设属性词的语料可以不同于获取语句集合的语料,例如,可以利用自然语言语料库预先获得预设属性词。举个例子:从百科的娱乐人物分类下的词条正文中抽取出包含“电影”的语句集合。此时,语料为百科的娱乐人物分类下的词条及正文,“电影”为预设属性词。娱乐人物都有百科词条,获取所有娱乐人物分类下各个词条内的正文,将正文先进行分句,形成一个句子集合,将整个娱乐人物分类下的所有句子构成语料。从该语料中获取包含预设属性词“电影”的语句集合。例如:“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角。”是语句集合中的一个语句。值得一提的是,在获取预设属性词列表时,还会对预设属性词进行语义关系的归一化处理。比如,动词“考取” “考上” “上学”等这些词与“考进”属于同语义词语,被划分在同一个属性词列表中。比如,“电影” “影片” “大片”属于具有相同语义关系的词语,被划分在同一个属性词列表中。S102、从语句集合中获取包含预设属性值的语句作为种子(seed),构成seed集合。利用人工标记的属性值集合或者通过机器获得的属性值集合到语句集合中进行匹配,获取包含所述预设属性词和属性值的语句作为seed。在初始过程中,采用人工标注的有限个属性值或者现有词典预设属性词对应的属性值,到语句集合中进行匹配,获得语句集合中包含所述预设属性词和属性值的语句作为seed,来构成seed集合。在seed集合中,标注各语句中的属性值,例如每个seed采用“语句\t属性值”的格式存储。例如:范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角\t观音山。在这个seed中,“观音山”是预设属性词“电影”对应的属性值。又例如:1978年刘德华考进无线艺员训练班。\t无线艺员训练班。在这个seed中,无线艺员训练班是预设属性词“考进”对应的属性值。S103、从各seed中抽取模板(pattern)构成所述预设属性词对应的pattern集合。所述pattern包括:与属性值相邻的字符串以及seed中满足预设特征要求的特征值。其中,与属性值相邻的字符串可以包括但不限于:词语、短语、符号等。在“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角\t观音山”这个seed中,与属性值“观音山”相邻的字符串包括前一个词“《”和后一个词“》”。在“1978年刘德华考进无线艺员训练班。\t无线艺员训练班”这个seed中,可以得到属性值“无线艺员训练班”相邻的两个词为“考进”和“。”。满足预设特征要求的特征值包括以下所列中的至少一种:属性值的前一个动词、后一个动词、最近的名词、属性值的词性、属性值中名词的个数以及属性值的字数。在“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角\t观音山”这个seed中,特征值可以包括后一个动词“荣获”,最近的名词“电影”,属性值的词性为名词,属性值中名词的个数为1,属性值的字数为3。获取得到的与属性值相邻的词语以及seed中满足预设特征要求的特征值构成该seed对应的pattern。如果预设特征要求选择的是最近的名词和后一个动词,则从上述这个seed中可以获得的pattern为“电影《》荣获”。pattern的存储格式本发明并不加以限制,例如,也可以采用表格的方式进行存储。从不同的seed中,提取与属性值相邻的字符串以及seed中满足预设特征要求的特征值,可以获得不同的pattern,构成pattern集合。例如,对于预设属性词为“电影”的seed中,标注的属性值前后的动词很可能还有:“获……奖” “出席” “宣传” “为……宣传” “参加”等,构成的pattern相应地有:“《》获……奖” “出席电影《》” “宣传” “为电影《》宣传” “参加电影《》”等。
另外,针对本步骤在seed中获取的满足预设特征要求的特征值,如果这些特征值符合预设的属性词特性,则还可以将符合属性词特性的特征值经过词频或词性等过滤步骤后,将这些过滤后的这些特征值添加到预设属性词列表中。其中预设的属性词特性可以为:是属性值的前一个动词、后一个动词或最近的名词。S104、对所述预设属性词对应的pattern集合进行过滤。基于pattern的出现频率对步骤S103得到的pattern集合进行过滤,获取pattern的出现频率满足预设要求的pattern集合。例如,统计每个pattern的出现次数,对于出现次数少的pa ttern认为是低质量pattern,将其从pattern集合中过滤掉。或者,基于pattern的语义相关性进行过滤,将抽取得到的pattern中属性值相邻的字符串以及seed中满足预设特征要求的特征值进行语义匹配,过滤掉语义相关性差的pattern。比如,可以计算pattern中各个词语的语义相关度,将语义相关度低的pattern过滤掉;也可以通过现有的词典进行过滤,如果pattern的搭配在词典中有出现过就保留,否则,将其过滤掉。S105、利用pattern集合中的各pattern到步骤SlOl获取的语句集合中抽取属性值,得到所述预设属性词对应的属性值集合。例如,利用pattern “电影《》荣获”到语句集合中抽取属性值,可以得到“杨立新凭借电影《第一书记》荣获‘青少年最喜爱的男演员’奖”等语句,从中抽取属性值“第一书记”。类似地,利用pattern “《》获……奖”到语句集合中抽取属性值,可以得到“ 1983年许雷《陌生的朋友》获第33届西柏林国际电影节特别奖”等语句,从中抽取属性值“陌生的朋友”。将这些抽取得到的属性值作为预设属性词“电影”对应的属性值集合。S106、对所述预设属性词对应的属性值集合进行过滤。属性值集合的过滤方法可以采用以下方式的一种或几种结合:A、基于词频(TF)进行过滤,将词频低于预设要求的属性值过滤掉。有些预设属性词对应的属性值是可重复出现的,而有些非重复出现的。因而,在进行词频过滤之前,先判断属性值是否可重复出现,判断的规则为:判断提取得到的预设属性词对应的属性值是否在所述语句集合的多个语句中出现,如果是,则认为该预设属性词对应的属性值是可重复出现的。比如,预设属性词为“电影”,其对应的属性值有“观音山”、“第一书记”、“陌生的朋友”等,其中,“观音山”在“电影”对应的语句集合中可能有“范冰冰凭借电影《观音山》荣获第23届“东京国际电影节”最佳女主角。”、“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角。”等多个语句,则认为“观音山”是重复出现过的,相应地,预设属性词“电影”的对应的属性值是可重复出现的。预设属性词对应的属性值中只要有一部分属性值重复出现过,就认为是可重复出现的。对于可重复出现的属性值,根据属性值的词频进行过滤,将词频小于预设属性值词频阈值的属性值过滤掉。对于非重复出现的属性值,根据属性值上下文字符串的词频进行过滤,将上下文字符串的词频小于预设词频阈值的属性值过滤掉。其中属性值上下文字符串包括语句中的共有后缀信息或者与属性值的相邻字符串,相邻字符串可以包括但不限于:词语、短语、符
V寸O O假设判断出预设属性词“电影”的属性值是非重复出现的属性值时,可以根据语句中的共有后缀信息的出现次数进行过滤。共有后缀信息是指几个属性值后面具有相同的后缀信息。例如:语句集合中有“阮经天凭借《艋胛》获得第47届台湾金马奖最佳男主角奖。”、“刘德华2004年凭借电影《无间道III》获得台湾金马奖最佳男主角奖” “2007年梁朝伟凭借《色 戒》获得台湾金马奖最佳男主角奖”等语句,也就是说,属性值“艋胛”、“无间道III”和“色.戒”包含共有后缀信息“台湾金马奖最佳男主角奖”,则根据该共有后缀信息“台湾金马奖最佳男主角奖”的出现次数进行过滤,如果“台湾金马奖最佳男主角奖”的出现次数超过预设后缀词频阈值,则保留属性值“艋胛”、“无间道III”和“色.戒”,否则,将其过滤掉。或者,也可以根据属性值的相邻字符串的词频进行过滤。属性值的相邻字符串包括属性值的前后两个词,例如“1982年在李添胜监制的电视剧《猎鹰》里首度担任男主角一炮而红”,属性值“猎鹰”前后两个词分别是“《”和“》”,则根据该前后两个词的词频进行过滤。B、基于词性特征进行过滤,将词性不符合属性值特征的属性值过滤掉。属性值的词性通常为名词或名词短语等类型,如预设属性词“电影”对应的属性值“观音山”、“第一书记”、“陌生的朋友”等名词或名词短语。将词性为连词、助词等的属性值过滤掉。C、基于属性值的字数,将字数超过预设字数要求的属性值过滤掉。有些预设属性词对应的属性值可能会具有相同的字数或者字数在一定范围之内,将不符合预设字数要求的属性值过滤掉。比如,预设属性词为“XX日期”时,其对应的属性值有固定的格式,字数也将会在一定的范围之内。D、基于属性值分词中停用词的个数,将所包含停用词个数超过预设要求的属性值过滤掉。

抽取的属性值中含有停用词个数太多时,通常不太具有实际意义,因而将所包含停用词个数超过预设停用词个数阈值的属性值过滤掉。例如,以pattern “考进……”从语句“考进了那个当地最好的学校”抽取得到属性值“那个当地最好的学校”。在这个属性值中,停用词包括“那个” “最好” “的”,个数为3。当预设停用词个数阈值设为I时,属性值“那个当地最好的学校”的停用词个数超过1,则将被过滤掉。S107、利用过滤后的属性值集合到步骤SlOl获取的语句集合中进行匹配,提取新的seed,转至步骤S103,直到算法收敛,得到结构化信息,所述结构化信息包括:属性词和
属性值。利用过滤后的属性值集合中的属性值到语句集合中进行匹配,抽取包含属性值的语句,并以“语句\t属性值”的格式形成新的seed,转至步骤S103,进行下一个循环,直到算法收敛。当没有抽取到新的pattern或者新的属性值时,算法收敛。以上是对本发明所提供的方法进行的详细描述,下面对本发明提供的结构化信息抽取装置进行详细描述。实施例二、图2为本实施例提供的结构化信息抽取装置结构图,如图2所示,该装置包括:语句集合获取模块201、seed集合获取模块202、pattern抽取模块203、pattern过滤模块204、属性值抽取模块205和属性值过滤模块206。语句集合获取模块201,用于从语料中获取包含预设属性词的语句集合。所述语料是一定规模的资源集合,可以根据实际应用场景进行选择,比如,可以选择整个百科的词条及词条正文作为语料,也可以选择特定范围内或者百科下面的某一个分类的词条及词条正文作为语料。预设属性词是能够表示实体动作或某一方面属性的词项,可以是一些动词或者名词,比如,名词“电影” “电视剧”,动词“考进” “考入”等。预设属性词可以通过人工设定的方式进行设定,也可以是一个动态形成的列表,利用一定规模的语料通过机器学习的方式进行词频统计,先对该一定规模的语料进行分词和过滤等处理,去除停用词和一些词性不适合做属性词的词项后,将排在前N个的词项作为预设属性词,形成预设属性词列表。利用该预设属性词列表,从获取语句集合的语料中获取包含不同预设属性词的语句集合。值得一提的是,采用机器学习方式获取预设属性词的语料可以不同于获取语句集合的语料,例如,可以利用自然语言语料库预先获得预设属性词。举个例子:语句集合获取模块201需要从百科的娱乐人物分类下的词条正文中抽取出包含“电影”的语句集合。此时,语料为百科的娱乐人物分类下的词条及正文,“电影”为预设属性词。娱乐人物都有百科词条,获取所有娱乐人物分类下各个词条内的正文,将正文先进行分句,形成一个句子集合,将整个娱乐人物分类下的所有句子构成语料。从该语料中获取包含预设属性词“电影”的语句集合。例如:“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角。”是语句集合中的一个语句。值得一提的是,在获取预设属性词列表时,还会对预设属性词进行语义关系的归一化处理。比如,动词“考取” “考上” “上学”等这些词与“考进”属于同语义词语,被划分在同一个属性词列表中。比如,“电影” “影片” “大片”属于具有相同语义关系的词语,被划分在同一个属性词列表中。seed集合获取模块202,用于从语句集合中获取包含预设属性值的语句作为seed,构成seed集合。利用人工标记的属性值集合或者通过机器获得的属性值集合到语句集合中进行匹配,获取包含所述预设属性词和属性值的语句作为seed。在初始过程中,采用人工标注的有限个属性值或者现有词典预设属性词对应的属性值,到语句集合中进行匹配,获得语句集合中包含所述预设属性词和属性值的语句作为seed,来构成seed集合。在seed集合中,标注各语句中的属性值,例如每个seed采用“语句\t属性值”的格式存储。例如:范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角\t观音山。在这个seed中,“观音山”是预设属性词“电影”对应的属性值。又例如:1978年刘德华考进无线艺员训练班。\t无线艺员训练班。在这个seed中,无线艺员训练班是预设属性词“考进”对应的属性值。pattern抽取模块203,用于从各seed中抽取pattern构成所述预设属性词对应的pattern集合。所述pattern包括:与属性值相邻的字符串以及seed中满足预设特征要求的特征值。其中,与属性值相邻的字符串可以包括但不限于:词语、短语、符号等。
在“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角\t观音山”这个seed中,与属性值“观音山”相邻的字符串包括前一个词“《”和后一个词“》”。在“1978年刘德华考进无线艺员训练班。\t无线艺员训练班”这个seed中,可以得到属性值“无线艺员训练班”相邻的两个词为“考进”和“。”。所述seed中满足预设特征要求的特征值包括以下所列中的至少一种:属性值的前一个动词、后一个动词、最近的名词、属性值的词性、属性值中名词的个数以及属性值的字数。在“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角\t观音山”这个seed中,特征值可以包括后一个动词“荣获”,最近的名词“电影”,属性值的词性为名词,属性值中名词的个数为1,属性值的字数为3。pattern抽取模块203获取得到的与属性值相邻的字符串以及seed中满足预设特征要求的特征值构成该seed对应的pattern。如果预设特征要求选择的是最近的名词和后一个动词,贝1J从上述这个seed中可以获得的pattern为“电影《》荣获”。pattern的存储格式本发明并不加以限制,例如,也可以采用表格的方式进行存储。从不同的seed中,提取与属性值相邻的字符串以及seed中满足预设特征要求的特征值,可以获得不同的pattern,构成pattern集合。例如,对于预设属性词为“电影”的seed中,标注的属性值前后的动词很可能还有:“获……奖” “出席” “宣传” “为……宣传” “参加”等,构成的pattern相应地有:“《》获……奖” “出席电影《》” “宣传” “为电影《》宣传” “参加电影《》”等。

另外,通过pattern抽取模块203在seed中获取的满足预设特征要求的特征值,如果这些特征值符合预设的属性词特性,则还可以将符合属性词特性的特征值经过词频或词性等过滤步骤后,将这些过滤后的这些特征值添加到预设属性词列表中。其中预设的属性词特性可以为:是属性值的前一个动词、后一个动词或最近的名词。pattern过滤模块204,用于对所述pattern抽取模块抽取的pattern集合进行过滤后提供给属性值抽取模块205。基于pattern的出现频率对pattern集合进行过滤,获取pattern的出现频率满足预设要求的pattern集合。例如,统计每个pattern的出现次数,对于出现次数少的pattern认为是低质量pattern,将其从pattern集合中过滤掉。或者,基于pattern的语义相关性进行过滤,将抽取得到的pattern中属性值相邻的字符串以及seed中满足预设特征要求的特征值进行语义匹配,过滤掉语义相关性差的pattern。比如,可以计算pattern中各个词语的语义相关度,将语义相关度低的pattern过滤掉;也可以通过现有的词典进行过滤,如果pattern的搭配在词典中有出现过就保留,否则,将其过滤掉。属性值抽取模块205,用于利用pattern集合中的各pattern到语句集合获取单元201获取的语句集合中抽取属性值,得到所述预设属性词对应的属性值集合。例如,利用pattern “电影《》荣获”到语句集合中抽取属性值,可以得到“杨立新凭借电影《第一书记》荣获‘青少年最喜爱的男演员’奖”等语句,从中抽取属性值“第一书记”。类似地,利用pattern “《》获……奖”到语句集合中抽取属性值,可以得到“ 1983年许雷《陌生的朋友》获第33届西柏林国际电影节特别奖”等语句,从中抽取属性值“陌生的朋友”。将这些抽取得到的属性值作为预设属性词“电影”对应的属性值集合。属性值过滤模块206,用于对所述预设属性词对应的属性值集合进行过滤后提供给seed集合获取模块202,过滤方法可以采用以下所列的一种或几种结合:A、基于词频进行过滤,将词频低于预设要求的属性值过滤掉。所述属性值过滤模块在进行基于词频过滤之前,先判断所述预设属性词对应的属性值是否可重复出现的,判断的规则为:判断提取得到的预设属性词对应的属性值是否在所述语句集合的多个语句中出现,如果是,则认为该预设属性词对应的属性值是可重复出现的。比如,预设属性词为“电影”,其对应的属性值有“观音山”、“第一书记”、“陌生的朋友”等,其中“观音山”在“电影”对应的语句集合中可能有“范冰冰凭借电影《观音山》荣获第23届“东京国际电影节”最佳女主角。”、“范冰冰凭借电影《观音山》荣获第十八届北京大学生电影节最佳女主角。”等多个语句,则认为“观音山”是重复出现过的,相应地,预设属性词“电影”的对应的属性值是可重复出现的。预设属性词对应的属性值中只要有一部分属性值重复出现过,就认为是可重复出现的。对于可重复出现的属性值,根据属性值的词频进行过滤,将词频小于预设属性值词频阈值的属性值过滤掉。对于非重复出现的属性值,根据属性值上下文字符串的词频进行过滤,将上下文字符串的词频小于预设词频阈值的属性值过滤掉。其中属性值上下文字符串包括语句中的共有后缀信息或者与属性值的相邻字符串,相邻字符串可以包括但不限于:词语、短语、符
V寸ο假设判断出预设属性词“电影”的属性值是非重复出现的属性值时,可以根据语句中的共有后缀信息的出现次数进行过滤。共有后缀`信息是指几个属性值后面具有相同的后缀信息。例如:语句集合中有“阮经天凭借《艋胛》获得第47届台湾金马奖最佳男主角奖。”、“刘德华2004年凭借电影《无间道III》获得台湾金马奖最佳男主角奖” “2007年梁朝伟凭借《色 戒》获得台湾金马奖最佳男主角奖”等语句,也就是说,属性值“艋胛”、“无间道III”和“色.戒”包含共有后缀信息“台湾金马奖最佳男主角奖”,则根据该共有后缀信息“台湾金马奖最佳男主角奖”的出现次数进行过滤,如果“台湾金马奖最佳男主角奖”的出现次数超过预设后缀词频阈值,则保留属性值“艋胛”、“无间道III”和“色.戒”,否则,将其过滤掉。或者,也可以根据属性值的相邻字符串的词频进行过滤。属性值的相邻字符串包括属性值的前后两个词,例如“1982年在李添胜监制的电视剧《猎鹰》里首度担任男主角一炮而红”,属性值“猎鹰”前后两个词分别是“《”和“》”,则根据该前后两个词的词频进行过滤。B、基于词性特征进行过滤,将词性不符合属性值特征的属性值过滤掉。属性值的词性通常为名词或名词短语等类型,如预设属性词“电影”对应的属性值“观音山”、“第一书记”、“陌生的朋友”等。将词性为连词、助词等的属性值过滤掉。C、基于属性值的字数,将字数超过预设字数要求的属性值过滤掉。有些预设属性词对应的属性值可能会具有相同的字数或者字数在一定范围之内,将不符合预设字数要求的属性值过滤掉。比如,预设属性词为“XX日期”时,其对应的属性值有固定的格式,字数也将会在一定的范围之内。
D、基于属性值分词中停用词的个数,将所包含停用词个数超过预设要求的属性值过滤掉。抽取的属性值中含有停用词个数太多时,通常不太具有实际意义,因而将所包含停用词个数超过预设停用词个数阈值的属性值过滤掉。例如,以pattern “考进……”从语句“考进了那个当地最好的学校”抽取得到属性值“那个当地最好的学校”。在这个属性值中,停用词包括“那个” “最好” “的”,个数为3。当预设停用词个数阈值设为I时,属性值“那个当地最好的学校”的停用词个数超过1,则将被过滤掉。经过属性值过滤模块206过滤得到属性值集合后,则转到seed集合获取模块202中,seed集合获取模块202利用所述属性值过滤模块206得到的属性值集合到语句集合中进行匹配,抽取包含属性值的语句,并以“语句\t属性值”的格式,生成新的seed,添加到seed集合中。不断地循环迭代,直到算法收敛,得到结构化信息,所述结构化信息包括 属性词和属性值。当没有抽取到新的pattern或者新的属性值时,认为算法收敛。本发明通过人工标记有限个seed,从各个seed中抽取得到pattern,再利用该些pattern抽取属性值,利用抽取得到的属性值,采用循环的方式不断迭代,得到包含属性词及其对应属性值结构化信息。本发明提供的上述方法和装置可以用于对诸如百科、知道等自然语言数据进行结构化解析得到结构化数据库,然后进一步用于搜索引擎实现结构化搜索(即垂直搜索)。下面通过实施例三和实施例四对结构化搜索过程进行描述。实施例三、图3为本发明实施例三提供的结构化信息的搜索方法流程图,如图3所示,该方法可以基于得到的结构化信息可以执行以下步骤:步骤S301、从用 户输入的query中确定属性词。当用户通过搜索引擎输入搜索词(query)时,需要从query中确定属性词,该属性词的确定过程可以采用现有技术,诸如采用词典或模板的方式获取,不再赘述。步骤S302、利用步骤S301得到的属性词在所述结构化信息中进行匹配,得到对应的属性值信息,将得到的属性值信息包含在搜索结果中返回给用户。其中结构化信息是采用如实施例一所述的方法得到的。在此需要说明的是,通常在进行结构化搜索的过程中往往输入的query中还包含有实体词,实际上在步骤S301中会确定出实体词和属性词,并且在步骤302中,查询的结构化信息实际上是该实体词对应的结构化信息。也就是说,预先需要建立各实体词对应的结构化信息,由于实体词与属性词之间关系的提取已经是现有技术,因此结合采用本发明中提取属性词与属性值之间对应关系的方式便能够建立实体词对应的结构化信息,该结构化信息中包括属性词及其对应的属性值。例如对于“刘德华考进什么学校”的query,分析出其实体词为“刘德华”,属性词为“考进”。利用得到的属性词“考进”在本发明建立的结构化信息中查找,该结构化信息是实体词“刘德华”对应的结构化信息,得到对应的属性值信息“无线艺员训练班”,这样就能通过结构化搜索返回对应于属性词的属性值信息,从而实现结构化搜索。当然,除了返回结构化搜索的结果之外,还可以进一步返回普通大搜索的结果给用户。对应的搜索装置如实施例四所示。
实施例四、图4为本发明实施例四提供的装置结构示意图,如图4所示,该装置可以具体包括:分析模块401和匹配模块402。分析模块401从用户输入的query中获取属性词。匹配模块402利用分析模块401得到的属性词在结构化信息中匹配,得到对应的属性值信息,将得到的属性值信息返回到包含在搜索结果中返回给用户。其中结构化信息是采用如实施例二所述的装置得到的。在此需要说明的是,通常在进行结构化搜索的过程中往往输入的query中还包含有实体词,查询的结构化信息实际上是该实体词对应的结构化信息。也就是说,预先需要建立各实体词对应的结构化信息,由于实体词与属性词之间关系的提取已经是现有技术,因此结合采用本发明中提取属性词与属性值之间对应关系的方式便能够建立实体词对应的结构化信息,该结构化信息中包括属性词及其对应的属性值。分析模块401可以进一步从用户输入的query中获取实体词。此时匹配模块402具体利用分析模块401得到的属性词在所述实体词对应的结构化信息中匹配,得到对应的属性值信息。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种结构化信息抽取方法,其特征在于,包括: 51、从语料中获取包含预设属性词的语句集合; 52、从所述语句集合中获取包含预设属性值的语句作为种子seed,构成seed集合; 53、从各seed中抽取模板pattern构成所述预设属性词对应的pattern集合,所述pattern包括:与属性值相邻 的字符串以及seed中满足预设特征要求的特征值; 54、利用pattern集合中的各pattern到步骤SI获取的语句集合中抽取属性值,得到所述预设属性词对应的属性值集合。
2.根据权利要求1所述的方法,其特征在于,在所述步骤S4之后还包括: 55、利用所述属性值集合到语句集合中进行匹配,提取新的seed,转至步骤S3,直到算法收敛,得到结构化信息,所述结构化信息包括:属性词和属性值。
3.根据权利要求1所述的方法,其特征在于,在步骤S3中,所述与属性值相邻的字符串包括:词语、短语或符号; 所述seed中满足预设特征要求的特征值包括以下所列中的至少一种:属性值的前一个动词、后一个动词、最近的名词、属性值的词性、属性值中名词的个数以及属性值的字数。
4.根据权利要求1所述的方法,其特征在于,所述步骤S3中,还包括对所述预设属性词对应的pattern集合进行过滤,过滤方法采用以下所列的至少一种:基于pattern的出现频率进行过滤或者基于pattern的语义相关性进行过滤。
5.根据权利要求1所述的方法,其特征在于,所述步骤S4中,还包括对所述预设属性词对应的属性值集合进行过滤,过滤方法可以采用以下所列的一种或几种结合: A、基于词频进行过滤,将词频低于预设要求的属性值过滤掉; B、基于词性特征进行过滤,将词性不符合属性值特征的属性值过滤掉; C、基于属性值的字数,将字数超过预设字数要求的属性值过滤掉; D、基于属性值分词中停用词的个数,将所包含停用词个数超过预设要求的属性值过滤掉。
6.根据权利要求5所述的方法,其特征在于,在进行基于词频过滤之前,先判断所述预设属性词对应的属性值是否可重复出现的,判断的规则为:判断提取得到的预设属性词对应的属性值是否在所述语句集合的多个语句中出现,如果是,则认为该预设属性词对应的属性值是可重复出现的; 对于可重复出现的属性值,根据属性值的词频进行过滤,将词频小于预设属性值词频阈值的属性值过滤掉; 对于非重复出现的属性值,根据属性值上下文字符串的词频进行过滤,将上下文字符串的词频小于预设词频阈值的属性值过滤掉。
7.—种结构化信息的搜索方法,其特征在于,该方法包括以下步骤: 56、从用户输入的query中获取属性词; 57、利用步骤S6得到的属性词在结构化信息中匹配,得到对应的属性值信息,将得到的属性值信息包含在搜索结果中返回给所述用户; 其中所述结构化信息是采用如权利要求2所述的方法得到的。
8.根据权利要求7所述的搜索方法,其特征在于,所述步骤S6中还包括:从用户输入的query中获取实体词;所述步骤S7中的匹配具体为:利用步骤S6得到的属性词在所述实体词对应的结构化信息中匹配,得到对应的属性值信息。
9.一种结构化信息抽取装置,其特征在于,包括: 语句集合获取模块,用于从语料中获取包含预设属性词的语句集合; seed集合获取模块,用于从所述语句集合中获取包含预设属性值的语句作为种子seed,构成seed集合; pattern抽取模块,用于从各seed中抽取模板pattern构成所述预设属性词对应的pattern集合,所述pattern包括:与属性值相邻的字符串以及seed中满足预设特征要求的特征值; 属性值抽取模块,用于利用pattern集合中的各pattern到所述语句集合获取单元获取的语句集合中抽取属性值,得到所述预设属性词对应的属性值集合。
10.根据权利要求9所述的装置,其特征在于,所述seed集合获取模块利用所述属性值抽取模块得到的属性值集合到语句集合中进行匹配,提取新的seed,加入到seed集合中; 所述属性值抽取模块在算法收敛后,得到结构化信息,所述结构化信息包括:属性词和属性值。
11.根据权利要求9所述的装置,其特征在于,所述pattern抽取模块中与属性值相邻的字符串包括:词语、短语或符号; 所述seed中满足预设特征要求的特征值包括以下所列中的至少一种:属性值的前一个动词、后一个动词、最近的名词、属性值的词性、属性值中名词的个数以及属性值的字数。
12.根据权利要求9所述的装置,其特征在于,该装置还包括pattern过滤模块,用于对所述pattern抽取模块抽取的pattern集合进行过滤后提供给所述属性值抽取模块,过滤方法采用以下所列的至少一种:基于pattern的出现频率进行过滤或者基于pattern的语义相关性进行过滤。
13.根据权利要求9所述的装置,其特征在于,该装置还包括属性值过滤模块,用于对所述预设属性词对应的属性值集合进行过滤后提供给所述seed集合获取模块,过滤方法可以采用以下所列的一种或几种结合: A、基于词频进行过滤,将词频低于预设要求的属性值过滤掉; B、基于词性特征进行过滤,将词性不符合属性值特征的属性值过滤掉; C、基于属性值的字数,将字数超过预设字数要求的属性值过滤掉; D、基于属性值分词中停用词的个数,将所包含停用词个数超过预设要求的属性值过滤掉。
14.根据权利要求13所述的装置,其特征在于,所述属性值过滤模块在进行基于词频过滤之前,先判断所述预设属性词对应的属性值是否可重复出现的,判断的规则为:判断提取得到的预设属性词对应的属性值是否在所述语句集合的多个语句中出现,如果是,则认为该预设属性词对应的属性值是可重复出现的; 对于可重复出现的属性值,根据属性值的词频进行过滤,将词频小于预设属性值词频阈值的属性值过滤掉; 对于非重复出现的属性值,根据属性值上下文字符串的词频进行过滤,将上下文字符串的词频小于预设词频阈值的属性值过滤掉。
15.一种结构化信息的搜索装置,其特征在于,该装置还包括: 分析模块,用于从用户输入的query中获取属性词; 匹配模块,用于利用所述分析模块得到的属性词在所述结构化信息中匹配,得到对应的属性值信息,将得到的属性值信息返回到包含在搜索结果中返回给所述用户; 其中所述结构化信息是采用如权利要求10所述的装置得到的。
16.根据权利要求15所述的搜索装置,其特征在于,所述分析模块进一步从所述用户输入的query中获取实体词; 所述匹配模块具体利用所述分析模块得到的属性词在所述实体词对应的结构化信息中匹配,得到对应的属性值信息。
全文摘要
本发明提供了一种结构化信息抽取方法、搜索方法和装置,其中所述结构化信息抽取方法包括S1、从语料中获取包含预设属性词的语句集合;S2、从所述语句集合中获取包含预设属性值的语句作为seed,构成seed集合;S3、从各seed中抽取pattern构成所述预设属性词对应的pattern集合;S4、利用各pattern到步骤S1获取的语句集合中抽取属性值,得到所述预设属性词对应的属性值集合;S5、利用所述属性值集合到语句集合中进行匹配,提取新的seed,转至步骤S3,直到算法收敛,得到结构化信息。相较于现有技术,本发明能够自动建立模板和挖掘属性值,实现结构化信息的抽取,更加节约人力资源,提高搜索引擎的效率和召回率。
文档编号G06F17/30GK103186633SQ20111045945
公开日2013年7月3日 申请日期2011年12月31日 优先权日2011年12月31日
发明者李永强, 杨帆 申请人:北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1