Dawn's Blogs

分享技术 记录成长

0%

关系抽取论文 End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures

论文

End-to-End Relation Extraction using LSTMs on Sequences and Tree

发布年份:2016

会议:ACL

作者:Mokoto Miwa, Mohit Bansal

机构:Toyota Technological Institute

贡献:

  • 这是深度学习联合(Joint)模型的开篇之作。
  • 在训练种加入两个功能,这些功能缓解了训练早期阶段实体检测性能低的问题,并允许实体信息进一步帮助下游关系分类任务。
  • 实体预训练 entity pretraining:预训练实体检测模型。
  • 预定抽样 scheduled sampling:在一定概率的情况下用 gold labels 来代替预测的实体标签。

数据集:ACE05 和 ACE04 用于关系提取;SemEval-2010 Task 8 用于关系分类。用 ACE05 和 ACE04 去训练整个模型,用 SemEval-2010 Task 8 去评估关系分类模块。

传统的关系抽取将该任务看作是有两个子任务的 pipeline,两个子任务依次是命名实体识别(NER)和关系分类。

  • pipeline 型的关系抽取的两个子模块非常灵活,并且是可以替换的。
  • 但是其缺点在于忽略了 NER 与关系分类之间的依赖关系,研究表明 NER 的效果极大程度上的影响了关系分类的效果。除此之外,还会受到错误传播的影响。

端到端的模型(End-to-End,Joint)不同于 pipeline 任务,将两个子任务合并,同时输出实体和其关系。

  • joint 的优点在于它通常比 pipeline 的表现更好,因为实体和关系之间存在依赖关系。

模型结构

模型主要分为以下几个部分:

  • Sequence Layer:作为 Entity Detection 的低层结构,与 Entity Detection 共享 BiLSTM 的参数。
  • Entity Detection:实体检测,产生 entity embedding。
  • Dependency Layer:树型 BiLSTM 结构,用于产生 Relation Classification 的输入。
  • Relation Classification:关系分类。

1666172949434

Embedding Layer

使用四种 embedding,v(w)、v(p)、v(d)、v(e),分别代表 word、POS(词性标注)tags、dependency types、entity labels(通过 Entity Detection 学习)。

Sequence Layer

输入为 word 和 POS embedding:

1666174550011

Sequence Layer 的输出 st 为双向 LSTM 输出的拼接:

1666174605023

Entity Detection

把实体检测看作是一个序列标注任务,用 BILOU(Begin、Inside、Last、Outside、Unit)进行标注。

将 Entity Detection 放在 Sentence Layer 的上层,所以 Entity Detection 的输入为 Sequence Layer 的输出 st 和 entity embedding。经过一个隐藏层和 softmax 层输出实体标签 yt,这就是 v(e)。

1666174712840

Dependency Layer

针对 Child-Sum Tree-LSTM 与类型无关(参数都是一样的)、N-ary Tree-LSTM 要求固定数量的孩子节点的缺点,论文提出了一种新的 Tree-LSTM。

这种 LSTM 的输入为 sentence layer 的输出 st、依存 embedding、实体类型 embedding(Entity Detection 的输出)这三个向量的拼接:

1666183802388

这种新的 Tree-LSTM,对于每种相同类型的孩子共享参数 U,并且允许可变的孩子数量。

1666183177702

在论文中使用了三种树形结构:

  • SPTree(Shortest Path):就是两个目标词在依存树中的最短路径。
  • SubTree:两个目标词的最低公共祖先的整棵子树。这比 SP-Tree 提供了提供额外的更多信息。
  • FullTree:整个依存树,这获取了全部句子的上下文信息。

并且论文还定义了两种节点类型:在最短路径上的节点和其他节点(对于 SP-Tree 只有一种节点类型即在最短路径上的节点,对于其他两种结构则有全部的两种节点类型)。

Relation Classification

实体分类的输入由三个向量构成,分别是两个目标词的最低公共祖先的 Dependency Layer 输出 hpA、两个目标词的 Dependency Layer 输出 hp1 和 hp2:

1666184431366

接着输入两层神经网络之中,最后输入 softmax 得到关系分类结果 yp:

1666184503688

Training

在训练之中,增加了两个功能:

  • 实体预训练 entity pretraining:用训练数据预训练实体检测

  • 预定抽样 scheduled sampling:在一定概率的情况下用 gold labels 来代替预测的实体标签。概率与第 i 个 epoch 和超参数 k 有关,计算公式如下。其中 k 越大,表示越经常使用 gold labels 作为实体检测的输出。

1666185357423

实验结果

