«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (8): 98-104, 112  DOI: 10.19678/j.issn.1000-3428.0062103
0

引用本文  

吴天波, 周欣, 程军军, 等. 基于位置和注意力联合表示的知识图谱问答[J]. 计算机工程, 2022, 48(8), 98-104, 112. DOI: 10.19678/j.issn.1000-3428.0062103.
WU Tianbo, ZHOU Xin, CHENG Junjun, et al. Knowledge Graph Question-Answering Based on Joint Location and Attention Representation[J]. Computer Engineering, 2022, 48(8), 98-104, 112. DOI: 10.19678/j.issn.1000-3428.0062103.

基金项目

国家自然科学基金(U1836118);四川省科技计划项目(2018HH0143);成都市重大科技应用示范项目(2019-YF09-00120-SN)

通信作者

何小海(通信作者), 教授

作者简介

吴天波(1996-), 男, 硕士研究生, 主研方向为自然语言处理;
周欣, 博士研究生;
程军军, 副研究员;
朱晗, 硕士研究生

文章历史

收稿日期:2021-07-16
修回日期:2021-09-15
基于位置和注意力联合表示的知识图谱问答
吴天波1 , 周欣1,2 , 程军军2 , 朱晗1 , 何小海1     
1. 四川大学 电子信息学院, 成都 610065;
2. 中国信息安全测评中心, 北京 100085
摘要:知识图谱是人工智能的重要组成部分,其以结构化的方式描述客观世界中的概念、实体及关系,提供了一种更优的组织、管理和理解互联网海量信息的能力。随着深度学习技术的发展,基于表示学习的知识图谱问答方法陆续出现。利用表示学习的方法实现知识图谱问答的核心目标是将问题嵌入到与三元组相同维度的表示向量空间中,通过合适的答案预测方法来匹配问题与答案。参考复数域编码的思路,构建一种基于位置和注意力联合表示的三元组表示模型Pos-Att-complex。在三元组表示部分,将词本身的特征和位置特征联合编码,并通过解码器网络进一步挖掘深层次特征,从而对三元组进行打分。在知识图谱问答部分,将问题通过RoBERTa嵌入到与三元组向量相同维度的向量空间中,并与通过关系筛选的关系集合进行向量融合。在此基础上,通过联合表示解码器为候选答案打分,以筛选出问题的答案。实验结果表明,该模型在三元组分类和多跳问答基准数据集上均能取得良好的测试结果,准确率优于GraftNet、VRN等模型。
关键词表示学习    知识图谱问答    复数域编码    联合表示    向量融合    
Knowledge Graph Question-Answering Based on Joint Location and Attention Representation
WU Tianbo1 , ZHOU Xin1,2 , CHENG Junjun2 , ZHU Han1 , HE Xiaohai1     
1. College of Electronics and Information Engineering, Sichuan University, Chengdu 610065, China;
2. China Information Technology Security Evaluation Center, Beijing 100085, China
Abstract: Knowledge graph is an important part of artificial intelligence.It describes the concepts, entities, and relationships in the objective world in a structured way and provides a better ability to organize, manage, and understand the massive amount of information available on the Internet.With the development of deep learning technology, representation-learning-based knowledge graph question-answering methods have emerged.The core goal of such methods is to embed the question into the representation vector space with the same dimension as triples and match the questions and answers through appropriate answer prediction methods.Referring to the idea of complex field coding, this paper presents a triple-representation model, Pos-Att-complex, based on joint location and attention representation.In the triplet representation part, the features of the word itself and the location features are jointly encoded.The deep-seated features are further mined through the decoder network, so as to score the triplet.In the question and answer part of the knowledge graph, the question is embedded into the vector space with the same dimension as the triplet vector through RoBERTa, and the vector is fused with the relationship set filtered through the relationship.On this basis, the candidate answers are scored by the joint representation decoder to screen them out.Experimental results show that the model can achieve good test results on triple classification and multi hop question and answer benchmark datasets.Furthermore, it outperforms GraftNet, VRN, and other existing models.
Key words: representation learning    knowledge graph question-answering    complex field coding    joint representation    vector fusion    

开放科学(资源服务)标志码(OSID):

0 概述

