一种基于变量绑定和关系激活的自动问答方法转让专利

申请号 : CN201710755961.7

文献号 : CN107544960B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许家铭姚轶群石晶徐波

申请人 : 中国科学院自动化研究所

摘要 :

本发明属于自然语言处理领域,具体涉及一种基于变量绑定和关系激活的自动问答方法。旨在解决现有技术难以模拟人脑精确推理出结果的问题。本发明的方法包括对文本和问句进行编码,得到文本的语义信息和问句的查询语句,识别文本中的实体,并对实体进行映射和跟踪,利用第一动作网络理解语义信息,确定实体在逻辑规则中的位置,利用第二动作网络激活实体关系,将实体关系写入逻辑规则,得到意象图式,利用查询语句对意象图式进行检索,根据检索结果生成答案词。本发明将实体位置和实体关系写入逻辑规则之后形成意象图式,能够作为先验知识存在,无需依赖大量的数据,即可产生与人脑类似的变量和关系序列,产生正确答案。

权利要求 :

1.一种基于变量绑定和关系激活的自动问答方法,其特征在于,包括:通过词向量和编码模型对文本进行编码,得到所述文本的语义信息;

识别所述文本的语义信息中的实体,对所述实体进行映射和跟踪;

通过第一动作网络理解所述语义信息和问句,确定所述实体在逻辑规则中的位置,得到所述问句对应的查询语句;

通过第二动作网络激活实体关系,并将所述实体关系写入所述逻辑规则,得到意象图式;

利用所述查询语句对所述意象图式进行检索,得到检索结果,根据所述检索结果生成答案词,所述通过词向量和编码模型对文本进行编码,其方法为:

将所述文本使用可训练的映射矩阵进行词向量表示,其中所述词向量作为所述文本的词粒度的编码,计算所述词向量ei(t)的具体公式为:其中,|V|表示总词表大小,d表示词向量的维度,A表示映射矩阵,xi,t表示t时刻的文本, 表示实数构成的矩阵;

使用编码模型将所述词向量拼接为句子向量,所述句子向量表示所述文本的语义信息,计算所述句子向量st的具体公式为:st=concat(e1(t),e2(t),...en(t)),其中,concat表示字符串连接函数。

2.根据权利要求1所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述编码模型为循环神经网络模型。

3.根据权利要求2所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述对所述实体进行映射和跟踪,其方法为:使用命名空间为所述实体分配固定编号;

当所述文本中出现相同的实体时,所述命名空间为所述相同的实体映射相同的编号。

4.根据权利要求3所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述通过第一动作网络理解所述语义信息和问句之前,该方法还包括:使用全连接的感知机将所述句子向量进一步编码为隐层表示,其中,计算隐层语义ht的具体公式为:ht=σ(Whidst),

其中,Whid表示神经网络权重, 其中,dim(s)表示句子向量的维度,d表示词向量的维度, 表示实数构成的矩阵,σ表示sigmoid激活函数,st表示句子向量。

5.根据权利要求4所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述确定所述实体在逻辑规则中的位置,其方法为:使用全连接的感知机理解所述隐层语义,根据变量绑定的动作决策输出可行动作的分布,所述可行动作确定所述实体在逻辑规则中的位置,其中,计算所述变量绑定的动作决策的具体公式为:其中,softmax表示激活函数,Wbind表示变量绑定的动作网络参数, 其中,dim(a)表示可行动作的个数,d表示词向量的维度, 表示实数构成的矩阵,ht表示隐层语义,τ表示softmax激活函数中的温度常数。

6.根据权利要求5所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述通过第二动作网络激活实体关系,其方法为:使用全连接的感知机理解所述隐层语义,通过第二动作网络的关系激活的动作决策计算要激活的实体关系,其中,计算所述关系激活的动作决策 的具体公式为:其中,softmax表示激活函数,Wactiv表示关系激活的动作网络参数,ht表示隐层语义,τ表示softmax激活函数中的温度常数。

7.根据权利要求6所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述第一动作网络与所述第二动作网络均为神经网络模型,其中,所述第一动作网络与所述第二动作网络的权重参数不同。

8.根据权利要求7所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述意象图式由三元组进行表示,所述三元组包含第一、第二以及第三参数,所述实体作为第一或者第三参数,所述实体关系作为第二参数。

9.根据权利要求8所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述意象图式包括部分-整体图示、始源-路径-终点图示以及链接图示。

