ICLR2021 中唯一录取的NER论文:NER数据存在漏标怎么办? - 知乎

2021/01/28 08:24
阅读数 1.5K

作者:JayLou娄杰,本文首发于我的公众号《高能AI》,大家一定要关注哦~

本文介绍一篇ICLR2021中,录取的唯一1篇NER论文。

也许这个世界就是这样,很多东西一开始以为很简单,结果一入坑就深似海~

NER也许就是这样。一开始以为只是个“LSTM/BERT+CRF”,后来才发现居然有这么多的棘手问题:复杂抽取、小样本抽取、降噪抽取、跨语言抽取、多模抽取、开放抽取等等。害,心累。

本文JayJay就介绍一个极具现实意义的NER问题:NER标注数据存在漏标怎么办?

NER数据为什么会存在漏标?实体标注应该算是NLP中比较复杂的,需要专业标注知识、需要统一标注规范。NER数据中存在大量实体,标注员想要把所有实体都标注出来是不现实的,因此数据存在漏标也不可避免。

此外,为了减少标注成本,可以通过词典等知识库进行远程监督标注语料,虽然这种方式很省事儿,但语料中的实体还是会漏标,毕竟知识库的实体覆盖度有限啊。

NER数据漏标问题其实在学术上又叫「未标注实体问题」或者「不完全实体标注问题」,很好理解这是一个带噪学习(降噪学习)问题把未标注的实体当作“负样本”就是一种噪声,因为漏标的实体不应当做标签为O的负样本来看待!

试想一个极端场景:如果我们能把NER数据漏标问题解决好,我们只要积累好一个实体词典就行了!是不是很有现实意义?!

本文就介绍一篇ICLR2021中、来自腾讯AI团队的《Empirical Analysis of Unlabeled Entity Problem in Named Entity Recognition》,这篇论文尝试解决「未标注实体问题」,其主要贡献有:

  • 未标注实体问题会导致NER指标下降。主要有2个原因:一是实体标注量减少;二是把未标注实体当作负样本。其中第二个原因起主要作用。
  • 对所有非实体span,提出一种负采样策略,将未标注实体训练概率降低到很低水平。未标注实体问题得到极大改善,超过一众SOTA方法。

论文下载地址:https://arxiv.org/pdf/2012.05426

本文的组织结构:

数据漏标,会导致NER指标下降有多严重?

为了检验数据漏标,NER指标会下降到何种程度?论文对训练集中的标注实体是进行了mask,测试集不变。

此外,为了探寻未标注实体的“负作用”,论文引入了一种调节loss的方法:将那些未标注实体loss不再参与计算。换句话说:未标注实体既不当作是正样本,也不当作负样本!啥也不是!

需要注意的是:引入了调节loss的方法其实只是为了更好的分析,而在真实样本中,我们是不能提前知道哪些实体是“未标注”的!

论文采用F1值进行评估,f_{p}代表模型在实体mask概率p下的指标,f_{p}^{a}代表模型引入调节loss后的指标,p0.0\sim0.9之间。

除了F1值,还采取了2种评价指标:

  • 侵蚀率\alpha_{p}:代表实体标注量减少对NER指标下降的影响程度。在引入调节loss的前提下,与完全标注指标f_{0}^{a}进行对比,其计算公式为:

\alpha_{p}=\frac{f_{0}^{a}-f_{p}^{a}}{f_{0}^{a}}  \\

  • 误导率\beta_{p}:代表未标注实体对当作负样本时、对NER指标下降的影响程度。与引入调节loss的指标f_{p}^{a}进行对比,其计算公式为:

\beta_{p}=\frac{f_{p}^{a}-f_{p}}{f_{p}^{a}}  \\

上图给出了CoNLL03数据下,不同实体mask概率p下的指标(论文采取BERT/LSTM+SoftMax两种方式):

由第1幅图可以看出:

  • 随着实体mask概率p增大(未标注实体增多),指标下降明显。
  • 引入调节loss后(虚线部分),指标下降趋势趋缓,但在实体mask概率p很高时,NER指标仍然会有明显下降。

由第2、3幅图可以看出:在p很低的时候,误导率就较高了,而侵蚀率受影响较小,这表明:未标注实体当作负样本训练、对NER指标下降的影响程度很大,实体标注量减少对指标下降的影响较小。

这些年,对「未标注实体问题」的解决方案有哪些?

其实对「未标注实体问题」的解决方案也有不少,JayJay大致总结一些,如下图所示:

