Multi-Task Identification of Entities, Relations, and Coreference for Scientific Knowledge Graph Construction
本文提出了一种基于共享span表示进行多任务分类的框架(实体分类、关系分类、共指消解),将科学文献摘要抽取成知识图。
Accepted by: EMNLP 2018 Paper link:http://ssli.ee.washington.edu/~luanyi/YiLuan_files/EMNLP2018_YL_sciIE.pdf
Challenge
- 尽管搜索引擎取得了进步,但仍然很难确定新技术及其与之前技术存在的关系
- 科学文本的注释需要领域专业知识,这使得注释成本高昂并限制了资源
- 大多数关系提取系统都是针对句内关系而设计的,但是从科学文章中提取信息需要提取句子之间的关系
Contribution
- 开发了一个统一的学习模型(科学信息提取器框架, SCIIE),用于提取科学实体、关系和共指消解
- 创建了SCIERC数据库,包含科学名词、关系类别以及共指链接的标注(500个标注的科学摘要)
- 6种实体
- 7种关系
- 共指链接在实体间的标注
Dataset
该论文提出了SCIERC数据集,包括了500个科学摘要,标记了其中的实体类型、实体间的关系以及共指关系。
下载链接:http://nlp.cs.washington.edu/sciIE/
Model
主要思想
在低级别任务间共享参数,将三个任务看成共享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])
$$
- 这些分数被用于计算最终打分: \[\Phi_E (e,s_i) = \phi_e(s_i)\] \[\Phi_R (r,s_i,s_j) = \phi_{mr}(s_i) + \phi_{mr}(s_j) + \phi_r(s_i,s_j)\] \[\Phi_C (s_i,s_j) = \phi_{mc}(s_i) + \phi_{mc}(s_j) + \phi_c(s_i,s_j)\]
推理和剪枝
使用波束搜索,根据打分排序减少训练和测试中成对的span的数量以将计算复杂度降低到\(O(n)\).
使用\(B_C\)修剪共指消解任务中的span,使用\(B_R\)修剪关系抽取任务中的span。
使用span score \(\phi_{mc}\)和 \(\phi_{mr}\)对波束中的span进行排序,波束的大小用\(\lambda_Cn\)和\(\lambda_Rn\)进行约束。span的最大宽度为W。
KG Construction
为了构建整个语料库中的知识图,先将SCIIE用于单个文档(摘要),再将多个文档中的实体和关系集成。
- 结点(实体)抽取
- 句子被启发式地标准化
- 利用共指链接,将不通用词汇替换为通用词汇
- 采用字符长度最长的实体名称(使用全名替代首字母缩略)
- 使用单数标准化所有复数
- 计算整个语料库中的实体出现频率
- 出现频率>k的实体为它分配结点
- 将频繁出现的、为子字符串的剩余实体进行合并
- 句子被启发式地标准化
- 边(关系)分配
- 在整个语料库中计算一对实体间的关系出现频率,选择频率最大的关系