自然语言处理的新燃料,谷歌提出PAWS 和PAWS-X 数据集

IT思维  •  扫码分享

From: Google

编译: T.R

词序和句法结构对于句子的语义具有巨大的影响,词序上的些许扰动将会造成南辕北辙的含义,例如下面三个句子的词语完全一样而顺序相异:

Flights from New York to Florida.
Flights to Florida from New York.
Flights from Florida to New York.

上面三个句子都是相同的词语却是不同的意思。第一句和第二句都是表示从纽约到佛州的同义句,而第三句则表示相反的航程,是前两句的非同义句。

识别句子是否具有相同含义的人物在自然语言处理中被称为 同意句识别 (paraphrase identification),这对于句子问答、语义理解、语音助手等多个领域都十分重要。

但即便是像BERT一样强大的模型,如果仅仅在现有的自然语言理解数据上训练,很多时候都无法区分出同型同词不同义的句子。其中最主要的原因是现存的数据中缺乏同型异义或同意句训练对儿,使得机器学习算法无法有效识别出复杂的上下文语法词法特性。

自然语言处理的新燃料,谷歌提出PAWS 和PAWS-X 数据集

数据集是解决这一问题的关键所在。来自 谷歌的研究人员 提出了 英文同义句识别数据库PAWS ( Paraphrase Adversaries from Word Scrambling)及其 六种语言的拓展数据PAWS-X ( Paraphrase Adversaries from Word Scrambling extension,包括法语、西班牙语、德语、中文、日文、韩语)。两个数据集都由高度结构化的句子对组成,并且相互之间的词汇重叠度很高,其中约占一半的句子具有对应的多语言释译。

通过同型异义和同义句的训练,将原有模型的精度从不到50%提升到了 85~90% 。实验中也发现对于不能捕捉非局域上下文信息的模型无法通过这一数据集提高性能,这意味着PWAS数据能为评测模型对于词序和句式结构的敏感性提供了有效的度量。
PWAS数据包含了来自Quora问答和维基百科中108463对儿人类标记的英文句子对,而PWAS-X中则包含了23659对人类翻译的评测句对儿,和296406对机器翻译的PAWS训练句对。下图显示了整个数据的统计信息:

自然语言处理的新燃料,谷歌提出PAWS 和PAWS-X 数据集

创建PAWS英文数据集

为了生成高质量的数据,研究人员需要保证句子间词语的高度重叠,同时也要平衡同义句和非同义句生成的结果。具体的流程分为词序交换、人物语法复核以及方向翻译来保证生成数据集的质量符合要求。
自然语言处理的新燃料,谷歌提出PAWS 和PAWS-X 数据集

首先源句子被送入到一个序列化的语言模型中,创建出交换词序的变体同时包含有效的语义信息。但这时还无法确定它们是否是源句子的同义句。随后生成的句子变体将交与人类评测者来进行语法合理性评测,并由多个评测者来判断每个句子与源句子是否是同义句。

但其中一个重要的问题在于这种词序交换策略会倾向于生成非同义句(例如下面的句子交换了好坏:为什么坏事会发生在好人身上?/为什么好事会发生在坏人身上?)。为了保证同义句和非同义句间的平衡,研究人员引入了第三个步骤:backtranslation回译。

回译具有相反的偏执,倾向于在改变词序和词语选择时保持句子的含义不变。这一策略与前面的方法一起保证了PAWS数据的平衡,特别对于维基百科部分的句子尤为重要。

创建多语言PAWS-X 数据集

在构建PAWS数据集后,研究人员将这一数据集拓展到了多语言上:中文、法语、德语、韩语、日语和西班牙语。其中测试数据集由专业的人类翻译将英文翻译为对应的语言,对于训练数据来说则使用了神经机器翻译。

其中测试集是从PAWS中随机选出的4000对句子,针对六种语言一共得到了48000个翻译结果。其中每个句子对的翻译是彼此独立的,同时翻译结果也会进行随机采样由另一个翻译进行验证。这将人类翻译的测试集最终结果的错误率控制在了5%以内。翻译人员可以跳过不完整或含义模糊的句子,这导致了2%的句子没有翻译,最终将这些结果排除在外。

人类翻译的德语和中文句子对结果

基于新数据集的语言理解

为了验证新数据集的效果,研究人员利用这些数据对多个模型进行了训练并测试了他们在同义句识别上的分类精度。结果表明像BERT和DIIN等强模型在PAWS的训练下,相较于目前的QQP(Quora Question Pairs)数据集得到了显著的提升。在PAWS的帮助下BERT的精度从33.5提高到了83.1。

但对于像词袋一类的弱模型来说,PAWS则没有带来显著的提升。这主要是由于弱模型在捕捉非局域上下文信息时的能力较差。下面的柱状体清晰地显示了PAWS对于测量模型对于词序和结构敏感性的有效性。

同样在多语言数据集上,研究人员使用了目前流行的多语言BERT模型并使用了四种不同的策略:
1.零样本学习: 在PAWS英语数据集上训练,然后直接应用到其他语言上测试,没有机器翻译的参与;
2.翻译测试: 利用英语训练数据训练模型,利用机器翻译将其他语言测试样本翻译到英语进行测试;
3.翻译训练: 先利用机器翻译将英文训练数据翻译为目标语言,随后分别训练目标语言的分类模型;
4.融合: 在所有语言上训练多语言模型,包括原始英文句子对和利用机器翻译将英文翻译为其他语言的数据共同作为训练集。
下图的结果显示了四种策略下在六种语言上的测试结果。可以看到融合后的策略在所有语言上都得到了较好的结果。结果还表明针对多语言模型的同义句识别还有很大的提升空间。

研究人员表示,这一数据集将有效推进多语言模型在句法结构、上下文、句子对比较等方面的深入研究。

如果想要了解更多详细的内容,可以参看论文:
https://arxiv.org/abs/1904.01130
并在这里找到数据集的和对应的测试代码:
https://github.com/google-research-data

参考资料
https://github.com/google-research-datasets/pawshttps://github.com/google-research-datasets/paws/tree/master/pawsx

随意打赏

提交建议
微信扫一扫,分享给好友吧。