比较了论文提出的模型与 state-of-the-art 的基于特征工程的方法,在 ACE05 和 ACE04 上的表现,本文模型效果更好。

1666186227572

消融实验

为了更好的探究模型中各个组成部分的作用,在 ACE05 数据集上进行了消融实验(Ablation Test)。

  • 当去除 Scheduled sampling 时效果轻微的下降,而去除 Entity pretraining 或者二者都去除时效果大幅度下降。因为只有当两个实体被全部正确的发现时,对于 Relation Classification 的训练才是有效果的。如果去除这些增强,可能得到正确实体的时间太晚,导致发现关系的时机太晚。
  • 去除 Label embeddings(Entity Detection 的输出,即实体 embedding)后,Relation Classification 的召回率下降较多,说明实体的标签信息对于关系分类有帮助。
  • 接着去除 Shared parameters(即 embedding layer 和 sequence layer 被 entity detection 和 relation classification 所共享),方法就是独立的训练 entity detection 和 relation classification,看作是 pipeline 模型。结果就是 entity detection 和 relation classification 的效果均有轻微的下降。
  • 移除所有的增强,即 Entity pretraining、Scheduled sampling、Label embedding、Shared parameters,效果显著的降低了。

1666186236284

dependency layer 中不同的 LSTM 结构

接着在 dependency layer 中又探究了不同的 LSTM 结构:

  • 首先探究三种树型 LSTM(SPTree、SubTree、FullTree):
    • 当区分两种节点类型时,即在/不在最短路径上,三种结构的效果类似。
    • 当不区分节点类型(-SP)时,即去除了最短路径的信息,FullTree(-SP)的效果显著降低。
  • 接着又对比了 Child-Sum Tree-LSTM、SPSeq、SPXu,法相效果相当。

这说明,LSTM 的结构不是重要的影响因素,但是输入的 representation(如最短路径)更为重要。

1666186243561

Relation Classification 的评估

在 SemEval-2010 Task 8 数据集上单独测试 Relation Classification 的效果,各个模型对比如下:

1666186302508

接着比较了在 SemEval-2010 Task 8 数据集上不同 LSTM 结构的效果,值得注意的是 FullTree 和 FullTree(-SP)的效果都不是很好,其他 LSTM 比论文提出的 SPTree 效果略差,但是差别不大。虽然在 ACE05 上的结果不同,但是同样说明,LSTM 的结构不是重要的影响因素,但是输入的 representation(如最短路径)更为重要。

1666186264538

最后,探究了在 SemEval-2010 Task 8 上,Relation Classification 各个组成部分的影响因素:

  • 除去 Hidden layer,在 LSTM 后直接接入 softmax 层,结果略微降低。
  • 去除 Sequence layer,直接使用 word 和 POS embedding 送入 dependency layer 时;或者去除 entity embedding (-Pair)时,结果只会小幅度降低。但是同时去除二者,结果下降的比较明显。
  • 使用 Stanford PCFG parser 来替换 Stanford neural dependency parser 后,结果没什么变化(轻微降低),说明 parsing model 的选择不重要。

1666186278020

结论

综上,有三条重要结论:

  • 单词序列(word sequence)和依存树信息(dependency tree)是非常有效果的。
  • 共享参数的训练方式,提升了关系抽取的准确度,尤其是应用了 entity pretraining 和 scheduled sampling 时。
  • 最短路径信息(已经被广泛应用于关系分类之中),对于树型结构的 LSTM 的 represent 也同样适用。

树状 LSTM

Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks

论文原文:https://arxiv.org/pdf/1503.00075.pdf

该论文提出了一种新型的 LSTM 结构,称为 Tree-LSTM。

1666165540623

Tree-LSTM 单元

与标准的 LSTM 单元一样,Tree-LSTM 包含输入门 i、输出门 o,一个记忆单元 c 和一个隐藏状态 h。

但是与标准的 LSTM 单元不同的是,Tree-LSTM 单元包含多个遗忘门 f,对应于每一个子单元,均包含一个遗忘门。

1666165996985

两种结构

论文提出了 Tree-LSTM 结构,Child-Sum 和 N-ary。

Child-Sum Tree-LSTM

Child-Sum 的孩子是无序的,所有的孩子共用一个遗忘门参数 U。

1666166248456

N-ary Tree-LSTM

若树的分支数固定为 N,并且孩子是有序的,可以从 1 到 N 进行索引,就可以使用 N-ary。为每个孩子 k 引入单独的遗忘门的参数矩阵 U 用于计算第 k 个孩子的遗忘门

1666166388315