知识图谱问答的目标是针对输入的自然语言问题,系统自动地从知识图谱中找到答案,该答案是与问题最为匹配的实体或实体集合。若一个问题从主语实体出发,经过n条三元组到达答案所在的实体,就称该问题为n跳问题,对该问题进行回答的过程称为n跳问答。自动问答在发展初期主要针对较为简单的单跳问题,随着自然语言处理技术的不断发展,研究人员开始关注更加复杂的多跳问答。多跳问答中涉及的实体和关系数量较多,随着跳数的增加,搜索出正确关系路径的复杂程度呈几何倍数增长,如何匹配出多跳问题的正确答案是当前研究的热点与难点。

随着深度学习技术的不断成熟,基于表示学习的知识图谱问答方法越来越多。表示学习将三元组中的实体和关系表示为不同的向量,在向量空间中计算不同对象之间的相似度,进而完成知识图谱问答任务。许多学者对知识表示学习展开研究,构建出一系列具有代表性的翻译模型:BORDES等[1]提出的TransE将尾实体表示为头实体向量和关系向量之和;WANG等[2]提出的TransH把头实体和尾实体映射到关系所在的向量空间;LIN等[3]提出的TransR将实体和关系映射到不同的向量空间进行处理。许多神经网络模型也被用于知识表示学习:ConvE[4]把头实体和关系拼接在一起,并用卷积层和隐藏层网络挖掘它们的特征;CapsE[5]采用胶囊网络,通过卷积层提取特征信息;K-BERT[6]基于BERT模型,通过引入软位置和可见矩阵来限制知识噪声的影响。

基于表示学习进行知识图谱问答的主要思想是学习问题和知识库在低维空间的向量表示,并通过答案选择策略来与候选答案进行匹配,从而得出正确答案。DONG等[7]利用多层卷积网络对问题和三元组学习低维空间的表示;YIH等[8]定义一种查询图的方法,用深度卷积神经网络处理分阶段搜索问题,从而匹配问题和谓词;陈文杰等[9]构建一种基于TransE的TransGraph模型,该模型同时学习三元组和知识图谱网络结构特征,以增强知识图谱的表示效果;DAI等[10]基于条件聚焦的神经网络CFO,对大规模的实体信息表示进行泛化;SUN等[11]提出“Pull”操作智能化扩充查询子图,进而分类判断正确答案;LAN等[12]提出改进的分段查询图生成方法,利用该方法修改候选查询图,执行排名最高的查询图以获取答案实体;SAXENA等[13]将问题嵌入到与三元组相同的表示空间中,通过相同的打分函数计算候选答案得分;金婧等[14]设计一种融合实体类别信息的类别增强知识图谱表示学习模型,其结合不同实体类别对于某种特定关系的重要程度及实体类别信息进行知识表示学习。

本文提出一种基于位置和注意力联合表示的知识图谱问答方法。结合复数域编码思路表示三元组的特征,通过基于向量融合表示的答案预测方法构建端到端的知识图谱问答模型,并在三元组分类和多跳问答的公开数据集上进行实验以验证该方法的分类性能。

1 相关工作 1.1 位置编码

自Google提出Word2vec[15]模型以来,出现了许多词嵌入模型,其中一个重要的上下文信息就是位置信息。复数域编码是一种能够让模型精准挖掘更复杂位置关系的相对位置编码方法,其通过在复数域计算位置编码以表征输入特征的上下文关系。TROUILLON等[16]通过复数域的嵌入处理多种二元关系,SUN等[17]在复数域构建旋转模型以对各种关系模式进行建模和推断,WANG等[18]定义复数域的连续函数,将复数表示中的虚数与具体的物理意义联系起来。复数域编码使用关于位置的连续函数来表征一个词在某个位置的向量表示,例如在一段文本中,一个位置嵌入向量为$ {\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}} $的词$ {\omega }_{j} $可以表示为实数域的函数$ f(j, {\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}}) $,若将实数域看作复数域的子集,为不失一般性,定义此函数的值域在复数域中,则有:

$ f(j, {\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}})={g}_{j}\left({\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}}\right)\in \mathbb{C} $ (1)

其中:g为复数域的连续函数。当g满足一定条件时,可将其改写为指数形式:

$ {g}_{j}\left({\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}}\right)={r}_{j}{\mathrm{e}}^{\mathrm{i}({\omega }_{j}{\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}}+{\theta }_{j})} $ (2)

其中:振幅$ {r}_{j} $只和词在词表中的索引有关,表示词的含义,和普通的词向量对应;相位$ {\omega }_{j}{\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}}+{\theta }_{j} $既和词本身有关,也和词在文本中的位置有关,对应一个词的位置信息。

1.2 关系循环神经网络

