一种信息抽取方法及相关设备与流程

文档序号:24154434发布日期:2021-03-05 10:30阅读:98来源:国知局
一种信息抽取方法及相关设备与流程

[0001]
本发明涉及信息处理技术领域,尤其涉及一种信息抽取方法及相关设备。


背景技术:

[0002]
随着互联时代的发展,用户可以通过搜索引擎搜索任何期望的信息。为了提升用户的搜索体验,尽可能地让用户更快、更精确的获取目标信息,在现有技术中,一方面采用了基于传统搜索引擎的搜索方法,这种方法是对传统搜索引擎进行一定程度的改造,其主要思想是先将服务能力以文本的形式索引起来,再结合搜索引擎已有的信息识别和抽取能力对文本中词语进行召回和排序,然后根据检索召回的结果对用户的检索请求(query)进行槽位信息的抽取。另一方面,采用了基于服务类目的定制化开发的方法。这种方法针对每一种服务类目,单独进行定制化开发,比如针对汽车、股票,机票等分别进行开发处理。第三方面,在基于服务类目的定制化开发的基础上,新增基于模型的用户意图抽取。这种方法一般通过有监督的学习方法,针对特定类目进行训练学习生成模型,以供搜索系统使用。然而,在适应新增服务意图的识别和抽取的过程中,无论是基于传统搜索引擎还是定制化开发都将消耗很高的开发成本,任何一个新增服务都需要开发人员介入进行相应的开发测试,迭代周期较长,消耗人力较大。


技术实现要素:

