基于人工智能的信息搜索方法和装置转让专利

申请号 : CN201610959868.3

文献号 : CN106570138B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张元哲

申请人 : 北京百度网讯科技有限公司

摘要 :

本发明公开了一种基于人工智能的信息搜索方法和装置,其中,方法包括以下步骤:接收输入的查询问句;基于预先建立的实体与关系词典,将查询问句切分为多个候选片段;从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,组合路径的长度为多个互不交叠的片段数;合并组合路径中的多个互不交叠的片段,直至组合路径的长度等于1;将组合路径的长度等于1时的片段作为搜索结果。该方法能够处理复杂的问句,并且不需要人工标注数据,人工成本低。

权利要求 :

1.一种基于人工智能的信息搜索方法,其特征在于,包括:接收输入的查询问句;

基于预先建立的实体与关系词典,将所述查询问句切分为多个候选片段;

从所述多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,所述组合路径的长度为多个互不交叠的片段数;

合并所述组合路径中的多个互不交叠的片段,直至所述组合路径的长度等于1;

将所述组合路径的长度等于1时的片段作为搜索结果。

2.如权利要求1所述的方法,其特征在于,合并所述组合路径中的多个互不交叠的片段,直至所述组合路径的长度等于1,包括:获取所述组合路径中的多个互不交叠的片段所对应的候选资源;

基于实体知识库对所述组合路径中前两个片段的候选资源进行三元组查询,并获取答案片段,以实现所述组合路径中前两个片段的合并;

重复上一步骤,直至所述组合路径的长度等于1。

3.如权利要求1所述的方法,其特征在于,还包括:当所述搜索结果为多个时,计算每个搜索结果对应的组合路径的得分;

选取得分最高的组合路径对应的搜索结果,作为搜索答案。

4.如权利要求1所述的方法,其特征在于,计算每个搜索结果对应的组合路径的得分,包括:提取组合路径的特征,

将所述特征输入至最大可能组合模型,并输出所述组合路径的得分,其中,所述最大可能组合模型具有预设参数。

5.如权利要求4所述的方法,其特征在于,所述特征包括组合特征、等同特征以及全局特征中的一个或多个。

6.如权利要求4所述的方法,其特征在于,所述预设参数通过隐变量结构感知机训练获得。

7.如权利要求6所述的方法,其特征在于,通过隐变量结构感知机训练所述预设参数,包括:获取问题答案样本;

将所述问题答案样本输入至具有初始参数的最大可能组合模型;

获取得分最高的组合路径及其对应的答案的得分;

如果得分最高的组合路径对应的答案为正确答案,则保持初始参数不变,并进行下一轮训练;

如果得分最高的组合路径对应的答案不为正确答案,则获取得到正确答案的得分最高的组合路径,并对所述初始参数进行更新;

重复训练步骤,直至训练完所有问题答案样本。

8.一种基于人工智能的信息搜索装置,其特征在于,包括:接收模块,用于接收输入的查询问句;

切分模块,用于基于预先建立的实体与关系词典,将所述查询问句切分为多个候选片段;

生成模块,用于从所述多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,所述组合路径的长度为多个互不交叠的片段数;

合并模块,用于合并所述组合路径中的多个互不交叠的片段,直至所述组合路径的长度等于1;

获得模块,用于将所述组合路径的长度等于1时的片段作为搜索结果。

9.如权利要求8所述的装置,其特征在于,所述合并模块,用于:获取所述组合路径中的多个互不交叠的片段所对应的候选资源;

基于实体知识库对所述组合路径中前两个片段的候选资源进行三元组查询,并获取答案片段,以实现所述组合路径中前两个片段的合并;

重复合并操作,直至所述组合路径的长度等于1。

10.如权利要求8所述的装置,其特征在于,还包括:计算模块,用于当所述搜索结果为多个时,计算每个搜索结果对应的组合路径的得分;

所述获得模块,还用于选取得分最高的组合路径对应的搜索结果,作为搜索答案。

11.如权利要求10所述的装置,其特征在于,所述计算模块,用于:提取组合路径的特征,

将所述特征输入至最大可能组合模型,并输出所述组合路径的得分,其中,所述最大可能组合模型具有预设参数。

12.如权利要求11所述的装置,其特征在于,所述特征包括组合特征、等同特征以及全局特征中的一个或多个。

