论文解读:Multi-Task Learning with Multi-View Attention for Answer Selection and Knowledge Base Question
知识图谱问答的任务目标是在给定一个自然问句以及对应的知识库下,找到正确的答案(实体)。本文则通过多任务学习的框架,利用多视角注意力机制完成知识图谱问答任务。
1、什么是知识图谱?
知识图谱是近年来非常热门的研究内容,现如今可以和自然语言处理、计算机视觉一并作为一个新的研究领域。知识图谱通常可以抽象为知识库,其主要由一系列的三元组构成。具体的知识图谱研究综述可参考:基于深度学习的知识图谱综述
2、什么是知识图谱问答?
给定一个问句 以及一个知识库 , 其中 分别代表实体集合,关系集合和三元组集合。实体集合相当于图中的结点,关系集合相当于图中边的种类,而三元组集合则表示为一组具有边相邻的实体对,通常也称为事实,记做。
知识图谱问答的任务就是根据问句去从知识库中寻找正确的答案。
知识图谱问答通常包括几个步骤:
(1)提取问句的中心词,该词通常为主题词,或者主题实体。例如在询问“香港是什么时候回归祖国的?”, “香港”则是主题词,所寻找的答案则是围绕该主题词的;通常这一步骤包括命名实体识别、实体链接和消歧等子任务;
(2)提取语义(关系检测):识别该问句的目标答案与主题词的关系。例如上面的问句,“回归祖国”则是“香港”与“祖国”的关系,而“祖国”则与知识库中的“中国”是链接的;
(3)知识推理与筛选:根据问句的中心词(主题实体),通常可以根据实体链接获得知识库中的实体,因此知识库中对应的实体(通常不止一个)以及对应的多跳范围内即可组成一个子图,因此形成了候选的实体集合。因此基于此,可以对其进行推理和筛选。
在通常情况下,可能会有多个答案实体,称为候选实体,因此知识图谱问答的一般步骤则是先确定一个比较小的候选答案集合,再根据语义排序方法挑选一个或一组答案。
3、多任务学习框架
多任务学习是近年来比较成熟的深度学习框架,其旨在通过一个模型来同时学习多个不同的子任务,整个过程也是端到端的训练过程。主要的多任务学习框架包括如下图四种,从左到右分别是硬共享、软共享、分层共享和私有共享。一般常用的是第一个,本文也选择第一个作为多任务学习模型。
本文基于多任务展开知识图谱问答任务,作者提出两个任务,分别是Answer Selection(AS)和KBQA。其中AS表示根据问句筛选候选答案,KBQA则是根据问句寻找正确的答案。这两个任务都有共同之处便是寻找答案实体,但不同之处在于挑选答案的数量不同。主要的框架如下图所示:
其主要采用的硬共享模式,输入层(浅蓝色)分别对应KBQA和AS两个任务。其中左侧的两个对应于问句Q,右侧的两个对应于答案(实体)A。Q与A都分别将两个任务的输入通过LSTM进行编码,并在共享层进行融合。具体蓝色的内部如下如所示:
图中的两个输入分别对应于Q或者A的编码层,输入部分包括word-leve和knowledge-leve,其分别是问句Q(或答案A)的词级别向量和知识级别的向量。词向量即是自然语言处理中通用的类似word2vec等预训练词向量,使用LSMT编码;而知识向量则是将问句或答案中的与知识库对应的实体组成的向量,因为这些实体都是离散的,没有先后顺序,因此使用CNN编码。LSTM和CNN编码后均形成一个向量,两者拼接即可得到对应的向量,具体公式如下图:
其中是包含6个人工特征的向量,每个元素代表0或1。
4、多视角注意力
整个模型的图如下所示:
图中一共有5个多任务模块,其中每个用手画的方块均代表一个多任务模块,每个模块里的两个黑色(或蓝色)框代表KBQA或AS任务的问句Q和答案A。每个任务模块都包含两个输出,因此分别有5个加权求和(注意力),为了更加清晰的描述,本文对图进行了分解,并追加公式进行理解:
Att1和Att2:
Att3和Att4:
Att5:
因此,对于问句Q和答案A,均会得到的5个权重(被称为多视角注意力),作者再次对这5个权重进行一次加权求和:
其中表示的是问句Q对应每个权重的权重,即权重的权重,作者在实验中设定。即相当于平均。
5、实验
作者在如下几个数据集上进行了实验:
(1)整体实验对比
作者选择了一些基线模型,并在上述几个数据集上进行了实验。其中[email protected]表示对
(2)消融实验
作者进行了消融实验,其中STL是单任务,MTL是多任务,原始方法有5个视角注意力,当分别去掉某一个注意力时,效果逐渐变差,说明当同时考虑5个视角时,效果最优。该结论不论是在单任务还是多任务情况下都成立。