【Machine Translation】基于短语&神经网络的无监督机器翻译

基于短语&神经网络的无监督机器翻译

摘要

现在机器翻译系统在某些语言上取得了接近人类水平的表现,但大多数严重依赖于大规模的平行语料,这阻碍了翻译系统在大多语言上的应用。

这篇论文研究的是在只有大量单语语料的情况下如何高效的翻译。

这篇论文提出了两个模型:神经模型和基于短语的模型。两个模型利用了:1-恰当的参数初始化;2-语言模型的降噪效果;3-用迭代后向翻译自动生成平行语料。

经实验,两个模型的效果非常好,并且更有优势:1-没有使用平行语料;2-模型更简单;3-模型的超参数更少;4-在语料很少的语言中,该模型相比半监督和无监督学习也取得了很好的效果;

介绍

机器翻译取得了巨大的成功,现在的挑战是:绝大多数语言并没有大规模平行语料,而现在的翻译主要基于在大规模平行语料上的迭代学习算法。

现在有一些研究尝试着解决这个问题,比如有限监督甚至是无监督学习,这些研究技术上有差异,但他们的成功是有一些共同点的。

  1. 他们仔细初始化翻译系统,利用一个推断平行词典;
  2. 他们利用强的语言模型,通过训练sequence2sequence模型作为降噪自编码器;
  3. 他们将无监督问题转化为监督问题:通过后向翻译自动生成平行语料,具体讲是,源-目标模型应用于源语言生成目标-源模型所需的输入,以此生成平行语料;
  4. 限制由两种语言共享的编码器产生的潜在表征;

这篇论文的贡献之处在于:本文联结了两种之前的神经网络方法,简化结构和损失函数,依然遵循上述原则,由此产生的模型更优,易于训练和调整;之后,将这个思想应用于基于短语的统计机器翻译(PBSMT),PBSMT在标记缺失的情况下往往更由于神经网络学习,因为缺少标记时神经网络可能过拟合。提出的PBSMT模型更简单、容易训练并且效果不错。

这篇论文还将提出的策略应用于差异大和资源少的语种之间,也取得了很好的效果。

无监督机器翻译的原则

之前的许多研究工作都尝试了无监督机器翻译,他们方法各异,这篇论文首先将这些先前的工作的共同原则总结出来,三个重要部件分别是:适当的初始化、语言模型和接待后向翻译。

  1. 初始化。初始化表达的是在这个不适定的任务上,我们希望达到的解空间的自然优先。通过利用词、短语甚至子词单元的近似翻译来启动这个过程。例如,有人利用一个提供的双语词典,有人 利用推断词典。令人鼓舞的直觉是,虽然这个初始化中的“逐词”近似翻译效果可能较差,但它依旧保留了一些原始语义。
  2. 语言模型。在源语言和目标语言的大量单语语料上分别训练语言模型。
  3. 迭代后向翻译。这个在半监督中很有效,它在无监督设置中的作用是:将源-目标翻译系统与目标-源翻译系统耦合。在这里,迭代后向翻译的作用是为每个目标句子生成一个源句子,这将无监督转化为监督学习,即使这样生成的源句子是有噪音存在的。之后,迭代不断优化。

无监督机器翻译系统

无监督机器翻译的算法大致是这样的:首先获取大规模单语语料,在源语言,目标语言上分别训练强的语言模型。利用这个语言模型,初始化,也就生成最初的初始化翻译模型,两个方向。之后,反向翻译,即利用当前的翻译模型生成翻译,作为平行语料,同时这也要利用语言模型,这样就更新了已有数据,再利用新的语料数据,更新翻译模型,重复迭代这个过程。

无监督神经机器翻译

首先研究在神经机器翻译上应用上面的三个原则。这篇文章提出了一个新的无监督NMT方法,这是之前的研究成果【指下载附件中的[2]等论文】的派生。注意,跨语言共享内部表示是NMT起作用的重要原因。

  1. 初始化。之前的翻译工作基于了双语词典,这里提出了一个更高效和简单的方法,这适用于彼此相关的语言。首先,单词表示采用BPE,这减小了词典大小以及减少了UNK的出现。第二,联合处理单语语料库的BPE标记,而不是学习BPE之间的显示映射。如果两种语言相近,那么他们就共享大量的BPE标记,这就消除了推断的双语词典的需要。在实践中,i)加入单语料库,i i)对得到的语料库应用BPE标记化,以及i i i)在相同的语料库上学习标记嵌入,然后这些令牌嵌入用于初始化编码器和解码器中的查找表。
  2. 语言模型。在NMT中,语言建模是通过去噪自动编码实现的。
  3. 反向翻译。生成新的平行语料,并用之优化翻译模型(最小化损失函数,随机梯度下降),迭代此过程。为了防止困在局部最优,增加额外限制。
  4. 共享潜在表示。 共享的编码器产生的表示类似于一种“中间语言”,它被解码器翻译成目标语言不管输入是什么。因此,我们对不同的语言使用同一个降噪编码器(encoder),这意味着所有参数一致,包括词嵌入矩阵。同理,我们也共享解码器参数。

大致理解:对于S和T,训练语言模型。对于S->T,初始化Encoder1-Decoder1模型,用S前向跑出T,则有了一次平行语料,用之训练此Encoder-Decoder更新参数;对于T->S,用T和Encoder2-Decoder2跑出S,则有了平行语料,用之训练Encoder-Decoder参数。这里Encoder1和Encoder2是完全一致的,另外,S和T都采用BPE,采用相同的词嵌入矩阵,这需要通过语言模型训练出来。

无监督基于短语的统计机器翻译

以传统的基于短语的统计翻译为基础骨干模型,应用无监督学习规则,研究无监督的基于短语的机器翻译。

在之前的PBSMT中,因为有大量对齐语料,所以,先推测短语之间的对齐,然后填充短语表。在短语表中存储的是一个n-gram映射到另一个n-gram的概率。

但是,在无监督下,没有对齐预料,如何填充短语表是个问题。与NMT类似,论文依然应用上面的几个原则。

  1. 初始化。利用Conneau et al.(2018)提出的方法,从单语语料中创建一个推断双语词典,进而填充初始短语表,包括源->目标和目标->源。
  2. 语言模型。对于源语言和目标语言都学习光滑的n-gram语言模型,使用KenLM。并且这在训练过程中固定不变。
  3. 后向翻译。首先采用无监督的短语表和语言模型来构建种子PBSMT(我的理解是:基础的最开始的PBSMT),使用这个PBSMT把源语料翻译成目标语言,这样就生成了平行语料。利用这个新的平行语料和语言模型,按照监督方式训练新的PBSMT,将生成的数据映射回源句子。之后,从另一方向开始此过程。重复此过程。

猜你喜欢

转载自www.cnblogs.com/duye/p/9745874.html