论文出处:ACL 2015
论文地址:https://www.aclweb.org/anthology/P15-1026/
摘要
- 引入多列卷积神经网络(MCCNNs)从三个不同的角度(即答案路径、答案文本和答案类型)理解问题,并学习它们的分布表示。
- 在知识库中共同学习实体和关系的低维嵌入。
- 利用问题释义,以多任务学习的方式训练multi-task网络。
- WEBQUESTIONS
设置
- 给出一个自然语言问题。我们从FREEBASE中检索相关的实体和属性,并将它们作为候选答案。
方法
- 和实体相关节点被视为候选答案节点 C q C_q Cq
- 对于每个候选答案 a a a,该模型预测一个分数 S ( q , a ) S(q,a) S(q,a),以确定该答案是否正确。
- 每一个问题和答案都有三部分的表征,分别为:路径、文本和类型,
f
1
(
q
)
,
f
2
(
q
)
,
f
3
(
q
)
f1(q),f2(q),f3(q)
f1(q),f2(q),f3(q)和
g
1
(
a
)
,
g
2
(
a
)
,
g
3
(
a
)
g1(a),g2(a),g3(a)
g1(a),g2(a),g3(a)。
候选生成
- eebase Search API (Bollacker et al., 2008)检索问题中的实体。
- 实体就检索名词短语。
- 到两条内的额节点作为候选答案,被标注为候选集 C q C_q Cq.
MCCNNs
- 编码层:对于问题 q = w 1 , w 2 , . . . , w n q=w_1,w_2,...,w_n q=w1,w2,...,wn。transforms层将每个单词转换成一个向量 w j = W v u ( w j ) w_j=W_vu(w_j) wj=Wvu(wj),其中 W v ∈ R d v × ∣ V ∣ W_v∈R^{d_v \times |V|} Wv∈Rdv×∣V∣ 是单词嵌入矩阵, u ( w j ) ∈ ( 0 , 1 ) ∣ V ∣ u(w_j)∈ (0,1)^{|V|} u(wj)∈(0,1)∣V∣是 w j w_j wj的one-hot表示, ∣ V ∣ |V| ∣V∣是词汇表大小。word embedding是参数,并在训练过程中更新。
- 卷积层通过滑窗的形式计算表征。
- 使用最大赤化成得到固定尺寸向量表示。
编码候选答案
答案路径
答案路径通过的向量表征通过
g
1
(
a
)
g1(a)
g1(a)来计算:
g
1
(
a
)
=
1
∣
∣
u
p
(
a
)
∣
∣
1
W
p
u
p
(
a
)
g_1(a) = \frac{1}{||u_p(a)||_1}W_p u_p(a)
g1(a)=∣∣up(a)∣∣11Wpup(a)
其中 u p ( a ) u_p(a) up(a)是一个二进制向量,表示应答路径中每个关系的存在与否, W p W_p Wp是一个参数矩阵, ∣ R ∣ |R| ∣R∣是关系的数量。
答案上下文
连接答案的一度实体和关系被认为是答案的上下文。用来处理问句中的约束。其中上下文的表征为
g
2
(
a
)
g2(a)
g2(a),被表示为:
g
2
(
a
)
=
1
∣
∣
u
c
(
a
)
∣
∣
1
W
c
u
c
(
a
)
g_2(a) = \frac{1}{||u_c(a)||_1}W_c u_c(a)
g2(a)=∣∣uc(a)∣∣11Wcuc(a)
其中Wc是参数矩阵,
u
c
(
a
)
u_c(a)
uc(a)是一个二元向量,表示上下文节点的存在与否,而
∣
C
∣
|C|
∣C∣是答案上下文中出现的实体和关系的数量。
答案类型
关系的向量表征被表示为
g
3
(
a
)
g3(a)
g3(a),倍表示为:
g
3
(
a
)
=
1
∣
∣
u
t
(
a
)
∣
∣
1
W
t
u
t
(
a
)
g_3(a) = \frac{1}{||u_t(a)||_1}W_t u_t(a)
g3(a)=∣∣ut(a)∣∣11Wtut(a)
其中 W t Wt Wt是类型编码矩阵, u t ( a ) u_t(a) ut(a)是一个二进制向量,表示答案类型的存在或意义, ∣ T ∣ |T| ∣T∣是类型的数量。
模型训练
对于每一个正确的答案,随机从 C q C_q Cq中采样 k k k个负样本进行训练。使用合叶损失优化,其中间隔阈值设定为 m m m。
推理
-
推理的过程取得分最高的作为答案。
-
针对有些问题有多个答案,和最高分数差训练过程中设置的阈值 m m m即为正确的答案。
-
启发式学习的方法处理候选样本过多的问题。
多任务学习中的问题释义
使用问题释义数据集WIKIANSWERS来概括在问答训练集中不存在的词和问题模式。
实验
消融实验
突出词检测
实验
错误分析
- 实体链接错误,导致路径生成错误。
- 时间意识问题,在判断的过程中需要对问句中的描述进行时间的对比。
- 歧义问题。