专利名称:一种基于邻居交互网络的知识图谱问答方法及系统
专利类型:实用新型专利
专利申请号:CN202111197178.6
专利申请(专利权)人:山东师范大学
权利人地址:山东省济南市历下区文化东路88号
专利发明(设计)人:徐连诚,郭启萌,刘培玉,朱振方
专利摘要:本公开提出了一种基于邻居交互网络的知识图谱问答方法及系统,该方法包括如下步骤:获取知识图谱,根据知识图谱和邻居交互网络将知识图谱转换成知识图谱的实体和关系的嵌入表示组成语义空间;根据问题和预训练语言模型对问题进行表示,得到问题的向量表示;将问题的向量表示放入语义空间中对答案实体进行预测,得到问题的答案。
主权利要求:
1.一种基于邻居交互网络的知识图谱问答方法,其特征是,包括如下步骤:
获取知识图谱,根据知识图谱的语义空间和邻居交互网络,得到新的实体嵌入,所述邻居交互网络为改进的图注意力网络,具体为:更改图注意力网络的最初的输入表示,将实体的表示和实体邻居的表示拼接后作为图注意力网络的输入,并在两层图注意力网络后得到的表示中加入最初的实体表示;根据知识图谱和邻居交互网络将知识图谱转换成知识图谱的实体和关系的嵌入表示组成语义空间;
根据问题和RoBerta预训练语言模型对问题进行表示,得到问题的向量表示;
将问题的向量表示放入语义空间中对答案实体进行预测,包括如下步骤:
根据实体和问题的语义关系,将预测候选答案放入候选答案集中,根据候选实体集合将候选实体到主体实体的最短关系路径存储作为候选关系集Rc;
采用神经网络对问题中的多个三元组中的关系进行预测,所述三元组包括主体实体、问题和答案实体,然后获得新的候选关系集合Rc’;
对两个候选集Rc和Rc’取交集并对候选答案进行排序,设置阈值,将大于阈值的预测分数对应的关系放在候选关系集合中;
最终得到问题的答案。
2.如权利要求1所述的一种基于邻居交互网络的知识图谱问答方法,其特征是,所述根据问题和预训练语言模型对问题进行表示,得到问题的向量表示,具体包括:将问题输入至RoBerta预训练语言模型进行编码;所述编码为通过预训练语言模型获取问题句子的上下文信息,对问题进行表示;
取预训练语言模型中最后一个隐藏层的表示,然后通过以Relu作为激活函数的全连接层,将全链接层的输出作为问题的最终向量表示。
3.如权利要求1所述的一种基于邻居交互网络的知识图谱问答方法,其特征是,所述对答案实体进行预测的方法为通过评分函数对三元组进行打分,所述三元组包括主体实体,问题和答案实体,对三元组中的答案实体进行一次打分,把所有得分大于0的三元组中的答案实体组成一个候选集合。
4.如权利要求1所述的一种基于邻居交互网络的知识图谱问答方法,其特征是,所述采用神经网络对问题中的多个三元组中的关系进行预测,获得新的候选关系集合Rc’,包括:将问题的向量表示放入预训练语言模型中,所述问题的向量表示经过四层以Relu作为激活函数的全连接层得到问题的表征,并将问题的表征放入多层感知器中得到预测的结果,预测的结果包含每个关系与正确答案相关的可能性,选择得分高的前K个关系,形成候选关系集Rc’。
5.一种基于邻居交互网络的知识图谱问答系统,其特征在于,包括:
知识图谱语义模块,其被配置为:获取知识图谱,根据知识图谱的语义空间和邻居交互网络,得到新的实体嵌入,所述邻居交互网络为改进的图注意力网络,具体为:更改图注意力网络的最初的输入表示,将实体的表示和实体邻居的表示拼接后作为图注意力网络的输入,并在两层图注意力网络后得到的表示中加入最初的实体表示;根据知识图谱和邻居交互网络将知识图谱转换成知识图谱的实体和关系的嵌入表示组成语义空间;
问题答案获取模块,其被配置为:根据问题和RoBerta预训练语言模型对问题进行表示,得到问题的向量表示;将问题的向量表示放入语义空间中对答案实体进行预测,包括如下步骤:根据实体和问题的语义关系,将预测候选答案放入候选答案集中,根据候选实体集合将候选实体到主体实体的最短关系路径存储作为候选关系集Rc;
采用神经网络对问题中的多个三元组中的关系进行预测,所述三元组包括主体实体、问题和答案实体,然后获得新的候选关系集合Rc’;
对两个候选集Rc和Rc’取交集并对候选答案进行排序,设置阈值,将大于阈值的预测分数对应的关系放在候选关系集合中;
最终得到问题的答案。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1‑4任一项所述的一种基于邻居交互网络的知识图谱问答方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1‑4任一项所述的一种基于邻居交互网络的知识图谱问答方法的步骤。 说明书 : 一种基于邻居交互网络的知识图谱问答方法及系统技术领域[0001] 本公开涉及知识图谱问答技术领域,特别是涉及一种基于邻居交互网络的知识图谱问答方法及系统。背景技术[0002] 本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。[0003] 自然语言处理中一个很重要的研究任务就是问答系统,自然语言问答一直是一个热点研究问题,从只能回答单领域特定知识内容问题直到现在可以就多个领域的问题进行回答,进行多轮交流,从基于语义分析和信息抽取的方法直到现在深度学习方法的广泛使用。随着计算机应用的越来越广泛,在生活中,我们可以经常看到自然语言问答的应用,比如智能客服就是其中一个典型例子,还有在线教育辅导等。其实更多地场景都能看到自然语言问答的应用,比如智能助理,智能家居等。[0004] 虽然知识图谱作为知识源时能够准确的回答问题,但是现实世界中的知识图谱并不总是完整的,实体之间的关系可能并不能够在知识图谱中表现出来,由于知识图谱缺失链接造成的知识图谱稀疏性,多跳问答成为了一个很有挑战性的任务。[0005] 知识图谱嵌入成为应对缺失链接问题的一种方法,根据实体语义信息预测两个实体间的关系,将知识图谱嵌入应用到不完整知识图谱的多跳问答中,利用知识图谱嵌入模型中的评分函数计算得到候选答案,这种方法突破了对可选择答案的范围限制。然而,现有的知识嵌入方法不能捕捉知识图谱中丰富的隐藏的语义信息进行封装,影响了回答问题的准确率。[0006] 同时,基于图结构的嵌入方法能够获取邻居信息,虽然图结构有利于知识图谱中隐藏信息的获取,增强了知识图谱中实体节点的语义表示,但是实体对邻居的关注度是不同的,以相同的权重赋予邻居实体会加入很多不必要的冗余信息。在传统的图注意力网络中,同一个实体在不同的三元组中应当扮演不同的角色,这些实体获得的新的表示中,实体本身的信息没有得到很好的保留。发明内容[0007] 本说明书实施方式的目的是提供一种基于邻居交互网络的知识图谱问答方法及系统,利用改进的图注意力网络有选择的将邻居信息封装到实体表示中,获得新的实体向量表示,再将问题嵌入知识图谱语义空间中学习问题的表示,通过将问题表示放入知识图谱嵌入模型中的评分函数得到候选答案集合。为了进一步提高回答问题的准确率,提出了关系感知模型,利用问题对知识图谱中的关系打分,提取问题中蕴含的关系信息。[0008] 本发明的第一个方面提供一种基于邻居交互网络的知识图谱问答方法,通过以下技术方案实现:[0009] 一种基于邻居交互网络的知识图谱问答方法,包括:[0010] 获取知识图谱,根据知识图谱和邻居交互网络将知识图谱转换成知识图谱的实体和关系的嵌入表示组成语义空间;[0011] 根据问题和预训练语言模型对问题进行表示,得到问题的向量表示;[0012] 将问题的向量表示放入知识图谱的实体和关系嵌入的语义空间中对答案实体进行预测,得到问题的答案。[0013] 进一步的技术方案,所述根据问题和预训练语言模型对问题进行表示,得到问题的向量表示,具体包括:[0014] 将问题输入至预训练语言模型进行编码;所述编码为通过预训练语言模型获取问题句子的上下文信息,对问题进行表示;[0015] 取预训练语言模型中最后一个隐藏层的表示,然后通过以Relu作为激活函数的全连接层,将全链接层的输出作为问题的最终向量表示。[0016] 进一步的技术方案,所述在问题和预训练语言模型对问题进行表示之前根据根据知识图谱的语义空间和邻居交互网络,得到新的实体嵌入,所述邻居交互网络为改进的图注意力网络。[0017] 进一步的技术方案,所述改进的图注意力网络具体为:更改图注意力网络的最初的输入表示,将实体的表示和实体邻居的表示拼接后作为图注意力网络的输入,并在两层图注意力网络后得到的表示中加入最初的实体表示。[0018] 进一步的技术方案,所述对答案实体进行预测的方法为通过评分函数对三元组进行打分,所述三元组包括主体实体,问题和答案实体,对三元组中的答案实体进行一次打分,把所有得分大于0的三元组中的答案实体组成一个候选集合。[0019] 进一步的技术方案,所述将问题的向量表示放入知识图谱的实体和关系嵌入的语义空间中对答案实体进行预测,包括如下步骤:[0020] 根据实体和问题的语义关系,将预测候选答案放入候选答案集中,根据候选实体集合将候选实体到主体实体的最短关系路径存储作为候选关系集Rc;[0021] 采用神经网络对问题中的多个三元组中的关系进行预测,获得新的候选关系集合Rc’;[0022] 对两个候选集Rc和Rc’取交集并对候选答案进行排序,设置阈值,将大于阈值的预测分数对应的关系放在候选关系集合中。[0023] 进一步的技术方案,进一步的技术方案,所述采用神经网络对问题中的多个三元组中的关系进行预测,获得新的候选关系集合Rc’,包括:[0024] 将问题的向量表示放入预训练语言模型中,所述问题的向量表示经过四层以Relu作为激活函数的全连接层得到问题的表征,并将问题的表征放入多层感知器中得到预测的结果,预测的结果包含每个关系与正确答案相关的可能性,选择得分高的前K个关系,形成候选关系集Rc’。[0025] 本发明的第二个方面提供一种基于邻居交互网络的知识图谱问答系统,通过以下技术方案实现:[0026] 一种基于邻居交互网络的知识图谱问答系统,包括:[0027] 知识图谱语义模块,其被配置为:获取知识图谱,根据知识图谱和邻居交互网络将知识图谱转换成知识图谱的实体和关系的嵌入表示组成语义空间;[0028] 问题答案获取模块,其被配置为:根据问题和预训练语言模型对问题进行表示,得到问题的向量表示;将问题的向量表示放入语义空间中对答案实体进行预测,得到问题的答案。[0029] 本发明的第三个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述任意一种基于邻居交互网络的知识图谱问答方法的步骤。[0030] 本发明的第四个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述任意一种基于邻居交互网络的知识图谱问答方法的步骤。[0031] 与现有技术相比,本公开的有益效果是:[0032] (1)本申请利用改进的图注意力网络有选择的将邻居信息封装到实体表示中,获得新的实体向量表示。再将问题嵌入知识图谱语义空间中学习问题的表示,通过知识图谱嵌入模型中的评分函数得到候选答案集合。为了进一步提高回答问题的准确率,提出了关系感知模型,利用问题对知识图谱中的关系打分,提取问题中蕴含的关系信息,进一步提高回答问题的准确率。[0033] (2)本申请提出了多跳KGQA的一种新的方法,能够在不完整的知识图谱中进行多跳推理,将图注意力网络应用到基于知识图谱的多跳问答中,使实体表示中封装邻居信息,捕捉知识图谱中蕴含的隐藏信息,突破了可选择答案的范围的束缚,不再局限于主题实体相邻的几个节点,在更广阔的范围上选择答案,关系识别模型进一步的提高本方法的准确性。附图说明[0034] 构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。[0035] 图1是本发明公开的基于邻居交互网络的知识图谱问答方法的流程图;[0036] 图2是本发明实施例一公开的邻居交互网络的网络模型图;[0037] 图3是本发明实施例一公开的基于邻居交互网络的知识图谱问答方法的网络模型。具体实施方式[0038] 应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。[0039] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。[0040] 术语解释:[0041] 知识图谱问答:知识图谱问答(KBQA)就是在问答系统中采用知识图谱作为答案的来源,简单的问题在知识图谱中通过一条关系就能够找到答案,而复杂的自然语言问题需要经过多条关系路径才能找到答案。[0042] 多跳问答:知识图谱以结构化的形式将原本文本的内容知识呈现出来,知识图谱中包含多条三元组信息,每个三元组都包括两个实体以及两个实体之间的关系,知识图谱的相关技术包括事实抽取、实体识别、关系识别、知识融合、知识推理等环节,常用的知识图谱比如Freebase,DBPedia,Yago等。简单的问题在知识图谱中通过一条关系就能够找到答案,而复杂的自然语言问题需要经过多条关系路径才能找到答案。[0043] 实施例一[0044] 该实施例公开了一种基于邻居交互网络的知识图谱问答方法,正如背景技术所介绍的,由于现实世界知识图谱通常是不完整的,两个实体之间可能不存在链接,这为知识图谱上的多跳问答带来了挑战,知识图谱嵌入方法根据实体之间的语义关系判断两实体间是否存在关系以应对缺失链接的问题。知识图谱中存在很多隐藏信息是现有的嵌入方法不能获取到的。[0045] 本申请能够在不完整的知识图谱中进行多跳推理,将图注意力网络应用到基于知识图谱的多跳问答中,使实体表示中封装邻居信息,捕捉知识图谱中蕴含的隐藏信息,突破了可选择答案的范围的束缚,不再局限于主题实体相邻的几个节点,在更广阔的范围上选择答案,关系识别模型进一步预测提高准确性。[0046] 如图1所示,本申请提供了一种基于邻居交互网络的知识图谱问答方法,该方法包括以下步骤:[0047] 步骤1:获取知识图谱,将知识图谱转换成知识图谱的实体和关系的嵌入表示;所述知识图谱转换成知识图谱的实体和关系的嵌入表示组成语义空间(hs,hr,ho);[0048] 所述将知识图谱转换成知识图谱的实体和关系嵌入的嵌入表示语义空间(hs,hr,ho),具体包括:[0049] 步骤1‑1:将知识图谱中每个实体和关系嵌入复数空间,得到每个三元组(s,r,o)中实体和关系的向量表示;[0050] 步骤1‑2:将每个三元组(s,r,o)中每个实体和关系的向量表示输入至ComplEx知o o识图谱嵌入模型中,得到初始知识图谱向量表示G ,其中,G 是整个知识图谱中所有的实体的表示的集合;[0051] 步骤1‑3:通过评分函数判断初始知识图谱向量三元组是否成立,若三元组(s,r,o)评分函数大于0,为真实三元组,否则,即为假的三元组。[0052] 其中,所述ComplEx知识图谱嵌入模型包括评分函数,评分函数的计算方式如下所示:[0053][0054] 其中,s表示三元组中的源实体,r表示三元组中的关系,o表示三元组中的目标实体,hr表示三元组中关系的表示,hs表示三元组中的源实体的表示。 表示三元组中另一实体(目标实体)表示向量的共轭向量。[0055] 其中,语义空间是文本的向量所形成的一个维度空间,不同的嵌入方法形成的语义空间不同,也就是上述步骤中步骤1‑1至步骤1‑3中hs,hr,ho这些向量形成的空间。[0056] 步骤2:根据知识图谱的语义空间和邻居交互网络,得到新的实体嵌入;具体包括如下步骤:[0057] 步骤2‑1:将所有实体向量s和关系的向量r输入至邻居交互网络中;[0058] 步骤2‑2:所述邻居交互网络为改进的图注意力网络,改进的方式为:改进了图注意网络中最初的嵌入部分,原本的网络中的最初输入的嵌入是经过线性变换的实体i的邻居实体j的表示(即hj),改进后的网络的最初输入是实体i的表示和它的邻居实体j的表示拼接后的结果bij,并在两层图注意力网络后得到的表示中加入最初的实体表示,所述邻居交互网络根据重要总得分gij为实体对(i,j)赋予不同的重要性;所述重要性得分的计算公式如下:[0059] gij=LeakyReLU(W2bij)(2)[0060] 其中,i表示实体,j表示实体i的邻居实体,bij=W1[hi;hj]表示对实体i和邻居实体j的特征向量串联进行线性变换;W2表示权重矩阵。[0061] 进一步的,根据重要性得分进一步计算每个邻居实体的注意力分数,所述不同实体对注意力得分的计算公式如下:[0062][0063] 其中,Ni是所有与实体i的相邻实体的集合,邻居节点的信息就可以根据注意力分数aij不同程度的流入实体i的表示。[0064] 采用多头注意力机制用于节点的更新,所有实体对利用相应的注意力得分进行转换后的和,再经过非线性变换后得到新的实体i的向量表示hi’,计算公式如下:[0065][0066] 本申请在最后一层注意力网络层中,通过计算Z个多头注意力的平均值,而不是将多头注意力进行串联,同样经过一层非线性变换得到最终的实体i的向量表示。[0067] 如下式所示:[0068][0069] 在具体实施例中,Z=2。[0070] 为了避免在经过邻居交互网络计算之后实体表示丢失本身信息,利用随机初始化o矩阵Wg控制在最终实体表示中保留多少原始表示信息G,得到最终的KG实体表示G'。[0071] G′=WgGo+Gt(6)[0072] 其中,Gt是经过图注意力网络后的得到的实体嵌入,Wg表示随机初始化权重矩阵,oG表示初始知识图谱中所有的实体表示的集合。[0073] 步骤3:根据问题和RoBerta预训练语言模型对问题进行表示,得到问题的向量表示hq;[0074] 具体包括:[0075] 步骤3‑1:将自然语言问题输入至RoBerta预训练语言模型进行编码;所述编码为通过预训练语言模型获取问题句子的上下文信息,对问题进行表示;[0076] 步骤3‑2:取RoBerta中最后一个隐藏层的表示,然后通过以Relu作为激活函数的全连接层,将全链接层的输出作为问题的最终向量表示hq;[0077] 上述方案的目的为:将自然语言问题置于知识图谱的语义空间中来学习这个问题的新的表示,以便后面的部分中问题与知识图谱中的实体和关系进行相关语义的计算。[0078] 步骤4:将自然语言问题q的向量表示hq放入知识图谱语义空间中对答案实体进行预测,得到问题的答案。[0079] 所述放入知识图谱语义空间中对答案实体进行预测的方法为通过评分函数对三元组进行打分,所述三元组包括主体实体,问题和答案实体,对三元组中的答案实体进行一次打分,把所有得分大于0的三元组中的答案实体组成一个候选集合。[0080] 具体包括:[0081] 步骤4‑1:采用评分函数学习新的问题表示并获得候选答案集合;[0082] 评分函数φ选择出可能的答案实体c,放在候选答案集δ;[0083][0084][0085] 其中,hs,hq是源实体s和自然语言问题q的向量表示, 是候选实体c的共轭向量。[0086] 所述模型根据实体和问题的语义关系,预测候选答案c。若(s,q,c)三元组的评分函数φ大于0,那么将实体c就放在候选答案集δ中。候选实体集合δ中候选实体c到主体实体s的最短关系路径存储到候选关系集Rc。[0087] 所述ComplEx嵌入模型采用最小化分数的sigmoid和目标标签之间的二元交叉熵损失来训练,其中正确答案的目标标签是1,否则为0。[0088] 步骤4‑2:采用神经网络对问题中的多个三元组中的关系进行预测,获得新的候选关系集合;[0089] 步骤4‑3:对两个候选集合取交集并对候选答案进行排序,设置阈值,将大于阈值的预测分数对应的关系放在候选关系集合中。[0090] 具体包括:将问题放入RoBERTa中,所述问题经过四层以Relu作为激活函数的全连接层得到问题的表征Sq,并将问题的表征放入多层感知器中得到预测的结果,预测的结果P包含每个关系与正确答案相关的可能性,选择得分高的前K个关系,形成候选关系集Rc’。[0091] 所述每个关系的预测的计算公式为:[0092] sq=RoBERTa(q)(9)[0093] P=Sigmoid(MLP(sq))(10)[0094] 具体的,所述多层感知器中包含一个隐藏层,隐藏层采用sigmoid作为激活函数。[0095] 步骤4‑4:将步骤4‑1和步骤4‑3得到的候选关系集合取交集,关系的最终候选是两个候选关系集Rc和Rc’的交集。计算公式如下:[0096] RSc=|Rc∩Rc′|(11)[0097] 将线性转换后的关系得分和ComplEx得分最大的实体作为实体的最终预测结果输出;线性转换如下所示:[0098] Score=argmax(Φ(hs,hr,hc′))+λ*RSc(12)[0099] 其中λ是一个超参数。[0100] 作为具体的实施例,将Score分数最大的实体作为本发明的最终预测结果输出;对于比较小的知识图谱比如MetaQA,推理比较简单,可以省略模型中关系识别,可以直接选择ComplEx评分最高的三元组中的尾实体c作为正确答案输出,计算公式如下:[0101] Score=argmaxΦ(hs,hr,hc′))(13)[0102] 实施例二[0103] 本说明书实施方式提供一种基于邻居交互网络的知识图谱问答系统,通过以下技术方案实现:[0104] 知识图谱语义模块,其被配置为:获取知识图谱,根据知识图谱和邻居交互网络将知识图谱转换成知识图谱的实体和关系的嵌入表示组成语义空间;[0105] 问题答案获取模块,其被配置为:根据问题和预训练语言模型对问题进行表示,得到问题的向量表示;将问题的向量表示放入语义空间中对答案实体进行预测,得到问题的答案。[0106] 实施例三[0107] 本说明书实施方式提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现实施例一中的一种基于邻居交互网络的知识图谱问答方法的步骤。[0108] 实施例四[0109] 本说明书实施方式提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现实施例一中的一种基于邻居交互网络的知识图谱问答方法的步骤。[0110] 可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。[0111] 以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
专利地区:山东
专利申请日期:2021-10-14
专利公开日期:2024-07-26
专利公告号:CN114077659B