白鑫竹,孟佳娜,许明鑫,齐 鹏,江 烽
(大连民族大学 计算机科学与工程学院,辽宁 大连 116650)
随着问答系统的出现,用户获取想要的知识变得十分便捷。第一个问答系统理论是在1960年代由艾伦麦席森图灵提出著名的图灵测试[1]。随着人工智能的兴起而产生巨大更迭,具有代表性的问答系统越来越多,传统问答系统也面临新的挑战。
具有代表性的问答系统包括Baseball、Lunar等系统。Baseball问答系统是最早在实际生活运动领域中发挥作用的系统之一;Lunar系统应用在科研领域,分析月球中矿石成分。两者都可以解决简单的问题,缺点是必须使用固定的提问形式,如果问题本质相同但换了一种说法就会导致识别不出来用户意图,这些系统灵活性较低,可处理数据匮乏,应用效率低下。1980年计算语言学快速发展,研究重心转向利用语言学改进固定式问答,提升准确率的同时提高问题多样化,典型代表系统为UnixConsultant系统[2]。在后续十年里,互联网的发展及数据量爆炸式增长,出现了基于数据库检索匹配的问答系统[1],它从用户输入的问题中提取关键词,在文本库或网页中搜索匹配文档。这种方法与以往相比取得更好的效果并降低了成本,但采用的数据来自网页或文档中抽取的非结构化数据,数据未能规范化,导致处理效果并不理想。
直到知识图谱(Knowledge Graph)[3]的出现,填补了传统问答知识库[1]结构化程度低,缺乏高质量知识,单一性和局限性的缺陷。将数据整合为一个结构化的系统,优化了数据的质量。智能问答系统也由基于文档形式的智能问答转变为基于知识图谱的智能问答,实现问答结果的多样化,迎来质的飞跃[4]。健康医疗、政务、金融学、旅游推荐等领域应用多与时间相关,因此产生了较多与时间密切相关的时序数据,具有高度动态的特点,表现出复杂的时间特性。在知识应用过程中,历史事件必须限定在特定时间才具有参考价值,说明知识存在时效性。传统方法是面向三元组建模,其相似性评估计算仅涉及实体和关系,缺乏时间维度信息,因此并不适合于动态知识库的问答。
针对上述问题,本文提出结合图卷积神经网络和动态知识图谱的方法,对时序问题的实体和语义相似关系进行一定程度的区分。本文利用时间一致性信息排除候选三元组中的干扰项,引入时间信息将三元组拓展为四元组表示,提升实体、关系表示学习的质量以及知识推理的准确性。
知识图谱是智能化信息检索与知识推理最常用的技术,2012年由谷歌提出并用于智能化语义搜索[5]。当前有代表性的知识图谱产品包括当DBpedia,YAGO,CN-DBpedia,搜狗知立方等。问答系统[6]是知识图谱的重要应用方向,输入问题后能从知识图谱中快速找到正确的答案,并呈现给用户。
传统知识图谱的研究主要集中在静态知识图谱,静态知识图谱的事实不会随着时间的变化而变化,而一些与时间紧密相关的事件的知识,则需要用包含时间信息的动态知识图谱进行描述。时序知识图谱是一个多关系有向图,关系上带有时间戳信息,Jiang等[6]2016年首次将时间信息编码到知识图谱的表示学习中,将时序知识图谱中带有时间戳信息的三元组建模为四元组(h,r,t,τ),表示三元组在时间间隔内有效或者在时间点τ时有效,提出了TransE-TAE-ILP模型。时序知识图谱表示为K={(h,r,t,τ)|h,t∈ε,r∈R,τ∈T},其中ε是实体集合,R是关系,T是时间戳信息集合。TransE-TAE-ILP模型如图1。
图1 TransE-TAE-ILP模型图
相比静态知识表示,时序知识图谱引入时间实体和关系的信息编码表示,捕获知识图谱中时间信息和事实的动态性质,能缓解语义相似关系混淆。并将时间信息融入表示学习的过程中,捕获知识图谱中的时间一致性信息,减少模型预测的干扰项,利用时间信息辅助时间序列进行预测。
高效准确的答案选择是知识图谱问答的研究重点,主流方法是用深度学习模型寻找问答对之间的语义关系,CNN(Convolutional Neural Network)被证明在答案选择任务中并且取得了不错的效果[7],随后LSTM(LongShortTermModel)也被证明对答案选择任务有较好作用[8]。注意力机制也为丰富句子语义提供了新思路,Zhang[9]等人在混合神经网络模型的基础上,将注意力机制引入中文问答选择并证明可以捕捉更多问答对的有效特征。但是深度学习模型和注意机制的研究思路只考虑挖掘问答文本本身的语义关系,而没有考虑到联系外部知识,基于实体嵌入[10]、关系嵌入的方法解决了这个问题。RNN(Recurrent Neural Network)被证明能够从文本序列和短语角度提取有效语义信息,解决了口语化严重的问题[10]。
图的结构是不规则的,是无限维的一种数据,所以没有平移不变性。每个节点的周围结构都是独一无二的,这种结构的数据使传统的CNN、RNN失效。而Graph Convolutional Network(GCN)可以基于图结构从原始节点的特征中提取特征信息,加入GCN能够从未训练的节点中提取特征。SpanBERT能够更好地表示和预测文本的分词情况,加入SpanBERT能够融合双向语言模型,从而学到单词上下文语义。LSTM在序列建模问题上有一定优势,具有长时记忆功能。实现起来简单,解决了长序列训练过程中存在的梯度消失和梯度爆炸的问题。LSTM能计算时间序列中各个观测值之间的依赖性,更好地用于预测。
为了充分捕捉时序问答文本语义特征,本文提出SpanBERT-GCN-LSTM答案选择模型。通过引入外部知识图谱,强化问答文本中的时序实体关系信息。首先用SpanBERT获取问题相关KG事实,构建问题相关的KG子图以及它们之间的相互联系,采用LSTM编码历史,用相关的时间事实来扩充候选图并传到下游任务。受GRAFT-Net模型[11]的启发,用GCN构建节点分类模块,整体模型架构图如图2。
图2 整体模型架构图
时间推理是从非结构化或半结构化的文本数据中提取时间信息,构建时序知识图谱中的时间维度,对输入到模型的问题简单处理,包括实体提取和时间信息提取两个步骤。因为有些问题中的时间信息不可用,所以把这样的信息删除掉以免对时序知识图谱的构建产生影响。时间的表达是多样的,为防止在时间信息的获取过程中,直接使用对模型的训练产生影响,因此使时间信息规范化并分类。再用subject和object替换问题中的重点词使文本在训练模型中更通用,动态实体推理模型如图3。
低维向量ve表示实体e在时间t的特征嵌入。实体的潜在表示根据实体间关系而随时间变化,基于深度递归神经网络的更新函数,本文捕获向量空间中实体动态。σ表示更新函数,主体实体es和对象实体eo表示被subject和object替换的实体,在时间t发生的事件是实体es的第p个事件,同时是实体eo的第q个事件,其中tp、tq观测到事件的时间tp-1、tq-1是预测上一个事件的时间,W表示参数权重,b表示偏置,subject和object的嵌入分别为:
(1)
(2)
图3 动态实体推理模型
SpanBERT是BERT的一种扩展,在本文中执行问题解析任务,识别时态知识图谱中问题相关的事实。与BERT的区别其一,BERT的处理目标token是随机不确定的,SpanBERT的目标token是连续不间断的。SpanBERT不再对随机的单个token 添加掩膜,而是对随机对邻接分词添加掩膜。X=(x1,x2,…xn)表示输入序列,通过迭代抽取提炼出子集Z∈X并进行mask操作。首选通过几何分布选取跨度,然后半随机地选取span的范围,直到达到序列的15%。SpanBERT模型如图4。
图4 SpanBERT模型图
其二,SpanBERT改进BERT只能对单个分词训练的缺点,提出训练目标span-boundary-objective (SBO)进行模型训练。通过对分词添加掩膜,使模型依据其所在语境预测整个分词。获取span范围内分词位置计算目标函数,xs和xe表示起始位置和结束位置编码,目标分词的位置嵌入表示为pi-s+1,计算边界外相邻分词的表示xs-1和xe+1,将f(·)实现为具有GeLU激活函数和层归一化的前馈网络。
zi=f(xs-1,xe+1,pi-s+1)。
(3)
另外,SBO使模型在边界词中存储其分词级别的信息,使得模型的调优更佳容易。
图卷积神经网络[13]及其变种是在图形结构中捕获内容和结构特征的代表性模型。知识图谱也是一种图形结构,因此图神经网络模型可以应用其中。Li等[14]通过关系感知GCN捕获知识图谱内的结构,通过门控循环组件自回归建模历史知识图谱序列,提出了基于图卷积网络的新型循环进化网络。本文利用图卷积网络模块从问题表示的语义信息中获取隐含时间特征,获得时间序列结合静态信息提升知识表示学习的质量,与静态知识图谱的嵌入拼接得到时间关系嵌入矩阵,解决无法准确定位时间的问题。
2.3.1 特征
邻接矩阵A∈RN×N是用0或1填充的N×N矩阵,N是节点总数。邻接矩阵中的值表示节点对之间的相连关系,Aij=1表示节点i和节点j有关系,否则Aij=0。将图表示为邻接矩阵,包含每个节点的特征或属性,并以张量的形式将其提供给网络。有向图中共有1、2、3、4、5五个节点,(1,2)、(1,3)、(1,4)、(2,3)、(2,5)、(4,4)六条边如(a)。根据图可以得到矩阵如(b),同理通过矩阵也可以得到图谱的结构。为了能够聚合自身的信息,在图的某个节点上加一个自环,GCN特征提取如图5。
a)有向图 b)邻接矩阵图图5 GCN特征提取
2.3.2 聚合邻居信息过程
GCN具有独特的消息共享机制,能在相邻节点之间执行聚合,是传递和更新消息的过程,图中任一节点进行特征更新,更高阶邻居节点的信息随之更新并被聚合。源节点距离最高邻居节点之间的阶数也叫聚合半径,基于聚合半径和模型层数的关系,通过自适应性聚合半径的学习机制,增加跳跃连接来聚合模型每层节点的输出,聚合后的节点特征拥有混合性的聚合半径,上层任务可对其进行选择性的监督学习。图模型的四层输出都通过跳跃连接连接到最终的聚合层,聚合操作可以去拼接、平均池化、最大池化等。聚合层的输出作为整个模型的输出送到相应的监督任务中进行学习,聚合过程流程图如图6。
图6 聚合过程流程图
2.3.3 端到端学习
GCN对于图数据的学习模式是从数据端到任务端的。GCN可以适应图数据的内在规律,例如属性信息、结构信息等。图数据中属性信息根据类型划分并编码,整合表示为该节点属性的特征向量。而结构信息的处理,是用图的统计特征代替知识图中节点的结构信息,例如节点的跨度、节点本身、节点的PageRank值等,然后将这个代表节点结构信息的特征向量与代表节点的属性信息的特征向量合并传到下游任务。
2.4.1 LSTM模型
本文引入LSTM进行路径编码,LSTM的核心算法在于信息传输的路径及门结构。LSTM的“记忆”被叫做细胞,信息传输的路径被称为细胞状态,能让信息在序列串中进行传递。信息的增减通过门结构来实现,门结构在训练过程中会去学习信息的保留或忘记,LSTM模型如图7。
遗忘门用来决定哪些信息应该丢弃或保留。前一个隐藏状态的信息ht-1和当前输入xt的信息同步传递到sigmod函数中去,输出结果介于0和1,W表示更新函数的权重,bf表示遗忘门的偏置。
ft=σ(Wf·[ht-1,xt]+bf)。
(4)
it=σ(Wi·[ht-1,xt+bi]),
(5)
(6)
输出门用于确认下一步隐藏状态的值,通过当前的细胞状态、上时刻的输出ht-1与当前的输入xt,bo表示输出门的偏置,得到隐藏状态的信息作为当前时刻的输出,把新的隐藏状态传递到下个时间步长。
ot=σ(Wo·[ht-1,xt]+bo)。
(7)
2.4.2 CRF模型
条件随机场CRF是一个概率分布模型,输入条件为一组随机变量的情况,输出结果为另一组随机变量。本文引入CRF模型对每个词标注对应实体类型的BIO标记,用B-Person标记关键词的首字母、I-Person表示关键词的除首字母的其他部分、O-表示除关键词外的信息,CRF的特征函数可以构建上下文特征、词本身特征和词性特征等,BIO标注图如图8。
图6 聚合过程流程图
图7 LSTM模型
图8 BIO标注图
TimeQuestions数据集是遍历八个KGQA数据集,搜索其中与时间相关的问题编译而成的,包括有16181个问题。测试集中使用[13]编译的字典标记信号词,只如果问题中至少有一个时态信号词,它就成为一个候选时态问题。为了消除数据集假阳性,对候选集进行过滤,手动验证每个问题答案的正确性,并用正确答案替换不正确的。并手动标记每个问题的时态问题类别,分别是显式、隐式、时态或序号答案类别,这样能构建更高效自动分类器。以3:1:1的比例分割数据,创建训练集包含9 708个问题,开发集包含3 236个问题和测试集包含3 237个问题,数据集样式见表1。
表1 数据集样式
3.2.1 基线模型
Uniqorn方法使用微调BERT模型,从RDF数据或文本语料库中检索与问题相关证据,并使用Group Steiner Trees的图算法处理输入回答复杂问题,是文献[6]的扩展。GRAFT-Net方法首次采用R-GCNs在异构图谱上进行问答,从包含文本和知识库的特定问题子图中提取答案实体和关系。PullNet是一个集成框架,从语料库里学习要检索的内容并将GRAFT-Net扩展到多跳问题场景,同时利用异构信息进行推理以找到最佳答案。本文方法和基线模型在问答方面的的实验结果如表所示。通过观察得出结论,本文的方法是优于基线模型的,在五种答案类型上都有显著效果提升。模型在P@1的性能对比见表2。
表2 模型在P@1的性能对比
3.2.2 模型比较
P@n指前n个结果的准确度,P指的是精确值,实验结果见表3。假设有每个样本对应n个候选,yi= 0或1分别表示第i个结果相关或不相关, 则计算公式为
(8)
表3 P@1结果
MRR(Mean Reciprocal Rank)又名平均倒数排名,其中Reciprocal是指“倒数的”的意思。ki是第i次搜索的结果中与问题最相关结果的位置,其倒数就是返回结果的质量,ranki是指第i个四元组链接预测排名。第一个结果匹配,分数为1,第二个匹配分数为1/2,第n个匹配分数为1/n,如果没有匹配的句子分数为0,实验结果见表4。最终的分数为所有得分之和,计算公式为
(9)
表4 MRR结果
HITS@n该指标在本文中是指在链接预测中排名小于n的四元组的平均占比,计有多少正确的四元组最终的排序是在topN,值越大越好,实验结果见表5。计算方法如下:
(10)
表5 Hit@5结果
为了验证时间信息在模型中的有效性,在本次实验中所用的数据集上进行消融实验,比较了训练数据集中时间信息的占比大小对模型结果的影响。可以看到除去组件模块在复杂的推理数据上的表现,随着时间信息的增加,模型的效果会更好,时间信息对于训练时态推理模型的作用如图9。
图9 消融实验结果图
通过比较本文方法和基线方法在问答方面的性能,统计不同评测指标在每个类别与基线模型的比较,能看出本文方法明显优于基线模型。知识图谱的路径推理机制常复杂QA的答案搜寻,它在KG子集中识别主体结构,并从带噪声的图中剔除无关信息,但实验结果表明,单纯的路径预测本身不足以回答时间问题,因此优化时间推理模型很重要。
为解决问题的时间意图识别,本文工作核心是用不同种类的时间事实扩展GCN模型的范围,使其可以识别到时间信号编码。通过研究发现,答案类型是时间的问题最简单,例如以“when”开头的问题,这类带有明确时态表达的问题需要推理,但明确的年份会使其更容易找到答案。GCN主要用于处理带有隐性时态表达的问题。从消融研究可以看出,该模型在本文方法的整体表现中都发挥积极的作用。
本文提出一种基于图卷积神经网络的时序知识图谱问答模型SpanBERT-GCN-LSTM,先用SpanBERT处理问题获取词向量,然后在KG中计算与问题相关的紧凑子图,用LSTM提取并融合信息,最后构建图卷积网络预测答案,通过时间感知实体嵌入和对时间关系的关注来增强GCN模型。通过对比目前知识图谱问答领域的主流模型,进一步证明了本文所提出模型的优越性。在后续的研究中,向现有知识图谱中添加新增知识,以新增数据为输入,进一步优化数据集中实体关系,提升问答的效果。