APP下载

知识图谱在智能问答中的应用研究

2021-08-02谢艺菲潘志松

计算机技术与发展 2021年7期
关键词:图谱编码语义

卢 琪,谢艺菲,谢 钧,潘志松

(中国人民解放军陆军工程大学 指挥控制工程学院,江苏 南京 210000)

0 引 言

智能问答(question answering,QA)是自然语言处理(natural language processing,NLP)领域一个重要分支,经过多年的发展,已逐渐成为NLP中最为火热的研究方向之一。智能问答最早可以追溯到二十世纪五六十年代的图灵测试,要求计算机在有限时间内回答用户给出的一系列问题,并且要让用户做出超过30%的误判。第一个问答系统[1]一般认为是诞生于20世纪60年代的“Eliza”,用于对精神病人进行心理治疗。

按照数据可以把问答分为三种类型:

(1)基于文本问答:也称为机器阅读理解式(machine reading comprehension,MRC)问答,每个问题对应若干篇非结构化文本数据,然后从文本数据中检索和抽取答案;

(2)基于知识库问答:也称为知识图谱问答(knowledge graph question answering,KGQA),即直接从构建好的结构化知识库中检索答案;

(3)基于社区的问答:用户生成的问答对组成了社区问答的数据,例如百度知道、搜狗问答、知乎等论坛。

该文在简单介绍知识图谱和智能问答的基础上,总结归纳了知识图谱用于智能问答系统的研究进展和挑战,并讨论了新兴的研究趋势。

1 知识图谱

知识表示是知识组织的前提和基础。语义网便是早期知识表示的代表,它通过万维网联盟(world wide web consortium,W3C)标准来扩展万维网,使之变成一个数据网。

1.1 知识图谱问答

知识图谱问答的关键在于把用户的自然语言问题转化为机器可以理解的形式查询。传统的知识图谱问答方法主要包括三种:

(1)基于语义解析的方法:把用户给出的自然语言问题转化成逻辑形式,在知识图谱上查询;

(2)基于模板的方法:根据模板提取问题中的信息表示成特征向量,用分类器对问题特征向量进行筛选,得到答案;

(3)基于向量建模的方法:把问题和候选答案用分布式表示,用分布式表示训练模型,使问题和正确答案的分数尽可能高。

随着深度学习领域不断发展,神经网络在KGQA中也取得了非常优秀的性能,得到广泛关注。

1.2 知识图谱和KGQA数据集

近年来出现众多大型的开源知识图谱,推动了知识图谱领域的快速发展。利用这些开源的知识图谱构建出各种大规模KGQA的数据集,也极大地促进了知识图谱问答的发展。该文将知识图谱数据集根据规模、语言、来源等特征进行整理,如表1所示。将知识图谱问答数据集根据规模、有无形式查询、来源等特征进行整理,如表2所示。这些数据集弥补过去数据集缺陷的同时,也提出新的挑战,为KGQA发展提供了研究基础。

表1 知识图谱数据集汇总

表2 知识图谱问答数据集汇总

续表2

2 智能问答

近年来智能问答取得了很大的发展,很多智能问答系统走进了人们的生活,为人们带来了极大的便利。苹果公司研发的智能语音助手Siri不仅能智能问答还可以对手机进行语音控制等,之后各大公司也推出了自己的语音助手或者问答系统。

2.1 机器阅读理解问答

2.2 机器阅读理解问答数据集

2016年斯坦福大学公布了SQuAD[12]数据集,包含了涉及500篇文章的超过10万条问题-答案对,SQuAD是一个抽取式问答数据集,答案被限定为段落中的一个连续子片段;同年,微软发布了MARCO数据集,包含10万个问题,每个问题有10个左右的相关段落,MARCO是一个生成式问答数据集,答案词汇不一定来自于段落本身,而是由人工编写的。然而也有检索完文档发现无法回答问题的情况,这时候就希望模型能给出“Unanswerable”的答案,所以斯坦福大学又公布了SQuAD2.0[13]数据集。TriviaQA[14]数据集包含超过65万个问题-答案-证据三元组,该数据集包含相对复杂的问题,简单的文本匹配方法无法适应该数据集。QAngaroo[15]数据集考虑到有些问题需要考虑多个文档才能回答,利用知识图谱技术构造了两个多跳阅读理解数据集,要求模型不仅需要正确回答出答案,还需要提供支持答案的证据。HotpotQA[16]数据集包含了11.3万个基于维基百科的问题-答案对,能够训练可执行多跳推理并提供答案支持的问答系统。中文方面,百度发布了大规模开放域数据集DuReader[17],包含20万个问题、100万个文章和42万个答案,这些问题和文章都来源于百度搜索引擎数据和问答社区。哈工大讯飞联合实验室发布的CMRC数据集[18],该数据集包含专家在Wikipedia段落上标注的近2万个真实问题。这些数据集的提出为问答系统的研究提供了极大的便利。

2.3 机器阅读理解问答系统

把近年机器阅读理解模型根据特征提取器、是否引入知识等特征进行整理,如表3所示。

神经网络由于其强大的表示能力,如今在问答系统中已取得很大的进展。基于神经网络的问答模型常用框架为“编码-交互-预测”,如图1所示。