10.根据权利要求3-9任一项所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述利用所述查询语句对所述意象图式进行检索,得到检索结果,其方法为:所述查询语句包括第一实体和实体关系,将所述查询语句输入所述意象图式进行检索,所述意象图式根据所述第一实体和所述实体关系生成第二实体,得到检索结果。

11.根据权利要求10所述的基于变量绑定和关系激活的自动问答方法,其特征在于,所述根据所述检索结果生成答案词,其方法为:根据所述命名空间对所述检索结果进行反查询,得到所述检索结果对应的文本字符串,所述文本字符串作为答案词。

说明书 :

一种基于变量绑定和关系激活的自动问答方法

技术领域

[0001] 本发明属于自然语言处理领域,具体涉及一种基于变量绑定和关系激活的自动问答方法。

背景技术

[0002] 自动问答是自然语言处理中重要的组成部分,其表现形式通常为通过阅读文本,理解文本所包含的叙述段落,并针对段落内容给出的问句进行回答,自动问答需要能够精确理解文本中的概念和关系,并进行推理的能力。目前已有的自动问答方法是通过使用已有的命名实体识别、语义角色标注、句法分析工具得到句义表示,将句义表示代入逻辑规则,对段落中所有句子进行编码并直接存放,使用注意力机制进行多轮选择,生成答案词的连续表示,通过理解段落中的句子,并对段落进行记忆,选择有用的信息,对矩阵形式的外置记忆单元进行读写和寻址,从而完成对推理问题的问答。
[0003] 使用外置记忆单元和注意力机制的模型框架在自动问答时能够取得较好的效果,但是使用该模型框架对推理规则的理解所依赖的数据量过大,缺乏对概念范畴和对立关系(例如南、北)的先验知识,即使数据充分,也难以获得完全精确和类人的结果,当样本数量较少时,该模型框架在解决归纳演绎、位置推理等场景时存在很大的困难。以下述问题为例:
[0004] 1.The red square is below the blue square.
[0005] 2.The red square is to the left of the pink rectangle.
[0006] 问题1:Is the blue square below the pink rectangle?
[0007] 问题2:Is the pink rectangle above the blue square?
[0008] 使用现有技术的自动问答方法,对于问题1和问题2的回答均为no,现有的自动问答方法难以理解上、下、左、右之间的关系特性,只能从统计共现的角度建立文本和问题到答案词的映射,在数据量充足时,可以得到高于90%的正确率,但是仍然不能模拟人类精确推理的结果。另外,现有技术中采用的模型是基于端对端的训练,获得的结果不具有足够的可解释性。
[0009] 因此,如何提出一种解决上述问题的方案是本领域技术人员目前需要解决的问题。

发明内容