13.如权利要求11所述的装置,其特征在于,所述预设参数通过隐变量结构感知机训练获得。

14.如权利要求13所述的装置,其特征在于,所述装置还包括:训练模块,用于通过隐变量结构感知机训练所述预设参数。

15.如权利要求14所述的装置,其特征在于,所述训练模块,用于获取问题答案样本;

将所述问题答案样本输入至具有初始参数的最大可能组合模型;

获取得分最高的组合路径及其对应的答案的得分;

如果得分最高的组合路径对应的答案为正确答案,则保持初始参数不变,并进行下一轮训练;

如果得分最高的组合路径对应的答案不为正确答案,则获取得到正确答案的得分最高的组合路径,并对所述初始参数进行更新;

重复训练步骤,直至训练完所有问题答案样本。

说明书 :

基于人工智能的信息搜索方法和装置

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种基于人工智能的信息搜索方法和装置。

背景技术

[0002] 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语音识别、图像识别、自然语言处理和专家系统等。其中,自然语言处理是人工智能的重要研究方面。
[0003] 随着搜索技术的不断发展,人们利用搜索技术,通过输入自然语言问句便可查询到问句的答案。目前,可通过字符串匹配来搜索答案。或者,训练人工标注的数据得到语义解析器,通过语义解析器对输入的问句进行深层解析后,获取搜索答案。
[0004] 但是,目前字符串匹配的准确性较差,当查询问句存在歧义时准确性更差,从而影响搜索答案的准确性。另外,虽然也可利用语义解析器来搜索答案,但语义解析器的训练比较复杂,并且需要大量的人工标注数据,以及人工设定词典,人工成本高。

发明内容

[0005] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种基于人工智能的信息搜索方法,该方法能够处理复杂的问句,并且不需要人工标注数据,人工成本低。
[0006] 本发明的第二个目的在于提出一种基于人工智能的信息搜索装置。
[0007] 为了实现上述目的,本发明第一方面实施例提出了一种基于人工智能的信息搜索方法,包括:接收输入的查询问句;基于预先建立的实体与关系词典,将查询问句切分为多个候选片段;从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,组合路径的长度为多个互不交叠的片段数;合并组合路径中的多个互不交叠的片段,直至组合路径的长度等于1;将组合路径的长度等于1时的片段作为搜索结果。
[0008] 本发明实施例的基于人工智能的信息搜索方法,通过将查询语句切分为多个候选片段,从候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,合并组合路径中的片段,直至组合路径的长度为1,将组合路径的长度为1时的片段作为搜索结果。该方法能够处理复杂的问句,并且不需要人工标注数据,人工成本低。
[0009] 为达上述目的,本发明第二方面实施例提出了一种基于人工智能的信息搜索装置,包括:接收模块,用于接收输入的查询问句;切分模块,用于基于预先建立的实体与关系词典,将查询问句切分为多个候选片段;生成模块,用于从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,组合路径的长度为多个互不交叠的片段数;合并模块,用于合并组合路径中的多个互不交叠的片段,直至组合路径的长度等于1;获得模块,用于将组合路径的长度等于1时的片段作为搜索结果。
[0010] 本发明实施例的基于人工智能的信息搜索装置,通过将查询语句切分为多个候选片段,从候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,合并组合路径中的片段,直至组合路径的长度为1,将组合路径的长度为1时的片段作为搜索结果。该方法能够处理复杂的问句,并且不需要人工标注数据,人工成本低。
[0011] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0012] 图1是根据本发明一个实施例的基于人工智能的信息搜索方法的流程图;
[0013] 图2是根据本发明一个具体实施例的基于人工智能的信息搜索方法的流程图;
[0014] 图3是根据本发明一个实施例的查询问句有多个搜索结果的效果示意图;
[0015] 图4是根据本发明一个实施例的基于人工智能的信息搜索装置的结构示意图;
[0016] 图5是根据本发明一个具体实施例的基于人工智能的信息搜索装置的结构示意图。

具体实施方式