上述方法分别为:

  • 自动抽取短语回标训练集:这种方式会依赖于远程监督,未标注实体问题仍然存在;
  • 自训练:通过多轮迭代伪标自训练,这种方式计算费时,降噪过程不见得很work;
  • PU(positive-unlabeled) learning:为每个标签构建不同的二分类器。不过,未标注的实体仍然会影响相应实体类型的分类器;此外,该模型无法消除相邻实体的歧义。
  • Partial CRF:是CRF的拓展,改进CRF使其可以绕过未标注实体。但事实上,真正的负样本还是不可缺少的,因此该方法只用于高质量的数据集。

上述相关方法或多或少存在“这样那样”的问题,但有一个共同特点:大多还是基于CRF这种序列标注模式改进,CRF作为一个全局结构化预测问题,“未标注实体”噪声对NER的影响是全局的,“牵一发而动全身”啊。

如何降噪:改变标注框架+负采样,就是这么简单!

本篇论文围绕如何降低“未标注实体”噪声进行探索,总共分为两步:1、改变标注框架;2、对非实体片段进行负采样。

第一步:改变标注框架

NER标注方式通常有4种,分别是:

  1. 序列标注:每个序列位置都被标注为一个标签,比如按照BILOU标注,我们常用MLP或CRF解码。
  2. 指针标注:对每个span的start和end进行标记,对于多片段抽取问题转化为N个2分类(N为序列长度)。
  3. 多头标注:对每个token pair进行标记,其实就是构建一个NXNXC的分类矩阵。
  4. 片段排列:源于Span-level NER[1]的思想,枚举所有可能的span进行分类。事实上,片段排列的思想已经被Google推崇[2]并统一了信息抽取各个子任务

本篇论文采取的片段排列方式进行NER,这里JayJay给出一个例子,如下图所示:对于含N个token的文本,理论上共有 N(N+1)/2 种片段排列。如果文本过长,会产生大量的负样本,在实际中需要限制span长度并合理削减负样本。

片段排列有什么好处呢? 这种方式与同序列长度进行解耦,可以单独为每一个候选实体片段进行预测,打破了CRF那种全局结构化预测问题的限制,这样可以更加灵活地处理复杂抽取、小样本、降噪问题。

上图展示了本文的模型架构(基于片段排列),总体是基于BERT+SoftMax。

s_{i,j}代表字符 x_{i}x_{j}构成的span表示,计算过程如上图所示,然后喂入SoftMax中解码。所有可能构成片段都采取上图方式进行表征和预测。

第二步:负采样

论文具体的降噪方式很简单,就是对所有非实体片段进行负采样(下采样)!

这也很好理解:所有非实体片段中,有一部分可能是真正的、但未标注的实体(也就是未标注实体),但我们把能把它们都当作“负样本”看待,因此需要对所有非实体片段进行负采样

采样进行loss计算的非实体片段共有\lambda n个,n为序列长度,\lambda=0.1,0.2,...,0.9

上图展示loss计算:蓝框是标注实体集合y的loss计算,红框是采样实体集合\tilde{y}的loss计算。

论文也通过公式证明:通过负采样,可以将未标注实体当作负样本训练维持在一个很低水平

上述公式表明:通过负采样,不将未标注实体作为负样本的概率大于 1-\frac{2}{n-5},可以大幅缓解未标注实体导致NER指标下降。

作者也通过实验给出了不同实体mask概率p下,将未标注实体当作负样本的比例。如下图所示:负采样将未标注实体当作负样本训练维持在一个很低水平。

负样本采样,效果如何?

上图给出了不同实体mask概率p下:负样本采样方法与BERT-Tag的比较,可以看出:在实体存在漏标的场景下,传统的BERT标注方式会导致NER指标剧烈下降,而负采样方法可以极大缓解这一问题。

上图给出了不同实体mask概率p下,误导率的实验结果:可以看出本文的负采样方法,使得误导率维持在一个低水平。

此外,上图也给出在众多的「未标注实体问题」解决方案中,本文方法效果最佳。

总结

本文针对「未标注实体问题」进行介绍,提出了一种负采样策略,将未标注实体训练概率降低到很低水平,未标注实体问题得到极大改善。

JayJay不说再见,欢迎关注我的公众号《高能AI》,那里是首发哦~(图片不全,可直接到微信搜一搜高能AI)



参考资料

[1] Span-based Joint Entity and Relation Extraction with Transformer Pre-training: https://arxiv.org/pdf/1909.07755.pdf

[2] Entity, Relation, and Event Extraction with Contextualized Span Representations: https://www.aclweb.org/anthology/D19-1585.pdf

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部