avatar

使用负采样解决NER中的数据未完全标注问题

前不久手上有一个任务是要优化团队现有的NER效果。既然是优化,那么当然是先从实际项目中问题最集中的部分——数据开始下手了~

查看数据之后,发现因为此前的项目数据标注人员较多,多少存在一些标准不统一的问题,因此反映到数据上,就存在着多标、漏标的问题。其实多标与漏标,换一个角度看的话,可以统统理解为漏标,于是就从这个问题开始入手,思考与寻找优化的策略。

于是就是熟悉的套路:打开arXiv→输入关键词→愉快地在希望与失望冰火两重天的心境下“愉快”地浏览paper。

要是平时,其实并不会对这个操作抱有太大的期待,毕竟新SOTA有利也有弊,“买新不买旧”那一套并不适用于模型选型。但!是!这次不一样了!在paper名单中,一个与我的需求非常贴切的标题深深吸引了我,那就是本文的主角,来自腾讯AI Lab的顶会论文——

plaintext
1
2
3
4
5
《Empirical Analysis of Unlabeled Entity Problem in Named Entity Recognition》
from: Tencent AI Lab
source: ICLR 2021
arXiv: https://arxiv.org/pdf/2012.05426.pdf
github: https://github.com/LeePleased/NegSampling-NER

然而在我这篇论文时,早已有大佬写了关于这篇paper的博客,比如:

博客中对于这篇paper的优化思路已经剖析得挺清楚了,还列举了最常用的一些NER数据标注框架,这里不多做赘述,仅谈谈我的使用体验以及想法。

  1. 在项目数据中尝试了paper所提出的负采样策略后,获得了惊人的效果,在经过了多次的测试之后,确定了该策略在当前数据下能够带来不低于10个点的效果提升

该策略还有一个优点,那就是它所使用的标注框架,理论上也可以处理实体重叠的问题。

  1. 说完了优点,再来说说它的缺点。在使用过程中,我觉得本模型最大的缺点就在于——占用空间实在过大。在单卡24G显存的GPU上进行训练的时候,batch size我最大也只能设置到8,这还是在已经对文本长度进行了一定的限制的情况下。因此对于涉及一些较长文本的项目来说,该模型显存的巨大消耗也是一个很现实的问题。对于该模型造成显存消耗的问题,其根本原因在于该论文对于另一篇论文的一个工作借鉴,这里先留个坑,有时间再回来填上。
Author: Qin Yue
Link: https://qinyuenlp.com/article/7887d8e85339/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.

Comment