[0017] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0018] 下面参考附图描述本发明实施例的基于人工智能的信息搜索方法和装置。
[0019] 图1是根据本发明一个实施例的基于人工智能的信息搜索方法的流程图。
[0020] 如图1所示,该基于人工智能的信息搜索方法包括:
[0021] S101,接收输入的查询问句。
[0022] 具体地,用户可通过搜索引擎提供的文字输入框或者语音输入接口,通过文字输入或者语音输入的方式输入查询问句。例如,用户想查询姚明的身高,可打开手机中的搜索引擎,按住语音输入键,说话:“姚明的身高是多少”,从而语音输入查询问句。
[0023] S102,基于预先建立的实体与关系词典,将查询问句切分为多个候选片段。
[0024] 具体地,在接收到输入的查询问句后,根据建立的实体与关系词典,将查询问句切分为多个候选片段。其中,可预先通过抓取各个网页的内容建立实体与关系词典。
[0025] 例如,用户输入查询问句“2046的服装设计师有什么代表作”,根据建立的实体与关系词典将该查询问句切分为多个候选片段,即{20[0,1],204[0,2],2046[0,3],04[1,2],046[1,3],46[2,3],6[3,3],的服装设计师[4,9],服装[5,6],服装设计[5,8],服装设计师[5,9],服装设计师有[5,10],设计[7,8],设计师[7,9],什么[11,12],代表[13,14],代表作[13,15]}。
[0026] 需要说明的是,查询问句“2046的服装设计师有什么代表作”中的字符与[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]中的数字是一一对应关系,即用数字表示查询问句中每个字符的位置。对于候选片段:服装设计[5,8],[5,8]表示“服装设计”是查询问句中数字
5与数字8之间对应的字符组成的片段。
[0027] S103,从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径。
[0028] 具体地,将查询问句切分为多个候选片段后,从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径。也就是说,同一个组合路径中没有重复的片段,并且片段是有序组合。其中,组合路径的长度为多个互不交叠的片段数。
[0029] 例如,对于查询问句“2046的服装设计师有什么代表作”,可从该查询问句的多个候选片段中选取片段服装设计[5,8]和什么[11,12]进行有序的组合,生成组合路径CP1:[服装设计[5,8],什么[11,12]],组合路径CP1的长度为2。也可选取片段2046[0,3]和服装设计[5,8],生成组合路径CP2:[2046[0,3],服装设计[5,8]]。也可选取片段20[0,1],服装设计[5,8],代表作[13,15],生成组合路径CP3:[20[0,1],服装设计[5,8],代表作[13,
15]]。
[0030] 同样,可选取片段2046[0,3],服装设计[5,8],代表作[13,15],生成组合路径CP4:[2046[0,3],服装设计[5,8],代表作[13,15]]。
[0031] 需要理解的是,一个查询问句的候选片段可以生成多个组合路径,并且组合路径中没有重复片段,片段是有序组合。
[0032] S104,合并组合路径中的多个互不交叠的片段,直至组合路径的长度等于1。
[0033] 具体地,选取多个候选片段生成组合路径后,从实体与关系词典中获取组合路径中多个互不交叠的片段对应的候选资源。
[0034] 其中,候选资源指的是在实体与关系词典中每个片段对应的实体或者关系的集合。例如,片段2046[0,3]的候选资源可以是{BaiduEntity:2046;MtimeEntity:2046}。其中,BaiduEntity表明2046是百度中的实体,MtimeEntity表明2046是时光网中的实体。片段服装设计师[5,9]的候选资源可以是{BaiduEntity:服装设计师;MtimeRelation:服装设计}。也就是说,片段服装设计师[5,9]有两个候选资源,一个是百度中的实体“服装设计师”,一个是时光网中的关系“服装设计”。
[0035] 在获取组合路径中多个互不交叠的片段的候选资源后,基于实体知识库对组合路径中前两个片段的候选资源进行三元组查询,并获取答案片段。在获取答案片段后,将该答案片段作为新的片段与组合路径中第三个片段的候选资源进行三元组查询,并获取答案片段。再将获取的答案片段与组合路径中第四个片段的候选资源进行三元组查询,重复上述操作,直到组合路径的长度等于1,即只有一个答案片段。
[0036] 需要说明的是,在合并片段的过程中,如果在实体知识库中没有获取答案片段,则表明该组合路径是无效的。
[0037] 下面结合具体示例,描述合并组合路径中的片段的过程。具体示例如下:
[0038] 对于组合路径CP3:[204[0,2],服装设计[5,8],代表作[13,15]],获取前两个片段对应的候选资源,假设204[0,2]的候选资源为{BaiduEntity:204},服装设计[5,8]的候选资源为{BaiduRelation:服装设计;MtimeRelation:服装设计}。获取前两个片段的候选资源后,将前两个片段204[0,2]和服装设计[5,8]的候选资源在实体知识库中进行三元组查询,没有得到答案片段。这时,组合路径CP3是无效的。
[0039] 对于组合路径CP4:[2046[0,3],服装设计[5,8],代表作[13,15]]。将该组合路径中的前两个片段2046[0,3]和服装设计[5,8]的候选资源在实体知识库中进行三元组查询,获取答案片段“张叔平”。也就是说,影片《2046》这个实体,它通过服装设计这个关系,在实体知识库中查找到对应的实体答案,就是“张叔平”。然后,再将答案片段“张叔平”与组合路径CP4中的第三个片段代表作[13,15],组合生成一个更短的组合路径,即[张叔平,代表作[13,15]]。再将答案片段“张叔平”与代表作[13,15]的候选资源在实体知识库中进行三元组查询,获得答案片段“一代宗师”。也就是说,实体知识库中的服装设计师“张叔平”,他的代表作,就是“一代宗师”。
[0040] S105,将组合路径的长度等于1时的片段作为搜索结果。
[0041] 具体地,合并组合路径中多个互不交叠的片段后,将组合路径的长度等于1时的答案片段作为搜索结果。
[0042] 例如,组合路径CP4:[2046[0,3],服装设计[5,8],代表作[13,15]]中的片段,经过合并之后组合路径的长度等于1时,组合路径中的片段为答案片段“一代宗师”,则将答案片段“一代宗师”作为查询问句“2046的服装设计师有什么代表作”的搜索结果。
[0043] 综上所述,本发明实施例的基于人工智能的信息搜索方法,通过将查询语句切分为多个候选片段,从候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,合并组合路径中的片段,直至组合路径的长度为1,将组合路径的长度为1时的片段作为搜索结果。该方法能够处理复杂的问句,并且不需要人工标注数据,人工成本低。
[0044] 为了更清楚详细的描述本发明实施例,下面结合图2通过具体实施例对其进行进一步描述。图2是根据本发明一个具体实施例的基于人工智能的信息搜索方法的流程图。
[0045] 如图2所示,该基于人工智能的信息搜索方法包括:
[0046] S201,接收输入的查询问句。
[0047] 具体地,用户可通过搜索引擎提供的文字输入框或者语音输入接口,通过文字输入或者语音输入的方式输入查询问句。例如,用户想查询姚明的身高,可打开手机中的搜索引擎,按住语音输入键,说话:“姚明的身高是多少”,从而语音输入查询问句。
[0048] S202,基于预先建立的实体与关系词典,将查询问句切分为多个候选片段。
[0049] 具体地,在接收到输入的查询问句后,根据建立的实体与关系词典,将查询问句切分为多个候选片段。其中,可预先通过抓取各个网页的内容建立实体与关系词典。
[0050] 例如,用户输入查询问句“2046的服装设计师有什么代表作”,根据建立的实体与关系词典将该查询问句切分为多个候选片段,即{20[0,1],204[0,2],2046[0,3],04[1,2],046[1,3],46[2,3],6[3,3],的服装设计师[4,9],服装[5,6],服装设计[5,8],服装设计师[5,9],服装设计师有[5,10],设计[7,8],设计师[7,9],什么[11,12],代表[13,14],代表作[13,15]}。
[0051] 需要说明的是,查询问句“2046的服装设计师有什么代表作”中的字符与[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]中的数字是一一对应关系,即用数字表示查询问句中每个字符的位置。对于候选片段:服装设计[5,8],[5,8]表示“服装设计”是查询问句中数字
5与数字8之间对应的字符组成的片段。
[0052] S203,从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径。
[0053] 具体地,将查询问句切分为多个候选片段后,从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径。也就是说,同一个组合路径中没有重复的片段,并且片段是有序组合。其中,组合路径的长度为多个互不交叠的片段数。
[0054] 例如,对于查询问句“2046的服装设计师有什么代表作”,可从该查询问句的多个候选片段中选取片段服装设计[5,8]和什么[11,12]进行有序组合,生成组合路径CP1:[服装设计[5,8],什么[11,12]],组合路径CP1的长度为2。也可选取片段2046[0,3]和服装设计[5,8],生成组合路径CP2:[2046[0,3],服装设计[5,8]]。也可选取片段20[0,1],服装设计[5,8],代表作[13,15],生成组合路径CP3:[20[0,1],服装设计[5,8],代表作[13,15]]。
[0055] 同样,可选取片段2046[0,3],服装设计[5,8],代表作[13,15],生成组合路径CP4:[2046[0,3],服装设计[5,8],代表作[13,15]]。
[0056] 需要理解的是,一个查询问句的候选片段可以生成多个组合路径,并且组合路径中没有重复片段,且片段是有序组合。
[0057] S204,合并组合路径中的多个互不交叠的片段,直至组合路径的长度等于1。
[0058] 具体地,选取多个候选片段生成组合路径后,从实体与关系词典中获取组合路径中多个互不交叠的片段对应的候选资源。
[0059] 其中,候选资源指的是在实体与关系词典中每个片段对应的实体或者关系的集合。例如,片段2046[0,3]的候选资源可以是{BaiduEntity:2046;MtimeEntity:2046}。其中,BaiduEntity表明2046是百度中的实体,MtimeEntity表明2046是时光网中的实体。片段服装设计师[5,9]的候选资源可以是{BaiduEntity:服装设计师;MtimeRelation:服装设计}。也就是说,片段服装设计师[5,9]有两个候选资源,一个是百度中的实体“服装设计师”,一个是时光网中的关系“服装设计”。
[0060] 在获取组合路径中多个互不交叠的片段的候选资源后,基于实体知识库对组合路径中前两个片段的候选资源进行三元组查询,并获取答案片段。在获取答案片段后,将该答案片段作为新的片段与组合路径中第三个片段的候选资源进行三元组查询,并获取答案片段。再将获取的答案片段与组合路径中第四个片段的候选资源进行三元组查询,重复上述操作,直到组合路径的长度等于1,即只有一个答案片段。
[0061] 需要说明的是,在合并片段的过程中,如果在实体知识库中没有获取答案片段,则表明该组合路径是无效的。
[0062] 下面结合具体示例,描述合并组合路径中的片段的过程。具体示例如下:
[0063] 对于组合路径CP3:[204[0,2],服装设计[5,8],代表作[13,15]],获取前两个片段对应的候选资源,假设204[0,2]的候选资源为{BaiduEntity:204},服装设计[5,8]的候选资源为{BaiduRelation:服装设计;MtimeRelation:服装设计}。获取前两个片段的候选资源后,将前两个片段204[0,2]和服装设计[5,8]的候选资源在实体知识库中进行三元组查询,没有得到答案片段。这时,组合路径CP3是无效的。
[0064] 对于组合路径CP4:[2046[0,3],服装设计[5,8],代表作[13,15]]。将该组合路径中的前两个片段2046[0,3]和服装设计[5,8]的候选资源在实体知识库中进行三元组查询,获取答案片段“张叔平”。也就是说,影片《2046》这个实体,它通过服装设计这个关系,在实体知识库中查找到对应的实体答案,就是“张叔平”。然后,再将答案片段“张叔平”与组合路径CP4中的第三个片段代表作[13,15],组合生成一个更短的组合路径,即[张叔平,代表作[13,15]]。再将答案片段“张叔平”与代表作[13,15]的候选资源在实体知识库中进行三元组查询,获得答案片段“一代宗师”。也就是说,实体知识库中的服装设计师“张叔平”,他的代表作,就是“一代宗师”。
[0065] S205,将组合路径的长度等于1时的片段作为搜索结果。
[0066] 具体地,合并组合路径中多个互不交叠的片段后,将组合路径的长度等于1时的答案片段作为搜索结果。
[0067] 例如,组合路径CP4:[2046[0,3],服装设计[5,8],代表作[13,15]]。经过合并之后组合路径的长度等于1时,组合路径中的片段为答案片段“一代宗师”,则将答案片段“一代宗师”作为查询问句“2046的服装设计师有什么代表作”的搜索结果。
[0068] S206,当搜索结果为多个时,计算每个搜索结果对应的组合路径的得分。
[0069] 由于查询问句可能有多个组合路径,因此组合路径中的片段经过合并之后,长度等于1的组合路径可能有多个。也就是说,查询问句可能有多个搜索结果。
[0070] 例如,如图3所示,查询问句q(图中301所示)切分为多个候选片段后,候选片段组合生成组合路径CP1、CP2、CP3等等(图中302所示),组合路径CP1、CP2、CP3中的片段合并之后,获取对应的搜索结果a1、a2、a3(图中303所示)。因此,查询问句q有多个搜索结果。
[0071] 具体地,当搜索结果为多个时,计算每个搜索结果对应的组合路径的得分。
[0072] 更具体地,提取组合路径的特征,将组合路径的特征输入至最大可能组合模型,输出组合路径的得分。其中,最大可能组合模型,用于根据组合路径的特征计算组合路径的得分。
[0073] 另外,组合路径的特征可包括组合特征、等同特征以及全局特征中的一个或者多个。下面以查询问句“姚明的身高是多少”,组合路径:[姚明[0,1],身高[3,4]]为例,详细说明组合路径的特征。
[0074] 组合特征是指组合路径中片段的候选资源可以抽取的特征。组合特征=[source:Baidu,source:Mtime,source:Douban,type1Entity,type1Relation,type2Entity,type2Relation,similarity1,similarity2,popularity1,popularity2,relatedness]。其中,source指的是实体的来源,如果实体来源于百度,则source:Baidu的值为1,其他来源的值为0。similarity1指实体type1Entity和关系type1Relation的相关程度,relatedness指的是实体或者关系同时出现的频率。
[0075] 例如,对于组合路径:[姚明[0,1],身高[3,4]]。如果实体“姚明”来源于百度,则source:Baidu=1,其他来源的值0,即source:Mtime=0,source:Douban=0。“姚明”是一个实体并且没有对应的关系,则type1relation=0。relatedness指的是实体“姚明”与实体“身高”同时出现的频率。
[0076] 等同特征是指合并组合路径中的片段时,加入在其它知识库中的等价实体或关系时抽取的特征。等同特征=[popularity1,popularity2,similarity],其中,popularity1和popularity2指的是等价实体或者关系在不同知识库中的流行程度,similarity指等价实体或者关系的相似程度。
[0077] 例如,姚明[0,1]在一个知识库指的是篮球运动员姚明,在其他知识库中也是一个人的人名。所以,popularity1和popularity2分别指的是实体“姚明”在各自知识库中的出现的频率即流行程度,similarity指的是两个知识库中的实体“姚明”的相似程度。
[0078] 全局特征=[cpLength,proportion,averageLength],其中,cpLength指的是组合路径的片段总数,proportion是组合路径中字符总数与查询问句字符总数之比,averageLength指组合路径中片段的平均长度。
[0079] 例如,组合路径:[姚明[0,1],身高[3,4]]。由于组合路径的片段总数是2,查询问句字符总数是8,所以cpLength=2,proportion=4/8=0.5,averageLength=4/2=2。因此,组合路径:[姚明[0,1],身高[3,4]]的全局特征=[2,0.5,2]。
[0080] 需要说明的是,可根据实际情况提取上述组合路径的特征中的一个特征输入至最大可能组合模型中,也可提取上述组合路径的特征中的两个特征输入至最大可能组合模型中,也可提取上述三个特征都输入至最大可能组合模型中。
[0081] 此外,最大可能组合模型具有预设参数w,预设参数w可通过隐变量结构感知机训练获得。训练过程如下:
[0082] 获取多个问题答案对样本;将一个问题答案对样本输入至具有初始参数w0的最大可能组合模型中,获取得分最高的组合路径 及其对应的答案;如果得分最高的组合路径对应的答案为正确答案,则保持参数不变,并进行一个问题答案对的训练;如果得分最高的组合路径对应的答案不是正确答案,则获取得到正确答案的得分最高的组合路径cp*,并根据公式一对初始参数w0进行更新。
[0083] 公式一: 其中f(cp*)是得到正确答案的得分最高的组合路径的组合特征, 是得分最高的组合路径的组合特征。
[0084] 重复上述训练步骤,直至训练完所有问题答案对样本。
[0085] S207,选取得分最高的组合路径对应的搜索结果,作为搜索答案。
[0086] 具体地,根据组合路径的特征计算出组合路径的得分后,选取得分最高的组合路径对应的搜索结果,作为搜索答案。
[0087] 其中,得分最高的组合路径cp*可用公式二表示。
[0088] 公式二: 其中,cp是查询问句的组合路径,f指组合路径cp的特征,w是预设参数,ValidCps(q)是查询问句q的所有有效组合路径的集合。当cp* *
=cp时,函数score(cp|f,w)取最大值,也就是说,cp为得分最高的组合路径。
[0089] 综上所述,本发明实施例的基于人工智能的信息搜索方法,将查询问句切分为多个候选片段,选取候选片段生成多个组合路径。当合并组合路径中多个互不交叠的片段后,查询问句有多个搜索结果时,根据组合路径的特征和最大可能组合模型得到组合路径的得分,得分最高的组合路径对应的答案为正确答案。该方法能够提高搜索结果的准确性,提高用户体验。
[0090] 下面结合图4对本发明实施例提出的基于人工智能的信息搜索装置进行描述。图4是根据本发明一个实施例的基于人工智能的信息搜索装置的结构示意图。
[0091] 如图4所示,该基于人工智能的信息搜索装置包括:接收模块410、切分模块420、生成模块430、合并模块440、获得模块450。
[0092] 接收模块410,用于接收输入的查询问句。
[0093] 切分模块420,用于基于预先建立的实体与关系词典,将查询问句切分为多个候选片段。
[0094] 生成模块430,用于从多个候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,组合路径的长度为多个互不交叠的片段数。
[0095] 合并模块440,用于合并组合路径中的多个互不交叠的片段,直至组合路径的长度等于1。
[0096] 获得模块450,用于将组合路径的长度等于1时的片段作为搜索结果。
[0097] 需要说明的是,前述对基于人工智能的信息搜索方法实施例的解释说明也适用于该实施例的基于人工智能的信息搜索装置,此处不再赘述
[0098] 本发明实施例提供的基于人工智能的信息搜索装置,通过将查询语句切分为多个候选片段,从候选片段中选取多个互不交叠的片段进行有序组合,生成组合路径,合并组合路径中的片段,直至组合路径的长度为1,将组合路径的长度为1时的片段作为搜索结果。该方法能够处理复杂的问句,并且不需要人工标注数据,人工成本低。
[0099] 下面结合图5对基于人工智能的信息搜索装置进行详细说明。图5是根据本发明一个具体实施例的基于人工智能的信息搜索装置的结构示意图。
[0100] 如图5所示,在图4的基础上,该基于人工智能的信息搜索装置还包括:计算模块460、训练模块470。
[0101] 计算模块460,用于当搜索结果为多个时,计算每个搜索结果对应的组合路径的得分。
[0102] 计算模块460,具体用于提取组合路径的特征;将特征输入至最大可能组合模型,并输出组合路径的得分,其中,最大可能组合模型具有预设参数。
[0103] 另外,获得模块450,还用于选取得分最高的组合路径对应的搜索结果,作为搜索答案。
[0104] 训练模块470,用于通过隐变量结构感知机训练预设参数。
[0105] 训练模块470,具体用于获取问题答案样本;将问题答案样本输入至具有初始参数的最大可能组合模型;获取得分最高的组合路径及其对应的答案的得分;如果得分最高的组合路径对应的答案为正确答案,则保持初始参数不变,并进行下一轮训练;如果得分最高的组合路径对应的答案不为正确答案,则获取得到正确答案的得分最高的组合路径,并对初始参数进行更新;重复训练步骤,直至训练完所有问题答案样本。
[0106] 需要说明的是,前述对基于人工智能的信息搜索方法实施例的解释说明也适用于该实施例的基于人工智能的信息搜索装置,此处不再赘述。
[0107] 本发明实施例的基于人工智能的信息搜索装置,将查询问句切分为多个候选片段,选取候选片段生成多个组合路径。当合并组合路径中多个互不交叠的片段后,查询问句有多个搜索结果时,根据组合路径的特征和最大可能组合模型得到组合路径的得分,得分最高的组合路径对应的答案为正确答案。该方法能够提高搜索结果的准确性,提高用户体验。
[0108] 在本说明书的描述中,参考术语:“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0109] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。