©作者 | 邴立东、李昕、刘林林、周然、丁博生
单位 | 阿里巴巴达摩院自然语言智能实验室
研究方向 | 自然语言处理
低资源、跨语言 NER 简介
命名实体识别(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
论文链接:
https://aclanthology.org/2020.emnlp-main.488.pdf
数据代码:
https://ntunlpsg.github.io/project/daga/
2.1 问题定义
序列标注任务被广泛应用于不同场景,它也是很多自然语言处理任务的基础,常见的序列标注任务包括命名实体识别、词性标注、端到端基于目标的情感分析等 [1]。随着深度学习的发展,这几个任务也在很多业务场景中落地。然而,在落地过程中,在某些语言或者领域(domain)往往会有训练数据不足等问题,我们将这些情况统称为低资源序列标注任务(Low-resource Tagging Tasks)。我们的论文聚焦在找到一个新的通用的数据增强的方法,可以提高序列标注模型在低资源情境下的表现。
相关方法的局限:相比于计算机视觉、语音识别,数据增强当前在自然语言处理的序列标注任务上目前并没有很多有效的应用,以往提出的同义词替换等等方法都过于简单,且效果并不显著 [2]。而其他的数据增强方法如反向翻译等等仅适用于翻译或者分类的任务,并不适用于序列标注任务 [3] [4]。
2.2 我们的方法
我们提出的基于语言模型的数据增强方法,是指把原有的序列标注数据集,通过线性化的方式把文本数据和序列标注变成语言模型的输入数据,从而通过语言模型,生成更多的可用于序列标注训练的数据,以此达到数据增强的目的。
▲ 图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。在这种情况下,我们会基于少量序列训练数据,构建词典去自动匹配大量无标注数据