一种限定区域的文本信息抽取方法及装置
技术领域
本申请涉及文本处理技术领域,尤其涉及一种限定区域的文本信息抽取方法及装置。
背景技术
随着互联网信息的***式增长,各种文档的内容越发丰富多彩。由于人们所需要的信息被隐藏在各种样式的内容里而愈发难以被发现,因此,人们需要借助信息抽取手段,以在相关的文本中找到所需信息。
目前信息抽取方法主要为基于HTML结构的抽取方法,其利用HTML解析器对HTML文本信息中的字符逐个扫描,解析HTML文本信息的结构层次关系,并为相同的HTML标签从零开始依次编号,最终形成HTML文本信息对应的DOM树,再对DOM树的槽点设置抽取规则表达式,根据抽取规则表达式对HTML文本信息进行抽取,得到抽取结果。其中,抽取规则表达式包括单槽点抽取规则表达式和多槽点抽取规则表达式,单槽点抽取规则表达式是生成一个孤立的信息点的抽取规则表达式,即生成一个对HTML文本信息中的局部信息点进行抽取的规则;多槽点抽取规则表达式是生成多个相互联系的信息点进行抽取的规则,即生成一个HTML文本信息中,多个结构相似的信息块中所有相关联的信息点进行抽取的规则。
但是,现有的基于HTML结构的抽取方法待仅能对整篇HTML文本信息进行信息抽取,特别对于一般常用词,极易导致生成大量的抽取结果,不仅增加抽取时间,降低抽取效率,而且工作人员还需在抽取结果中筛选所需抽取信息,增加工作量。
发明内容
本申请提供了一种限定区域的文本信息抽取方法及装置,以解决现有的文本信息抽取方法仅能对整篇文本信息进行信息抽取,特别对于一般常用词,极易导致生成大量的抽取结果,不仅增加抽取时间,降低抽取效率,而且工作人员还需在抽取结果中筛选所需抽取信息,增加工作量的问题。
第一方面,本申请提供一种限定区域的文本信息抽取方法包括:
获取文本和所述文本对应的抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式;
将所述定位表达式与所述文本进行匹配,得到匹配结果;
根据所述匹配结果,确定起始词和结束词;
根据所述起始词和结束词,确定所述文本的待抽取区域;
根据所述待抽取区域,得到待抽取文本信息;
利用所述信息抽取表达式,对所述待抽取文本信息进行匹配;
抽取与所述信息抽取表达式相匹配的信息,得到目标信息。
第二方面,本申请还提供了一种限定区域的文本信息抽取装置包括:
获取模块,用于获取文本和所述文本对应的抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式;
第一匹配模块,用于将所述定位表达式与所述文本进行匹配,得到匹配结果;
第一确定模块,用于根据所述匹配结果,确定起始词和结束词;
第二确定模块,用于根据所述起始词和结束词,确定所述文本的待抽取区域;
待抽取文本信息生成模块,用于根据所述待抽取区域,得到待抽取文本信息;
第二匹配模块,用于利用所述信息抽取表达式,对所述待抽取文本信息进行匹配;
第一抽取模块,用于抽取与所述信息抽取表达式相匹配的信息,得到目标信息。
由以上技术方案可知,本申请提供一种限定区域的文本信息抽取方法及装置,该方法根据抽取需求,利用抽取规则表达式中的定位表达式可在文本中划分出待抽取区域,然后利用信息抽取表达式对所述待抽取区域中的文本信息进行信息抽取,因此,本申请无需对整篇文本进行信息抽取,并通过抽取规则表达式一次完成定位和抽取信息的过程,不仅降低抽取时间,提高抽取效率和运算速度,,而且提高抽取信息的准确性,无需工作人员进行二次筛选,降低工作量。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供一种限定区域的文本信息抽取方法一实施例的方法流程图;
图2为本申请提供一种限定区域的文本信息抽取方法另一实施例的方法流程图;
图3为本申请提供一种限定区域的文本信息抽取方法的一个实施例的结构示意图;
图4为图3中第一匹配模块的结构示意图;
图5为申请提供一种限定区域的文本信息抽取方法的另一个实施例的结构示意图。
具体实施方式
如图1所示,第一方面,本申请一实施例提供了一种限定区域的文本信息抽取方法包括:
步骤101:获取文本和所述文本对应的抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式。
文本可以是doc格式文档、txt格式的文本文档或html文档等。文本的内容可以是文字,也可以是数字,还可以是文字或数字的组合,本实施例对此不加以限制。
文本包括获取来自用户生成内容中的文本信息,优选地,包括获取来自新闻渠道、微博渠道和论坛渠道的文本信息,将这些渠道中的文本内容作为文本信息。其中,新闻渠道包含新浪、网易、搜狐、腾讯和《今日头条》等;微博渠道包含新浪微博等;论坛渠道包含天涯、百度贴吧、知乎等。对于新闻渠道,用新闻的标题和报道内容作为文本信息;对于论坛渠道,把帖子的文本内容作为文本信息。对于微博渠道,将微博帖子的文本内容作为文本信息。通过如上方法获取的文本,能很好的获得新的文本。
步骤102:将所述定位表达式与所述文本进行匹配,得到匹配结果。
步骤103:根据所述匹配结果,确定起始词和结束词。
步骤104:根据所述起始词和结束词,确定所述文本的待抽取区域。
步骤105:根据所述待抽取区域,得到待抽取文本信息。
步骤106:利用所述信息抽取表达式,对所述待抽取文本信息进行匹配。
步骤107:抽取与所述信息抽取表达式相匹配的信息,得到目标信息。
由以上技术方案可知,本申请提供一种限定区域的文本信息抽取方法,该方法根据抽取需求,利用抽取规则表达式中的定位表达式可在文本中划分出待抽取区域,然后利用信息抽取表达式对所述待抽取区域中的文本信息进行信息抽取,因此,本申请无需对整篇文本进行信息抽取,并通过抽取规则表达式一次完成定位和抽取信息的过程,不仅降低抽取时间,提高抽取效率和运算速度,,而且提高抽取信息的准确性,无需工作人员进行二次筛选,降低工作量。
如图2所示,本申请另一实施例提供了一种限定区域的文本信息抽取方法包括:
步骤201:获取文本和所述文本对应的抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式。
定位表达式包括类型标签和概念,如k_收购、c_方式介词和e_申请提额等,其中,所述类型标签分为引用类标签和非引用类标签。如c_货币单位。类型标签通常用字母表示,例如k、e和c,其中,k代表关键词类型;e代表业务要素类型;c代表通用词语类型。k所代表的类型,表示其后面的概念可以直接用来进行匹配;e和c所代表的类型必须需要预先建模或引用语义模型中的概念值表达式列表进行匹配,即k为非引用类标签,e和c为引用类标签。
由此可知,定位表达式用来在文本中划分出来固定的抽取区域,以达到精准抽取的目的,可满足不同的抽取需求,并且抽取结果更加精确。
可选地,上述信息抽取表达式可为正则表达式。正则表达式是一种正规的描述字符串模式的表达式,可以用来进行文本匹配,具体为在给定的文本信息中查找与给定的正则表达式相匹配的部分。正则表达式由一些普通字符和元字符组成,普通字符包括大小写的字母和数字,元字符具有特殊的含义。
优选地,所述定位表达式分为前置定位表达式和后置定位表达式,所述信息抽取表达式位于所述前置定位表达式和所述后置定位表达式之间。例如,k_收购@[0-9,.]{1,}[千万亿]{1,}@c_货币单位,其中,“k_收购”是前置定位表达式,“[0-9,.]{1,}[千万亿]{1,}”是抽取信息表达式,“c_货币单位”后置定位表达式。如果只需抽取定位以收购相关信息开始,到文本的最后一个字符结束的区域的信息,则可省略后置定位信息,例如,k_收购@[0-9,.]{1,}[千万亿]{1,};同样,如果只需定位文本第一个字符到货币单位相关信息之间所组成的区域,则可省略前置定位信息,例如,[0-9,.]{1,}[千万亿]{1,}@c_货币单位。
工作人员根据实际的抽取需求,预先编辑好前置定位表达式、信息抽取表达式和后置定位表达式(即抽取规则表达式)即可,通过抽取规则表达式可一次性完成限定文本抽取区域和信息抽取的过程,相对于现有技术,既可降低工作人员重复录入多个表达式的录入量,又可提高运算效率,以提升抽取效率。
步骤202:如果所述类型标签为引用类标签,判断所述引用类标签对应的概念是否有对应的概念值表达式列表;
如果所述概念有对应的概念值表达式列表,则执行步骤203。
由于不同的类型标签对应不同的匹配方式,对于引用类标签需要预先建模或者引用语义模型中的概念值表达式列表进行匹配,因此需要判断引用类标签对应的概念是否有对应的概念值表达式列表。
概念值表达式列表可通过现有的语义模型建设平台进行构建,也可直接引用已有的概念值表达式列表。概念值表达式列表中的概念值表达式可以是特征词,可以是正则表达式等。
如果所述概念没有对应的概念值表达式列表,则跳转至步骤205。
步骤203:获取所述概念值表达式列表。
步骤204:将所述概念值表达式列表中的每个概念值表达式与所述文本进行匹配。
如果所述概念值表达式列表中任意一个概念值表达式与所述文本匹配成功,则所述概念值表达式列表对应所述定位表达式的概念匹配成功。
如果所述概念值表达式列表中所有概念值表达式与所述文本匹配失败,则所述概念值表达式列表对应所述定位表达式的概念匹配失败。
具体匹配规则在此不做限定,可采用现有的任何匹配规则进行匹配,本实施例可采用模式匹配法,即从文本的第一个字符起与概念值表达式列表中的任意一个概念值表达式的第一个字符进行匹配,若相匹配,则继续对字符进行后续的比较,若不匹配,则从文本的第二个字符起与该概念表达式的第一个字符重新比较,直至该概念表达式的每个字符依次与文本中的一个连续的字符序列相等为止,则视为匹配成功,否则匹配失败。如果匹配失败,再重新获取第二个概念值表达式进行上述匹配过程,直至有概念值表达式与第一文本信息匹配成功,或者将所有概念值表达式都进行完匹配过程为止。
除了上述的匹配规则,对于概念值表达式列表中的具体的特征词的匹配,还可采用模糊语义匹配,例如,在假设文本信息中含有词语“纸巾”,而在概念值表达式列表中有“抽纸”,则根据模糊语义匹配原则,确定“纸巾”与“抽纸”匹配成功,并将“纸巾”作为新的概念值表达式存储到概念值表达式列表中,以丰富概念值表达式列表,提高匹配的准确性。
对于正则表达式的匹配,两个字符之间可采用任何符合数量要求的字符均可视为匹配成功,例如文本信息中存在“张三,男”、“张小三,男”或者“张美丽,女”,均可视为与正则表达式“.{2,3},(男|女)”匹配成功。
步骤205:如果所述类型标签为非引用类标签,则将所述非引用类标签对应的概念与所述文本信息进行匹配。
此步骤的匹配过程可参见步骤204的特征词的匹配过程,在此不再赘述。
步骤206:根据所述匹配结果,确定起始词和结束词。
将文本中与前置定位表达式相匹配的词语确定为起始词,将文本中与后置定位表达式相匹配的词语确定为结束词。
步骤207:根据所述起始词和结束词,确定所述文本待抽取区域。
如果定位表达式同时含有前置定位表达式和后置定位表达式,且匹配之后,文本中仅存在一个起始词和一个结束词,则将起始词语结束词之间的区域确定为待抽取区域。
如果定位表达式同时含有前置定位表达式和后置定位表达式,且匹配之后,文本中有多个起始词和一个结束词,且该结束词位于所有起始词之后,则将该文本划分出多个抽取区域,即第一个起始词到第二个起始词之间为第一抽取区域,第二个起始词到第三个起始词为第二区域,以此类推,直至最后一个起始词到结束词之间为最后一个抽取区域。
如果定位表达式同时含有前置定位表达式和后置定位表达式,且匹配之后,文本中有多个起始词和一个结束词,且该结束词位于第一起始词和最后一个起始词之间,则将该文本划分出多个抽取区域,即第一个起始词到第二个起始词之间为第一抽取区域,第二个起始词到第三个起始词为第二区域,以此类推,直至最靠近结束词并在结束词之前的起始词到结束词之间为最后一个抽取区域。
如果定位表达式同时含有前置定位表达式和后置定位表达式,且匹配之后,文本中有多个起始词和一个结束词,且该结束词位于第一个起始词之前,则将该文本无抽取区域。
如果定位表达式同时含有前置定位表达式和后置定位表达式,且匹配之后,文本中有多个起始词,没有结束词,则将该文本划分出多个抽取区域,即第一个起始词到第二个起始词之间为第一抽取区域,第二个起始词到第三个起始词为第二区域,以此类推,直至最后一个起始词到整篇文本的结束词为最后一个区域。
如果定位表达式同时含有前置定位表达式和后置定位表达式,且匹配之后,文本中有多个结束词,没有起始词,则将该文本划分出多个抽取区域,即该文本的起始词到第第一个结束词之间为第一抽取区域,第一个结束词到第二个结束词为第二区域,以此类推,直至靠近最后一个结束词的结束词到最后一个结束词为最后一个区域。
如果定位表达式同时含有前置定位表达式和后置定位表达式,且匹配之后,文本中不存在起始词和结束词,则该文本没有待抽取区域。
如果定位表达式仅含有前置定位表达式,且匹配后,文本中仅有一个起始词,则将该起始词到整篇文本的结束词之间的区域确定为抽取区域。
如果定位表达式仅含有前置定位表达式,且匹配之后,文本中有多个起始词,则将该文本划分出多个抽取区域,即第一个起始词到第二个起始词之间为第一抽取区域,第二个起始词到第三个起始词为第二区域,以此类推,直至最后一个起始词到整篇文本的结束词为最后一个区域。
如果定位表达式仅含有前置定位表达式,且匹配后,文本中没有起始词,则该文本没有待抽取区域。
如果定位表达式仅含有后置定位表达式,且匹配后,文本中仅有一个结束词,则将该文本的起始词到结束词之间的区域确定为抽取区域。
如果定位表达式仅含有后置定位表达式,且匹配之后,文本中有多个结束词,则将该文本划分出多个抽取区域,即该文本的起始词到第一个结束词之间为第一抽取区域,第一个结束词到第二个结束词为第二区域,以此类推,直至靠近最后一个结束词的结束词到最后一个结束词为最后一个区域。
如果定位表达式仅含有后置定位表达式,且匹配后,文本中没有结束词,则该文本没有待抽取区域。
步骤208:根据所述文本待抽取区域,得到待抽取文本信息。
由此可见,本实施例可根据抽取需要,对文本进行过滤,预先定位文本的待抽取区域,以使抽取结果更加准确。
步骤209:利用所述信息抽取表达式,对所述待抽取文本信息进行匹配。
步骤210:抽取与所述信息抽取表达式相匹配的信息,得到目标信息。
具体匹配的步骤可参见步骤204,在此不再赘述。
步骤211:根据预设的计算规则,计算所述目标信息与起始词和/或终止词的字符数。
根据不同的抽取需求,可设置不同的计算规则,例如,以如下待抽取信息为例,
谷歌于2013年9月3日宣布以71.7亿美元的交易额收购诺基亚。
假设需要抽取的信息为距离“谷歌”两个字符以下的时间信息,需设置时间规则表达式以及前置定位表达式,并设置预设字符数为2,具体得到目标信息的过程可参见上述实施例,然后得到目标信息“2013年9月3日”,并计算该目标信息距离起始词“谷歌”的一个字符,小于预设的字符数,则将目标信息“2013年9月3日”再次进行抽取,得到更加精确的抽取结果。
上述实施例可根据抽取需求,利用预设的计算规则,计算目标信息与起始词之间的字符数、目标信息与结束词之间的字符数或目标信息分别距离起始词和结束词之间的字符数,提取满足预设字符数条件的目标信息,以进一步精确的抽取所需信息。
步骤212:如果所述字符数不大于预设字符数,则抽取满足位置关系的目标信息。
本申请提供另一实施例,上述实施例步骤212或步骤107之后还包括如下步骤:
根据预设的输出规则,输出目标结果,所述目标结果为仅含所述目标信息的第一结果,或由所述目标信息和所述起始词构成的第二结果,或由所述目标信息和所述终止词构成的第三结果,或由所述目标信息、所述终止词和所述起始词构成的第四结果。
输出规则可由工作人员在抽取规则表达式中添加附加因子来进行设置,例如,要将结束词语抽取信息一同输出,则将抽取规则表达式中的后置定位信息添加附件因子即可,如k_收购@[0-9,.]{1,}[千万亿]{1,}+@c_货币单位,其中“+”表示将后置定位规则所匹配的信息,即结束词与抽取信息一同输出。由此可见,本实施例可根据具体的输出需求,利用附加因子设置输出规则,方便工作人员查看。
第二方面,参见图3,本申请提供一种限定区域的文本信息抽取装置包括:
获取模块301,用于获取文本和所述文本对应的抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式;
第一匹配模块302,用于将所述定位表达式与所述文本进行匹配,得到匹配结果;
第一确定模块303,用于根据所述匹配结果,确定起始词和结束词;
第二确定模块304,用于根据所述起始词和结束词,确定所述文本的待抽取区域;
待抽取文本信息生成模块305,用于根据所述待抽取区域,得到待抽取文本信息;
第二匹配模块306,用于利用所述信息抽取表达式,对所述待抽取文本信息进行匹配;
第一抽取模块307,用于抽取与所述信息抽取表达式相匹配的信息,得到目标信息。
优选地,参见图4,所述第一匹配模块301包括:
第一判断单元401,用于如果所述类型标签为引用类标签,判断所述引用类标签对应的概念是否有对应的概念值表达式列表;所述定位表达式包括类型标签和概念,其中,所述类型标签分为引用类标签和非引用类标签;
第二判断单元402,用于如果所述概念有对应的概念值表达式列表,则获取所述概念值表达式列表;
第一匹配单元403,用于将所述概念值表达式列表中的每个概念值表达式与所述文本进行匹配;
第一确定单元404,用于如果所述概念值表达式列表中任意一个概念值表达式与所述文本匹配成功,则所述概念值表达式列表对应所述定位表达式的概念与所述文本匹配成功;
第一确定单元405,还用于如果所述概念值表达式列表中所有概念值表达式与所述文本匹配失败,则所述概念值表达式列表对应所述定位表达式的概念与所述文本匹配失败。
所述第一判断单元401,还用于如果所述类型标签为非引用类标签,则将所述非引用类标签对应的概念与所述文本进行匹配。
优选地,所述定位表达式分为前置后置表达式和后置定位表达式,所述信息抽取表达式位于所述前置定位表达式和所述后置定位表达式之间。
优选地,参见图5,所述装置还包括:
计算模块501,用于根据预设的计算规则,计算所述目标信息与起始词和/或终止词的字符数;
第二抽取模块502,用于如果所述字符数不大于预设字符数,则抽取满足位置关系的目标信息。
优选地,所述装置还包括:
输出模块,用于根据预设的输出规则,输出目标结果,所述目标结果为仅含所述目标信息的第一结果,或由所述目标信息和所述起始词构成的第二结果,或由所述目标信息和所述终止词构成的第三结果,或由所述目标信息、所述终止词和所述起始词构成的第四结果。
由以上技术方案可知,本申请提供一种限定区域的文本信息抽取方法及装置,该方法根据抽取需求,利用抽取规则表达式中的定位表达式可在文本中划分出待抽取区域,然后利用信息抽取表达式对所述待抽取区域中的文本信息进行信息抽取,因此,本申请无需对整篇文本进行信息抽取,并通过抽取规则表达式一次完成定位和抽取信息的过程,不仅降低抽取时间,提高抽取效率和运算速度,,而且提高抽取信息的准确性,无需工作人员进行二次筛选,降低工作量。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者或对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以似的一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可相互参见即可,每个实施例重点说明的都是与其他实施例的不同之处,尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。