[0010] 为了解决现有技术中的上述问题,即为了解决现有技术对数据量依赖过大而且缺乏对概念范畴和对立关系的先验知识,导致难以模拟人脑精确推理结果的问题,本发明提供了一种基于变量绑定和关系激活的自动问答方法,包括:
[0011] 通过词向量和编码模型对文本进行编码,得到所述文本的语义信息;
[0012] 识别所述文本的语义信息中的实体,对所述实体进行映射和跟踪;
[0013] 通过第一动作网络理解所述语义信息和问句,确定所述实体在逻辑规则中的位置,得到所述问句对应的查询语句;
[0014] 通过第二动作网络激活实体关系,并将所述实体关系写入所述逻辑规则,得到意象图式;
[0015] 利用所述查询语句对所述意象图式进行检索,得到检索结果,根据所述检索结果生成答案词。
[0016] 在上述方法的优选技术方案中,所述“通过词向量和编码模型对文本进行编码”,其方法为:
[0017] 将所述文本使用可训练的映射矩阵进行词向量表示,其中所述词向量作为所述文本的词粒度的编码,计算所述词向量ei(t)的具体公式为:
[0018]
[0019] 其中,|V|表示总词表大小,d表示词向量的维度,A表示映射矩阵,xi,t表示t时刻的文本, 表示实数构成的矩阵;
[0020] 使用编码模型将所述词向量拼接为句子向量,所述句子向量表示所述文本的语义信息,计算所述句子向量st的具体公式为:
[0021] st=concat(e1(t),e2(t),...en(t)),
[0022] 其中,concat表示字符串连接函数。
[0023] 在上述方法的优选技术方案中,所述编码模型为循环神经网络模型。
[0024] 在上述方法的优选技术方案中,所述“对所述实体进行映射和跟踪”,其方法为:
[0025] 使用命名空间为所述实体分配固定编号;
[0026] 当所述文本中出现相同的实体时,所述命名空间为所述相同的实体映射相同的编号。
[0027] 在上述方法的优选技术方案中,所述“通过第一动作网络理解所述语义信息和问句”之前,该方法还包括:
[0028] 使用全连接的感知机将所述句子向量进一步编码为隐层表示,其中,计算隐层语义ht的具体公式为:
[0029] ht=σ(Whidst),
[0030] 其中,Whid表示神经网络权重, 其中,dim(s)表示句子向量的维度,d表示词向量的维度, 表示实数构成的矩阵,σ表示sigmoid激活函数,st表示句子向量。
[0031] 在上述方法的优选技术方案中,所述“确定所述实体在逻辑规则中的位置”,其方法为:
[0032] 使用全连接的感知机理解所述隐层语义,根据变量绑定的动作决策输出可行动作的分布,所述可行动作确定所述实体在逻辑规则中的位置,其中,计算所述变量绑定的动作决策 的具体公式为:
[0033]
[0034] 其中,softmax表示激活函数,Wbind表示变量绑定的动作网络参数,其中,dim(a)表示可行动作的个数,d表示词向量的维度, 表示实数构成的矩阵,ht表示隐层语义,τ表示softmax激活函数中的温度常数。
[0035] 在上述方法的优选技术方案中,所述“通过第二动作网络激活实体关系”,其方法为:
[0036] 使用全连接的感知机理解所述隐层语义,通过第二动作网络的关系激活的动作决策计算要激活的实体关系,其中,计算所述关系激活的动作决策 的具体公式为:
[0037]
[0038] 其中,softmax表示激活函数,Wactiv表示关系激活的动作网络参数,ht表示隐层语义,τ表示softmax激活函数中的温度常数。
[0039] 在上述方法的优选技术方案中,所述第一动作网络与所述第二动作网络均为神经网络模型,其中,所述第一动作网络与所述第二动作网络的权重参数不同。
[0040] 在上述方法的优选技术方案中,所述意象图式由三元组进行表示,所述三元组包含第一、第二以及第三参数,所述实体作为第一或者第三参数,所述实体关系作为第二参数。
[0041] 在上述方法的优选技术方案中,所述意象图式包括部分-整体图示、始源-路径-终点图示以及链接图示。
[0042] 在上述方法的优选技术方案中,所述“利用所述查询语句对所述意象图式进行检索,得到检索结果”,其方法为:
[0043] 所述查询语句包括第一实体和实体关系,将所述查询语句输入所述意象图式进行检索,所述意象图式根据所述第一实体和所述实体关系生成第二实体,得到检索结果。
[0044] 在上述方法的优选技术方案中,所述“根据所述检索结果生成答案词”,其方法为:
[0045] 根据所述命名空间对所述检索结果进行反查询,得到所述检索结果对应的文本字符串,所述文本字符串作为答案词。
[0046] 本发明提供了一种基于变量绑定和关系激活的自动问答方法,包括利用词向量和编码模型对文本进行编码,得到文本的语义信息;识别文本的语义信息中的实体,对实体进行映射和跟踪;利用第一动作网络理解语义信息和问句,确定实体在逻辑规则中的位置,得到问句对应的查询语句;利用第二动作网络激活实体关系,并将实体关系写入逻辑规则,得到意象图式;利用查询语句对意象图式进行检索,得到检索结果,根据检索结果生成答案词。
[0047] 本发明通过动作网络识别文本中的实体,并且激活实体间的关系,将实体位置和实体关系写入逻辑规则进而形成意象图式,从而能够把空间结构映射到概念结构中,对感性经验进行压缩性描述,根据问句生成的查询语句对意象图式进行检索,能够根据当前的逻辑规则中的实体和实体关系,自动推导出和意象图式中已存在的其他实体之间的关系,并且作为长期记忆的先验知识存在,无需进行训练,从而不需要依赖大量的数据,即可产生与人脑类似的变量和关系序列,产生正确的答案。

附图说明

[0048] 图1为本发明一种实施例的基于变量绑定和关系激活的自动问答方法的流程示意图;
[0049] 图2为本发明一种实施例的句子编码的流程示意图;
[0050] 图3为本发明一种实施例的基于变量绑定和关系激活的自动问答方法的框架示意图;
[0051] 图4为本发明一种实施例的检索生成、答案词生成以及反馈信号的示意图。