关系循环神经网络[19]是SANTORO等在2018年提出的一种用于NLP中特征提取的网络结构,其在提取特征的过程中引入记忆的交互,能够对序列进行关系推理,在处理实体与关系中涉及记忆间联系的任务时效果显著。网络通过引入多头注意力机制,构建与RNN神经元类似的关系记忆核(Relational Memory Core),使模型能较好地运用于具有记忆交互的任务中。关系记忆核结构如图 1所示。

Download:
图 1 关系记忆核结构 Fig. 1 Structure of relational memory core

关系记忆核的内部结构与LSTM、GRU等类似,循环利用上一时间步的输出并作为记忆信息输入到网络中,通过门控单元控制当前时刻的输出状态,并利用注意力机制引入记忆间的交互。该结构维护一个记忆矩阵$ \boldsymbol{M} $,其行数为$ N $,每一行代表一个记忆槽位。首先将当前时刻的输入和记忆信息共同送入多头点积注意力[20]模块中,将其与记忆矩阵$ \boldsymbol{M} $通过残差连接[21]得到的残差和送入多层感知机中,再次计算残差和,当前时刻的输出由MLP的输出和记忆矩阵$ \boldsymbol{M} $共同决定。设当前时刻为$ t $,用$ {\boldsymbol{M}}^{t} $表示当前时刻的记忆矩阵,其计算公式如下:

$ {\boldsymbol{M}}_{i}^{t}={\boldsymbol{M}}_{i}^{t, 1} \oplus {\boldsymbol{M}}_{i}^{t, 2} \oplus \cdots \oplus {\boldsymbol{M}}_{i}^{t, H} $ (3)

其中:$ {\boldsymbol{M}}_{i}^{t} $表示当前时刻记忆矩阵的第$ i $行;$ H $表示注意力头的数量;$ \oplus $表示向量的连接操作。每个注意力头$ {\boldsymbol{M}}_{i}^{t, h} $由式(4)计算得出:

$ {\boldsymbol{M}}_{i}^{t, h}={\alpha }_{i, N+1, h}\left({\boldsymbol{W}}^{h, V}{m}_{t}\right)+\sum \limits_{j=1}^{N}{\alpha }_{i, j, h}\left({\boldsymbol{W}}^{h, V}{\boldsymbol{M}}_{j}^{t-1}\right) $ (4)
2 知识图谱问答模型 2.1 三元组表示

三元组的表示学习大致可以分为编码器网络和解码器网络2个部分,编码器网络将三元组映射到表示学习空间中,解码器网络则从三元组编码中挖掘相关特征用于后续操作。本文参考复数域编码中振幅和相位的物理含义,提出一种基于位置-注意力联合编码的三元组表示模型Pos-Att-complex,其结构如图 2所示。编码器在复数域求解三元组注意力和位置特征的联合编码,得到三元组表示并送入解码器网络;解码器网络如图 2中上半部分虚线框中所示,用于提取来自编码器输出的三元组编码向量的相关特征。

Download:
图 2 三元组表示总体模型结构 Fig. 2 Overall model structure of triple representation

解码器网络在得到三元组编码向量后,将向量分别经过关系循环神经网络层和卷积池化层,最后通过全连接层和Sigmoid函数输出,得到范围为0~1的三元组得分。

Pos-Att-complex编码器结构如图 3所示。在Batch Loader中,对正样本的补集随机生成与Batch大小相同、互不重复的头实体id和尾实体id,以50%的概率随机替换正样本中的头实体或尾实体,得到和正样本与负样本等量的混合样本,同时输送到实数域链路和复数域链路,供三元组分类任务训练使用。

Download:
图 3 Pos-Att-complex编码器结构 Fig. 3 Stucture of Pos-Att-complex encoder

在实数域链路,三元组通过预训练模型得到词编码向量$ {\boldsymbol{m}}_{1} $。在复数域链路,三元组id通过Xavier[22]随机初始化参数做词嵌入,得到特征嵌入向量$ {\boldsymbol{m}}_{2} $,其表征三元组的注意力特征。同时,对[0,2π)的区间进行初始均匀随机采样,得到位置嵌入向量$ {\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}} $,其表征三元组的位置特征。对特征嵌入向量与位置嵌入向量进行复数域乘积,分别得到复数域表示的实部$ {R}_{e} $和虚部$ {I}_{m} $

$ {R}_{e}={\boldsymbol{m}}_{2}·\mathrm{c}\mathrm{o}\mathrm{s}\left({\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}}\right) $ (5)
$ {I}_{m}={\boldsymbol{m}}_{2}·\mathrm{s}\mathrm{i}\mathrm{n}\left({\boldsymbol{P}}_{\mathrm{p}\mathrm{o}\mathrm{s}}\right) $ (6)