[0003]
本发明提供一种信息抽取方法及相关设备,可以节约搜索引擎的开发成本、提高产品迭代效率。
[0004]
第一方面,本发明实施例提供了一种信息抽取方法,包括:
[0005]
当检测到用户输入的检索请求时,对所述检索请求进行分词处理,得到多个分词词语;
[0006]
确定所述多个分词词语中每个分词词语所属词典的词典索引、以及根据所述词典索引确定引用所述词典的识别抽取规则;
[0007]
根据所述识别抽取规则,确定所述检索请求对应的规则模板;
[0008]
按照所述规则模板,抽取所述检索请求中的槽位信息,所述槽位信息用于表示用户意图。
[0009]
其中,所述根据所述识别抽取规则,确定所述检索请求对应的规则模板包括:
[0010]
确定所述识别抽取规则所属的规则模板;
[0011]
对所述多个分词词语对应的规则模板求交集,得到模板集合;
[0012]
若所述模板集合不为空集,则将所述模板集合包含的规则模板作为所述检索请求对应的规则模板。
[0013]
其中,所述对所述多个分词词语对应的规则模板求交集得到模板集合包括:
[0014]
对所述多个分词词语之间的可配置信息进行合法性校验,所述可配置信息包括所述分词词语在所述检索请求中的位置关系和出现的顺序中的至少一种;
[0015]
将所述可配置信息合法的分词词语对应的规则模板的交集作为所述模板集合。
[0016]
其中,所述对所述多个分词词语对应的规则模板求交集得到模板集合之后,还包括:
[0017]
若所述模板集合为空集,则对所述多个分词词语进行拼接处理得到至少一个拼接词语;
[0018]
根据所述至少一个拼接词语,确定所述检索请求对应的规则模板。
[0019]
其中,所述检索请求对应多个服务类目;
[0020]
所述当检测到用户输入的检索请求时,对所述检索请求进行分词处理,得到多个分词词语之前,还包括:
[0021]
确定所述多个服务类目中每个服务类目的多种请求模式、以及所述多种请求模式中每种请求模式的核心语义单元;
[0022]
根据网络端管理工具,配置所述核心语义单元的识别抽取规则;
[0023]
根据预设的模板生成信息和所述核心语义单元的识别抽取规则,生成多个规则模板。
[0024]
其中,所述根据预设的模板生成信息和所述核心语义单元的识别抽取规则,生成多个规则模板之后,还包括:
[0025]
确定所述多个规则模板中每个规则模板对应的词典信息,所述词典信息包括所述规则模板所引用的至少一个词典、所述至少一个词典中每个词典包含的词语;
[0026]
根据所述词典信息,生成所述每个词典的词典索引;将所述词典索引存储在共享内存中。
[0027]
其中,所述规则模板包括信息填充规则;
[0028]
所述按照所述规则模板,抽取所述检索请求中的槽位信息之后,还包括:
[0029]
确定所述槽位信息是否缺少必要意图信息;
[0030]
当所述槽位信息缺少所述必要意图信息时,按照所述信息填充规则对所述槽位信息进行信息填充。
[0031]
其中,所述槽位信息包括从所述多个分词词语中抽取的目标分词词语;
[0032]
所述规则模板包括后验信息,所述后验信息包括黑名单信息、敏感词信息中的至少一项;
[0033]
所述按照所述规则模板,抽取所述检索请求中的槽位信息之后,还包括:
[0034]
将所述目标分词词语与所述后验信息进行匹配;
[0035]
将与所述后验信息相匹配的目标分词词语从所述槽位信息中删除。
[0036]
其中,所述按照所述规则模板,抽取所述检索请求中的槽位信息之后,还包括:
[0037]
根据所述槽位信息,从预设数据库中获取所述检索请求对应的服务信息;
[0038]
按照预设的展示方式展示所述服务信息,所述展示方式包括语音播报和静态显示中的至少一项。
[0039]
第二方面,本发明实施例提供了一种信息抽取装置,包括:
[0040]
分词模块,用于当检测到用户输入的检索请求时,对所述检索请求进行分词处理,得到多个分词词语;
[0041]
索引模块,用于确定所述多个分词词语中每个分词词语所属词典的词典索引、以
及根据所述词典索引确定引用所述词典的识别抽取规则;
[0042]
求交模块,还用于根据所述识别抽取规则,确定所述检索请求对应的规则模板;
[0043]
抽取模块,用于按照所述规则模板,抽取所述检索请求中的槽位信息,所述槽位信息用于表示用户意图。
[0044]
其中,所述求交模块还用于:
[0045]
确定所述识别抽取规则所属的规则模板;
[0046]
对所述多个分词词语对应的规则模板求交集,得到模板集合;
[0047]
若所述模板集合不为空集,则将所述模板集合包含的规则模板作为所述检索请求对应的规则模板。
[0048]
其中,所述求交模块还用于:
[0049]
对所述多个分词词语之间的可配置信息进行合法性校验,所述可配置信息包括所述分词词语在所述检索请求中的位置关系和出现的顺序中的至少一种;
[0050]
将所述可配置信息合法的分词词语对应的规则模板的交集作为所述模板集合。
[0051]
其中,所述索引模块还用于:
[0052]
若所述模板集合为空集,则对所述多个分词词语进行拼接处理得到至少一个拼接词语;
[0053]
根据所述至少一个拼接词语,确定所述检索请求对应的规则模板。
[0054]
其中,所述检索请求对应多个服务类目;
[0055]
所述装置还包括配置模块,用于:
[0056]
确定所述多个服务类目中每个服务类目的多种请求模式、以及所述多种请求模式中每种请求模式的核心语义单元;
[0057]
根据网络端管理工具,配置所述核心语义单元的识别抽取规则;
[0058]
根据预设的模板生成信息和所述核心语义单元的识别抽取规则,生成多个规则模板。
[0059]
其中,所述配置模块还用于:
[0060]
确定所述多个规则模板中每个规则模板对应的词典信息,所述词典信息包括所述规则模板所引用的至少一个词典、所述至少一个词典中每个词典包含的词语;
[0061]
根据所述词典信息,生成所述每个词典的词典索引;将所述词典索引存储在共享内存中。
[0062]
其中,所述规则模板包括信息填充规则;
[0063]
所述抽取模块还用于:
[0064]
确定所述槽位信息是否缺少必要意图信息;
[0065]
当所述槽位信息缺少所述必要意图信息时,按照所述信息填充规则对所述槽位信息进行信息填充。
[0066]
其中,所述槽位信息包括从所述多个分词词语中抽取的目标分词词语;
[0067]
所述规则模板包括后验信息,所述后验信息包括黑名单信息、敏感词信息中的至少一项;
[0068]
所述抽取模块还用于:
[0069]
将所述目标分词词语与所述后验信息进行匹配;
[0070]
将与所述后验信息相匹配的目标分词词语从所述槽位信息中删除。
[0071]
其中,所述装置还包括展示模块,用于:
[0072]
根据所述槽位信息,从预设数据库中获取所述检索请求对应的服务信息;
[0073]
按照预设的展示方式展示所述服务信息,所述展示方式包括语音播报和静态显示中的至少一项。
[0074]
第三方面,本发明实施例提供了一种信息抽取设备,包括:处理器、存储器和通信总线,其中,通信总线用于实现处理器和存储器之间连接通信,处理器执行存储器中存储的程序用于实现上述第一方面提供的一种信息抽取方法中的步骤。
[0075]
在一个可能的设计中,本发明提供的实体识别设备可以包含用于执行上述方法中行为相对应的模块。模块可以是软件和/或硬件。
[0076]
本发明实施例的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载并执行上述各方面所述的方法。
[0077]
本发明实施例的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
[0078]
实施本发明实施例,当检测到用户输入的检索请求时,首先对检索请求进行分词处理,得到多个分词词语;接着确定多个分词词语中每个分词词语所属词典的词典索引、以及根据词典索引确定引用该词典的识别抽取规则;然后根据识别抽取规则,确定检索请求对应的规则模板;最后按照规则模板,抽取检索请求中的槽位信息。其中,识别抽取规则和规则模板均可以通过web端管理工具进行可视化配置,可以节约搜索引擎的开发成本、提高产品迭代更新的效率。
附图说明
[0079]
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
[0080]
图1是本发明实施例提供的一种信息抽取方法的流程示意图;
[0081]
图2是本发明实施例提供的一种在搜索引擎的界面上输入检索query的示意图;
[0082]
图3是本发明实施例提供的一种信息抽取方法实际应用流程的示意图;
[0083]
图4是本发明实施例提供的一种请求响应界面的示意图;
[0084]
图5是本发明实施例提供的另一种请求响应界面的示意图;
[0085]
图6是本发明实施例提供的另一种信息抽取方法的流程示意图;
[0086]
图7是本发明实施例提供的一种信息抽取的系统架构示意图;
[0087]
图8是本发明实施例提供的一种信息抽取装置结构示意图;
[0088]
图9是本发明实施例提供的一种信息抽取设备的结构示意图。
具体实施方式
[0089]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0090]
请参见图1,图1是本发明实施例提供的一种信息抽取方法的流程示意图,该方法包括但不限于如下步骤:
[0091]
s101,当检测到用户输入的检索请求时,对所述检索请求进行分词处理,得到多个分词词语。
[0092]
具体实现中,检索请求(query)可以是用户直接输入搜索引擎或通过点击选择后被搜索引擎捕获/获取的待搜索的词/句子。例如,如图2所示,用户在千度搜索引擎主页上输入“深圳到北京的机票”,则检索query就是指“深圳到北京的机票”这个句子。针对用户输入的检索query,可以利用现有的分词技术对其进行分词处理,如jieba分词法、基于字符串匹配的分词法等等。为了更好地支持各种业务,本发明对分词方法不做限制。例如:通过jieba分词法可以将“深圳到北京的机票”分词为“深圳/到/北京/的/机票”,其中,“/”为分词符,从而得到多个分词词语——“深圳”、“到”、“北京”、“的”、“机票”。
[0093]
s102,确定所述多个分词词语中每个分词词语所属词典的词典索引、以及根据所述词典索引确定引用所述词典的识别抽取规则。
[0094]
具体实现中,首先针对每个分词词语,可以通过最大匹配优先法或最小匹配优先法将分词词语与预设的多个词典所包含的词进行匹配,确定该分词词语所属的词典,从而得到所需的词典索引。其中,每个词典的索引是预先生成的。在实际中,可以但不限于根据应用场景来选择使用最大匹配优先法还是最小匹配优先法。例如,在双语翻译场景中应选择最小匹配优先法,而在其他大部分场景中最大匹配优先法显得更为合适。
[0095]
然后,根据词典索引从预先生成的倒排索引列表中查找引用该词典索引所属词典的识别抽取规则。其中,识别抽取规则包含于各个规则模板中,通过词典和正则的组合组成,并且识别抽取规则以及规则模板均可以通过网络(web)端管理工具进行可视化配置。词典索引可以但不限于是字母、数字和字符串。
[0096]
例如:如表1所示,在倒排索引列表中,dictionary1、dictionary2和dictionary3分别为词典1、词典2和词典3的词典索引,词典1对应的倒排列表包括1-1、2-1、3-4,词典2对应的倒排列表包括1-2、2-4、1-3、4-1,词典3对应的倒排列表包括2-2、1-1、4-2、3-3,其中,若n和m为正整数,则n-m表示模板n-单元m,即规则模板n中的第m个单元的规则。基于表1,假设分词词语a所属词典的索引为dictionary2,则引用该词典的识别抽取规则包括1-2、2-4、1-3、4-1。
[0097]
表1.倒排索引
[0098]
词典索引倒排列表dictionary11-1、2-1、3-4dictionary21-2、2-4、1-3、4-1dictionary32-2、1-1、4-2、3-3
[0099]
s103,根据所述识别抽取规则,确定所述检索请求对应的规则模板。
[0100]
具体实现中,首先针对每个分词词语,可以确定分词词语对应的规则模板,其中,分词词语对应的规则模板是指引用该分词词语所属词典的识别抽取规则所属的规则模板;接着求多个分词词语对应的规则模板的交集,得到模板集合;然后确定该模板集合是否为空集。若否,则将模板集合包含的规则模板确定为当前检测到的检索query对应的规则模板。
[0101]
可选的,若得到的模板集合为空集,则对分词得到的多个分词词语进行拼接得到至少一个拼接词语。例如,分词词语“苹果”和“公司”可以拼接为拼接词语“苹果公司”。然后根据得到的拼接词语,确定检索请求对应的规则模板,其中,可以将拼接词语看作分词词语,通过再次执行与分词词语相同的操作来确定检索query对应的规则模板。
[0102]
可选的,还可以首先对多个分词词语之间的可配置信息进行合法性校验,其中,可配置信息包括分词词语在检索query中的位置关系和在检索query中出现的顺序中的至少一种;然后将可配置信息合法的分词词语对应的规则模板的交集作为模板集合。例如,当且仅当两个分词词语在检索query中的位置关系为紧紧相邻,即中间未间隔其他字词时,确定这两个分词词语的可配置信息合法。
[0103]
s104,按照所述规则模板,抽取所述检索请求的槽位信息。
[0104]
具体实现中,槽位信息是指检索query中能表示用户检索意图的信息,其中,槽位信息中通常包括时间、地点以及其他意图的词汇。例如,针对检索query——“深圳到北京的机票”,其槽位信息可以包括出发地“深圳”、目的地“北京”以及服务意图词汇“机票”。此外,还可以根据检索query所属的服务类目来确定在利用槽位信息进行服务信息的检索时是否取用其中的时间和地点等信息。例如,槽位信息中包括“2012”,若是在“电影”这个服务类目中,“2012”是一个电影名,不可取为时间。
[0105]
可选的,在抽取到槽位信息之后,可以根据该槽位信息在预设数据库中获取检索query对应的服务信息,然后展示该服务信息,以便向用户提供与用户意图相匹配的服务,其中,服务信息的展示方式可以包括但不限于语音播报和静态显示。
[0106]
可选的,规则模板可以包括信息填充规则。在抽取出槽位信息之后,可以首先确定槽位信息中是否缺少必要意图信息,其中,必要意图信息的缺少将导致无法为用户提供其所需的服务。因此,若槽位信息中缺少必要意图信息,则可以按照该信息填充规则对槽位信息进行信息填充。例如,检索query为“到北京的机票”,抽取到的槽位信息包括目的城市北京,服务意图词汇机票,则该槽位信息中显然缺少必要意图信息——出发城市和出发时间。因此,按照填充规则,需要获取用户当前所处的位置(如深圳)以及当前日期(如2019-08-12)。然后将深圳作为出发城市,以及将当前日期2019-08-12作为出发日期填充在槽位信息中。通过信息填充,可以有效解决由于用户输入的检索query信息不全而导致无法准确识别用户意图、为用户提供精确服务的问题。
[0107]
可选的,规则模板中还包括信息归一化规则。考虑到用户输入的检索query经常存在信息不规整的问题,当槽位信息中包含时间、地点、货币名称等描述信息时,可以按照信息归一化规则对其进行归一化处理。例如,(1)当抽取到地点“深圳福田”时,可以将其归一化为“广东省深圳市福田区”。(2)当抽取到时间信息时,比如“8月6号”、“明天”和“下周四”等,可以将其归一化为计算机可理解的统一格式,如unix时间戳。(3)当抽取到“美元”、“人民币”等货币名称时,可以将其归一化为国际统一的货币编码,如“美元”可以被归一化为“usd”,“人民币”可以被归一化为“cny”。
[0108]
可选的,规则模板中还可以包括后验信息,其中,后验信息可以包括但不限于黑名单信息、敏感词信息。在抽取到槽位信息之后,还可以对槽位信息进行后验校验。其中,由于该槽位信息是以检索query的分词结果为基础进行抽取的,槽位信息所包括的词语均来自于分词得到的分词词语。因此,可以将槽位信息中的每个词语与后验信息进行匹配,若某个
词语与后验信息相匹配,则将该词语从槽位信息中删除。例如,抽取到的槽位信息中包括“张三”,在将“张三”与黑名单信息所包含的黑名单姓名进行匹配时发现“张三”包含在黑名单信息之内,则将“张三”从槽位信息中删除。又如,抽取到的槽位信息中包括“xx枪支”,在将“xx枪支”与敏感词信息所包含的敏感词进行匹配时,发现“xx枪支”为敏感词汇,则将“xx枪支”从槽位信息中删除。
[0109]
目前,本发明实施例所提供的信息抽取方法可以应用于各个社交平台中嵌入的信息搜索小程序,可以实现用户意图的识别和抽取、帮助小程序为用户提供更好的服务,其整体流程如图3所示。其中,当小程序检测到用户的检索query之后,首先将检索query切分成多个词语,不妨将这些词语记为word1、word2、word3、

