【ACL2020论文尝鲜】如何以低成本的数据构建高效NER模型?

来自:AI自然语言处理与知识图谱

如何以低成本数据构建高效NER模型?

导    语:

获取高质量的标注数据是需要大量的人力、物力,特别是在NER任务上面,对新领域获取大量的且高质量的标注数据既昂贵又耗时,如何以低成本但却高效益的方式完成NER是一个重要的问题。本篇文章引入了 entity triggers (实体触发器),在数据中标注 trigger,以 trigger 的角度增加 NER 效果,20% 的数据量便能够达到以往 70% 数据量的效果。

Entity triggers 认知

    该篇论文目前在 arxiv 上面,已经被 ACL2020 接受

    文末附代码 Github Repo。

   

    高质量的数据是监督学习的底层依赖,然而获取高质量、大规模的标注数据是昂贵且费时的工作,虽然现在也有一些开放的数据标注平台可以辅助人工,减少人员工作量,但没有太大的改变。另外,针对少量样本数据,也有大量的迁移学习研究工作可以借鉴。

    本文提出以 entity triggers(实体触发器)的角度出发增强 NER 的效果,利用有限的样本数据,构建低成本但高效的 NER 模型,我们先来看看什么是 entity triggers ? 以及为什么觉得它会有用?

    我们来看下面的一个例子:在识别下面这句话时,我们会把 Kasdfrcxzv 标记为 Location,因为其中有一个短语是 “travel ... in”,根据这个短语,我们可以认定我们的标记是正确的。这样的短语是实体的线索短语,称之为 entity triggers

  (1)  Tom traveled a lot last year in Kasdfrcxzv

    

     接下来,我们再来看一张图片(如下图),图中  Rumble Fish 是类型为 RES(restaurant, 饭店)的实体,t1 和 t2 为两个均指向同一实体的两个 trigger, 说明同一实体的 trigger 可能存在多个。Trigger 应该对人识别实体是个充分必要的条件,即使实体是个随机的单词或者不认识这个实体,也能够通过 trigger 判断出所属实体的类型

    

    本文的重点就在于认为将 trigger 标记和以往的实体标记结合起来,将会增加NER模型的泛化能力。还有一点,trigger 对于推理未标记的数据(实际评测)会给予强有力的支撑,如下说明。另外作者们认为标记 trigger 相对容易。

    

    我们再列举一句话(评测),如果能够推理出 “enjoyed a great dinner...at” 和上图中已经存在的 "had...launch at" 具有相同的语义表示,我们便能够很快将 Zcxlbz 识别为RES 类型的实体,相反的,如果没有标记 trigger,仅仅标记了实体,便需要有大量类似的样本数据才能够识别出新的实体。

    

 (2)   enjoyed a great dinner with Alice at Zcxlbz

    本文在两份 NER数据上面共计标注了 14k 的 entity triggers,这两份数据如下,并已经 released:

  • CoNLL03 (generic domain)

  • BC5CDR (biomedical domain)

框架与效果

    本文提出的框架是 Trigger Matching Networks(TMN), 此框架主要包含以下三个部分。

  • TrigEncoder:学习 trigger 表示,做实体类型多分类(PER, LOC等)。

  • TrigMatcher:样本与 trigger 语义匹配,为新样本推理相似 trigger。

  • SeqTagger:NER序列标注,融合 trigger 表示。

    其中学习 trigger 表示 和 样本匹配 trigger 两者不可分开来做,因此TrigEncoder 和 TrigMatcher 采用的是共享向量空间,联合建模的方式。SeqTagger 必须等这两个完成才能进行,因此又是pipline的方式。

    总之,一个TMN,三个部分,两步走策略。

    我们具体来看下 TMN 的模型框架图,如下图。

    

    

    第一步:联合训练(左),首先看 gs 和 gt , 其中 gs 表示句子编码表示,gt 是 trigger 编码表示,两者均是采用 BiLSTM + Attention 加权求和获取。gt 要做实体类型多分类,得到 LTC 。gt 和 gs 两者要计算匹配,算 contrastive loss(如下图),得到 LSM,总体 Loss 为两者之和,λ为超参。

   L = LTC + λLSM

    第二步:序列标注(右),主体采用的是典型的 BiLSTM + CRF,其中 第一步中的 trigger 表示要 先做 mean pooling, 后将其作为 attention query, 对 BiLSTM 编码后的隐层状态加权(如下图),然后 concat。

    我们再来看下如何做 Inference 在 Unlabeled Sentences, 如下图。

    

    对于一个 unlabeled 句子,我们未知其 trigger, 和上面一样编码得到 gs, 然后与训练好的多个 gt 计算距离,获取最为相似的 k 个 trigger 表示,将其做 mean pooling,作为新的 attention query。

    最后我们来看下实验效果

    实验结果如下图:

  • TMN在标记了 20%的训练数据能够达到原始数据50%-70%的性能。这一点是值得关注的。

  • TMN + self-training 相比 TMN 上升 0.5 ~ 1 个点。


结束语

        本文引入 trigger 增强 NER 的效果,虽然也需要标记 trigger 数据,作者们认为相对容易(容不容易只有标记数据人员清楚啊),但是 trigger 对增强 NER 这一点从实验效果来看是可以的,而且 20%的数据达到70%的效果,这点值得关注。

论文代码:https://github.com/INK-USC/TriggerNER

参考资料

  1. Lin B Y, Lee D H, Shen M, et al. Triggerner: Learning with entity triggers as explanations for named entity recognition[J]. arXiv preprint arXiv:2004.07493, 2020.

相关注明

上述图片均来自于上述参考资料。


添加个人微信,备注:昵称-学校(公司)-方向,即可获得

1. 快速学习深度学习五件套资料

2. 进入高手如云DL&NLP交流群

记得备注呦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值