[论文阅读笔记02]Nested Named Entity Recognition via Second-best Sequence Learning and Decoding

39 篇文章 14 订阅

题目

Nested Named Entity Recognition via Second-best Sequence Learning and Decoding
通过次优序列学习和解码嵌套命名实体识别
Shibuya T , Hovy E . Nested Named Entity Recognition via Second-best Sequence Learning and Decoding[J]. 2019.

摘要

在训练神经模型上,设计了一个目标函数去处理嵌套实体的标签序列作为在双新实体跨度的次优路径;
在解码预测上,使用从外部到内部的迭代提取实体的方式;
效果为目前领先。

问题背景

在这里插入图片描述

这个句子来自GENIA dataset。主体中包含了三个实体。也从很多文献得到,实体嵌套是一个很普遍的现象。如果默认为实体命名不带嵌套这个假设,会造成很多信息损失,同时,如果有下游任务的情况下,也会对下游有很大影响。

相关方法

列出与评价所有可能的子spans:
Wang and Lu (2018): 基于超图(hypergraph)方法去考虑所以可能的spans;
Sohrab and Miwa (2018):提出一个神经网络模型去枚举与分类出所有可能的spans;
缺点:在时间复杂度为代价来获取得更高的性能。
Muis and Lu (2017): 提出序列标注方法把标注赋值到词之间的空隙上,可以有效使用了Viterbi解码去处理。可是,在推理时有结构歧义。
Katiyar and Cardie (2018):也是基于超图的方法以贪婪的方法去学习这个结构。可是,这里增加了额外的超参作为threshold, 这个超参的设置是一个麻烦的问题。

具体模型

1. 基于CRF模型,两个关键点
  • 关键点1:对于NER的每个分类,使用相应的单独CRF;主要用来解决同样一个mention span被分类成多个实体类型;
  • 关键点2:每个CRF的转移矩阵的第个元素有一个固定值与合法转移与否相对应;这个主要用来保证外部的实体比较内部实体分数要高;
    定义实体类型K的分类形式化:
    在这里插入图片描述

Z是一个序列在神经网络最后隐含层的输出表达,在多CRF中,

2. 解码(预测)

算法过程
在这里插入图片描述

1) 在每个实体类型k中的解码过程中,我们首先对整个句子计算CRF分数;
2) 使用传统标准的线性链CRF的1-best Viterbi解码算法去解码序列,如果找到了,则加入到M的集合中;
查看例2,“Ca2+ -dependent PKC isoforms” 是在第一层抽取出来的,也就是1-best解压的结果。
3) 对于之前抽取的实体span,通过寻找第二优路径的方法,递归解码抽取嵌套实体;例如从“Ca2+ -dependent PKC isoforms” 中去找子实体,对于最优化的路径,计算出来的与之前计算的一样,所以去寻找第二优的CRF输出,这个例子中找到了PKC isoforms为实体;这个实现是detectNestedMentions()函数;
4)按这种递归的方法去重复3),即在detectNestedMentions函数中递归调函数直到结束(结束条件为没有实体被预测或单个Token被检测到);
在这里插入图片描述

3. 训练
  • 损失函数
    在这里插入图片描述

Z表示神经网络的隐含层输出,
在这里插入图片描述

  • 更具体的算法实现
  • 2nd-算法
    这里把最优路径(Best path)删除掉了.
    在这里插入图片描述

算法开始的初衷:
在这里插入图片描述

算法的正式化:
在这里插入图片描述

实验–数据集

  • ACE-2005
  • GENIA
  • 具体情况
    在这里插入图片描述

实验–baseline

BiLSTM-CRF(2 BiLSTM hidden layers)
模型1:BiLSTM-CRF的输入基于字符级与词级的embbedding级联;如GloVe(ACE-2005/100维)
模型2:模型与BERT预测训练相组合;BiLSTM层是在BERT模型的顶部输出;
模型3:BiLSTM-CRF的输入词嵌套,字符级的嵌套,BERT嵌套,FLAIR嵌套;

  • 相关参数设置
    在这里插入图片描述

  • 优化器—AdaBound

  • 策略–Early stopping;

  • 重复实验五次,取平均值与标准差。

实验–结果

在这里插入图片描述

实验–ablation研究

在这里插入图片描述

总结

总的来说,这是一篇很不错的论文,对于写论文在形式上是比较标准的,思路很清晰。对于内容,提出一种从外入里的解决方案,另外,在讲述在训练的损失函数计算算法过程,试图通过最通俗的方法去说明它的算法流程,在算法设计上,重点是对2nd算子的细节描述。对于实验分析方面也是比较全面的,先是实验设计,实验流程,主要的效果,ablation研究,错误结果分析,运行时间效率分析等等。还是比较接地气的方法,是一篇很值得借鉴的文章。另外还有代码,细节可以从代码上进行深入去学习。

参考

[1] Shibuya, Takashi, and Eduard Hovy. “Nested Named Entity Recognition via Second-best Sequence Learning and Decoding.” arXiv preprint arXiv:1909.02250 (2019).
[2] github:https://github.com/yahshibu/nested-ner-tacl2020-transformers

[happyprince]https://blog.csdn.net/ld326/article/details/108236901

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值