论文浅尝 | Question Answering over Freebase

2018 年 1 月 9 日 开放知识图谱 花云程
论文浅尝 | Question Answering over Freebase

Dong,L., Wei, F., Zhou, M., & Xu, K. (2015). Question Answering over Freebasewith Multi-Column Convolutional Neural Networks. Meeting of the Association forComputational Linguistics and the, International Joint Conference on NaturalLanguage Processing (pp.260-269).


动机


基于知识图谱的问答系统(KBQA),旨在利用知识图谱覆盖领域内的三元组,来回答一些事实性问题。处理 KBQA 问题,其关键在于两个方面:实体识别/链接,关系映射。其中,最重要的工作是关系映射,即将问题中的关系模式(relation pattern),或称谓词指称,映射为知识图谱中连接实体的关系。为了解决这个问题,传统的方法为使用模板。对于训练语料中覆盖的模板,固然可以精确地从模板映射到某个关系。但是模板覆盖的范围有限,而且需要大量的人为标注和模板统计工作,会耗费大量的人力。对于模板没有覆盖的问题,就有很大的概率无法正确回答。为了解决这个问题,本文引入了卷积神经网络,旨在建立一个端到端的问答系统,将自然语言问句与知识图谱映射到同一个向量空间,从语义上理解问题,而非通过规则的堆砌来解决 KBQA 问题。

本文为了引入更丰富的信息,从三个角度:答案路径、答案上下文、答案类型对候选实体进行理解,并尽量从问题中找到与候选实体近似的语义,从而推测出正确的答案实体。

 

贡献


文章的贡献有:

1)设计了基于 CNN 的端到端语义模型,解决 KBQA 问题;

2)同时训练自然语言问句词向量与知识图谱三元组,将问题与知识图谱映射到同一个语义空间;

3)从三个方面考察候选实体与候选实体的上下文,而不是从问句去进行谓词映射,从一个新颖的角度处理 KBQA 问题。

4)实验效果表面,本文提出的方法是 state-of-the-art 的。

 

方法


本文从三个角度来理解问题,试图找到最可能的候选答案。该文主要聚焦于三个方面:答案路径(answer path)、答案上下文(answer context)和答案类型(answer type)来分析问题和答案的相似度。每一个方面都对应一个训练好的卷积网络,以此来回答问题。这三个 CNN 被称为多列卷积神经网络(Multi-Column convolutional neural networkMCCNNs)。

该模型的主要设计框架如下:首先利用命名实体识别、实体链接等技术,从自然语言问句中找到KB中对应的实体,然后将该实体连接的每个实体,都视为一个候选答案实体。找到候选答案实体后,对候选答案实体从答案路径、答案上下文、答案类型进行向量的映射。具体映射方式为将相关实体或属性对应的向量进行累加(如构成答案路径的属性边的向量累加),从而形成三个向量:g_1(a),g_2(a), g_3(a)。同时,利用三个 CNN 分别对问句从三个方面(答案路径、答案上下文、答案类型)进行卷积,得到三个向量:f_1(a),f_2(a), f_3(a)。有这些向量,最终可以对问题-候选答案进行评分,评分公式为:


根据计算结果得到最高分的就是问题答案。

 

下面对方法细节进行阐述。

首先,是找到候选答案实体。模型中,识别出来的实体,在一定范围内相连的其他实体(经过一跳或两跳),都视为候选实体,形成一个候选实体集合 c_q

其次,是对自然语言问句的卷积计算。如图1所示,每一个 CNN,首先对问题中所有的词赋予一个预训练好的初始词向量,并根据上下文窗口(窗口大小为5)进行拼接;再经过卷积计算、最大池化得到定维的向量。最后将这三个向量与候选问题映射的三个向量进行加权求和,得到最后的问题-候选答案打分。三个 CNN 的输入都是单词向量,而不同的是每个网络的参数不同,得到的向量也不同。此外,需要注意的是,在 MCCNN 中,词向量也是待学习的参数,也就是说,每次的 loss 反向传播都会更新词向量。

1 MCCNNs框架图


