本文提出了一种基于共享span表示进行多任务分类的框架(实体分类、关系分类、共指消解),将科学文献摘要抽取成知识图。
Accepted by: EMNLP 2018 Paper link:http://ssli.ee.washington.edu/~luanyi/YiLuan_files/EMNLP2018_YL_sciIE.pdf
该论文提出了SCIERC数据集,包括了500个科学摘要,标记了其中的实体类型、实体间的关系以及共指关系。
下载链接:http://nlp.cs.washington.edu/sciIE/
在低级别任务间共享参数,将三个任务看成共享span表示的多项分类问题
输入:单词序列 \(D = {w_1, ...,w_n}\);
所有可能的句内词序列span \(S = {s_1, ... , s_N}\)
输出:所有Span(即S)的实体类型E;
\(S \times S\)的关系R;
S中所有span的共指关系C
将多任务学习定义为条件概率分布: \(P(E,R,C|D)\)
为了高效地训练和推理,将该分部拆分成: \(P(E,R,C|D) = P(E,R,C,S|D) = \prod^N_{i=1} P(e_i |D) P(c_i | D)\prod^N_{j=1}P(r_{ij}|D)\)
其中每个随机变量的条件概率是独立标准化的: \[P(e_i= e|D) = \frac{exp(\Phi_E (e,s_i))} {\sum_{e' \in L_E} exp(\Phi_E(e',s_i))}\] \[P(r_{ij}= r|D) = \frac{exp(\Phi_R (r,s_i,s_j))} {\sum_{r' \in L_R} exp(\Phi_R(r',s_i,s_j))}\] \[P(c_i= j|D) = \frac{exp(\Phi_C (s_i,s_j))} {\sum_{j' \in \{1,...,i-1,\epsilon \}} exp(\Phi_E(e',s_i))}\]给定一组所有文档D,模型损失函数被定义为所有三个任务的负对数似然丢失的加权和:
\[-\sum_{(D,R^*,E^*,C^*) \in D} \{\lambda_E logP(E^* |D) + \lambda_R logP(R^*|D) + \lambda_C log P(C^*|D)\}\]
\(R^*, E^*, C^*\) 为goal。 令\(C_i^*\) 为span i里所有正确的祖先。即: \[log P(C^*|D = \sum_{i=1...N}log\sum_{c \in C^*_i} P(c|D))\] ## 打分结构 - 在共享跨度表示g上使用前馈神经网络(FFNN)来计算一组跨度和成对跨度的分数。
- $\phi_e(s_i)$:一个跨度$s_i$有一个实体类型e的可能性;
- $\phi_{mr}(s_i)$跨度$s_i$在一个关系r中被提到的可能性;
- $\phi_{mc}(s_i)$跨度$s_i$在一条共指链接中被提到的可能性
- $\phi_r(s_i,s_j)$两个跨度与一个关系相结合的可能性;
- $\phi_c(s_i,s_j)$两个跨度与一条共指链接相结合的可能性
- $g_i$:$s_i$的向量表示 (ELMo):连接来自BiLSTM的输出的$s_i$的左端点和右端点,基于注意力的软词条,嵌入span的宽度特征
- span打分以及成对的span打分的计算方式:
$$
\phi_x(s_i) = w_x \dot FFNN_x(g_i)
\phi_y(s_i,s_j)=w_y \dot FFNN_y([g_i,g_j,g_i \odot g_j])
$$
使用波束搜索,根据打分排序减少训练和测试中成对的span的数量以将计算复杂度降低到\(O(n)\).
使用\(B_C\)修剪共指消解任务中的span,使用\(B_R\)修剪关系抽取任务中的span。
使用span score \(\phi_{mc}\)和 \(\phi_{mr}\)对波束中的span进行排序,波束的大小用\(\lambda_Cn\)和\(\lambda_Rn\)进行约束。span的最大宽度为W。
为了构建整个语料库中的知识图,先将SCIIE用于单个文档(摘要),再将多个文档中的实体和关系集成。