命名实体识别(NER)作为一个经典的 NLP 任务,一直保持着较高的研究热度。近年来研究者开始从高资源向低资源、单语言向跨语言的任务设定进行探索。数据增强是解决训练数据瓶颈一个常用手段,尤其是在 CV 里被广泛采用(比如位移、翻转、旋转、缩放等)。在词级别 NLP 任务的数据增强方面,已有方法效果并不好,比如删词、加词、替换等很容造成句子不通和语义变化,对 NER 这种上下文敏感的任务效果欠佳。本文将首先介绍我们提出的利用生成模型进行词级别数据增强的技术,即 DAGA。其核心思想是将 NER 标签线性化到训练句子内,并训练语言模型,再用得到的语言模型生成带有 NER 标签的新句子,从而得到更多 NER 的训练数据。 跨语言任务设定,本身也包含了低资源问题,即目标语言没有训练数据或只有很少的训练数据。常用的跨语言方法是 Translate train,即将源语言训练数据翻译为目标语言,并进行标签映射得到训练数据。现有工作大多基于 word alignment 进行标签映射,但其不能很好地处理翻译导致的词序调整和对齐失败。 在本文介绍的第二个工作(即 MulDA)中,我们将 DAGA 从单语言扩展到多语言,使其作用在通过 Translate train 得到的目标语言训练数据。为了解决传统标签映射方法的局限性,我们提出了利用 placeholder 做标签映射的方法。 我们发现在低资源设定下,模型训练时“见过”更多实体,比“见过”更多上下文,对提升效果更有效。本文介绍的第三个工作,即 MELM,利用掩码语言模型对 NER 训练样本进行实体替换,从而达到数据增强的效果。MELM 的核心思想是利用大规模预训练模型(如 XLM-R)强大的训练语料,根据 NER 样本的上下文,对于实体进行合理替换,从而使得 NER 模型在训练过程中“见过”更多实体。 DAGA:生成式数据增强技术
本小节工作来自论文:
DAGA: Data Augmentation with a Generation Approach for Low-resource Tagging Tasks, in EMNLP 2020
▲ 图2.1 DAGA的框架 如图 2.1 框架所示,我们提出的方法涉及两个模型:第一个是语言模型,第二个是标注模型。以命名实体识别(NER)任务为例,我们会把标注好的 NER 数据进行线性化作为语言模型的输入数据。对 NER 数据的线性化,如图 2.2 所示,原始数据中的 NER 标注将会成为句子中的一部分。在半监督学习中,我们也会把标注好的 NER 数据构建词典,去自动匹配大量无标注数据,然后把已有 NER 数据和自动匹配数据合并作为语言模型的输入数据。
▲ 图2.2 线性化的例子 对语言模型进行训练后,输出数据是训练好的语言模型生成的带有 NER 标注的文本数据。然后对生成的文本数据进行筛选后进行去线性化,和原有的 NER 数据合并成新的 NER 数据集,从而实现数据增强的目的。之后我们再将这个新的 NER 数据集作为 NER 模型的输入数据,训练 NER 模型,并用训练好的 NER 模型,对测试数据集进行 NER 的标注,最后用 F1 Score 的方法去检验 NER 标注准确率的提升。 词性分析和端到端基于方面/目标的情感分析等其他序列标注任务的处理流程基本一致,端到端基于方面/目标的情感分析使用的标注模型会与命名实体识别有所不同。(在实际应用中,可以用 NER 模型对生成的增强数据进行筛选,可以得到更好的效果,筛选方法请参考我们下文介绍的 ACL2021 发表的论文 MulDA。)关于语言模型输入数据的两种 Setting: 该方法有两种 setting。第一种是监督学习的 Setting。在这种情况下,我们只用已标注好的序列数据去训练语言模型。第二种是半监督学习的 Setting。在这种情况下,我们会基于少量序列训练数据,构建词典去自动匹配大量无标注数据,然后把序列训练数据和自动匹配数据合并训练语言模型。这也体现了该方法的灵活性和通用性。2.3 主要结果 以下是我们的方法的监督学习 setting 在命名实体识别的结果。使用的数据集包括 CONLL2003 英语数据集、德语数据集,CONLL2002 西班牙、荷兰语数据集,还有阿里内部构建的 CONLL2003 格式的越南语和泰语数据集。分别采样 1k、2k、4k、6k、8k 和完整的数据集进行实验。每一个语言的最后一行是我们的方法得到的结果,其他三行为对照实验组,在各个语言相对于对照实验组都取得了提升。
[1] Bosheng Ding, Linlin Liu, Lidong Bing, Canasai Kruengkrai, Thien Hai Nguyen, Shafiq Joty, Luo Si, and Chunyan Miao. 2020. DAGA: Data augmentation with a generation approach for low-resource tagging tasks. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 6045–6057, Online. Association for Computational Linguistics.
[2] Jason Wei and Kai Zou. 2019. Eda: Easy data augmentation techniques for boosting performance on text classification tasks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLPIJCNLP), pages 6383–6389.
[3] Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016. Improving neural machine translation models with monolingual data. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 86–96, Berlin, Germany. Association for Computational Linguistics.
[4] Varun Kumar, Ashutosh Choudhary, and Eunah Cho. 2020. Data augmentation using pre-trained transformer models. arXiv preprint arXiv:2003.02245.
MulDA:多语言生成式数据增强技术
本小节工作来自论文:MulDA: A Multilingual Data Augmentation Framework for Low-Resource Cross-Lingual NER, in ACL 2021.
▲ 图3.1 使用占位符来辅助翻译数据 第二步,我们会把源语言的数据和得到的翻译数据进行句子级别的随机混合,作为训练数据训练多语种的 NER 标注模型。第三步,我们将第二步混合得到的 NER 数据进行线性化作为语言模型的输入数据。 对 NER 数据的线性化,如下图所示,原始数据中的 NER 标注将会成为句子中的一部分。在半监督学习中,我们也会把标注好的 NER 数据构建词典,去自动匹配大量无标注数据,然后把已有 NER 数据和自动匹配数据合并作为多语言语言模型的输入数据。这里,我们可以是从头开始训练一个 multilingual LSTM 的语言模型(图3.2),也可以对 mBART 进行微调(图3.3)。
▲ 图3.2 训练multilingual LSTM语言模型
▲ 图3.3 使用mBART微调 对语言模型进行训练或者微调后,输出数据是训练好的语言模型生成的带有 NER 标注的文本数据。我们会用第二步训练好的多语言 NER 标注模型对生成的文本数据进行筛选,然后对筛选后的数据进行去线性化,和原有的 NER 数据合并成新的 NER 数据集,从而实现数据增强的目的。之后我们再将这个新的 NER 数据集作为 NER 模型的输入数据,训练 NER 模型,并用训练好的 NER 模型,对测试数据集进行 NER 的标注。 3.3 主要结果 下面是我们的翻译方法与之前的翻译方法比较的结果,最后一行为我们的方法。
[1] Bosheng Ding, Linlin Liu, Lidong Bing, Canasai Kruengkrai, Thien Hai Nguyen, Shafiq Joty, Luo Si, and Chunyan Miao. 2020. DAGA: Data augmentation with a generation approach for low-resource tagging tasks. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 6045–6057, Online. Association for Computational Linguistics.
[2] Alankar Jain, Bhargavi Paranjape, and Zachary C. Lipton. 2019. Entity projection via machine translation for cross-lingual NER. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 1083–1092, Hong Kong, China. Association for Computational Linguistics.
[3] Xin Li, Lidong Bing, Wenxuan Zhang, Zheng Li, and Wai Lam. 2020. Unsupervised cross-lingual adaptation for sequence tagging and beyond.
MELM:基于掩码语言模型的跨语言NER数据增强
本小节工作来自论文:MELM: Data Augmentation with Masked Entity Language Modeling for Cross-lingual NER
论文链接:https://arxiv.org/pdf/2108.13655.pdf 4.1 问题定义 命名实体识别(NER)具有广泛的应用场景,例如电商平台搜索、推荐及客服系统依赖于 NER 算法自动识别品牌或商品名。然而,在跨境电商多语言应用场景中,标注数据量不足以在每个语言上开发单独的 NER 算法。因此,跨语言 NER 具有在单一源语言标注数据上训练,便能够应用到广泛的目标语言的优势。然而,源语言上有限的标注数据量也可能不足以达到令人满意的 NER 表现。因此,本工作提出一种数据增广的方法解决 NER 的跨语言迁移问题,并且源语言上也只有少量训练数据 相关方法的局限:用于跨语言 NER 的数据增广方法要求精密地控制增广数据的词级别标签。现存的数据增广方法可能导致实体被替换成不同类别的另一实体,以致增广的句子与原本的 NER 标签不吻合,最终损害 NER 模型的表现。如果通过微调 MLM 替换句子中非实体的词,而不改变属于实体的词,可以避免替换后的词与标签不适配。但是,由于不同语言的语言学差异,仅引入更丰富的语境并不能很好的提升任务表现 [1]。另一类方法从原训练集提取出各个类别的实体词典,并将句子中的实体随机替换成同类的其他实体。然而,此方法不能生成原训练集不包含的新实体,并且替换的实体可能不适用于语境 [2]。 4.2 我们的方法 我们提出的数据增广方法 MELM 可以确保替换后的实体仍属于原本的实体类别。具体的,MELM 首先将 NER 标签线性化加入句子语境中。如此一来,微调后的语言模型能够直接的根据实体标签预测相应类别的实体。 总体来看,MELM 由四个步骤构成。我们首先将源语言标注数据线性化,使得实体标签直接存在于序列中。接着,线性化的句子被用于微调 MLM。然后,微调后的 MLM 被用于生成增广数据。通过后处理的增广数据最终与原训练集融合,用于训练 NER 模型 如图 4.1 所示,我们将实体标签插入实体词组的开头与末尾,以将有标注的句子转化为线性化的序列。我们将标签符作为特殊字符加入语言模型词典,使得 MLM 在微调时可以像接收原文本中的词一样接收到标签信息,以学习实体和其标签的对应关系。为了使线性化的序列更自然通顺,我们选取一些与实体类别语义相似的词作为标签符的嵌入层初始化参数(e.g. “person” for <B-PER> and <I-PER>)。如此一来,我们可以更好的利用预训练时学到的语义信息帮助预测相应的实体词。
[1] Kun Li, Chengbo Chen, Xiaojun Quan, Qing Ling, and Yan Song. 2020a. Conditional augmentation for aspect term extraction via masked sequence-tosequence generation. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 7056–7066. [2] Xiang Dai and Heike Adel. 2020. An analysis of simple data augmentation for named entity recognition. In Proceedings of the 28th International Conference on Computational Linguistics, pages 3861–3867.
总结 本文介绍了两种细粒度的 NER 数据增强方法,即基于语言模型(LM)的生成方法和基于掩码语言模型(MLM)的实体替换方法。前者利用 LM 生成完整的训练句子及实体标签,后者则在原有的句子上下文内进行实体替换。这些方法也可以和 translate train 方法一起取得更好的跨语言 NER 效果提升。总体上,低资源和跨语言 NER 任务,仍有很大的提升空间,是一个值得关注的研究方向。 本文由阿里巴巴达摩院自然语言智能实验室邴立东、李昕,以及联培博士生刘林林、周然、丁博生共同整理。