论文阅读——使用自训练方法在句子级NMT捕获文档上下文

Capturing document context inside sentence-level neural machine translation models with self-traininghttps://arxiv.org/pdf/2003.05259.pdf (未开源)

 

 

句子级NMT已经接近人类水平,但是通过翻译单个句子来翻译文档会导致有歧义但语法上有效的文本。而文档级NMT受到的关注较少,且效果落后于句子级。大多数文档级方法是在几个源或目标句子上捕获文档上下文,需要在并行文档级语料库上从零开始训练特定的NMT模型。

作者提出了一种在解码时将上下文加入预训练的句子级NMT的模型,不需要在并行文档级语料库上训练。从左到右处理每个文档,每次一个句子,根据句子级NMT生成的翻译对其进行 self-train。这个过程强化了模型所做的选择,因此更有可能在文档的其他句子中做出同样的选择。

对于一篇需要翻译的文档D,由n个源句 X_{1},\: X_{2},...,\:X_{n} 组成。给定一个训练好的句子级NMT模型 f_{\theta }(可以是RNN或Transformer),使用之前的翻译 Y_{<t} 和源句X得到每个目标词 y_{t} 的模型条件分布:

 

            p(Y|X)=\prod_{i=1}^{T}p(y_{t}|Y_{<t},X)

解码时使用贪婪或 beam search 得到最大化的 \textup{arg} \: \textup{max}_{Y}\:p(Y|X)

 

Self-training

首先将文档D中的第一个源句X1翻译成目标句Y1,然后用句子对(X1, Y1)对模型进行自训练,使给定X1、生成的Y1中每个单词的概率最大化。该自训练过程以权值衰减的方式对固定数量的steps进行梯度下降,权值衰减使权值的更新值更接近于原始值。对文档中其余的句子重复相同的更新过程。

Multi-pass self-training

由于文档是从左到右顺序处理的,为了利用整个文档的全局信息,且进一步强化模型对所有生成句所做的选择,使用多次自训练,即从左到右对文档进行多次处理,同时继续对模型进行自训练。

 

Oracle self-training to upper bound performance

由于生成的句子可能会含有一些错误,而自训练会强化这些错误,从而损害模型对文档中未处理的句子的性能。为了隔离不佳翻译的影响并估计性能的上限,以真实翻译为目标来评估自训练过程——oracle self-training,类似语言模型中的动态评估方法。在multi-pass self-training中不使用oracle,因为这会使它记住文档中每个句子的正确翻译并重新生成它。

 

实验结果

 

 

Investigating an approach for low resource language dataset creation, curation and classification: Setswana and Sepedi

学到一种数据增强方法:使用 doc2vec 相似度增强具有上下文关系的 w2v

https://arxiv.org/pdf/2003.04986.pdf 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值