图1 问答系统常用框架

交互层的作用是把问题和文章的编码进行交互,首先计算文章和问题中每对单词之间的相似度:

S=α(Hp)THq

(1)

然后通过注意力机制或者LSTM得到交互后的表示。

预测层的作用是根据相似度预测答案,通过把候选答案在文章中的开始位置和结束位置的概率相乘得到该候选答案的分数。训练过程中的目标函数为:

(2)

其中,p1,p2为开始和结束位置的概率,si,ei分别表示起始位置和结束位置的groundtruth。

Vaswani等人提出了Transformer[27]架构,其中自注意力机制(self-attention)使得每个词都有全局的语义信息,长距离依赖关系的提取能力要强于RNN。使用多头注意力机制在多个语义空间上进行表示,性能远好于RNN和CNN。

3 知识图谱问答

KGQA主流方法有基于语义解析(semantic parsing)的方法和基于信息检索这两种。下面分别介绍这两个主流方法的具体算法和发展。

3.1 基于语义解析的KGQA

基于语义解析的KGQA方法把要解决的问题看作语义解析问题,即把自然语言问题转化成语义表示,再映射成逻辑形式。基于语义解析的KGQA可以看作答案能否回答问题的二分类任务,也可以看作候选答案的排序问题,随着编码-解码模型在翻译领域的广泛使用,也有学者使用翻译中的模型解决KGQA问题。

3.1.1 基于分类的KGQA

分类任务即预测问题q中的关系属于n种关系r1,…,rn中的哪一类,可以分为三个步骤:

(1)使用编码器把可变长度的输入q映射成固定维度的向量q∈Rd;

(2)问题编码经过映射计算得到分数向量:

s(q)=WOq+bo

其中,Wo∈Rn×d,bo∈Rn。

(3)输出层中,模型会基于softmax函数把分数向量转化成条件概率分布:

其中,k=1,2,…,n,选择给定q时概率最高的关系。

f(i)=(e(i),r(i))

使用最大化对数似然函数来训练模型:

Mohammed等人[28]提出:对于简单问题,基于分类的系统使用最基本的神经网络结构(CNN、LSTM)加上一些简单的规则就能够达到SOTA性能。

3.1.2 基于排序的KGQA

给定自然语言问题q和知识图谱时,基于排序的KGQA通常会使用一些搜索策略来寻找合适的候选形式查询集合:C(q)={f1,f2,…,fN},然后使用基于神经网络的排序模型选择最匹配的形式查询。一般有两个步骤:

(1)问题q和候选形式查询f通过编码器映射到向量空间;

(2)形式查询向量f和编码后的问题q一起送入评分函数,返回的分数s(q,f)表示形式查询f和问题q的匹配程度。得分最高的形式查询作为模型的预测:

Li等人[29]提出使用多列卷积神经网络(multi-column CNN)从答案路径、答案类型和答案上下文三个角度来表示问题,提取了更丰富的信息并且不依赖手工特征和规则。

3.1.3 基于编码-解码模型的KGQA

图2 Seq2Seq架构

Alvarezmelis等人[31]提出了一种改进型树状解码器,使用两个独立的RNN分别对父-子和兄弟-兄弟节点之间的信息流建模,提供了使用RNN从自然语言查询生成可执行的查询语言这一思路。

3.2 基于信息检索的KGQA

基于信息检索的KGQA通常先确定用户查询中的中心实体,然后链接到知识图谱中确定相关实体得到候选答案集合,之后通过评分或者排序的方式找出最可能的答案。该方法不需要大量手工特征或者规则,将复杂语义问题转化为大规模可学习问题。基于信息检索的KGQA根据使用的方法可以分为基于特征工程的方法和基于深度学习的方法。

3.2.1 基于特征工程的方法

Yao等人[32]率先提出了该类方法的通用模型,作者首先对用户查询进行句法分析,然后把依存关系转化成更通用的问题特征图。接着利用问题主题词在知识图谱中提取相关的节点,构成主题图。最后把问题中的特征与主题图中的特征进行组合,通过分类器学习特征的权重。

Bast等人[33]提出了一种端到端的系统可以自动将自然语言问题转化成SPARQL查询语言。以交互方式回答问题,要求用户反馈关键决策,大大提高准确性。

3.2.2 基于深度学习的方法

基于特征工程的方法需要预先定义并抽取特征,受主观因素限制,并且难以处理复杂问题。而深度学习可以很好地解决这些问题,通过神经网络把问题和候选答案映射为空间向量,然后进行匹配。

Yih等人[34]〗使用卷积神经网络解决单关系问答。通过CNN构建两个不同的匹配模型,分别用来识别问题中出现的实体和匹配实体与KG中实体的相似度,最后给所有关系三元组打分,分数最高的三元组作为问题的答案。但是模型难以处理复杂的多关系情况。Hao等人[35]更关注问题的表示,提出了一种新的基于cross-attention的模型,根据不同的答案类型赋予问题中不同单词的权重,这种动态表示不仅精确而且更加灵活。

4 知识图谱用于机器阅读理解问答

