论文阅读——Learning Contextualized Sentence Representations for Document-Level Neural Machine Translation

https://arxiv.org/pdf/2003.13205.pdf

学习文档级神经机器翻译的上下文句子表征(未开源)

 

文档级机器翻译将句子间的相关性合并到源句的翻译中,论文通过训练 NMT 预测源句的翻译及周围的句子(学习上下文化的源句表征),建立跨句依赖关系的模型。使用两种不同的方法:联合训练 NMT 模型与源上下文预测模型;在大规模文档单语语料库上预训练源上下文预测模型,然后使用 NMT 微调模型。Zh-En、En-De 的翻译实验表明,这两种方法的翻译质量相比文档级 Transformer 的 baseline 都有显著的提高。

大多数 NMT 在翻译句子时没有考虑文档级上下文,因此文档级翻译的质量远远落后于人工翻译。改进的方法大致可分两类:利用文档级语言特征 & 将前后句子编码,前者可能需要不容易获得的语言资源,而后者依赖于并行文档,但明确的文档边界经常被删除,很难自动恢复这种边界。受上下文词向量在各种自然语言任务中的成功的启发,作者提出一种新的文档级神经机器翻译方法,学习用于文档级 NMT 的上下文句子向量。不是将周围的句子编码输入到 NMT 模型中,而是尝试学习一个模型,从当前要翻译的句子预测前后句子,这类似于单词级的 skip-thought 或 skip-gram 模型。

两种训练方法
(1)联合训练法,同时训练一个 encoder-decoder NMT模型和一个 skip-thought 模型。如图1所示,使用一个共享编码器同时解码目标语句、前一个和后一个源语句。

联合训练一个 NMT 模型和一个 Transformer-based skip-thought 模型,它们共享 encoder。联合训练模型由1个编码器和3个解码器组成,编码器对源句进行编码,3个解码器分别对目标句、前后源句进行预测。对于文档级平行训练实例 (s_{i},s_{i-1}, s_{i+1},y_{i})s_{i} 是当前源句,s_{i-1}s_{i+1} 是 s_{i} 的前后句,y_{i} 是目标句。给定 s_{i},同时预测 s_{i-1}s_{i+1} 和 y_{i},联合模型的损失函数为:

        Loss= Loss_{tgt}+\mu *Loss_{pre}+\lambda *Loss_{next}

其中 Loss_{tgt} 是 target decoder 的损失,Loss_{pre}Loss_{next} 是预测前后源句的损失,分别乘以两个超参数 µ 和 λ。两个步骤:

• 训练联合模型,最小化联合损失;

• 将 pre-decoder 和 next-decoder 从联合模型中移除,并继续在平行训练集 \left \{ (s_{i},y_{i}) \right \} 上对 NMT 的编码器和解码器进行训练,以优化 Loss_{tgt}

论文阅读——Learning Contextualized Sentence Representations for Document-Level Neural Machine Translation_第1张图片

(2)联合预训练两个 encoder-decoder 模型,分别在单语文档级语料库上预测同一当前句子的前后源句,并用文档级 NMT 模型对预训练模型进行微调。图2和图3的预训练和微调方法中,该模型可以使用非常大范围的具有文档边界的单语语料库集合,这很容易获得。

使用 (s_{i-1},s_{i}, s_{i+1}) 预训练一个编码器解码器模型,根据 s_{i} 预测前后 s_{i-1}s_{i+1},两个编码-解码器模型共享源词向量,联合训练的损失为:

        Loss= Loss_{pre}+Loss_{next}

获得预训练模型后,使用 Transformer 模型对预训练的两个编码器进行微调。微调模型包含三个编码器和一个解码器,其中两个编码器来自预训练模型。三种微调策略:

(1)pre-/next-encoder, NMT encoder 通过预训练模型中的词向量进行初始化;

(2)NMT encoder 的输入是当前源语句的 pre-/next-encoder 和词向量的输出的总和:

        encoder\_input=input\_embedding+pre\_encoder\_output+next\_encoder\_output

(3)微调时 pre-/next-encoder 的共享源词向量和参数持续优化。

论文阅读——Learning Contextualized Sentence Representations for Document-Level Neural Machine Translation_第2张图片

实验结果

论文阅读——Learning Contextualized Sentence Representations for Document-Level Neural Machine Translation_第3张图片

分析

表 7 为预训练模型的两种编码器分析,表明两个编码器比单共享编码器更好,可能的解释是上一句与下一句的依赖关系不同。

表 8 为微调模型消融实验,研究输入的三个部分对微调模型的影响,如果只使用预训练的词向量,可以获得 +0.34、+0.66 的 BLEU 提升;添加前后编码器的输出后,可以获得 +0.5、+0.62 的 BLEU 提升,这表明预训练的两个编码器学习到了额外的上下文信息。

表 9 为附加参数分析,联合训练方法与基线模型的参数量相同,但可获得更高的 BLEU 分数。预训练和微调模型增加了两个编码器,因此参数量比基线多 30% 左右。如果不预训练模型,性能会显著下降,甚至比基线还要差。这表明,预训练和微调相比基线的改进并不是通过使用额外的参数实现的,而是通过对单语文档数据的预训练学习的上下文知识实现的。

论文阅读——Learning Contextualized Sentence Representations for Document-Level Neural Machine Translation_第4张图片

 

论文阅读——Learning Contextualized Sentence Representations for Document-Level Neural Machine Translation_第5张图片

表 10 为翻译分析,模型可以通过使用文档上下文消除词义歧义(第一个例子),或者通过使文档级翻译更加一致(第二个例子)来提高翻译质量。为了对这两种改进进行统计分析,从测试数据中随机选择5篇共48个句子的文档进行翻译,模型可以成功地处理32个句子中歧义词的翻译,对于7个具有文档级一致性翻译问题的句子中,有4个句子被模型正确且一致地翻译了。

论文阅读——Learning Contextualized Sentence Representations for Document-Level Neural Machine Translation_第6张图片

你可能感兴趣的:(NLP)