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/

annotation
Fig 1.标注实例.

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))}\] Overview
Fig 2. 多任务设置,三个任务被看做是顶层共享Span表示的分类问题.

目标函数

给定一组所有文档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的实体为它分配结点
      • 将频繁出现的、为子字符串的剩余实体进行合并
  • 边(关系)分配
    • 在整个语料库中计算一对实体间的关系出现频率,选择频率最大的关系
知识图谱构建过程
Fig 3. 知识图谱的构建过程.
自动构建的知识图
Fig 4. 自动构建的知识图.

Results

RESULT
Table 1. 三个任务上与其他系统的性能对比.
ablation
Table 2. 多任务学习的消融研究.

KG Analysis

科学趋势分析

科学趋势分析
Fig 5. 关键词 神经网络 在NLP.Y轴:在该任务中使用神经网络的论文与使用其他论文的比例.