具体实施方式

[0052] 下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0053] 如图1所示,为本发明一种实施例的基于变量绑定和关系激活的自动问答方法的流程示意图,包括:
[0054] 步骤S1:通过词向量和编码模型对文本进行编码,得到文本的语义信息;
[0055] 如图2所示,为本发明一种实施例的句子编码的流程示意图,根据给定的文本材料中的一系列句子,如图2中给出的“The garden is west of the bedroom”,将句子中出现的所有单词进行词向量映射,生成文本材料的词向量表示,文本的词向量表示作为文本的词粒度的编码,进而将文本材料转变为系统能够识别的形式;编码模型能够将每个句子中的词粒度编码融合为句子的编码,使用向量拼接的方法,将词向量拼接为句子向量,将文本中所有的句子向量整合为文本材料的语义信息。
[0056] 步骤S2:识别文本的语义信息中的实体,对实体进行映射和跟踪;
[0057] 如图3所示,为本发明一种实施例的基于变量绑定和关系激活的自动问答方法的框架示意图,为了能够实现自动问答的功能,除了需要系统能够理解文本材料的语义信息之外,还需要系统能够识别文本中的实体,通过理解文本中的实体,机器才能够了解实体间的关系,进而根据问句中的一个实体和实体的关系求解另一个实体,或者根据两个实体求解两个实体间的关系。通过实体识别方法识别文本句子中的所有实体,并且利用命名空间为文本中出现过的实体进行编号,每一个实体都具有唯一的编号,不仅方便后期的查询检索,并且当相同的实体在后续的文本中再次出现时,命名空间能够为该实体分配相同的编号,从而保证系统能够准确地对实体进行映射和跟踪。
[0058] 步骤S3:通过第一动作网络理解语义信息和问句,确定实体在逻辑规则中的位置,得到问句对应的查询语句;
[0059] 得到文本材料的语义信息,只是将文本材料转化为系统能够识别的形式,还需要利用第一动作网络理解语义信息,才能够让系统理解本文材料的语义信息,进而做出后续的问答。在具体应用中,以逻辑规则为三元组为例,在第一动作网络理解语义信息之后,输出一个所有可行动作的分布,假设句子中存在两个实体X和Y,表示实体关系的三元组为(Ent1,R,Ent2),可行动作集合为{0,1},其中,0代表“Ent1=X,Ent2=Y”,而1代表“Ent1=Y,Ent2=X”,可行动作集合中0和1的含义是可以根据用户自己定义的,例如,假设两个实体X和Y分别为书和桌子,命名空间将书编号为1,将桌子编号为2,则可行动作集合中0代表的是三元组为(1,R,2),而可行动作集合中1代表的是三元组为(2,R,1),三元组中R代表实体间的关系。
[0060] 此外,第一动作网络可以理解问句,并对问句进行编码,生成问句对应的查询语句。
[0061] 步骤S4:通过第二动作网络激活实体关系,并将实体关系写入逻辑规则,得到意象图式;
[0062] 在实际应用中,实体关系都是对现实世界的抽象,实体关系可以包括从属关系、方位关系以及大小关系等等。第二动作网络能够根据动作决策计算出需要激活的实体关系。例如,用X指代书,Y指代桌子,Z指代地面,在已知(X,R,Y)and(Y,R,Z)的情况下,推导出(X,R,Z)but(Z,notR,X)的结果,第二动作网络可以根据关系激活的动作决策激活符合现实世界认知的实体关系,如上述实例中,在已知书在桌子上方,并且桌子在地面上方的情况下,推出:书在地面上方,但是地面不在桌子上方。上述实例中,“在上方”就是一种实体关系。
[0063] 在对所有的文本材料进行步骤S1-S4的操作后,能够形成完整的逻辑规则,并将得到的完整的逻辑规则作为意象图式。实际应用中,逻辑规则对应于认知心理学中的意象图式,因此可以作为长期记忆中的先验知识存在,无需训练,在阅读完整个文本材料后,形成的逻辑规则构成意象图式。
[0064] 步骤S5:利用查询语句对意象图式进行检索,得到检索结果,根据检索结果生成答案词。
[0065] 如图4所示,为本发明一种实施例的检索生成、答案词生成以及反馈信号的示意图,通过第一动作网络对问句进行编码后,得到查询语句,其中,查询语句中包括第一实体和实体关系,查询语句的检索目标是第二实体。第二动作网络决定查询语句中各项成分的值,具体公式如公式(1)和公式(2)所示:
[0066]
[0067]
[0068] 公式(1)表示计算查询语句中各项成分的概率分布,公式(2)表示计算查询语句ri的概率值。
[0069] 其中,softmax表示激活函数,Wretrieve表示连接到输出层的神经网络参数,σ表示sigmoid激活函数,Whid-qqi表示对问句进行语义编码的神经网络参数,τ表示softmax激活函数中的温度常数,ri表示在动作空间中所选取的动作,qi表示隐层向量。
[0070] 对于一个时间长度为T的完整问答流程,产生的关系激活序列集合为a1...T,变量绑定序列集合为b1...T,句子向量集合为s1...T;对于N个问句,产生的查询语句集合为retr1...N,隐层向量集合为q1...N,则根据动作网络的输出所产生的完整决策序列的概率如公式(3)所示:
[0071]
[0072] 其中,bt表示t时刻的变量绑定的决策,at表示t时刻的关系激活的决策,st表示t时刻的句子向量,ri表示第i个问题的查询语句,qi表示第i个问题的隐层向量。
[0073] 通过上述方法得到检索结果后,即得到第二实体后,与命名空间中对应的文本字符串进行比较,如果与检索结果相同,则获得正奖励信号,并且将其作为答案词,如果与检索结果不同,则获得零奖励,并降低该文本字符串作为答案词的概率。
[0074] 本发明通过动作网络识别文本中的实体,并且激活实体间的关系,将实体位置和实体关系写入逻辑规则进而形成意象图式,从而能够把空间结构映射到概念结构中,对感性经验进行压缩性描述,根据问句生成的查询语句对意象图式进行检索,能够根据当前的逻辑规则中的实体和实体关系,自动推导出和意象图式中已存在的其他实体之间的关系,并且作为长期记忆的先验知识存在,无需进行训练,从而不需要依赖大量的数据,即可产生与人脑类似的变量和关系序列,产生正确的答案。
[0075] 作为一种优选的实施例,“利用词向量和编码模型对文本进行编码”,其方法为:
[0076] 将文本使用可训练的映射矩阵进行词向量表示,其中词向量作为文本的词粒度的编码,计算词向量ei(t)的方法如公式(4)所示:
[0077]
[0078] 其中,|V|表示总词表大小,d表示词向量的维度,A表示映射矩阵,xi,t表示t时刻的文本, 表示实数构成的矩阵;
[0079] 使用编码模型将词向量拼接为句子向量,句子向量表示文本的语义信息,计算句子向量st的方法如公式(5)所示:
[0080] st=concat(e1(t),e2(t),...en(t))  (5)
[0081] 其中,concat表示字符串连接函数。
[0082] 作为一种优选的实施例,编码模型为循环神经网络模型。
[0083] 对于时刻t输入的包含n个单词的句子{x1(t),x2(t),...xn(t)},通过公式(4)将单词转变为词向量,词向量作为词粒度的编码,其中A的参数在训练开始前进行随机初始化。在得到词粒度的编码后,通过编码模型将每个句子的所有词粒度编码融合为句子的编码。公式(5)将n个d维词向量顺序拼接成一个n*d维的向量,以表示整个句子的语义。其中,编码模型可以是循环神经网络,循环神经网络是一种对序列数据建模的神经网络,具体表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再是无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。除了可以是循环神经网络模型以外,编码模型还可以是长短期记忆单元,还可以在编码模型中加入句子粒度或者词粒度的顺序和位置信息,提高编码的效率。
[0084] 作为一种优选的实施例,“对实体进行映射和跟踪”,其方法为:
[0085] 使用命名空间为实体分配固定编号;
[0086] 当文本中出现相同的实体时,命名空间为相同的实体映射相同的编号。
[0087] 命名空间能够用来组织和重用文本材料中的实体,为每个实体分配唯一的编号。在实际应用中,命名空间的结构可以是字典结构,也可以是由键值对为节点组成的数据结构,例如线性表等。其中,字典结构的命名空间是查询速度最快的。在为每个实体分配了编号后,后期同样可以通过命名空间来对实体进行查询。在命名空间得到实体后,可以根据实体对应的编号进行反查询。
[0088] 作为一种优选的实施例,“利用第一动作网络理解语义信息和问句”之前,该方法还包括:
[0089] 使用全连接的感知机将句子向量进一步编码为隐层表示,其中,计算隐层语义ht的方法如公式(6)所示:
[0090] ht=σ(Whidst)  (6)
[0091] 其中,Whid表示神经网络权重, 其中,dim(s)表示句子向量的维度,d表示词向量的维度, 表示实数构成的矩阵,σ表示sigmoid激活函数,st表示句子向量。
[0092] 在实际应用中,通过词向量拼接成的句子向量维度较大且较为稀疏,将得到的句子向量进行进一步的隐层表示,能够提炼出更加简洁和高效的句子的语义信息,也更好地表达文本材料所想表达的意思。
[0093] 作为一种优选的实施例,“确定实体在逻辑规则中的位置”,其方法为:
[0094] 使用全连接的感知机理解隐层语义,根据变量绑定的动作决策输出可行动作的分布,可行动作确定实体在逻辑规则中的位置,其中,计算变量绑定的动作决策 的方法如公式(7)所示:
[0095]
[0096] 其中,softmax表示激活函数,Wbind表示变量绑定的动作网络参数,其中,dim(a)表示可行动作的个数,d表示词向量的维度, 表示实数构
成的矩阵,ht表示隐层语义,τ表示softmax激活函数中的温度常数。
[0097] 在实际应用中,使用全连接的感知机理解隐层语义后,通过第一动作网络做出的决策可以输出可行动作的分布,确定每个实体在逻辑规则中的位置,具体地,以逻辑规则为三元组为例,三元组是最常见的用来表示实体之间关系的方法,多个实体间的关系则可以由多个三元组来表示,除了可以用三元组表示逻辑规则以外,还可以用图的顶点和边来表示逻辑规则,这里不做限定。在确定每个实体在逻辑规则中的位置后,将其赋值到三元组两端之一,具体将实体赋值到三元组两端的哪一端,可以通过公式(7)计算得到。
[0098] 具体地,公式(7)中τ表示softmax激活函数中的温度常数,用来控制可行动作分布的集中程度,该参数能够用于控制动作决策分布的锐度:在具体应用中,对参数的训练过程中,如果动作决策概率分布较为平滑,本发明的方法则会以相近的概率执行各个动作,也就是做各种尝试,通过奖励信号判断哪些动作能够更有效的体现实体的位置关系;如果训练过程中,动作决策分布不平滑,分布在某几个动作的概率较大,那么生成的动作序列就会集中在这几个概率较大的动作上,并在概率较大的动作上寻找最优的动作。
[0099] 作为一种优选的实施例,“利用第二动作网络激活实体关系”,其方法为:
[0100] 使用全连接的感知机理解隐层语义,通过第二动作网络的关系激活的动作决策计算要激活的实体关系,其中,计算关系激活的动作决策 的方法如公式(8)所示:
[0101]
[0102] 其中,softmax表示激活函数,Wactiv表示关系激活的动作网络参数,ht表示隐层语义,τ表示softmax激活函数中的温度常数。
[0103] 以逻辑规则为三元组为例,通过公式(8)计算得到实体关系后,将其写入三元组中,综合第一动作网络确定实体在三元组中的位置以及第二动作网络得到的实体关系,可以得到完整的三元组。由第一动作网络和第二动作网络的输出共同决定的三元组的概率计算如公式(9)所示:
[0104]
[0105] 在时间长度为T的完整问答流程中,通过阅读所有的文本材料,对文本材料中的每一句话通过上述的方法建立三元组,得到三元组列表。获取当前时刻的动作决策得到的三元组,将当前时刻得到的三元组插入已存在的三元组列表中并删除与之矛盾的部分。此外,根据当前时刻得到的三元组中的实体所满足的关系,可以自动推导出当前时刻得到的三元组中的实体与三元组列表中已存在的其他实体间的关系。具体地,以当前时刻生成的三元组为(X,A,Y)为例,其中,X、Y代表两个不同的实体,A代表满足始源-路径-终点图示的关系。将(X,A,Y)插入已存在的三元组列表,根据始源-路径-终点图示中的实体关系(X,A,Y)<=>(Y,B,X),将(Y,B,X)也存入三元组列表;将如果已存在的三元组列表中存在三元组(Y,A,Z),根据始源-路径-终点图示中的实体关系(X,A,Y)and(Y,A,Z)=>(X,A,Z),将三元组(X,A,Z)存入三元组列表,根据始源-路径-终点图示中的实体关系(X,A,Y)<=>(Y,B,X),将三元组(Z,B,X)也存入三元组列表。
[0106] 作为一种优选的实施例,第一动作网络与第二动作网络均为神经网络模型,其中,第一动作网络与第二动作网络的权重参数不同。
[0107] 作为一种优选的实施例,意象图式由三元组进行表示,三元组包含第一、第二以及第三参数,实体作为第一或者第三参数,实体关系作为第二参数。
[0108] 第一动作网络和第二动作网络均为神经网络模型,但是采用不同的权重参数,其中,第一动作网络决定实体在逻辑规则中的位置,第二动作网络决定实体之间的关系。三元组是指形如(x,y,z)的集合,在实际应用中,三元组主要是用来存储稀疏矩阵的一种压缩形式,为了解决大型的稀疏矩阵用常规的分配方法在计算机中存储造成大量内存的浪费。
[0109] 作为一种优选的实施例,意象图式包括部分-整体图示、始源-路径-终点图示以及链接图示。
[0110] 以下均以三元组为例对意象图式进行解释说明。
[0111] 部分-整体图示是三元组中存在一个既不对称也不传递的关系R,被激活时,只在已有的三元组列表中插入一项(X,R,Y);
[0112] 始源-路径-终点图示是存在多组对立的关系,每组中两个关系A,B满足:
[0113] (X,A,Y)<=>(Y,B,X);
[0114] (X,A,Y)and(Y,A,Z)=>(X,A,Z)
[0115] 不同组{A,B}和{C,D}之间满足:(X,A,Y)and(Y,C,Z)=>(X,AC,Z)and(Z,DB,X),并假设第二级关系AC与DB互不影响。
[0116] 链接图式假设存在两个不同的关系A,B和一个代表等价的关系E,满足:
[0117] (X,A,Y)and(Z,A,Y)=>(X,E,Y)and(Y,E,X);
[0118] (X,E,Y)and(Y,B,Z)=>(X,B,Z)。
[0119] 上述三种意象图式可以作为长期记忆中的先验知识存在,无需训练,在每个时间片段上,通过上述意象图式均可以推导产生新的三元组。
[0120] 作为一种优选的实施例,“利用查询语句对意象图式进行检索,得到检索结果”,其方法为:
[0121] 查询语句包括第一实体和实体关系,将查询语句输入意象图式进行检索,意象图式根据第一实体和实体关系生成第二实体,得到检索结果。
[0122] 作为一种优选的实施例,“根据检索结果生成答案词”,其方法为:
[0123] 根据命名空间对检索结果进行反查询,得到检索结果对应的文本字符串,文本字符串作为答案词。
[0124] 生成的查询语句中包括实体Ent1和关系R的值,将查询语句输入意象图式中得到检索结果,检索结果为实体Ent2,通过命名空间对Ent2进行反查询,得到实体Ent2的编号对应的文本字符串,将文本字符串与检索结果进行比较,如果相同,则获得正的奖励,否则获得零奖励,并且利用策略梯度方法更新网络参数,训练模型,其中,策略梯度方法是一种强化学习训练方法,网络参数包括所有词的词向量、所有编码模型以及动作网络的连接权值等。
[0125] 令h时刻获得的奖励信号为rh,则可以通过算法优化目标函数提高模型给出答案的正确率,具体如公式(10)所示:
[0126]
[0127] 其中,L(θ)表示当前神经网络参数θ在训练数据上获得的总代价函数,E表示对当前参数生成的所有动作序列取期望,γ表示衰减因子,取值为0-1之间的实数,rh表示h时刻获得的奖励信号值,H表示动作序列总长度。
[0128] 根据强化学习理论,L(θ)的梯度表示如公式(11)所示:
[0129]
[0130] 其中,Ea~π表示期望,πθ表示根据网络参数θ计算得到选择执行ah的动作概率,ah表示h时刻所执行的动作。
[0131] 通过上述公式可以进行权值更新,使得网络行为收敛到能够产生与人脑类似的变量和关系序列,即意象图式,产生正确的答案。
[0132] 为了准确评估本发明方法在问答任务中的推理性能,本发明选择了Facebook发布的bAbI-20推理问答数据集中,与人类基本意象图式最相关的8个子任务,编号分别为qa1、qa6、qa9、qa12、qa16、qa17、qa18、qa19进行训练测试,以测试集的错误率作为评价标准。其中qa1的场景为:多个人物分别移动位置,对某个人物的最终位置进行提问;qa6与qa1类似,但加入了拿起、放下物品的动作,并将问句改为回答是或否;qa9在qa1、qa6的基础上加入了否定性叙述;qa12与qa1的场景类似,但叙事文本中的一句话可能涉及多个人物;qa16是一个关于物种颜色的归纳推理问题;qa17是关于物体方位(上、下、左、右)的空间推理问题;qa18是物体大小关系的推理问题。qa19是涉及物体方位(东、西、南、北)的路径规划问题。
[0133] 所选取的8个子任务中,qa17、qa18、qa19均与始源-路径-终点图式有关,而qa1、qa6、qa9、qa12与部分-整体图式相关。由于始源-路径-终点图式中的对立关系和传递性往往对相对简单的推理场景没有影响,因此,部分-整体图式可以看作是始源-路径-终点图式的简化情况。而qa16作为归纳推理问题,与概念的形成、概念边界划分密切相关,需要使用链接图式解决。
[0134] 每个任务都有两个数据集,分别包含1k和10k条样本。现有方法大多需要10k数据才能在qa16、qa17、qa18、qa19四个较难的问题上取得相对高的准确率,如果只有1k条样本,则无法解决上述问题。
[0135] 本发明的实验采用以下对比方法:
[0136] 对比方法一:门控的图变换网络模型GGTNN,该模型将图的节点和边的修改表示成为连续可导的操作,并用通过端对端的强监督训练,学习将叙述段落中提供的信息表达为连接图的形式;
[0137] 对比方法二:记忆网络模型MemN2N,该模型对每一句话融入时间信息并编码,通过注意力机制进行多轮寻址和融合,形成答案的表示;
[0138] 对比方法三:实体追踪网络模型EntNet,该模型是一种改进的循环神经网络,拥有一个较大的隐层存储,并对不同的实体采用不同点门控参数,以跟踪围绕每个实体产生的环境变化;
[0139] 对比方法四:动态记忆网络模型DMN+,该模型用循环神经网络的隐层状态代表每个句子的编码,在融合过程中也使用循环神经网络,并将注意力机制得到的权重信号用作循环神经网络的门控;
[0140] 对比方法五:可微分神经计算机DNC,该模型使用采用参数化的外置存储单元,可以实现数据的存储、擦写和连接,并通过数据训练对各个指针的操作,完整的网络是端对端可微分的。
[0141] 如表1所示,为本发明实验中采用的参数设置表,
[0142] 表1参数设置表
[0143]n d τ γ lr bs s
15 20 1~20 1 1e-4 32 200
[0144] 表1中,n为所有训练数据中的最大句子长度,d为词向量、句子和问题的隐层表示的维度,τ是softmax激活函数的温度常数,由于该参数较为重要,各子任务采用从{1,10,20}集合中进行搜索,取最佳结果的方式。γ为奖励信号衰减因子,lr是采用RMSProp方法更新参数的学习率,bs是进行批量梯度计算时每批样本的数量,s为每一个(叙述,问句)对进行的采样数目,即每条数据仿真s轮,产生s个样本。
[0145] 如表2所示,为本发明与对比方法的对比结果表,
[0146] 表2实验结果对比表
[0147]
[0148]
[0149] 在表1参数设置的基础上,本发明的一个实施例在所有任务上80轮内收敛,收敛结果以及在1k和10k的数据集上与对比方法的最佳结果的对比,如表2所示。
[0150] 实验表明,本发明方法能够在大多数任务上用较少数据量达到显著优于其他方法并接近100%的结果,而其他模型往往只有在大数据量的设定下才能取得较好的效果。对比方法一在小数据上也有较好表现,但该方法在构造过程中使用强监督方式,每一步对图的操作通过模仿而获得;本发明方法对查询语句的形式做了一定程度的假设后,只使用答案对/错进行监督即可得到相近的结果。
[0151] 此外,为验证本发明对少量数据的高效使用,还以qa6为例,比较不同训练样本数量(均少于1000)对测试结果的影响。结果如表3所示。随着样本数量的增加,本发明的方法迅速获得对语义的更优的理解,建立起从句子语义到意象图式的映射。当样本数超过400时,已经能够获得非常理想的结果。这充分说明了使用强化学习的优势:基于已知样本进行多次试错,可以在很大程度上弥补数据量的欠缺。
[0152] 表3不同训练样本数下的测试错误率
[0153]训练样本数 测试错误率(%)
50 15.3
100 15.0
200 9.0
400 0.1
1000 0
[0154] 本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0155] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。