再次,是对候选答案的向量映射。模型将 KB 中所有的实体、关系和答案类型都映射为事先初始化的向量,并组成一个知识图谱向量矩阵,每个实体和关系都可以从矩阵中找到对应向量,而这个矩阵的参数也在训练中被更新。如同词向量一样,训练完成后,知识图谱的实体与关系映射的向量也得到相应的更新。

对于答案路径的映射,首先是找到路径。在模型中,问题中的实体与答案实体之间相连的关系(一跳或两跳),即为路径。如图 1 所示,实体“Avatar”与答案实体“2009-12-17”之间由“release_date_s”“cate_release_date”这两个关系相连,这两个关系就组成路径。路径对向量的映射,就是在知识图谱向量矩阵中找到关系对应的向量,并求平均值。

对于答案上下文的映射,就是在与问题路径相关的一跳实体和关系,都视为答案上下文。如图1中所示,“release_date_s”“m.0gdp17z”“cate_release_date”形成了一个答案路径,那么与这三个元素相连的单跳实体或关系就是上下文。上下文对向量的映射,也是找到这些元素对应的向量求平均值。

对于答案类型的映射,即对于候选答案实体,确定其答案类型,并从知识图谱向量矩阵中找到映射的向量。比如图1中,“2009-12-17”的答案类型为“datetime”,而“JamesCameron”的答案类型为“person”“film.producer”。映射方法也是求平均值。

由此,问题的三个向量和候选答案的三个向量,就已经得到,进行点积计算并求和后,就得到最终评分。

最后进行训练。损失函数为