除了知识图谱问答,知识图谱还能用于机器阅读理解问答。机器阅读理解要求从给定的文章中提取信息回答问题,而当人类在做阅读理解任务时,利用给定上下文回答问题的同时,也会利用一些先验知识。

百度Sun等人发布的ERNIE(enhanced representation from knowledge integration)模型,在预训练时引入了多源数据知识:百科类、新闻资讯类以及论坛对话类数据,通过建模这些海量数据中的词、实体以及实体之间的关系,把知识编码到预训练模型中,增强了模型的语义表示能力。

清华大学Zhang等人提出ERNIE(enhanced language representation with informative entities)模型,不同于百度通过MASK的方法隐式地引入知识,清华的ERNIE通过改进BERT模型结构,将知识和语义信息显式地在预训练时进行编码学习。模型在编码过程中引入一个聚合器(aggregator)用于知识编码以及知识融合,有效解决了结构化的知识编码和异质信息融合问题。

Liu等人提出了K-BERT(knowledge-enabled bidirectional encoder representation from transformers)模型,在模型中引入了软定位和可见矩阵来限制知识的影响。首先把句子中提到所有的命名实体提取出来去知识图谱中查询对应的三元组,然后把提取的三元组引入句子中生成句子树,以此来引入知识,提高模型的表达能力。

上面的这三种模型都是在模型预训练阶段引入知识图谱,Yang等人提出了KT-Net(knowledge and text fusion net),模型的知识整合(knowledge integration)模块在面向下游任务的微调阶段引入知识图谱中的信息。

其中知识表示是在整个知识图谱上学习的嵌入表示,能够捕获整个知识图谱的全局信息,并且知识融合也易于扩展至融合多个知识图谱的信息。上述提到的把知识图谱信息引入机器阅读理解的模型也汇总到表3中。

表3 机器阅读理解问答模型对比

续表3

5 挑战与研究方向

近年来国内外涌现出多种把知识图谱应用于问答的方法,在取得很大进展的同时仍然存在不同方面的挑战。本章简单介绍当前研究的几个瓶颈问题,并提出下一步的研究方向。

5.1 存在的挑战

(1)知识图谱的数据问题。知识图谱数据的质量显著影响着问答系统的性能,如何确保知识图谱中数据广而准确非常关键。目前知识图谱大多存在噪声、数据稀疏、数据冗余等问题,这些问题会给问答系统带来影响。

(2)用户复杂查询转化成逻辑形式的问题。KGQA中的一大难点便是如何把用户提出的自然语言查询转化成机器可以理解的逻辑形式。实际应用中用户提出的往往是复杂问题,如何得到复杂问题的通用解决范式也是一大挑战。

(3)机器阅读理解问答引入知识的问题。在长尾问题、少样本问题、样本不均衡问题等背景下,引入哪些知识,如何引入知识是需要探索的方向,更具体的,使用何种方法把知识和文本语义信息融合起来,判断哪些知识是相关的都是值得探索的。

5.2 下一步研究方向

(1)尝试多个知识图谱信息融合。针对知识图谱数据质量低下的问题,考虑结合多个知识图谱,保留不冲突、不重复的信息,可以一定程度上解决数据稀疏问题。同时可以检测知识图谱之间的冲突信息,并进行消解和避免,以此解决噪声问题。

(2)借助于不断涌现的语言模型强大的表示能力,从语义层面解析问题。近年随着语言模型的飞速发展,使用语言模型得到问题的表示,再到知识图谱中查询会是未来的研究方向。

(3)知识图谱用于多跳问答推理。多跳问答是机器阅读理解问答的一大研究热点,回答多跳问答需要结合多篇文章甚至外部知识,如何把知识图谱中的信息有效利用起来会是接下来的研究方向。

(4)基于迁移学习的知识图谱问答系统。由于某些领域没有知识图谱或者知识图谱规模小,大量有标注的样本难以获得,考虑使用迁移学习解决这一问题。

6 结束语

该文从两个方面介绍了知识图谱在智能问答中的应用,对比了多个常用的数据集,概括了主流的方法以及存在的问题。智能问答作为自然语言处理的一个重要分支,能够从海量数据中简明扼要地给出用户需要的答案,便于用户获得精准信息。而知识图谱作为自然语言处理的另一个重要分支,被广泛地应用于智能问答、推荐系统、搜索引擎以及辅助决策等领域,也是实现自然语言理解的重要一环。实现知识图谱和智能问答的有机结合,则有望让机器像人类一样去理解和回答问题,是使机器实现知识应用并能够与真实世界交互的关键环节。因此,在自然语言处理领域飞速发展的过程中,把知识图谱应用于智能问答研究意义重大。

猜你喜欢

图谱编码语义
真实场景水下语义分割方法及数据集
基于图对比注意力网络的知识图谱补全
HEVC对偶编码单元划分优化算法
“植物界大熊猫”完整基因组图谱首次发布
住院病案首页ICD编码质量在DRG付费中的应用
图表
汉语依凭介词的语义范畴
论纪录片影像中的组合编码运用
不断修缮 建立完善的企业编码管理体系
中国知名官方智库图谱