推理是自然语言处理领域非常重要且具有挑战性的任务,其目的是使用已有的知识和推断技术对未见过的输入信息作出判断 (generate outputs to unseen inputs by manipulating existing knowledge with inference techniques)[1]。在本文中,我们以自然语言推理(Natural Language Inference,NLI)为应用,介绍跨语言预训练和机器推理结合的最新方法和进展。
自然语言推理任务的输入是两个自然语言句子,分别称为前提(premise)和假设(hypothesis)。该任务的目标是判断能否从前提中推出假设。这是一个分类任务,输出共有三类,分别是“蕴含”、“矛盾”和“无关”。例如图1中的第四个例子,前提为“一场有多名男性的足球比赛”,假设为“一些男人正在进行一场体育运动”,基于常识“足球比赛是一种体育运动”,我们可以知道该前提蕴含了假设。如果假设为“库里三分命中”,则前提和假设矛盾。
目前自然语言推理任务中常见的模型多为文本匹配模型。这类方法首先对前提和假设进行编码和注意力交互(attention),然后直接进行统计学习,并不显式建模推理过程。基于预训练的模型,例如 BERT[2],在出现后迅速成为自然语言推理任务上的最优模型。
跨语言的自然语言推理(Cross-lingual NLI,XNLI)[3]任务进一步把自然语言推理任务定义在了多种语言上。在这些语言中,只有英语有训练数据集,其他语言只有验证集和测试集。这一任务主要考验模型能否将英语训练数据集上学习到的推理知识迁移到其他语言。图2是该数据集的测试数据集的样例。
跨语言预训练
正如英语一样,跨语言的自然语言推理的最优模型也是基于预训练。目前跨语言预训练的模型包括 Multilingual BERT、XLM 和 Unicoder。
Multilingual BERT 的核心思想是用相同的模型和权值来处理所有的目标语言。首先,因为不同语言有不同的词汇,Multilingual BERT 建立了一个包含所有目标语言的词汇表。其次,Multilingual BERT 编码部分的结构和BERT相同,并且在所有语言之间共享。预训练的任务仍然是 BERT 的 masked language model。其中每个样本都是一个单语段落,所有语言以多任务的方式交替训练。图3是训练时的示意图。通过共享参数,Multilingual BERT 可以获得一定的跨语言迁移能力。
XLM [4]在 Multilingual BERT 的基础上,增加了一个新的任务,Translation Language Model。该任务将机器翻译语料中的双语句对拼接成一个新的句子,然后在这个句子上进行 Masked Language Model 的预训练。通过这一任务,XLM可以学习到两个语言之间的对应关系,从而获得比 Multilingual BERT 更好的跨语言迁移能力。
Unicoder [5]在XLM 的基础上,进一步提出了三个新的任务,使模型能够更好的学习语言之间的对应关系。三个任务分别是:跨语言的词语恢复,跨语言的同义句子分类和跨语言的 Masked Language Model。三个任务分别定义在词语、句子和段落级别,可以让模型从不同的层次学习两个语言的对应关系。
跨语言的词语恢复(Cross-lingual Word Recovery)的输入是一个同意的双语句对。如图5(a)所示,模型首先用中文词语的表示向英文所有词语进行一次attention,得到一个在隐变量空间的表示。这个表示是英文词语表示的带权和。然后将得到的表示输入 Transformer,恢复原来的中文词。通过这个结构,模型可以在不引入词对齐工具的情况下,学习到中英词语之间的对应关系。
跨语言的同义句子分类(Cross-lingual Paraphrase Classification)的输入是两个不同语言的句子,目标是判定这两个句子是否有相同的意思。如图5(b)所示,模型将两个句子连接作为输入,用一个词对应的表示训练一个二分类器。这是自然语言在句子级别最基础的任务之一。通过这个任务,模型可以学习两个语言在句子层面的对应关系。
跨语言的 Masked Language Model 的输入是一篇用多种语言写成的文章。如图5(c)所示,这个文章中,相邻的句子的语言不同,但是仍然保持通顺的承接关系。该任务在多语言的文章上进行 Masked Language Model,可以模糊语言之间的边界,更好的将多种语言混合成一种语言。
预训练好的模型需要在目标任务上进行 Fine-tuning。在跨语言的任务上,目前已有的 Fine-tuning 的方法有三种。在此基础上,我们提出了一种新的方法:多语言 Fine-tune。这些方法可以根据 Fine-tuning 时使用的训练数据和测试数据进行分类。
假设我们在只有英语训练数据的情况下,希望在中文测试数据集上进行测试。这时有两个基于机器翻译的 Fine-tuning 方法:
• 测试数据翻译(Translate Test)将中文的测试数据翻译成英文的测试数据,将问题转化成英文训练、英文测试的问题。
• 训练数据翻译(Translate Train)将英文的训练数据翻译成中文的训练数据,将问题转化成中文训练、中文测试的问题。
对于能同时编码多种语言的模型,可以直接进行跨语言测试(Cross-lingual Test),也就是直接将在英语训练集上训练得到的模型在中文上进行测试。这种方法需要模型有较强的跨语言迁移能力。
在此基础上,我们提出了一种新的 Fine-tuning 的方法,多语言 Fine-tuning。在多语言 Fine-tuning 中,英文训练数据被翻译成了多种语言,然后以多任务的方式共同训练,最后直接在中文测试集上进行测试。实验表明,多语言 Fine-tuning 能够稳定地提高模型在各个语言上的测试结果。对于一个确定的预训练模型,Fine-tuning 的语言越多,效果也就越好。
详细的实验结果见图7。可以看到,在同样的 Fine-tuning 的情况下,Unicoder 的预训练方法取得了比 baseline 方法更好的结果。在同样预训练模型的情况下,多语言 Fine-tuning 方法可以稳定提升每个语言的测试结果。通过结合 Unicoder 的预训练和 Fine-tuning,我们取得了 XNLI 上的最优结果。更多的结果可以参看我们的论文[5]。
本文介绍了跨语言的机器推理任务,以及如何利用预训练的方法将单语的机器推理扩展到其他语言。通过结合 Unicoder 提出的预训练和 Fine-tuning,我们达到了 XNLI 数据上的最优结果。
敬请期待机器推理方法在更多推理任务上的应用!
参考文献:
[1] Ming Zhou, Nan Duan, Shujie Liu, Heung-Yeung Shum. Progress in Neural NLP: Modeling, Learning and Reasoning. Accepted by Engineering, 2019.
[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova. "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding." NAACL 2019.
[3] Conneau, Alexis, Ruty Rinott, Guillaume Lample, Adina Williams, Samuel Bowman, Holger Schwenk, and Veselin Stoyanov. "XNLI: Evaluating Cross-lingual Sentence Representations." EMNLP 2018.
[4] Lample, Guillaume, and Alexis Conneau. "Cross-lingual language model pretraining.". NeurlPIS 2019.
[5] Haoyang Huang, Yaobo Liang, Nan Duan, Ming Gong, Linjun Shou, Daxin Jiang, Ming Zhou. “Unicoder: A Universal Language Encoder by Pre-training with Multiple Cross-lingual Tasks”. EMNLP 2019.