《Joint Learning of Named Entity Recognition and Entity Linking》论文笔记

Joint Learning of Named Entity Recognition and Entity Linking

2019 ACL

Abstract

大多数 EL 方法忽视实体识别部分,假定正确的实体已经被识别出来。这篇论文对 NER 和 EL 进行联合学习,来利用他们之间的相关性,得到一个更健壮和更具通用性的系统。实验发现联合学习比单个学习效果更好,并且在 NER 和 EL 任务达到 SOTA。

1 Introduction

NER 和 EL 是两个基础的 NLP 任务,NER 负责检测和识别命名实体的指称项(mention),EL 决定指称项(mention)对应的实体。

现实世界 EL 系统要执行 NER 和实体消歧,但是大多数方法只关注后面的部分。我们这里对 NER 和 EL 进行联合学习在每一个决策中充分利用两个任务包含的信息。Furthermore, by having a flow of information between the computation of the representations used for NER and EL we are able to improve the model

这篇论文的两个主要贡献:

  • 使用 NER 和 EL 共同学习的系统,在两个任务都有很好的效果
  • 对进行联合学习模型比使用单独学习模型的优势进行经验定性分析,以及不同成分导致结果的影响

2 Related work

NER 系统将任务视为序列标注问题,在手工建模上使用 CRF 或 BiLSTM,最近使用从语言模型(LM)上下文向量的系统得到了 SOTA 效果。

大多数 EL 系统丢弃指称项(mention)检测,只对之前检测到的实体进行消歧。因此两个任务之间的依赖就被忽略了。此外,有些实施端到端的 EL 系统试图利用 NER 和 EL 之间的联系来得到好的结果。本文使用学到的特征进行多任务学习。

3 Model Description

3.1 Stack-LSTM

Stack-LSTM 对应于基于动作(action-based system),由 LSTM 加上堆栈指针

Stack-LSTM 可以检测到实体并在实体上进行分类

Stack-LSTM——Neural Architectures for Named Entity Recognition 2016 ACL

传统的 LSTM 从左到右建模句子,堆叠的 LSTM 允许嵌入一堆对象,可以进行添加和移除操作。这允许 Stack-LSTM 像堆栈一样工作,保存了输入内容总结的信息。

Chunking 算法: 作者设计了一个转换表,如图 2 所示 。左边是堆栈的上一状态,经过相应的 Action,变成堆栈的下一状态。作者使用了两个 Stack(指定的输出和堆栈分别表示已完成的块和暂存空间)和一个包含尚未处理的单词的缓冲区。SHIFT 动作将缓冲区的单词移入 Stacking 中,OUT 动作直接将缓冲区的单词移入到输出栈中,REDUCE 动作将栈顶层的所有项弄成一整块并打标签输入进输出栈中。

在这里插入图片描述

对于实体来说有两个动作(ACTION:SHIFT 和 REDUCE

对于非实体来说有一个动作(ACTION):OUT

Input Word Embedding

最终的词表示由词向量和单词中的字符经过双向 LSTM 的表示拼接而成。

在这里插入图片描述

参考文章

模型架构

4 个 stacks 组成

  1. the Stack,包含正在被处理的 words
  2. the Output,包含已经处理完毕的 chunks
  3. the Action,包含在当前文档处理期间执行的先前操作
  4. the Buffer, 包含需要被处理的 words

NER 任务包含 3 种类型的动作(action)

  • Shift

从 Buffer 弹出一个 word 并且把它压入 Stack,表示 Buffer 的最后一个词是命名实体的一部分

  • Out

从 Buffer 弹出一个 word 并且把它插入到 Output 中,表示 Buffer 的最后一个词不是命名实体的一部分

  • Reduce

把 Stack 中的所有词弹出,并且把它们压入到 Output 中。对于每一个可能的实体类型都有 Reduce 的动作(action)

相较于前面的论文,增加了一个栈用来保存文档处理期间执行过的操作(SHIFT、OUT、REDUCE)

3.2 Our model

在这里插入图片描述

NER
  1. 输入 X 经过第一层 BiLSTM 得到 H 1 H^1 H1
  2. 计算 Stack 中词的表示 q t q_t qt
  3. q t q_t qt H 1 H^1 H1 计算 attention score α t \alpha_t αt
  4. 通过 α t \alpha_t αt H 1 H^1 H1 做 attention 得到 v t v_t vt
  5. b t , o t , s t , a t , v t b_t, o_t, s_t, a_t, v_t bt,ot,st,at,vt 经过 affine 层和 softmax 预测当前词采取的动作(ACTION)
  6. 对 REDUCE 操作得到实体的 Mention 和 Type

损失函数为交叉熵损失函数(cross entropy)

EL

当执行 REDUCE 动作时,需要进行实体消歧。

候选实体: c e c_e ce

候选实体先验概率: c p c_p cp

  1. H 1 H^1 H1 经过第二层 BiLSTM 得到 H 2 H^2 H2
  2. 计算 m,m 为候选实体的 hdidden state 求平均
  3. c e i , c p i , m , v t , α t c_ei, c_pi, m, v_t, \alpha_t cei,cpi,m,vt,αt 经过两个 affine 层和 softmax,取概率最大的候选实体作为链接实体

损失函数为交叉熵损失函数(cross entropy)

Note

由于不是所有的 mention 都在知识库中有对应的实体,首先将 mention 用 sigmoid 经过 affine 层判断知识库中是否有这个 mention。输入是 stack LSTM 的最后一个 hidden state

公式推理参考

4 Experiments

4.1 Datasets and metrics

数据集:AIDA/CoNLL dataset

评判标准:

NER:F1 score

EL:micro and macro F1 scores

NER 分类结果包括 person, location, organisation and miscellaneous

EL 通过 id 链接到维基百科

micro f1 不需要区分类别,直接使用总体样本的准召计算 f1 score

不同于 micro f1,macro f1 需要先计算出每一个类别的准召及其 f1 score,然后通过求均值得到在整个样本上的 f1 score

4.2 Training details and settings

100 维 skip-gram 预训练词向量 + 50 维 BiLSTM 训练的字符向量 + 字符级别 BiLSTM 语言模型训练的上下文向量

实体维度(entity embeddings)为在维基百科训练的 300 维,使用预先建立的词典获得候选实体

LSTM 用来提取句子和指称项(mention)的表示,m 经过 2 层 hidden layer,维度为 100;Vt 使用 Stack-LSTM 的经过一个隐层,维度为 100。前馈神经网络用来判断实体 id,输出维度为 5000?affine layer 用来预测 mention 是否有候选实体,维度为 100。dropout 为 0.3。模型使用 Adam 优化器

4.3 Results

和 SOTA 模型比较

在这里插入图片描述

和单个模型比较

在这里插入图片描述

消融测试

在这里插入图片描述

通过消融测试,可以得出以下结论:

  1. 通过使用上下文向量对 NER 提升极大,EL 也因此有所提高
  2. 添加句子表示对 NER 有少许提升
  3. EL 中使用的指称项表示(mention representation)不仅对 EL提升很大,对于 NER 也有提升
  4. 通过简单的仿射变换(affine transformation)选择是否应链接提及内容,可以改善EL结果。

5 Conclusions and Future Work

NER 和 EL 联合学习提升了性能,达到了 SOTA。此外验证了多任务目标下训练的模型相比单个模型具有更好的性能。但是,还有进一步的工作可以改善我们的系统,例如训练实体上下文嵌入并将其扩展为跨语言的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值