From: Google
编译: T.R
词序和句法结构对于句子的语义具有巨大的影响,词序上的些许扰动将会造成南辕北辙的含义,例如下面三个句子的词语完全一样而顺序相异:
上面三个句子都是相同的词语却是不同的意思。第一句和第二句都是表示从纽约到佛州的同义句,而第三句则表示相反的航程,是前两句的非同义句。
识别句子是否具有相同含义的人物在自然语言处理中被称为同意句识别(paraphrase identification),这对于句子问答、语义理解、语音助手等多个领域都十分重要。
但即便是像BERT一样强大的模型,如果仅仅在现有的自然语言理解数据上训练,很多时候都无法区分出同型同词不同义的句子。其中最主要的原因是现存的数据中缺乏同型异义或同意句训练对儿,使得机器学习算法无法有效识别出复杂的上下文语法词法特性。
数据集是解决这一问题的关键所在。来自谷歌的研究人员提出了英文同义句识别数据库PAWS( Paraphrase Adversaries from Word Scrambling)及其六种语言的拓展数据PAWS-X( Paraphrase Adversaries from Word Scrambling extension,包括法语、西班牙语、德语、中文、日文、韩语)。两个数据集都由高度结构化的句子对组成,并且相互之间的词汇重叠度很高,其中约占一半的句子具有对应的多语言释译。
首先源句子被送入到一个序列化的语言模型中,创建出交换词序的变体同时包含有效的语义信息。但这时还无法确定它们是否是源句子的同义句。随后生成的句子变体将交与人类评测者来进行语法合理性评测,并由多个评测者来判断每个句子与源句子是否是同义句。
但其中一个重要的问题在于这种词序交换策略会倾向于生成非同义句(例如下面的句子交换了好坏:为什么坏事会发生在好人身上?/为什么好事会发生在坏人身上?)。为了保证同义句和非同义句间的平衡,研究人员引入了第三个步骤:backtranslation回译。
回译具有相反的偏执,倾向于在改变词序和词语选择时保持句子的含义不变。这一策略与前面的方法一起保证了PAWS数据的平衡,特别对于维基百科部分的句子尤为重要。
在构建PAWS数据集后,研究人员将这一数据集拓展到了多语言上:中文、法语、德语、韩语、日语和西班牙语。其中测试数据集由专业的人类翻译将英文翻译为对应的语言,对于训练数据来说则使用了神经机器翻译。
其中测试集是从PAWS中随机选出的4000对句子,针对六种语言一共得到了48000个翻译结果。其中每个句子对的翻译是彼此独立的,同时翻译结果也会进行随机采样由另一个翻译进行验证。这将人类翻译的测试集最终结果的错误率控制在了5%以内。翻译人员可以跳过不完整或含义模糊的句子,这导致了2%的句子没有翻译,最终将这些结果排除在外。
为了验证新数据集的效果,研究人员利用这些数据对多个模型进行了训练并测试了他们在同义句识别上的分类精度。结果表明像BERT和DIIN等强模型在PAWS的训练下,相较于目前的QQP(Quora Question Pairs)数据集得到了显著的提升。在PAWS的帮助下BERT的精度从33.5提高到了83.1。
但对于像词袋一类的弱模型来说,PAWS则没有带来显著的提升。这主要是由于弱模型在捕捉非局域上下文信息时的能力较差。下面的柱状体清晰地显示了PAWS对于测量模型对于词序和结构敏感性的有效性。
研究人员表示,这一数据集将有效推进多语言模型在句法结构、上下文、句子对比较等方面的深入研究。
如果想要了解更多详细的内容,可以参看论文:
https://arxiv.org/abs/1904.01130
并在这里找到数据集的和对应的测试代码:
https://github.com/google-research-data