其中mmarginS(q,a) 为问题-正确答案对的相似度,S(q,a`) 为问题-随机答案对的相似度。随机答案是从候选答案集 c_q 中随机抽取的答案,视为负例。目标函数是使该损失函数最小:

|A_q|是一个问题的正确答案数量,R_q 是随机答案集合。模型使用反向传播来训练,并使AdaGrad 来解决非凸函数问题,并且使用了 max-norm regularization技术。此外,由于 WIKIANSWERS 有平行问题,所以采用平行问题来额外训练模型,即平行问题(paraphrased questions)应该经过卷积后有类似的向量。所以将平行问题作为正例,随机抽取的非平行问题作为负例,设置 margin 损失函数,并最小化损失函数为目标进行模型训练,而训练过程如前所述。


实验


从图 2 所示的表格可以见到,当前系统的方法,比使用传统 semantic parser(即模板)和使用粗放词向量相加来表示问题的 Bordes 方法,有了显著提高。

2 问答系统实验效果比较


另外,从图3可见,从多列模型中,去除 path 网络(w/o path),实验效果下降最多,可知道 path 对问题理解最为重要;而如果只使用一种方法来理解问题(w/o multi-column),比从多个维度理解问题,效果差很多;另外,平行问题(w/oparaphrase)的训练也提高了实验效果。


3 实验方法效果比较

除此之外,这篇文章中还做了两个有趣的实验。

其一是寻找句子中的显著词。所谓显著词,就是如果将该词用一个停用词(of/a/is/to)来替代,句子的语义变化最大(卷积出来的向量与原始句子的向量做欧氏距离计算,值为最大),那么这个词就是显著词。

4 显著词实验


如上图 4 所示,柱状条代表该词的显著程度(即前述计算出来的欧氏距离)。可见 wh-疑问词(如whatwhowhere)、与疑问词相连的名词或动词(如typespeak)是最为显著的,也就是说,这些词最能体现出问句的语义,是重要的关键词。

其二是通过卷积出来的向量,从三个维度去观察,是否真的相似,即通过三个维度考察的句子,是否真的有聚类效应。

5 句子聚类实验


如上图 5 所示,每一列都代表,通过答案路径、答案类型、答案上下文的映射向量,所找到的最相近向量所对应的句子。从这三列可以看到,基本都能将最相近的答案路径、答案类型、答案上下文的问句找到,即可以通过模型训练出来的问句卷积神经网络,找到语义最相似的句子。

这篇文章,作者从三个角度去理解问题和候选答案,并找到最佳预测答案,这样可以更加精细地理解问题语义,准确地找到答案,并且可以附加训练出词向量词典和知识图谱向量词典。当然,如果实体链接没有正确找到实体,或者遇到时间判断的问题(谁是**的第二任妻子),或者问题问得很模糊(**是谁,是问这个人的身份,还是这个人的职位?),模型处理效果都不佳,这些都需要以后去解决。此外,大量的参数(词向量、知识图谱、三个卷积神经网络)都是训练生成,那么训练的调参就非常重要,找到最佳参数相对更加困难,训练时间也更长,这些都是有可能妨碍模型效果的问题,需要在实践中积累经验。

 

论文笔记整理:花云程,东南大学博士,研究方向为自然语言处理、深度学习、问答系统。



OpenKG.CN


中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

转载须知:转载需注明来源“OpenKG.CN”、作者及原文链接。如需修改标题,请注明原标题。

点击阅读原文,进入 OpenKG 博客。

登录查看更多
16

相关内容

自动问答(Question Answering, QA)是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。不同于现有搜索引擎,问答系统是信息服务的一种高级形式,系统返回用户的不再是基于关键词匹配排序的文档列表,而是精准的自然语言答案。近年来,随着人工智能的飞速发展,自动问答已经成为倍受关注且发展前景广泛的研究方向。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
小贴士
相关资讯
论文浅尝 | 基于知识库的自然语言理解 04#
开放知识图谱
12+阅读 · 2019年3月14日
论文浅尝 | Global Relation Embedding for Relation Extraction
开放知识图谱
11+阅读 · 2019年3月3日
论文浅尝 | 基于知识库的自然语言理解 01#
开放知识图谱
12+阅读 · 2019年2月22日
论文浅尝 | 近期论文精选
开放知识图谱
5+阅读 · 2018年7月8日
论文浅尝 | 基于知识图谱子图匹配以回答自然语言问题
开放知识图谱
24+阅读 · 2018年6月26日
论文浅尝 | 基于知识图谱的子图匹配回答自然语言问题
开放知识图谱
20+阅读 · 2018年5月17日
论文浅尝 | 基于知识图的问答变分推理
开放知识图谱
6+阅读 · 2018年5月6日
论文浅尝 | 利用 RNN 和 CNN 构建基于 FreeBase 的问答系统
开放知识图谱
11+阅读 · 2018年4月25日
论文浅尝 | 基于Freebase的问答研究
开放知识图谱
5+阅读 · 2018年3月26日
论文浅尝 | Improved Neural Relation Detection for KBQA
开放知识图谱
11+阅读 · 2018年1月21日
相关VIP内容
FlowQA: Grasping Flow in History for Conversational Machine Comprehension
专知会员服务
14+阅读 · 2019年10月18日
相关论文
Message Passing for Complex Question Answering over Knowledge Graphs
Svitlana Vakulenko,Javier David Fernandez Garcia,Axel Polleres,Maarten de Rijke,Michael Cochez
6+阅读 · 2019年8月19日
Fréderic Godin,Anjishnu Kumar,Arpit Mittal
5+阅读 · 2019年4月3日
Zi-Yuan Chen,Chih-Hung Chang,Yi-Pei Chen,Jijnasa Nayak,Lun-Wei Ku
4+阅读 · 2019年4月2日
Reza Ghaeini,Xiaoli Z. Fern,Hamed Shahbazi,Prasad Tadepalli
4+阅读 · 2018年6月1日
Yingqi Qu,Jie Liu,Liangyi Kang,Qinfeng Shi,Dan Ye
3+阅读 · 2018年4月28日
Lin Qiu,Hao Zhou,Yanru Qu,Weinan Zhang,Suoheng Li,Shu Rong,Dongyu Ru,Lihua Qian,Kewei Tu,Yong Yu
4+阅读 · 2018年4月10日
Daniel Gordon,Aniruddha Kembhavi,Mohammad Rastegari,Joseph Redmon,Dieter Fox,Ali Farhadi
5+阅读 · 2018年4月5日
Mohnish Dubey,Debayan Banerjee,Debanjan Chaudhuri,Jens Lehmann
15+阅读 · 2018年1月16日
Ferenc Galkó,Carsten Eickhoff
9+阅读 · 2018年1月9日
Tomasz Jurczyk,Amit Deshmane,Jinho Choi
5+阅读 · 2018年1月6日
Top