将实部和虚部相加,得到位置-注意力联合编码向量$ {\boldsymbol{m}}_{3} $

$ {\boldsymbol{m}}_{3}={R}_{e}+{I}_{m} $ (7)

在对实数域链路的词编码向量和复数域链路的位置-注意力编码向量进行特征融合之前,为缓解训练过程中由过拟合带来的泛化性能瓶颈问题,对位置-注意力编码向量采用池化策略。具体地,对一个Batch上的向量做池化运算,然后与词编码向量进行特征融合,如下:

$ {\boldsymbol{m}}_{3}^{\mathrm{\text{'}}}=\mathrm{p}\mathrm{o}\mathrm{o}\mathrm{l}\left({\boldsymbol{m}}_{3}\right) $ (8)

其中:$ \mathrm{p}\mathrm{o}\mathrm{o}\mathrm{l} $为池化函数,通常有最大池化(Max Pooling)和均值池化(Mean Pooling)2种方式,分别取整个维度上的最大值和平均值作为输出;$ {\boldsymbol{m}}_{3}^{\mathrm{\text{'}}} $为池化后的位置-注意力联合编码向量。

对复数域链路和实数域链路的三元组表示向量进行特征融合,通过加权和的方式得出最合适的三元组编码向量$ \boldsymbol{m} $

$ \boldsymbol{m}={\boldsymbol{m}}_{1}+\alpha ·{\boldsymbol{m}}_{3}^{\mathrm{\text{'}}} $ (9)

其中:$ \alpha $为待训练的参数,其初始值设置为1。

2.2 知识图谱问答

图 4所示为多跳问答的总体流程,通过主语实体将问题与知识图谱进行匹配,定位出与问题相关的三元组路径。

Download:
图 4 多跳问答总体流程 Fig. 4 Overall procedure of multi-hop question-answering

结合三元组表示方法,本文构建一种基于向量融合表示的端到端知识图谱问答模型,如图 5所示。

Download:
图 5 知识图谱问答模型结构 Fig. 5 Stucture of knowledge graph question-answering model

知识图谱问答模型分为问题嵌入、关系筛选、向量融合、答案预测4个模块,通过各模块协同来完成知识图谱问答任务:

1)在问题嵌入模块中,问题$ \boldsymbol{q} $通过RoBERTa[23]做词嵌入,然后输入到$ N $层的线性层中,进一步学习问题的表示,最后通过一层工厂层,将特征向量的维度转换为三元组嵌入的维度,得到问题嵌入向量$ {\boldsymbol{v}}_{q} $

2)关系筛选模块筛选出与输入的问题可能相关的所有关系,得到关系集合$ R $,将其作为三元组编码器的输入之一,同时为向量融合模块提供支撑。关系筛选模块具体流程如图 6所示,首先将问题$ \boldsymbol{q} $中的主语实体$ h $送入查询图生成器中,查询图生成器对知识图谱中的所有关系进行初步筛选,生成关系候选集$ {R}_{0} $,生成步骤为:以$ h $为中心节点,不限制跳数地遍历所有与$ h $有关联的关系链,直到没有节点可以扩展出新的关系链,从而得到这些关系的集合$ {R}_{0} $。在得到$ {R}_{0} $后,对其做进一步筛选,使输出到后续模块的信息尽可能精确。一方面,针对$ {R}_{0} $中的每个关系$ r $,计算问题$ \boldsymbol{q} $$ r $的语义相似度,将相似度分数$ s $大于0.5的关系构成一个集合,记为$ {R}_{1} $。在计算语义相似度时,将$ \boldsymbol{q} $通过RoBERTa后得到$ {\boldsymbol{q}}_{0} $,将其与$ r $计算点积,然后通过Sigmoid函数得出它们的相似度分数$ s $,计算公式如下:

$ {\boldsymbol{q}}_{0}=\mathrm{R}\mathrm{o}\mathrm{B}\mathrm{E}\mathrm{R}\mathrm{T}\mathrm{a}\left(\boldsymbol{q}\right) $ (10)
$ s=\mathrm{S}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d}\left({\boldsymbol{q}}_{0}^{\mathrm{T}}r\right), r\in {R}_{0} $ (11)
Download:
图 6 关系筛选模块流程 Fig. 6 Procedure of relational filtering module

另一方面,针对知识图谱所有三元组答案实体$ {t}_{a} $,筛选主语实体$ h $$ {t}_{a} $之间的最短关系路径,将所有最短路径中包含的关系构成另一个集合,记为$ {R}_{2} $。综上,$ {R}_{1} $包含了与问题$ \boldsymbol{q} $可能有关的所有关系,$ {R}_{2} $包含了主语实体$ h $到所有可能答案实体的最短路径中的关系。本轮问答最有可能涉及的关系应该处于上述两者的交集中,因此,对$ {R}_{1} $$ {R}_{2} $进行交集运算,得到所需的关系集合$ R $

$ R={R}_{1}\bigcap {R}_{2} $ (12)

3)在向量融合模块中,首先对$ R $中的每个关系进行编码,通过Pos-Att-complex编码器得到关系向量的集合$ {\boldsymbol{V}}_{R} $。为了表示关系集合中的向量并与问题向量较好地融合,对$ {\boldsymbol{V}}_{R} $中的所有关系向量计算均值,然后将其与$ {\boldsymbol{v}}_{q} $相加,实现关系和问题向量的融合表示。设$ R $中关系的数量为$ {n}_{R} $,模块输出的融合表示向量为$ {\boldsymbol{v}}_{r\text{'}} $,其计算公式如下:

$ {\boldsymbol{v}}_{r\text{'}}={\boldsymbol{v}}_{q}+\frac{1}{{n}_{R}}\sum \limits_{i=1}^{{n}_{R}}{\boldsymbol{v}}_{i}, {\boldsymbol{v}}_{i}\in {\boldsymbol{V}}_{R} $ (13)

4)答案预测模块通过计算答案预测的分数,输出得分最高的答案,得到候选答案向量集合$ {\boldsymbol{V}}_{A} $,其中的每一个向量代表一条三元组中的尾实体向量。将$ {\boldsymbol{V}}_{A} $中的每个向量与$ {\boldsymbol{v}}_{h} $$ {\boldsymbol{v}}_{r\text{'}} $组合构成三元组编码,送入Pos-Att-complex解码器,对三元组进行打分,得到的分数就代表问题与所输入答案的匹配程度。在解码器的输出中,记录$ {\boldsymbol{v}}_{h} $$ {\boldsymbol{v}}_{r\text{'}} $与每个候选答案之间构成的三元组得分,即答案预测分数,取分数最高的三元组对应的尾实体,该尾实体即为预测的答案。

3 实验结果与分析 3.1 数据集与实验环境

WN11和FB13[24]是用于评估基于知识图谱的三元组分类准确率的权威基准数据集,通过模型分类真假三元组的能力来衡量模型对三元组进行表示学习的效果。三元组分类数据集规模如表 1所示,2个数据集分别拥有11和13类关系、万级的实体数量和十万级的三元组数量,其中,训练集中只有真实三元组,在训练时从Batch Loader中生成错误三元组,验证集和测试集中同时拥有真实三元组和错误三元组,用于计算模型的分类准确率。

下载CSV 表 1 三元组表示数据集规模 Table 1 The size of triple representation datasets

MetaQA[25]是目前公开的一个大规模多跳知识图谱问答数据集,在通用语料的电影领域有超过40万个问题,分为1跳、2跳和3跳的问答对,同时提供一个包含约13.5万条三元组、4.3万个实体的知识图谱。MetaQA问答数据集规模如表 2所示,在该数据集上,每个问题的主语实体都已经被标注出,模型可直接从中提取主语实体。

下载CSV 表 2 MetaQA数据集规模 Table 2 The size of MetaQA dataset

本文模型训练所在的计算机环境为Ubuntu 16.04操作系统,所用显卡为Nvidia GTX 1080Ti,深度学习框架为CUDA 10.0和Pytorch 1.6.0,编程语言及版本为Python 3.6.10,使用的梯度下降优化器为Adam优化器[26]

3.2 三元组分类

在使用WN11和FB13数据集训练模型之前,需要选取模型的超参数和预训练的词嵌入模型。针对WN11和FB13数据集,本文分别选取GloVe[27]和TransE[1]作为Pos-Att-complex编码器中实数域链路的预训练词嵌入模型。WN11和FB13这2个数据集的词嵌入维度都设置为50,学习率分别设置为1e-4和1e-6,总迭代轮次分别设置为50和30。

模型每训练完一个轮次便计算一次当前参数下的验证集准确率,当且仅当验证集准确率比之前的轮次都要高时才保存并覆盖模型,最终得到验证集上效果最好的轮次下的参数,计算该参数下的模型在测试集上的准确率并作为测试结果,从而更加客观真实地反映模型的泛化性能。模型在编码器上进行池化时采用最大池化和均值池化2种方式,WN11和FB13上的测试结果如表 3所示。

下载CSV 表 3 不同池化方式下的三元组分类结果 Table 3 Triad classification results under different pooling methods  

表 3可以看出,采用均值池化的模型测试准确率更高,分类效果更佳。本文模型Pos-Att-complex采用均值池化的方法,表 4所示为该模型与近几年公开的主流模型之间的测试结果对比。

下载CSV 表 4 5种模型的测试结果对比 Table 4 Comparison of test results of five models  

表 4中,TransD[28]、TranSparse[29]和TransAt[30]为近年来效果较好的改进翻译模型,R-MeN[31]使用较新的关系循环神经网络来提取特征,本文Pos-Att-complex模型参考了其应用关系循环神经网络的方式,提出的位置-注意力联合表示方法使模型在WN11上取得了更高的准确率,并且在2个数据集上的测试结果平均值高于R-MeN模型,但在FB13上的结果还有一定提升空间。同时值得注意的是,本文在对复数域编码经典模型ComplEx[32]进行三元组分类的代码复现中发现,相对于WN11数据集,学习率的设置对FB13数据集的影响更大,不同的损失函数设置、归一化方法以及硬件算力都可能对实验结果产生影响。

3.3 知识图谱问答分析

知识图谱问答模型的问题嵌入模块通过4层线性层挖掘问题特征。模型在每个数据集上至多训练200个轮次,并设置早停等待轮次为12,当模型超过12个迭代轮次后在验证集上仍未出现更高的准确率时就停止训练,同时保存在验证集上准确率最高的模型。在3个数据集上完成训练后保存3个模型,依次在各个测试集上计算问答的准确率,将本文模型的测试结果与近几年公开的模型进行对比,如表 5所示。

下载CSV 表 5 5种模型的问答结果对比 Table 5 Comparison of question-answering results of five models  

KV-Mem[33]是EMNLP 2016上提出的模型,其通过维护一个键值对形式的内存表进行问答对检索;GraftNet[34]是EMNLP 2018上提出的模型,其使用启发式方法从文本语料库中创建特定的问题子图进行问答推理;VRN[35]是AAAI 2018上提出的使用变分学习算法来处理多跳问答的模型;EmbedKGQA[36]是ACL 2020上提出的在表示学习空间求解知识图谱问答的模型,其将问题嵌入到与知识图谱相同的表示空间中,用复数域编码经典模型ComplEx[32]处理三元组的嵌入,并用相同的打分函数选取最优答案,为了对比改进效果,表中该行数据记录了本文在相同的实验环境下对该模型的复现结果。本文基于向量融合表示的答案预测方法结合三元组表示学习模型,通过关系筛选、向量融合等策略,对问题与三元组的匹配做出进一步约束,从表 5可以看出,相对其余4种模型,本文模型的准确率都有一定程度的提高,综合能力表现较优。

3.4 消融实验分析

为了验证本文所提三元组表示和知识图谱问答方法的有效性,对其分别进行消融实验。在三元组分类实验中,在不进行池化和不采用复数域链路编码的情况下训练模型,相同实验条件下模型的测试结果如表 6所示。

下载CSV 表 6 三元组分类消融实验结果 Table 6 Triple classification ablation experimental results 

表 6可以看出,采用复数域编码和均值池化的原始模型测试准确率最高,不进行池化的模型的准确率在WN11和FB13上分别下降0.7和0.5个百分点,不采用复数域链路编码的模型的准确率分别下降1.2和0.4个百分点,因此,复数域编码对模型性能的影响较大。

在知识图谱问答的消融实验中,在其他条件不变的情况下取消向量融合,直接将问题嵌入向量$ {\boldsymbol{v}}_{q} $当作$ {\boldsymbol{v}}_{r\text{'}} $输入Pos-Att-complex解码器,在相同实验环境下训练模型,测试结果如表 7所示。

下载CSV 表 7 知识图谱问答消融实验结果 Table 7 Knowledge graph question-answering ablation experimental results 

表 7可以看出,当取消向量融合时,模型在1跳~3跳数据集上的准确率均出现了不同程度的下降,从而验证了向量融合策略的有效性。

4 结束语

本文构建一种基于位置和注意力联合表示的知识图谱问答模型。通过Pos-Att-complex三元组表示模型将知识图谱中的三元组映射到表示学习的向量空间中,通过三元组分类任务对模型参数进行训练。在知识图谱问答模型中,基于已有知识表示学习模型提出基于向量融合表示的答案预测方法,以问题嵌入、关系筛选模块作为基础,向量融合模块作为核心,通过答案预测模块输出结果,从而实现端到端的知识图谱问答。该模型在三元组分类的权威基准数据集和多跳问答基准数据集上均取得了较好的测试结果,准确率相比近几年提出的公开模型均有一定提升,同时,对复数域编码和向量融合策略的消融实验结果验证了本文方法的有效性。但是,本文模型引入了较多的训练参数,使得三元组编解码器和知识图谱问答的模型训练耗时较长,间接导致三元组分类和知识图谱问答的周期延长,下一步将针对模型训练效率进行优化以解决上述问题。

参考文献
[1]
BORDES A, USUNIER N, GARCIA-DURÁN A, et al. Translating embeddings for modeling multi-relational data[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems. Washington D.C., USA: IEEE Press, 2013: 2787-2795.
[2]
WANG Z, ZHANG J, FENG J, et al. Knowledge graph embedding by translating on hyperplanes[C]//Proceedings of the 28th AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2014: 1112-1119.
[3]
LIN Y, LIU Z, SUN M, et al. Learning entity and relation embeddings for knowledge graph completion[C]//Proceedings of the 29th AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2015: 2181-2187.
[4]
DETTMERS T, MINERVINI P, STENETORP P, et al. Convolutional 2D knowledge graph embeddings[C]//Proceedings of the 32nd AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2018: 1811-1818.
[5]
MALLEA M D G, MELTZER P, BENTLEY P J. Capsule neural networks for graph classification using explicit tensorial graph representations[EB/OL]. [2021-06-05]. https://arxiv.org/abs/1902.08399.
[6]
LIU W J, ZHOU P, ZHAO Z, et al. K-BERT: enabling language representation with knowledge graph[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2020, 34(3): 2901-2908.
[7]
DONG L, WEI F R, ZHOU M, et al. Question answering over freebase with multi-column convolutional neural networks[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. [S. l. ]: Association for Computational Linguistics, 2015: 260-269.
[8]
YIH W T, CHANG M W, HE X D, et al. Semantic parsing via staged query graph generation: question answering with knowledge base[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. [S. l. ]: Association for Computational Linguistics, 2015: 1321-1331.
[9]
陈文杰, 文奕, 张鑫, 等. 一种改进的基于TransE知识图谱表示方法[J]. 计算机工程, 2020, 46(5): 63-69, 77.
CHEN W J, WEN Y, ZHANG X, et al. An improved TransE-based method for knowledge graph representation[J]. Computer Engineering, 2020, 46(5): 63-69, 77. (in Chinese)
[10]
DAI Z H, LI L, XU W. CFO: conditional focused neural question answering with large-scale knowledge bases[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. [S. l. ]: Association for Computational Linguistics, 2016: 800-810.
[11]
SUN H T, BEDRAX-WEISS T, COHEN W. PullNet: open domain question answering with iterative retrieval on knowledge bases and text[C]//Proceedings of 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. [S. l. ]: Association for Computational Linguistics, 2019: 2380-2390.
[12]
LAN Y S, JIANG J. Query graph generation for answering multi-hop complex questions from knowledge bases[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. [S. l. ]: Association for Computational Linguistics, 2020: 969-974.
[13]
SAXENA A, TRIPATHI A, TALUKDAR P. Improving multi-hop question answering over knowledge graphs using knowledge base embeddings[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. [S. l. ]: Association for Computational Linguistics, 2020: 4498-4507.
[14]
金婧, 万怀宇, 林友芳. 融合实体类别信息的知识图谱表示学习[J]. 计算机工程, 2021, 47(4): 77-83.
JIN J, WAN H Y, LIN Y F. Knowledge graph representation learning fused with entity category information[J]. Computer Engineering, 2021, 47(4): 77-83. (in Chinese)
[15]
MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[EB/OL]. [2021-06-05]. https://openreview.net/pdf?id=idpCdOWtqXd60.
[16]
TROUILLON T, WELBL J, RIEDEL S, et al. Complex embeddings for simple link prediction[C]//Proceedings of the 33rd International Conference on Machine Learning. New York, USA: ACM Press, 2016: 2071-2080.
[17]
SUN Z, DENG Z H, NIE J Y, et al. RotatE: knowledge graph embedding by relational rotation in complex space[EB/OL]. [2021-06-05]. https://openreview.net/pdf?id=HkgEQnRqYQ.
[18]
WANG B, ZHAO D, LIOMA C, et al. Encoding word order in complex embeddings[EB/OL]. [2021-06-05]. https://openreview.net/pdf?id=Hke-WTVtwr.
[19]
SANTORO A, FAULKNER R, RAPOSO D, et al. Relational recurrent neural networks[C]//Proceedings of the 32nd International Conference on Neural Information Processing Systems. [S. l. ]: Curran Associates Inc., 2018: 7310-7321.
[20]
VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need[EB/OL]. [2021-06-05]. https://papers.nips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf.
[21]
VEIT A, WILBER M, BELONGIE S. Residual networks behave like ensembles of relatively shallow networks[C]//Proceedings of the 30th International Conference on Neural Information Processing Systems. Washington D.C., USA: IEEE Press, 2016: 550-558.
[22]
GLOROT X, BENGIO Y. Understanding the difficulty of training deep feedforward neural networks[C]//Proceedings of the 13th International Conference on Artificial Intelligence and Statistics. Washington D.C., USA: IEEE Press, 2010: 249-256.
[23]
LIU Y H, OTT M, GOYAL N, et al. RoBERTa: a robustly optimized BERT pretraining approach[EB/OL]. [2021-06-05]. https://arxiv.org/abs/1907.11692.
[24]
BORDES A, WESTON J, COLLOBERT R, et al. Learning structured embeddings of knowledge bases[C]//Proceedings of the 25th AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2011: 301-306.
[25]
ZHANG Y Y, DAI H J, KOZAREVA Z, et al. Variational reasoning for question answering with knowledge graph[EB/OL]. [2021-06-05]. https://arxiv.org/abs/1709.04071.
[26]
KINGMA D P, BA J. Adam: a method for stochastic optimization[EB/OL]. [2021-06-05]. https://openreview.net/pdf?id=8gmWwjFyLj.
[27]
PENNINGTON J, SOCHER R, MANNING C. Glove: global vectors for word representation[C]//Proceedings of 2014 Conference on Empirical Methods in Natural Language Processing. [S. l. ]: Association for Computational Linguistics, 2014: 1532-1543.
[28]
JI G L, HE S Z, XU L H, et al. Knowledge graph embedding via dynamic mapping matrix[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. [S. l. ]: Association for Computational Linguistics, 2015: 687-696.
[29]
JI G, LIU K, HE S, et al. Knowledge graph completion with adaptive sparse transfer matrix[C]//Proceedings of the 30th AAAI Conference on Artificial Intelligence. [S. l. ]: AAAI Press, 2016: 985-991.
[30]
QIAN W, FU C, ZHU Y, et al. Translating embeddings for knowledge graph completion with relation attention mechanism[C]//Proceedings of the 27th International Joint Conference on Artificial Intelligence. Washington D.C., USA: IEEE Press, 2018: 4286-4292.
[31]
NGUYEN D Q, NGUYEN T, PHUNG D. A relational memory-based embedding model for triple classification and search personalization[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. [S. l. ]: Association for Computational Linguistics, 2020: 3429-3435.
[32]
TROUILLON T, WELBL J, RIEDEL S, et al. Complex embeddings for simple link prediction[C]//Proceedings of the 33rd International Conference on Machine Learning. New York, USA: ACM Press, 2016: 2071-2080.
[33]
MILLER A, FISCH A, DODGE J, et al. Key-value memory networks for directly reading documents[C]//Proceedings of 2016 Conference on Empirical Methods in Natural Language Processing. [S. l. ]: Association for Computational Linguistics, 2016: 1400-1409.
[34]
SUN H T, DHINGRA B, ZAHEER M, et al. Open domain question answering using early fusion of knowledge bases and text[C]//Proceedings of 2018 Conference on Empirical Methods in Natural Language Processing. [S. l. ]: Association for Computational Linguistics, 2018: 4231-4242.
[35]
ZHANG Y Y, DAI H J, KOZAREVA Z, et al. Variational reasoning for question answering with knowledge graph[EB/OL]. [2021-06-05]. https://arxiv.org/abs/1709.04071.
[36]
SAXENA A, TRIPATHI A, TALUKDAR P. Improving multi-hop question answering over knowledge graphs using knowledge base embeddings[C]//Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. [S. l. ]: Association for Computational Linguistics, 2020: 4498-4507.