一种自定义规则的文本信息抽取结果筛选方法及装置
技术领域
本申请涉及文本信息挖掘领域,尤其涉及一种自定义规则的文本信息抽取结果筛选方法及装置。
背景技术
文本信息抽取技术是一种从非结构化或半结构化的文本中抽取用户需要的信息,并形成结构化的数据呈现给用户的技术。在实际生活中,文本信息抽取技术有着广泛的应用,如抽取课程类网站主页上的课程名称、内容和老师等信息,或从旅游论坛上抽取联系信息和其对应的功能类别等。
现有的文本信息抽取技术先加载需抽取文本信息对应的抽取规则,将该抽取规则与待抽取文本的内容进行匹配;然后判断待抽取文本中是否存在与该抽取规则相符的文本信息,如果存在,则抽取该文本信息;如果不存在,则判定抽取失败。
但是,现有的文本信息抽取技术中抽取规则与待抽取文本进行匹配的过程中,仅仅考虑抽取出来的文本信息与需抽取文本信息的相关性,从而导致用户必须根据抽取出来的文本信息具体在待抽取文本中的位置或上下文关系,在抽取出来的文本信息中进一步查找所需信息,给用户造成不便,并且抽取结果的精确性较低,例如,用户想抽取特定日期的“银行”这个待抽取文本信息,得到的抽取结果可能是前几个抽取出来的文本信息为其他日期的“银行”,因此,用户还必须在抽取结果中查找该特定日期下关于银行的信息。
发明内容
本申请提供了一种自定义规则的文本信息抽取结果筛选方法及装置,以解决现有的文本信息抽取技术中抽取规则与待抽取文本进行匹配的过程中,仅仅考虑抽取出来的文本信息与需抽取文本信息的相关性,从而导致用户必须根据抽取出来的文本信息具体在待抽取文本中的位置或上下文关系,在抽取出来的文本信息中进一步查找所需信息,给用户造成不便,并且抽取结果的精确性较低的问题。
第一方面,本申请提供了一种自定义规则的文本信息抽取结果筛选方法包括:
获取待抽取文本信息和预设的模型树,所述模型树包括至少若干个节点和每个节点对应的抽取表达式集,所述抽取表达式集包括至少一个抽取表达式;
响应于用户选择所述节点的操作,利用所述模型树中所选节点对应的抽取表达式集对所述待抽取文本信息进行信息抽取,得到抽取结果;
获取所述模型树对应的预设节点路径;
利用所述预设节点路径的终止节点,按照预设的筛选规则,对所述抽取结果进行筛选,得到筛选结果,所述预设的筛选规则为全节点筛选规则、子节点筛选规则或当前节点筛选规则。
第二方面,本申请还提供了一种基于文本信息抽取结果的筛选装置包括:
第一获取模块,用于获取待抽取文本信息和预设的模型树,所述模型树包括至少若干个节点和每个节点对应的抽取表达式集,所述抽取表达式集包括至少一个抽取表达式;
抽取模块,用于响应于用户选择所述节点的操作,利用所述模型树中所选节点对应的抽取表达式集对所述待抽取文本信息进行信息抽取,得到抽取结果;
第二获取模块,用于获取所述模型树对应的预设节点路径;
筛选模块,用于利用所述预设节点路径的终止节点,按照预设的筛选规则,对所述抽取结果进行筛选,得到筛选结果,所述预设的筛选规则为全节点筛选规则、子节点筛选规则或当前节点筛选规则。
由以上技术方案可知,本申请提供一种自定义规则的文本信息抽取结果筛选方法及装置,该方法在利用预设的模型树对文本进行信息抽取,得到抽取结果后,利用预设节点路径的终止节点,按照用户所选择的筛选规则,对抽取结果再次进行提取,最终得到用户所需的抽取结果,因此,本申可根据用户的抽取需求,得到精确地抽取结果,并且无需用户自行在繁多的抽取结果中手动查找,提高抽取效率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种自定义规则的文本信息抽取结果筛选方法一实施例的方法流程图;
图2为模型树的结构图;
图3为本申请提供的一种自定义规则的文本信息抽取结果筛选方法另一实施例的方法流程图;
图4为本申提供的一种基于文本信息抽取结果的筛选装置的结构示意图。
具体实施方式
参见图1,本申请一实施例提供一种自定义规则的文本信息抽取结果筛选方法包括:
步骤11:获取待抽取文本信息和预设的模型树,所述模型树包括至少若干个节点和每个节点对应的抽取表达式集,所述抽取表达式集包括至少一个抽取表达式。
可根据抽样需求,创建模型树。为了清楚起见,下面首先对模型中的父节点、子节点、子孙节点和父辈节点进行介绍。如图2所示的模型树中,以节点“判决书”为例:
子节点:节点“目录结构”和节点“信息提取”是节点“判决书”的子节点;
子孙节点:所有节点都是节点“判决书”的子孙节点。
以上节点的关系仅仅是示例性的,满足上述所属关系的其他节点在此不再赘述。
模型树的节点关系可根据实际抽取需要构建,并在所需抽取信息的节点设置对应的抽取表达式集,存储在数据库内。在需要抽取相关文本信息时,用户调用预先存储在数据库内的模型树即可,无需用户再次自行编辑复杂的正则表达式,减少用户编写正则表达式的工作量,提高抽取效率。
步骤12:响应于用户选择所述节点的操作,利用所述模型树中所选节点对应的抽取表达式集对所述待抽取文本信息进行信息抽取,得到抽取结果。
抽取表达式可采用正则表达式,正则表达式是一种正规的描述字符串模式的表达式,可以用来进行文本匹配,具体为在给定的文本信息中查找与给定的正则表达式相匹配的部分。正则表达式由一些普通字符和元字符组成,普通字符包括大小写的字母和数字,元字符具有特殊的含义。
具体匹配规则在此不做限定,可采用现有的任何匹配规则进行匹配,本实施例可采用模式匹配法,即从文本的第一个字符起与概念值表达式列表中的任意一个概念值表达式的第一个字符进行匹配,若相匹配,则继续对字符进行后续的比较,若不匹配,则从文本的第二个字符起与该概念表达式的第一个字符重新比较,直至该概念表达式的每个字符依次与文本中的一个连续的字符序列相等为止,则视为匹配成功,否则匹配失败。依次将每个所选节点的抽取表达式集内的每个抽取表达式进行上述匹配过程,抽取出相匹配的文本信息,得到抽取结果。
对于正则表达式的匹配,两个字符之间可采用任何符合数量要求的字符均可视为匹配成功,例如文本信息中存在“张三,男”、“张小三,男”或者“张美丽,女”,均可视为与正则表达式“.{2,3},(男|女)”匹配成功。
步骤13:获取所述模型树对应的预设节点路径。
预设节点路径可由用户,根据实际需求,在模型树的所有节点路径集合内进行选择得出。以图2所述的模型树为例,此模型树对应的节点路径集合如下:
——判决书—>目录结构
——判决书—>目录结构—>再审
——判决书—>目录结构—>再审—>案件信息
——判决书—>目录结构—>再审—>当事人信息
——判决书—>目录结构—>再审—>当事人信息—>原告人信息
——判决书—>目录结构—>再审—>当事人信息—>被告人信息
——判决书—>目录结构—>再审—>本院查明
——判决书—>目录结构—>再审—>裁判结果
——判决书—>目录结构—>二审
——判决书—>目录结构—>二审—>案件信息
——判决书—>目录结构—>二审—>当事人信息
——判决书—>目录结构—>二审—>本院查明
——判决书—>目录结构—>二审—>裁判结果
——判决书—>信息提取—>再审
——判决书—>信息提取—>再审—>当事人信息
——判决书—>信息提取—>再审—>当事人信息—>原告人信息
——判决书—>信息提取—>再审—>当事人信息—>被告人信息
——判决书—>信息提取—>再审—>裁判结果
——判决书—>信息提取—>二审
——判决书—>信息提取—>二审—>当事人信息
——判决书—>信息提取—>二审—>裁判结果
假设用户已利用模型树上的“信息提取”节点和节点“目录结构”对应的抽取表达式集对文本进行信息抽取后,但是用户对于某些情况下,仅需信息提取下再审的裁判结果,无需如当事人信息等其他抽取结果,用户在节点路径集中选择{判决书—>信息提取—>再审—>裁判结果}这个节点路径即可。
步骤14:利用所述预设节点路径的终止节点,按照预设的筛选规则,对所述抽取结果进行筛选,得到筛选结果,所述预设的筛选规则为全节点筛选规则、子节点筛选规则或当前节点筛选规则。
终止节点指的是节点路径的结束的节点,例如节点路径{判决书—>信息提取—>再审—>裁判结果},其终止节点为“裁判结果”。预设的筛选规则有用户按照实际需求设置。
利用终止节点,按照预设的筛选规则,在抽取结果中再次进行筛选,得到精确地抽取结果。继续以步骤13中的例子为例,为了得到再审的裁判结果,用户选择{判决书—>信息提取—>再审—>裁判结果},利用该节点路径的终止节点“裁判结果”,按照预设的筛选规则,在抽取结果中筛选出具体裁判结果的文本信息。
预设的筛选规则为全节点筛选规则、子节点筛选规则或当前节点筛选规则,用户可根据所需的抽取结果设置筛选规则,以更加精确的得到筛选结果,满足用户需求。
由以上技术方案可知,本申请实施例提供一种自定义规则的文本信息抽取结果筛选方法该方法在利用预设的模型树对文本进行信息抽取,得到抽取结果后,利用预设节点路径的终止节点,按照用户所选择的筛选规则,对抽取结果再次进行提取,最终得到用户所需的抽取结果,因此,本申可根据用户的抽取需求,得到精确地抽取结果,并且无需用户自行在繁多的抽取结果中手动查找,提高抽取效率。
参见图3,本申请另一实施例提供了一种自定义规则的文本信息抽取结果筛选方法包括:
步骤31:获取待抽取文本信息和预设的模型树,所述模型树包括至少若干个节点和每个节点对应的抽取表达式集,所述抽取表达式集包括至少一个抽取表达式。
文本包括获取来自用户生成内容中的文本信息,优选地,包括获取来自新闻渠道、微博渠道和论坛渠道的文本信息,将这些渠道中的文本内容作为文本信息。其中,新闻渠道包含新浪、网易、搜狐、腾讯和《今日头条》等;微博渠道包含新浪微博等;论坛渠道包含天涯、百度贴吧、知乎等。对于新闻渠道,用新闻的标题和报道内容作为文本信息;对于论坛渠道,把帖子的文本内容作为文本信息。对于微博渠道,将微博帖子的文本内容作为文本信息。通过如上方法获取的文本,能很好的获得新的文本。
步骤32:响应于用户选择所述节点的操作,利用所述模型树中所选节点对应的抽取表达式集对所述待抽取文本信息进行信息抽取,得到抽取结果。
步骤33:获取所述模型树对应的预设节点路径。
步骤24:利用所述预设节点路径的终止节点,按照预设的筛选规则,对所述抽取结果进行筛选,得到筛选结果,所述预设的筛选规则为全节点筛选规则、子节点筛选规则或当前节点筛选规则。
步骤35:根据所述筛选结果及所述模型树中与所述筛选结果相对应的节点,生成key-value键值对集。
步骤36:将所述key-value键值对集输出。
key-value键值对中,key代表节点的编号,value代表该节点对应的抽取结果,由于模型树中的节点都具有不同的编号,所以即使节点名称相同,例如在节点“目录结构”和节点“信息提取”下都有“再审”这个子节点,但是其本质是两个相互不同的节点,因此通过节点编号将此两个节点区分。并且,同一个抽取信息可能对应多个节点,因此,采用key-value键值对,用户可以直观清楚的看出每个节点和其对应的抽取结果,防止由于节点名称相同,或者不同节点抽取的文本信息相同而导引发混淆的情况。
具体地,预设的筛选规则为全节点筛选规则、子节点筛选规则或当前节点筛选规则。用户根据实际的筛选需求,选择不同的筛选规则。当预设的筛选规则为子节点筛选规则时,本申请另一实施提供的上述步骤34包括如下步骤:
判断所述预设节点路径的终止节点是否具有子节点;
如果所述终止节点具有子节点,则根据所述子节点,查找与所述子节点相对应的抽取结果。
以图2所示的模型树为例,假设用户已利用模型树上的“信息提取”节点和节点“目录结构”对应的抽取表达式集对文本进行信息抽取后,但是用户对于某些情况下,仅需与信息提取下的再审相关的抽取结果,无需如二审等其他抽取结果,用户在节点路径集中选择{判决书—>信息提取—>再审}这个节点路径,该节点路径的终止节点“再审”。
由于节点“当事人信息”和节点“裁判结果”为该终止节点“再审”的子节点,因此,查找出节点“当事人信息”和“裁判结果”相对应的抽取结果,如原告人信息、被告人信息等,即为用户所需的抽取结果。
根据实际的需求,用户可以同时选择多条节点路径,例如假设用户需要信息提取和目录结构下对应的再审相关的抽取结果,无需如二审等其他抽取结果,用户可在节点路径集中选择{判决书—>信息提取—>再审,判决书—>目录结构—>再审}这两个节点路径。
同样,两个节点路径的终止节点均为“再审”,其中,在节点路径{判决书—>信息提取—>再审}中,节点“当事人信息”和节点“裁判结果”为该终止节点“再审”的子节点,因此,查找出节点“当事人信息”和“裁判结果”相对应的抽取结果,如原告人信息、被告人信息等;在节点路径{判决书—>信息提取—>再审}中,节点“案件信息”、“当事人信息”、“本院查明”和“裁判结果”为节点“再审”的子节点,因此,同时查找出节点“案件信息”、“当事人信息”、“本院查明”和“裁判结果”相对应的抽取结果,即为用户所需的抽取结果。
当预设的筛选规则为全节点筛选规则时,本申请另一实施提供的上述步骤34包括如下步骤:
判断所述预设节点路径的终止节点是否具有子孙节点,所述子孙节点为后继于所述终止节点的第一层级至第N层级的所有节点,其中,后继于所述终止节点的第N层级的节点为最末层级节点,N为大于1的正整数;
以图2的模型树为例,节点“再审”的子孙节点为后继于“再审”的第一层级的“当事人信息”、“案件信息”、“本院查明”和“裁判结果”,以及第二层级的“原告人信息”和“被告人信息”。
如果所述节点路径的终止节点具有子孙节点,则根据所述子孙节点,查找与所述子孙节点相对应的抽取结果。
以图2所示的模型树为例,假设用户已利用模型树上的“信息提取”节点对应的抽取表达式集对文本进行信息抽取后,但是用户对于某些情况下,仅需与再审相关的抽取结果,无需如二审等其他抽取结果,用户在节点路径集中选择{判决书—>信息提取—>再审}这个节点路径,该节点路径的终止节点“再审”。
由于节点“当事人信息”、“原告人信息”、“被告人信息”和“裁判结果”为该终止节点“再审”的子孙节点,因此,查找出节点“当事人信息”、“原告人信息”、“被告人信息”和“裁判结果”相对应的抽取结果,即为用户所需的抽取结果。
根据实际的需求,用户可以同时选择多条节点路径,例如假设用户需要信息提取和目录结构下对应的再审相关的抽取结果,无需如二审等其他抽取结果,用户可在节点路径集中选择{判决书—>信息提取—>再审,判决书—>目录结构—>再审}这两个节点路径。
同样,两个节点路径的终止节点均为“再审”,其中,在节点路径{判决书—>信息提取—>再审}中,节点“当事人信息”、“原告人信息”、“被告人信息”和“裁判结果”为该终止节点“再审”的子孙节点,因此,查找出节点“当事人信息”、“原告人信息”、“被告人信息”和“裁判结果”相对应的抽取结果;在节点路径{判决书—>信息提取—>再审}中,节点“案件信息”、“当事人信息”、“原告人信息”、“被告人信息”、“本院查明”和“裁判结果”为节点“再审”的子孙节点,因此,同时查找出节点“案件信息”、“当事人信息”、“原告人信息”、“被告人信息”、“本院查明”和“裁判结果”相对应的抽取结果,即为用户所需的抽取结果。
当预设的筛选规则为当前节点筛选规则时,本申请另一实施提供的上述步骤34包括如下步骤:
根据所述预设节点路径的终止节点,查找与所述终止节点对应的抽取结果。
以图3所示的模型树为例,用户假设用户已利用模型树上的“信息提取”节点和节点“目录结构”对应的抽取表达式集对文本进行信息抽取后,但是用户对于某些情况下,仅需与信息提取中再审下的被告人相关的抽取结果,无需如二审等其他抽取结果,用户在节点路径集中选择{判决书—>信息提取—>再审—>当事人信息—>被告人信息}这个节点路径,该节点路径的终止节点“被告人信息”,查找出节点“被告人信息”相对应的抽取结果,如被告人姓名、性别等,即为用户所需的抽取结果。
根据实际的需求,用户可同时选择多条节点路径,例如假设用户需要信息提取和目录结构中再审下的被告人相关的抽取结果,无需如二审等其他抽取结果,用户可在节点路径集中选择{判决书—>信息提取—>再审—>当事人信息—>被告人信息,判决书—>目录结构—>再审—>当事人信息—>被告人信息}这两个节点路径。查找出这两个终止节点“被告人信息”相对应的抽取结果,如被告人姓名、性别等,即为用户所需的抽取结果。
参见图4,第二方面,本申请提供一种基于文本信息抽取结果的筛选装置包括:
第一获取模块41,用于获取待抽取文本信息和预设的模型树,所述模型树包括至少若干个节点和每个节点对应的抽取表达式集,所述抽取表达式集包括至少一个抽取表达式;
抽取模块42,用于响应于用户选择所述节点的操作,利用所述模型树中所选节点对应的抽取表达式集对所述待抽取文本信息进行信息抽取,得到抽取结果;
第二获取模块43,用于获取所述模型树对应的预设节点路径;
筛选模块44,用于利用所述预设节点路径的终止节点,按照预设的筛选规则,对所述抽取结果进行筛选,得到筛选结果,所述预设的筛选规则为全节点筛选规则、子节点筛选规则或当前节点筛选规则。
进一步地,当所述预设的筛选规则为子节点筛选规则时,所述筛选模块41包括:
第一判断单元,用于判断所述预设节点路径的终止节点是否具有对应的子节点;
第一查找单元,用于如果所述预设节点路径的终止节点为父节点,则根据所述父节点对应的子节点,查找与所述子节点相对应的抽取结果。
进一步地,所述预设的筛选规则为全节点筛选规则时,所述筛选模块41包括:
第二判断单元,用于判断所述预设节点路径的终止节点是否具有对应的子孙节点,所述子孙节点为后继于所述终止节点的第一层级至第N层级的所有节点,其中,后继于所述终止节点的第N层级的节点为最末层级节点,N为大于1的正整数;
第二查找单元,用于如果所述节点路径的终止节点为父辈节点,则根据所述父辈节点对应的子孙节点,查找与所述子孙节点相对应的抽取结果。
进一步地,所述预设的筛选规则为当前节点筛选规则时,所述筛选模块41包括:
第三查找单元,用于根据所述预设节点路径的终止节点,查找与所述终止节点对应的抽取结果。
进一步地,所述装置还包括:
生成模块45,用于根据所述筛选结果及所述模型树中与所述筛选结果相对应的节点,生成key-value键值对集;
输出模块46,用于将所述key-value键值对集输出。
由以上技术方案可知,本申请提供一种自定义规则的文本信息抽取结果筛选方法及装置,该方法在利用预设的模型树对文本进行信息抽取,得到抽取结果后,利用预设节点路径的终止节点,按照用户所选择的筛选规则,对抽取结果再次进行提取,最终得到用户所需的抽取结果,因此,本申可根据用户的抽取需求,得到精确地抽取结果,并且无需用户自行在繁多的抽取结果中手动查找,提高抽取效率。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者或对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以似的一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可相互参见即可,每个实施例重点说明的都是与其他实施例的不同之处,尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。