发明内容
本申请提供了一种文本信息抽取模型的构建方法及装置,以解决基于HTML结构的抽取技术对于结构不同的HTML文本信息要重新解析形成DOM树,并重新设置抽取规则表达式,导致增加运算量,降低抽取效率的问题。
第一方面,本申请提供了一种文本信息抽取模型的构建方法,所述方法包括:
创建模型树;
筛选所述模型树的所有槽点的槽点信息,得到目标槽点信息;
根据每个所述目标槽点信息,创建对应的抽取规则表达式集,所述抽取规则表达式集包括至少一个抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式;
建立每个所述目标槽点信息与对应的抽取规则表达式集中每个所述抽取规则表达式的映射关系,生成文本信息抽取模型。
结合第一方面,在第一方面第一种可能实现的方式中,建立每个所述目标槽点信息与对应的抽取规则表达式集中每个所述抽取规则表达式的映射关系,生成文本信息抽取模型之后包括:将所述文本信息抽取模型转化为XML结构的文本信息抽取模型;将所述XML结构的文本信息抽取模型存储至数据库。
结合第一方面或第一方面第一种可能的实现方式,在第一方面第二种可能实现方式中,获取所述模型树的各槽点信息之前的步骤包括:获取新增的所述模型树的槽点,重新构建模型树。
结合第一方面或第一方面第一种可能的实现方式,在第一方面第三种可能实现方式中,获取所述模型树的各槽点信息之前的步骤包括:响应于用户的删除操作,去除所述模型树的对应的槽点,重新构建模型树。
结合第一方面,在第一方面第四种可能实现方式中,所述定位表达式分为前置定位表达式和后置定位表达式,所述信息抽取表达式位于所述前置定位规则和所述后置定位表达式之间。
第二方面,本申请还提供了一种文本信息抽取模型的构建装置,所述装置包括:
创建模型树模块,用于创建模型树;
筛选模块,用于筛选所述模型树的所有槽点的槽点信息,得到目标槽点信息;
创建抽取规则表达式集模块,用于根据每个所述目标槽点信息,创建对应的抽取规则表达式集,所述抽取规则表达式集包括至少一个抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式;
生成模块,用于建立每个所述目标槽点信息与对应的抽取规则表达式集中每个所述抽取规则表达式的映射关系,生成文本信息抽取模型。
结合第二方面,在第二方面第一种可能实现的方式中,所述装置还包括:转化模块,用于将所述文本信息抽取模型转化为XML结构的文本信息抽取模型;存储模块,用于将所述XML结构的文本信息抽取模型存储至数据库。
结合第二方面或第二方面第一种可能的实现方式,在第二方面第二种可能实现方式中,所述装置还包括:修改模块,用于获取新增的所述模型树的槽点,重新构建模型树。
结合第二方面或第二方面第一种可能的实现方式,在第二方面第三种可能实现方式中,所述装置还包括:修改模块,用于响应于用户的删除操作,去除所述模型树的对应的槽点,重新构建模型树。
结合第二方面,在第二方面第四种可能实现方式中,所述定位表达式分为前置定位表达式和后置定位表达式,所述信息抽取表达式位于所述前置定位规则和所述后置定位表达式之间。
由以上技术方案可知,本申请提供一种文本信息抽取模型的构建方法及装置,该方法可根据抽取需求,建立模型树,并在模型树的目标槽点设置对应的抽取规则表达式集,建立每个目标槽点与对应的抽取规则表达式集中每个抽取规则表达式的映射关系,生成抽取模型,对于用户有相同的抽取需求时,只需调用相应的抽取模型对文本信息进行抽取处理即可。相比于现有技术,该抽取模型不受文本信息的结构的限制,并无需解析过程,降低运算量,提高抽取效率。
具体实施方式
如图1所示,本申请实施例提供一种文本信息抽取模型的构建方法,包括如下步骤:
步骤11:创建模型树。
模型树采用根节点、各中间节点到叶节点的多层树状结构。其中,位于最高层的根节点只可具有一个或多个子节点,但是根节点没有父节点;中间节点可以拥有一个或多个子节点,并且只能拥有一个父节点;位于最底层的叶节点只有父节点,没有子节点。而模型树的槽点与模型树的各节点相对应,并且槽点分为不同等级,槽点的等级与节点所处的层级相对应。。
步骤12:筛选所述模型树的各槽点信息,得到目标槽点信息。
槽点信息即为各节点的语义所表达的信息。根据实际抽取需求,筛选出需要抽取的目标槽点信息。
步骤13:根据每个所述目标槽点信息,创建对应的抽取规则表达式集,所述抽取规则表达式集包括至少一个抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式。
定位表达式包括类型标签和概念,如k_收购、c_方式介词和e_申请提额等,其中,所述类型标签分为引用类标签和非引用类标签。如c_货币单位。类型标签通常用字母表示,例如k、e和c,其中,k代表关键词类型;e代表业务要素类型;c代表通用词语类型。k所代表的类型,表示其后面的概念可以直接用来进行匹配;e和c所代表的类型必须需要预先建模或引用语义模型中的概念值表达式列表进行匹配,即k为非引用类标签,e和c为引用类标签。概念值表达式列表中的概念值表达式可以是特征词,可以是正则表达式等。
可选地,上述信息抽取表达式可为正则表达式。正则表达式是一种正规的描述字符串模式的表达式,可以用来进行文本匹配,具体为在给定的文本信息中查找与给定的正则表达式相匹配的部分。正则表达式由一些普通字符和元字符组成,普通字符包括大小写的字母和数字,元字符具有特殊的含义。
由此可知,定位表达式用来在文本中划分出来固定的抽取区域,以达到精准抽取的目的,可满足不同的抽取需求,使抽取结果更加精确,并且通过抽取规则表达式可一次性完成限定文本抽取区域和信息抽取的过程,相对于现有技术,既可降低工作人员重复录入多个表达式的录入量,又可提高运算效率,以提升抽取效率。
步骤14:建立每个所述目标槽点信息与对应的抽取规则表达式集中每个所述抽取规则表达式的映射关系,生成文本信息抽取模型。
由以上技术方案可知,本申请提供一种文本信息抽取模型的构建方法,该方法可根据抽取需求,建立模型树,并在模型树的目标槽点设置对应的抽取规则表达式集,建立每个目标槽点与对应的抽取规则表达式集中每个抽取规则表达式的映射关系,生成抽取模型,对于用户有相同的抽取需求时,只需调用相应的抽取模型对文本信息进行抽取处理即可。相比于现有技术,该抽取模型不受文本信息的结构的限制,并无需解析过程,降低运算量,提高抽取效率。
如图2所示,本申请另一实施例提供一种文本信息抽取模型的构建方法,包括如下步骤:
步骤21:创建模型树。
可根据抽样需求,创建模型树。例如需要抽取法院判决文书中的业务要素和具体案由,参照图3,先建立“业务提取要素”和“具体案由分析”两个位于最高层的根节点,并在提“取业务要素”的根节点之下建立中间节点,例如“当事人信息”等,同理,在“具体案由分析”的根节点之下建立中间节点,例如“离婚纠纷”和“民事纠纷”等;然后“在当事人信息”和“被告当事人信息”的这两个中间节点之下分别建立叶节点,例如“姓名”、“性别”和“代理律师”等,同理在“离婚纠纷”和“民事纠纷”的这两个中间节点之下分别设立叶节点,例如“判决结果”等。上述只是示例性的说明,根据需求的增加,可增加根节点的数量,也可增加每个根节点之下的中间节点,以及各中间节点之下的子节点的数量。以此类推,也可在各子节点之下继续设置节点,此时,各子节点转换为中间节点,新增的节点为叶节点。
模型树的槽点与模型树的节点相对应,槽点的等级与节点所处的层级相对应。以上述例子为例,槽点的等级如下所示:
一级槽点--业务要素提取
二级槽点----当事人信息
三级槽点------原告信息
四级槽点--------姓名
四级槽点--------性别
四级槽点--------代理律师
三级槽点------被告信息
四级槽点--------姓名
四级槽点--------性别
四级槽点--------代理律师
一级槽点--具体案由分析
二级槽点----离婚纠纷
三级槽点------判决结果
二级槽点----民事纠纷
三级槽点------判决结果
由此可见,“业务提取要素”和“具体案由分析”这两个根节点为一级槽点,“当事人信息”、“离婚纠纷”和“民事纠纷”同为二级槽点,“原告信息”和“被告信息”同为三级槽点,“姓名”、“性别”和“代理律师”和“判决结果”为四级槽点。槽点按等级设置,可方便工作人员查找及维护,简化操作过程,提高工作效率。
步骤22:获取新增的所述模型树的槽点,重新构建模型树,和/或响应于用户的删除操作,去除所述模型树的对应的槽点,重新构建模型树。
根据新增的需求,可对原模型树的各级槽点进行添加下属级别的槽点,同样以上述例子为例,还需要抽取审理法院的信息,就可在“业务提取要素”下增设“提审法院”的节点,即增加一个二级槽点。同样,根据实际需求,有些信息不需要抽取,也可对原模型树的各级槽点进行删减,例如,不需要提取原告信息,可将模型树中的“原告信息”这个二级槽点删除,重新构建模型树。上述只是示例性的举例,可根据抽取需求,新增任何级别的槽点,也可删除任何级别的槽点。
步骤23:筛选所述模型树的各槽点信息,得到目标槽点信息。
槽点信息为节点的语义所表示的信息。由于每次抽取需求的不同,可查找出与抽取需求相适应的槽点信息,例如,需抽取出原告人的性别,可查找到在“原告信息”下的“姓名”这个四级槽点信息与抽取需求相匹配。如果需抽取出原告人的所有信息,可直接查找到“原告信息”这个二级槽点信息与抽取需求相匹配。如果需同时抽取原告信息和被告信息,可查找到“原告信息”和“被告信息”这两个二级槽点。
步骤24:根据每个所述目标槽点信息,创建对应的抽取规则表达式集,所述抽取规则表达式集包括至少一个抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式。
每个目标槽点可具有与之相适应的抽取规则表达式集,抽取规则表达式集内可包括一个或多个抽取规则表达式。
步骤25:建立每个所述目标槽点信息与对应的抽取规则表达式集中每个所述抽取规则表达式的映射关系,生成文本信息抽取模型。
将每个槽点分别与其相对应的抽取规则表达式集中的每个抽取规则表达式均建立映射关系,在进行文本信息进行抽取的时候,通过目标槽点信息直接调用建立映射的抽取规则表达式集即可开始抽取信息的过程。
优选地,定位表达式分为前置定位表达式和后置定位表达式,所述信息抽取表达式位于所述前置定位规则和所述后置定位表达式之间,例如,k_收购@[0-9,.]{1,}[千万亿]{1,}@c_货币单位,其中,“k_收购”是前置定位表达式,“[0-9,.]{1,}[千万亿]{1,}”是抽取信息表达式,“c_货币单位”后置定位表达式。如果只需抽取定位以收购相关信息开始,到文本的最后一个字符结束的区域的信息,则可省略后置定位信息,例如,k_收购@[0-9,.]{1,}[千万亿]{1,};同样,如果只需定位文本第一个字符到货币单位相关信息之间所组成的区域,则可省略前置定位信息,例如,[0-9,.]{1,}[千万亿]{1,}@c_货币单位。
具体抽取信息的方法为:先利用前置定位表达式和后置定位表达式分别进行匹配,将文本中与前置定位表达式所匹配的信息定位起始词,将文本中与后置定位表达式所匹配的信息定位结束词。将起始词与结束词之间的区域确定为待抽取区域,然后利用信息抽取表达式在待抽取区域内进行信息匹配,抽取出与信息抽取表达式相匹配的信息,即得到抽取结果。
由此可以看出,工作人员根据实际的抽取需求,预先编辑好前置定位表达式、信息抽取表达式和后置定位表达式(即抽取规则表达式)即可,通过抽取规则表达式可一次性完成限定文本抽取区域和信息抽取的过程,相对于现有技术,既可降低工作人员重复录入多个表达式的录入量,又可提高运算效率,以提升抽取效率。
步骤26:将所述文本信息抽取模型转化为XML结构的文本信息抽取模型。
XML(Extensible Markup Language可扩展标记语言)是一种简单的数据存储语言,使用一系列简单的标记描述数据。采用XML结构的文本信息抽取模型,数据可以再局部小范围内更新,不需要重发整个结构化的数据,可降低数据更新时间,提高更新效率。
步骤27:将所述XML结构的文本信息抽取模型存储至数据库。
存储至数据库的文本信息抽取模型,可根据需要随时调用,并且方便后台人员更新维护。
由以上技术方案可知,本申请提供一种文本信息抽取模型的构建方法,该方法可根据抽取需求,建立模型树,并在模型树的目标槽点设置对应的抽取规则表达式集,建立每个目标槽点与对应的抽取规则表达式集中每个抽取规则表达式的映射关系,生成抽取模型,对于用户有相同的抽取需求时,只需调用相应的抽取模型对文本信息进行抽取处理即可。相比于现有技术,该抽取模型不受文本信息的结构的限制,并无需解析过程,降低运算量,提高抽取效率。
第二方面,参见图4,本申请实施例提供了一种文本信息抽取模型的构建装置包括:
创建模型树模块41,用于创建模型树;
筛选模块42,用于筛选所述模型树的各槽点信息,得到目标槽点信息;
创建抽取规则表达式集模块43,用于根据每个所述目标槽点信息,创建对应的抽取规则表达式集,所述抽取规则表达式集包括至少一个抽取规则表达式,所述抽取规则表达式包括定位表达式和信息抽取表达式;
生成模块44,用于建立每个所述目标槽点信息与对应的抽取规则表达式集中每个所述抽取规则表达式的映射关系,生成文本信息抽取模型。
进一步地,参见图5,所述装置还包括:
转化模块55,用于将所述文本信息抽取模型转化为XML结构的文本信息抽取模型;
存储模块56,用于将所述XML结构的文本信息抽取模型存储至数据库。
进一步地,参见图6,所述装置还包括:
修改模块62,用于获取新增的所述模型树的槽点信息,重新构建模型树。
进一步地,所述装置还包括:
修改模块62,还用于响应于用户的删除操作,去除所述模型树的对应的槽点信息,重新构建模型树。
进一步地,所述定位表达式分为前置定位表达式和后置定位表达式,所述信息抽取表达式位于所述前置定位规则和所述后置定位表达式之间。
由以上技术方案可知,本申请提供一种文本信息抽取模型的构建方法及装置,该方法可根据抽取需求,建立模型树,并在模型树的目标槽点设置对应的抽取规则表达式集,建立每个目标槽点与对应的抽取规则表达式集中每个抽取规则表达式的映射关系,生成抽取模型,对于用户有相同的抽取需求时,只需调用相应的抽取模型对文本信息进行抽取处理即可。相比于现有技术,该抽取模型不受文本信息的结构的限制,并无需解析过程,降低运算量,提高抽取效率。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者或对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以似的一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可相互参见即可,每个实施例重点说明的都是与其他实施例的不同之处,尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。