。接着利用最大匹配/最小匹配法查找每个词语所属词典的词典索引得到word1对应的词典索引1、word2对应的词典索引2、

。其次,针对每个词典索引,确定引用该词典索引对应的词典的识别抽取规则,其中,词典索引为倒排索引。然后对所确定的识别抽取规则所属的规则模板求交、以及对word1、word2、word3、

之间的可配置信息(如位置信息)进行校验,从而得到候选模板集。若候选模板集合为空集,则进行回溯匹配,将word1、word2、word3

进行拼接,将拼接词语看作word1、word2、word3

重新进行索引查找。若模板候选集不为空,则进一步对其中的规则模板进行校验,并将模板候选集中最终通过校验的规则模板确定为检索query对应的规则模板。最后按照检索query对应的规则模板抽取其中的槽位信息,得到至少一个关键词,则小程序对应的搜索引擎可以根据关键词检索信息并展示。比如,如图4所示,针对“后天深圳到北京的机票”这一检索query,首先可以抽取其中的槽位信息——意图词汇机票、出发时间后天、出发地深圳以及目的城市北京,然后检索包括满足出发时间和目的路线的所有航班信息,并在显示界面上向用户展示,则用户点击相应的内容即可进行机票的预订。又如,如图5所示,当用户搜索“深圳天气”时,首先可以抽取其中的槽位信息——意图词汇天气,地址深圳,从而可以确定用户的意图是搜索深圳地区的天气信息,然后检索深圳的天气信息并向用户展示。同时为了提升用户体验,还可以向用户提供与深圳先关的其他相关服务,如向用户推送深圳气象官方平台的公众号、以及关于深圳人口的统计研究报告。除此之外,还可以对用户的检索满意度进行调查和计算,以便对提高槽位信息的抽取方法进行针对性地改进。
[0110]
在本发明实施例中,当检测到用户输入的检索请求时,首先对检索请求进行分词处理,得到多个分词词语;接着确定多个分词词语中每个分词词语所属词典的词典索引、以及根据词典索引确定引用该词典的识别抽取规则;然后根据识别抽取规则,确定检索请求对应的规则模板;最后按照规则模板,抽取检索请求中的槽位信息。可以节约搜索引擎的开发成本、提高产品迭代更新的效率。
[0111]
请参见图6,图6是本发明实施例提供的另一种信息抽取方法的流程示意图,该方法包括但不限于如下步骤:
[0112]
s601,确定每种服务类目的多种请求模式。
[0113]
具体实现中,可以将检索query划分为多个服务类目,如天气类服务、机票类服务、汇率查询类服务以及电影类服务等等。针对每种服务类目,可以对一段时间内用户输入的检索query的语句特征进行统计和分析,以便总结该服务类目的请求模式,即query模式。其中,大部分服务类目的query模式不超过5种。例如,在机票类服务中,假设出发地为深圳,目的地为北京,经过统计可知经常出现的检索query包括:从深圳到北京的机票、到北京的机
票、机票。因此,可以确定机票类服务的query模式包括3种:(1)从a到b的机票;(2)到b的机票;(3)机票。
[0114]
s602,配置每种请求模式对应的语义单元的识别抽取规则,并根据语义单元的识别抽取规则生成规则模板和词典索引。
[0115]
需要说明的是,本发明实施例提供的信息抽取方法依托于如图7所示的系统架构,其中,语义单元的识别抽取规则和规则模板的配置、以及词典索引的生成等步骤均是基于该系统架构来实现。如图7所示,该系统架构包括模式匹配模块、信息抽取模块、匹配求交模块、索引管理模块等等功能模块,其中,模式匹配模块用于对规则模板的进行筛选,以确定最终与用户检索query对应的槽位信息的规则模板;信息抽取模块用于根据规则模板对检索query进行槽位信息的抽取。匹配求交模块可以对检索query中每个分词词与对应的识别抽取规则进行求交,其中,可使用的匹配求交方法包括正/逆向匹配和最大/小匹配。格式化模块可以按照统一的归一化规则或调用预设的映射表/回调函数来对从检索query中抽取出来的不规整信息进行归一化。索引管理模块可以采用级联索引模式、可用的索引管理方法包括串/并行求交,该模块可以划分为天气规则、股票规则等数据对应的规则管理模块、匹配词典(如货币词典、股票代码词典)和同义词词典对应的词典管理模块、以及正则编译对应的正则管理模块。
[0116]
具体实现中,一方面,针对每种query模式,可以首先对其进行语义划分,获取其中的多个核心语义单元。例如,“从a到b的机票”的核心语义单元包括“a”、“b”以及“机票”,即出发城市、目的城市以及服务意图词汇,除此之外的“从”和“的”均可认为是“非必留词”,“非必留词”可以忽略不计。接着对于每个核心语义单元,可以利用web端管理工具配置对应的识别抽取规则,其中,识别抽取规则通常由词典和正则组合组成。
[0117]
需要说明的是,对于某些query模式,其中并未包含实际查询信息所需的全部意图信息。例如,“到b的机票”这种query模式中就不包含出发城市和出发时间。因此,还可以通过web端管理工具配置信息填充规则。例如,在缺乏出发城市和出发时间的情况下,约定将用户当前所在的地点填充为出发城市,将当前日期填充为出发时间。其次,为了提高产品迭代效率,还可以开发通用的时间、地点等描述信息的归一化标准/工具,以便对槽位信息中所包含的不规整的时间和地点等信息描述进行归一化。
[0118]
另一方面,可以首先获取预设的模板生成信息,其中,该模板生成信息可以是搜索引擎的编辑、产品以及开发人员通过web端管理工具预先配置的信息。接着,利用web端管理工具以预设的模板生成信息和上述核心语义单元对应的识别抽取规则为依据生成多个规则模板,当然web端管理工具还可以将信息填充规则和/或信息归一化规则融合到规则模板中。然后,确定多个规则模板中每个规则模板对应的词典信息,词典信息可以包括规则模板所引用的多个词典、该多个词典中每个词典包含的词语,其中,规则模板所引用的多个词典是指该规则模板包括的识别抽取规则所引用的词典的总和。除此之外,词典信息还可以包括多个词典之间的紧邻顺序和/或同义词信息;接着再根据词典信息,生成每个词典的词典索引。该词典索引是指由词典所包含的词到引用该词典的识别抽取规则的索引。其中,若多个规则模板中的多个规则引用了同一词典,则该词典索引将指向多个规则模板,即该词典索引为倒排索引。最后,可以将词典索引存储在共享内存中,以便进行索引查找、提高服务重载速度。而当数据量不大时,词典索引以及规则模板的相关描述信息也可以直接载入私
有内存。
[0119]
需要说明的是,1)对于上述规则模板所引用的所有词典,可以实时监控其更新时间,当词典变更时系统将会自动重载该词典,并且重载的过程不影响词典的正常使用。而对于多个模板引用同一个字典的情况,可以在内存里仅存一份词典数据。2)上述的识别抽取规则和规则模板的配置都是通过web端管理工具实现的,在实际中若接入服务的产品不多,还可以直接通过人工来修改配置。
[0120]
s603,当检测到用户输的检索请求时,对所述检索请求进行分词处理,得到多个分词词语。本步骤与上一实施例中的s101相同,本步骤不再赘述。
[0121]
s604,确定所述多个分词词语中每个分词词语所属词典的词典索引、以及根据所述词典索引确定引用所述词典的识别抽取规则。本步骤与上一实施例中的s102相同,本步骤不再赘述。
[0122]
s605,根据引用所述词典的识别抽取规则,确定所述检索请求对应的规则模板。本步骤与上一实施例中的s103相同,本步骤不再赘述。
[0123]
s606,按照所述检索请求对应的规则模板,抽取所述检索请求中的槽位信息。本步骤与上一实施例中的s104相同,本步骤不再赘述。
[0124]
在本发明实施例中,利用web端管理工具配置槽位信息抽取所需的规则模板和词典索引。当检测到的用户输入的检索请求时,首先对检索请求进行分词处理,得到多个分词词语;接着确定多个分词词语中每个分词词语所属词典的词典索引、以及根据词典索引确定引用该词典的识别抽取规则;然后根据识别抽取规则,确定检索请求对应的第一规则模板;最后按照规则模板,抽取检索请求中的槽位信息。其中,识别抽取规则和规则模板均可以通过web端管理工具进行可视化配置,从而可以节约搜索引擎的开发成本、提高产品迭代和更新的效率。
[0125]
上述详细阐述了本发明实施例的方法,下面提供了本发明实施例的相关设备。
[0126]
请参见图8,图8是本发明实施例提供的一种信息抽取装置的结构示意图,该装置可以包括:
[0127]
分词模块801,用于当检测到用户输入的检索请求时,对所述检索请求进行分词处理,得到多个分词词语。
[0128]
具体实现中,检索请求(query)可以是用户直接输入搜索引擎或通过点击选择后被搜索引擎捕获/获取的待搜索的词/句子。针对用户输入的检索query,可以利用现有的分词技术对其进行分词处理,如jieba分词法、基于字符串匹配的分词法等等。为了更好地支持各种业务,本发明对分词方法不做限制。
[0129]
索引模块802,用于确定所述多个分词词语中每个分词词语所属词典的词典索引、以及根据所述词典索引确定引用所述词典的识别抽取规则。
[0130]
具体实现中,首先针对每个分词词语,可以通过最大匹配优先法或最小匹配优先法将分词词语与预设的多个词典所包含的词进行匹配,确定该分词词语所属的词典,从而得到所需的词典索引。其中,每个词典的索引是预先生成的。在实际中,可以但不限于根据应用场景来选择使用最大匹配优先法还是最小匹配优先法。例如,在双语翻译场景中应选择最小匹配优先法,而在其他大部分场景中最大匹配优先法显得更为合适。
[0131]
然后,根据词典索引从预先生成的倒排索引列表中查找引用该词典索引所属词典
的识别抽取规则。其中,识别抽取规则包含于各个规则模板中,通过词典和正则的组合组成,并且识别抽取规则以及规则模板均可以通过web端管理工具进行可视化配置。词典索引可以但不限于是字母、数字和字符串。
[0132]
求交模块803,用于根据所述识别抽取规则,确定所述检索请求对应的规则模板。
[0133]
具体实现中,首先针对每个分词词语,可以确定分词词语对应的规则模板,其中,分词词语对应的规则模板是指引用该分词词语所属词典的识别抽取规则所属的规则模板;接着求多个分词词语对应的规则模板的交集,得到模板集合;然后确定该模板集合是否为空集。若否,则将模板集合包含的规则模板确定为当前检测到的检索query对应的规则模板。
[0134]
可选的,若得到的模板集合为空集,求交模块803还用于对分词得到的多个分词词语进行拼接得到至少一个拼接词语。例如,分词词语“苹果”和“公司”可以拼接为拼接词语“苹果公司”。然后根据得到的拼接词语,确定检索请求对应的规则模板,其中,可以将拼接词语看作分词词语,通过再次执行与分词词语相同的操作来确定检索query对应的规则模板。
[0135]
可选的,求交模块803还用于首先对多个分词词语之间的可配置信息进行合法性校验,其中,可配置信息包括分词词语在检索query中的位置关系和在检索query中出现的顺序中的至少一种;然后将可配置信息合法的分词词语对应的规则模板的交集作为模板集合。例如,当且仅当两个分词词语在检索query中的位置关系为紧紧相邻,即中间未间隔其他字词时,确定这两个分词词语的可配置信息合法。
[0136]
抽取模块804,用于按照所述规则模板,抽取所述检索请求的槽位信息。
[0137]
具体实现中,槽位信息是指检索query中能表示用户检索意图的信息,其中,槽位信息中通常包括时间、地点以及其他意图的词汇。此外,还可以根据检索query所属的服务类目来确定在利用槽位信息进行服务信息的检索时是否取用其中的时间和地点等信息。
[0138]
可选的,本发明实施例中的装置还包括展示模块,用于在抽取到槽位信息之后,可以根据该槽位信息在预设数据库中获取检索query对应的服务信息,然后展示该服务信息,以便向用户提供与用户意图相匹配的服务,其中,服务信息的展示方式可以包括但不限于语音播报和静态显示。
[0139]
可选的,规则模板可以包括信息填充规则。抽取模块804还用于在抽取出槽位信息之后,可以首先确定槽位信息中是否缺少必要意图信息,其中,必要意图信息的缺少将导致无法为用户提供其所需的服务。因此,若槽位信息中缺少必要意图信息,则可以按照该信息填充规则对槽位信息进行信息填充。
[0140]
可选的,规则模板中还包括信息归一化规则。考虑到用户输入的检索query经常存在信息不规整的问题,抽取模块804还用于当槽位信息中包含时间、地点、货币名称等描述信息时,可以按照信息归一化规则对其进行归一化处理。例如,(1)当抽取到地点“深圳福田”时,可以将其归一化为“广东省深圳市福田区”。(2)当抽取到时间信息时,比如“8月6号”、“明天”和“下周四”等,可以将其归一化为计算机可理解的统一格式,如unix时间戳。(3)当抽取到“美元”、“人民币”等货币名称时,可以将其归一化为国际统一的货币编码,如“美元”可以被归一化为“usd”,“人民币”可以被归一化为“cny”。
[0141]
可选的,规则模板中还可以包括后验信息,其中,后验信息可以包括但不限于黑名
单信息、敏感词信息。抽取模块804还用于在抽取到槽位信息之后,还可以对槽位信息进行后验校验。其中,由于该槽位信息是以检索query的分词结果为基础进行抽取的,槽位信息所包括的词语均来自于分词得到的分词词语。因此,可以将槽位信息中的每个词语与后验信息进行匹配,若某个词语与后验信息相匹配,则将该词语从槽位信息中删除。
[0142]
本发明实施例中的装置还包括配置模块,用于:
[0143]
首先,确定每种服务类目的多种请求模式。具体地,可以将检索query划分为多个服务类目,如天气类服务、机票类服务、汇率查询类服务以及电影类服务等等。针对每种服务类目,可以对一段时间内用户输入的检索query的语句特征进行统计和分析,以便总结该服务类目的请求模式,即query模式。其中,大部分服务类目的query模式不超过5种。例如,在机票类服务中,假设出发地为深圳,目的地为北京,经过统计可知经常出现的检索query包括:从深圳到北京的机票、到北京的机票、机票。因此,可以确定机票类服务的query模式包括3种:(1)从a到b的机票;(2)到b的机票;(3)机票。
[0144]
然后,配置每种请求模式对应的语义单元的识别抽取规则,并根据语义单元的识别抽取规则生成规则模板和词典索引。具体实现中,一方面,针对每种query模式,可以首先对其进行语义划分,获取其中的多个核心语义单元。例如,“从a到b的机票”的核心语义单元包括“a”、“b”以及“机票”,即出发城市、目的城市以及服务意图词汇,除此之外的“从”和“的”均可认为是“非必留词”,“非必留词”可以忽略不计。接着对于每个核心语义单元,可以利用web端管理工具配置对应的识别抽取规则,其中,识别抽取规则通常由词典和正则组合组成。
[0145]
需要说明的是,对于某些query模式,其中并未包含实际查询信息所需的全部意图信息。例如,“到b的机票”这种query模式中就不包含出发城市和出发时间。因此,配置模块可以通过web端管理工具配置信息填充规则。例如,在缺乏出发城市和出发时间的情况下,约定将用户当前所在的地点填充为出发城市,将当前日期填充为出发时间。其次,为了提高产品迭代效率,配置模块还可以开发通用的时间、地点等描述信息的归一化标准/工具,以便对槽位信息中所包含的不规整的时间和地点等信息描述进行归一化。
[0146]
另一方面,可以首先获取预设的模板生成信息,其中,该模板生成信息可以是搜索引擎的编辑、产品以及开发人员通过web端管理工具预先配置的信息。接着,利用web端管理工具以预设的模板生成信息和上述核心语义单元对应的识别抽取规则为依据生成多个规则模板,当然web端管理工具还可以将信息填充规则和/或信息归一化规则融合到规则模板中。然后,确定多个规则模板中每个规则模板对应的词典信息,词典信息可以包括规则模板所引用的多个词典、该多个词典中每个词典包含的词语,其中,规则模板所引用的多个词典是指该规则模板包括的识别抽取规则所引用的词典的总和。除此之外,词典信息还可以包括多个词典之间的紧邻顺序和/或同义词信息;接着再根据词典信息,生成每个词典的词典索引。该词典索引是指由词典所包含的词到引用该词典的识别抽取规则的索引。其中,若多个规则模板中的多个规则引用了同一词典,则该词典索引将指向多个规则模板,即该词典索引为倒排索引。最后,可以将词典索引存储在共享内存中,以便进行索引查找、提高服务重载速度。而当数据量不大时,词典索引以及规则模板的相关描述信息也可以直接载入私有内存。
[0147]
需要说明的是,1)对于上述规则模板所引用的所有词典,配置模块可以实时监控
其更新时间,当词典变更时系统将会自动重载该词典,并且重载的过程不影响词典的正常使用。而对于多个模板引用同一个字典的情况,可以在内存里仅存一份词典数据。2)上述的识别抽取规则和规则模板的配置都是通过web端管理工具实现的,在实际中若接入服务的产品不多,还可以直接通过人工来修改配置。
[0148]
在本发明实施例中,当检测到用户输入的检索请求时,首先对检索请求进行分词处理,得到多个分词词语;接着确定多个分词词语中每个分词词语所属词典的词典索引、以及根据词典索引确定引用该词典的识别抽取规则;然后根据识别抽取规则,确定检索请求对应的规则模板;最后按照规则模板,抽取检索请求中的槽位信息。其中,识别抽取规则和规则模板均可以通过web端管理工具进行可视化配置,从而可以节约搜索引擎的开发成本、提高产品迭代更新的效率。
[0149]
请参见图9,图9是本发明实施例提供的一种信息抽取设备的结构示意图。如图所示,该设备可以包括:至少一个处理器901,至少一个通信接口902,至少一个存储器903和至少一个通信总线904。
[0150]
其中,处理器901可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。通信总线904可以是外设部件互连标准pci总线或扩展工业标准结构eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信总线904用于实现这些组件之间的连接通信。其中,本发明实施例中设备的通信接口902用于与其他节点设备进行信令或数据的通信。存储器903可以包括易失性存储器,例如非挥发性动态随机存取内存(nonvolatile random access memory,nvram)、相变化随机存取内存(phase change ram,pram)、磁阻式随机存取内存(magetoresistive ram,mram)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、闪存器件,例如反或闪存(nor flash memory)或是反及闪存(nand flash memory)、半导体器件,例如固态硬盘(solid state disk,ssd)等。存储器903可选的还可以是至少一个位于远离前述处理器901的存储装置。存储器903中存储一组程序代码,且处理器901执行存储器903中的程序:
[0151]
当检测到用户输入的检索请求时,对所述检索请求进行分词处理,得到多个分词词语;
[0152]
确定所述多个分词词语中每个分词词语所属词典的词典索引、以及根据所述词典索引确定引用所述词典的识别抽取规则;
[0153]
根据所述识别抽取规则,确定所述检索请求对应的规则模板;
[0154]
按照所述规则模板,抽取所述检索请求中的槽位信息,所述槽位信息用于表示用户意图。
[0155]
可选的,处理器901还用于执行如下操作步骤:
[0156]
确定所述识别抽取规则所属的规则模板;
[0157]
对所述多个分词词语对应的规则模板求交集,得到模板集合;
[0158]
若所述模板集合不为空集,则将所述模板集合包含的规则模板作为所述检索请求对应的规则模板。
[0159]
可选的,处理器901还用于执行如下操作步骤:
[0160]
确定所述识别抽取规则所属的规则模板;
[0161]
对所述多个分词词语对应的规则模板求交集,得到模板集合;
[0162]
若所述模板集合不为空集,则将所述模板集合包含的规则模板作为所述检索请求对应的规则模板。
[0163]
可选的,处理器901还用于执行如下操作步骤:
[0164]
对所述多个分词词语之间的可配置信息进行合法性校验,所述可配置信息包括所述分词词语在所述检索请求中的位置关系和出现的顺序中的至少一种;
[0165]
将所述可配置信息合法的分词词语对应的规则模板的交集作为所述模板集合。
[0166]
可选的,处理器901还用于执行如下操作步骤:
[0167]
若所述模板集合为空集,则对所述多个分词词语进行拼接处理得到至少一个拼接词语;
[0168]
根据所述至少一个拼接词语,确定所述检索请求对应的规则模板。
[0169]
可选的,所述检索请求对应多个服务类目;
[0170]
处理器901还用于执行如下操作步骤:
[0171]
确定所述多个服务类目中每个服务类目的多种请求模式、以及所述多种请求模式中每种请求模式的核心语义单元;
[0172]
根据网络端管理工具,配置所述核心语义单元的识别抽取规则;
[0173]
根据预设的模板生成信息和所述核心语义单元的识别抽取规则,生成多个规则模板。
[0174]
可选的,处理器901还用于执行如下操作步骤:
[0175]
确定所述多个规则模板中每个规则模板对应的词典信息,所述词典信息包括所述规则模板所引用的至少一个词典、所述至少一个词典中每个词典包含的词语;
[0176]
根据所述词典信息,生成所述每个词典的词典索引;将所述词典索引存储在共享内存中。
[0177]
可选的,所述规则模板包括信息填充规则;
[0178]
处理器901还用于执行如下操作步骤:
[0179]
确定所述槽位信息是否缺少必要意图信息;
[0180]
当所述槽位信息缺少所述必要意图信息时,按照所述信息填充规则对所述槽位信息进行信息填充。
[0181]
可选的,所述槽位信息包括从所述多个分词词语中抽取的目标分词词语;
[0182]
所述规则模板包括后验信息,所述后验信息包括黑名单信息、敏感词信息中的至少一项;
[0183]
处理器901还用于执行如下操作步骤:
[0184]
将所述目标分词词语与所述后验信息进行匹配;
[0185]
将与所述后验信息相匹配的目标分词词语从所述槽位信息中删除。
[0186]
可选的,处理器901还用于执行如下操作步骤:
[0187]
根据所述槽位信息,从预设数据库中获取所述检索请求对应的服务信息;
[0188]
按照预设的展示方式展示所述服务信息,所述展示方式包括语音播报和静态显示中的至少一项。
[0189]
进一步的,处理器还可以与存储器和通信接口相配合,执行上述发明实施例中信息抽取装置执行的操作。
[0190]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0191]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1