网站建设进项填那个服务,ui培训班 qfedu,wordpress固定连接重,手机软件开发语言链接#xff1a;http://www.elecfans.com/d/1468784.html 本文首先介绍传统的数据增强在NER任务中的表现#xff0c;然后介绍一种单独适配于NER的数据增强方法#xff0c;这种方法生成的数据更具丰富性、数据质量更高。0 前言 在NLP中有哪些数据增强技术#xff1f;这一定是…链接http://www.elecfans.com/d/1468784.html 本文首先介绍传统的数据增强在NER任务中的表现然后介绍一种单独适配于NER的数据增强方法这种方法生成的数据更具丰富性、数据质量更高。 0 前言 在NLP中有哪些数据增强技术这一定是当今NLP面试中的必考题了吧。在《标注样本少怎么办》链接https://zhuanlan.zhihu.com/p/146777068一文中也详细总结过这个问题。 但是目前来看大多数「数据增强」方法通常被用于文本分类、文本匹配等任务中这类任务有一个共性是“句子级别”sentence level的分类任务大多数关于「文本增强」的研究也都针对这个任务。 在2020年5月的时候JayJay突然在想NER如何进行数据增强有什么奇思妙想可以用上于是我陷入沉思中...... NER做数据增强和别的任务有啥不一样呢很明显NER是一个token-level的分类任务在进行全局结构化预测时一些增强方式产生的数据噪音可能会让NER模型变得敏感脆弱导致指标下降、最终奔溃。 在实践中我们也可以把常用的数据增强方法迁移到NER中比如我们通常采用的「同类型实体」随机替换等。但这类方法通常需要获得额外资源实体词典、平行语料等如果没有知识库信息NER又该如何做数据增强呢有没有一种单独为NER适配的数据增强方法呢 本文JayJay主要介绍在最近顶会中、对NER进行数据增强的2篇paper COLING20《An Analysis of Simple Data Augmentation for Named Entity Recognition》 EMNLP20《DAGA: Data Augmentation with a Generation Approach for Low-resource Tagging Tasks》 COLING20主要是将传统的数据增强方法应用于NER中、并进行全面分析与对比。 EMNLP20主要是提出了一种适配于NER的数据增强方法——语言模型生成方法1这种方式不依赖于外部资源比如实体词典、平行语料等2可同时应用于有监督、半监督场景。 具体效果如何我们来一探究竟吧本文的组织结构为 1 传统的数据增强方法迁移到NER效果如何 在COLING20的paper中作者借鉴sentence-level的传统数据增强方法将其应用于NER中共有4种方式如上图所示 Label-wise token replacement (LwTR)即同标签token替换对于每一token通过二项分布来选择是否被替换如果被替换则从训练集中选择相同的token进行替换。 Synonym replacement (SR)即同义词替换利用WordNet查询同义词然后根据二项分布随机替换。如果替换的同义词大于1个token那就依次延展BIO标签。 Mention replacement (MR)即实体提及替换与同义词方法类似利用训练集中的相同实体类型进行替换如果替换的mention大于1个token那就依次延展BIO标签如上图「headache」替换为「neuropathic pain syndrome」依次延展BIO标签。 Shuffle within segments (SiS)按照mention来切分句子然后再对每个切分后的片段进行shuffle。如上图共分为5个片段 [She did not complain of], [headache], [or], [any other neurological symptoms], [.]. 。也是通过二项分布判断是否被shufflemention片段不会被shuffle如果shuffle则打乱片段中的token顺序。 论文也设置了不同的资源条件 Small(S)包含50个训练样本 Medium (M)包含150个训练样本 Large (L)包含500个训练样本 Full (F)包含全量训练集 由上图可以看出 各种数据增强方法都超过不使用任何增强时的baseline效果。 对于RNN网络实体提及替换优于其他方法对于Transformer网络同义词替换最优。 总体上看所有增强方法一起使用ALL会由于单独的增强方法。 低资源条件下数据增强效果增益更加明显 充分数据条件下数据增强可能会带来噪声甚至导致指标下降 2 DAGA单独适配于NER的数据增强方法 EMNLP这篇NER数据增强论文DAGA来自阿里达摩院其主要是通过语言模型生成来进行增强其整体思路也非常简单清晰。 DAGA的核心思路也十分清晰就是标签线性化即将原始的「序列标注标签」与「句子token」进行混合也就是变成「Tag-Word」的形式如上图所示将「B-PER」放置在「Jose」之前将「E-PER」放置在「Valentin」之前对于标签「O」则不与句子混合。标签线性化后就可以生成一个句子了基于这个句子就可以进行「语言模型生成」训练啦是不是超级简单 DAGA 网络如上图仅仅通过一层LSTM进行自回归的语言模型训练网络很轻没有基于BERT做。 DAGA的一大优点就是不需要额外资源比如同义词替换就需要一个WordNet。但是论文也考虑到了使用外部资源时的情况比如1有大量无标注语料时2有外部知识库时 对于不同的3种资源条件下具体的训练语料构建如上图所示 对于标注语料用[labeled]在句首作为条件标记 对于无标注语料用[unlabeled]在句首作为条件标记 对于知识库对无标注语料进行词典匹配后正向最大匹配用[KB]在句首作为条件标记 只要输入[BOS][labeled]/[unlabeled]/[KB]即可通过上述语言模型、自回归生成新的增强数据啦 下面我们分别对上述3种资源条件下的生成方法进行验证2.1 只使用标注语料进行语言生成共采用4种实验设置 gold通过标注语料进行NER训练 gen即DAGA1通过标注语料进行语言模型训练、生成新的数据:2) 过采样标注语料; 3)新数据过采样标注语料最后一同训练NER rd1)通过随机删除进行数据增强; 2)过采样标注语料3)新数据过采样标注语料最后一同训练NER rd*同rd只是不过采样标注语料。 具体结果由上图展示设置了6种不同语言数据、不同的原始标注数据量进行对比可以看出DAGA方式gen明显超过其他数据增强方法特别是在低资源条件下1k和2k数据量。2.2 使用无标注语料进行语言生成共采用3种实验设置 gold通过标注语料进行NER训练 wt即弱监督方法采用标注语料训练好一个NER模型然后通过NER模型对无标注语料伪标生成新数据然后再重新训练一个NER模型 gen-ud通过标注和无标注语料共同进行语言模型训练、生成新数据然后再训练NER模型 由上图的红框进行对比可以看出DAGA方法在所有设置下、均超过了弱监督数据方法。其实弱监督方法生成的数据质量较低、噪声较大而DAGA可以有效改善这一情况。 可以预见的是当有大量无标注语料时DAGA进行的NER数据增强将有效提升NER指标。2.3 使用无标注语料知识库进行语言生成同样也是采用3种实验设置 gold通过标注语料进行NER训练 kb从全量训练集中积累实体词典实体要在训练集上中至少出现2次然后用实体词典匹配标注无标注语料、生成新数据最后再训练NER模型 gen-kb与kb类似将kb生成的新数据训练语言模型语言模型生成数据后、再训练NER模型 如上图红框所示总体上DAGA超过了kb方式低资源条件1k下kb方式还是强于DAGA。 3 DAGA为何如此有效 DAGA更具多样性 如上图所示在原始的训练集中「Sandrine」只会和「Testud」构成一个实体span而DAGA生成的数据中「Sandrine」会和更丰富的token构成一个实体。 此外DAGA会生成更丰富的实体上下文论文以相同实体mention的1-gram作为评估指标进行了统计。如下图所示桔色代表DAGA生成的实体上下文比原始的训练集会有更丰富的上下文。 DAGA可以有效利用无标注语料DAGA通过无标注语料来生成有用的数据新数据中会出现那些未在标注语料中出现的新实体。 4 总结 本文就「NER如何进行数据增强」进行了介绍 虽然传统的数据增强方法也可用于NER中不过JayJay认为传统的数据增强方法应用到NER任务时需要外部资源且数据增强的丰富性不足、噪音可能较大。 基于语言生成的DAGA方法是NER数据增强的一种新兴方式再不利用外部资源时会有较好的丰富性、数据质量较好。 责任编辑xj 原文标题打开你的脑洞NER如何进行数据增强 文章出处【微信公众号深度学习自然语言处理】欢迎添加关注文章转载请注明出处。 声明本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人不代表电子发烧友网立场。文章及其配图仅供工程师学习之用如有内容图片侵权或者其他问题请联系本站作侵删。 侵权投诉原文标题打开你的脑洞NER如何进行数据增强 文章出处【微信号zenRRan微信公众号深度学习自然语言处理】欢迎添加关注文章转载请注明出处。