文章目录
ACL 2017
http://aclweb.org/anthology/P/P17/P17-1021.pdf
摘要
我们提出了一个端到端的神经网络模型,通过交叉注意机制,根据不同的候选答案方面动态地表示问题及其相应的分数。另外,我们利用知识库中的全局知识,将丰富的知识库信息集成到答案的表示中。
Introduce
针对Dong et al.(2015)提出的三个卷积神经网络的方法,作者认为简单地选择三个独立的cnn是机械的和不灵活的。
所以提出了交叉注意模型,交叉注意模型代表了问题和答案两个方面的相互关注,它包括两个部分:回答-对问题注意部分和问题-对回答的注意部分。
前者有助于学习灵活、充分的问题表征,后者有助于调整问题答案权重,得到最终得分。注意,本文提出的模型是一个完整的端到端方法,它只依赖于训练数据。一些使用额外模式和资源的集成系统无法直接与我们的系统相比。我们的目标是沿着端到端KB-QA技术路线探索更好的解决方案。
我们注意到,知识库资源(实体和关系)的表示在以前的工作中也受到限制。具体地说,他们十有八九是从QA训练数据中学到的,这导致了两个限制。
- 知识库的全局信息不足。例如,如果训练数据中出现问答对 ( q , a ) (q,a) (q,a),全局知识库信息表明` a ′ a′ a′与 a a a相似,用 ( a ∼ a ′ ) (a∼a′) (a∼a′)表示,则 ( q , a ′ ) (q,a′) (q,a′)更可能是正确的。然而,现有的QA训练机制并不能保证 ( a ∼ a ′ ) (a∼a′) (a∼a′)可以被学习。
- 词汇表外(OOV)问题尤为突出。由于训练数据的覆盖范围有限,在测试过程中,OOV问题十分普遍,而且在测试候选集中有许多答案单元是从未见过的。由于这些资源共享同一个OOV嵌入,它们的注意力变得相同,这将对所提出的注意力模型造成损害。
为了解决这两个问题,除了原始的问答对之外,我们还将知识库本身作为训练嵌入的训练数据。这样,就可以捕捉到整个知识的全局结构,从而自然地缓解OOV问题。
Overview
- 首先,我们确定问题的主题实体,并从Freebase生成候选答案。
- 然后,利用基于交叉注意的神经网络来表示受候选答案方面影响的问题。
- 最后,计算出问题与每个对应的候选答案之间的相似度得分,得出得分最高的候选答案作为最终答案。
方法
候选生成
使用Freebase API确定topic实体,收集和实体相连的两度内的实体作为候选集合 C q C_q Cq。
Neural Cross-Attention Model
提出了一种基于交叉注意的神经网络,它根据不同的答案动态地表示问题,并考虑了它们之间的联系。具体来说,答案的每一个方面都集中在问题的不同词汇上,从而决定了问题的表达方式。然后问题对答案的各个方面给予不同的关注来决定它们的权重。
问题表征
使用word embedding和Bi-LSTM提取问题表征。
答案表征
分为四个方面:
answer entity a e a_e ae, answer relation a r a_r ar , answer type a t a_t at and answer context a c a_c ac。
其中answer context包含m个KB资源,最终计算平均值:
e c = 1 m ∑ i = 1 m e c i e_c = \frac{1}{m} \sum_{i=1}^m e_{c_i} ec=m1i=1∑me