低资源语言的神经机器翻译

分享

其他推荐

神经机器翻译(NMT)系统在许多语言对中已经达到了最先进的性能,这使得研究人员越来越感兴趣的是当前的系统是否可以在性能方面与人类翻译竞争。

用于训练现代机器翻译系统的数据集通常包含大量的双语句子。然而,并不是所有的语言对都有这种大小的数据集。对于世界上大部分语言,可用的数据量相对较少,甚至不存在。低资源语言是那些可用于训练的数据相对较少的语言。2022年的NeTTT会议上,语言学、翻译、机器翻译(MT)和自然语言处理(NLP)领域的学者和从业者聚集在一起分享研究、想法和概念。埃里尼·扎费里杜乔恩·坎布拉是Welocalize AI和机器学习专家。他们发表了名为NMT for Low Resource Languages的演讲,分享关于这个热门话题的知识和研究。在这篇博客中,埃里尼和乔恩回顾了他们演讲中的一些要点:为了减轻数据的局限性,最近的研究探索了低资源NMT领域的各种技术:

数据扩充

低资源语言内容的数据扩充是一种基于已有数据生成合成段对的扩展技术。这可以通过对原始段对应用一些转换来实现,并且一旦转换,就将它们作为新的数据条目包括在内。

数据扩充在不同的机器学习领域得到了很好的研究,但在NMT研究较少,因为转换需要产生流畅和有意义的片段,并保持源和目标之间的对齐。然而,原先的技术会通过删除或替换单词注入噪声,这可以提高NMT的耐用性但同时也可能破坏NMT系统。

最近的工作探索了替换单词作为转换的想法。事实上,以下是近年来研究的一些技术:

    • 用生疏词代替常用词。这为低频词提供了新的语境,低频词是NMT系统中最难翻译的词
    • 源文本与目标文本词的随机替换
    • 使用语言模型(LM):
  • 用一个词替换另一个词
  • 用单词在词汇表中的概率分布来替换单词
  • 寻找具有与生疏词上下文相似的单词的片段,并应用替换来增加这些术语在训练数据中的频率
  • 用字典术语替换
  • 使用语法感知替换,即使用语法规则选择不太重要的单词进行替换

低资源语言的另一种情况可能是只有一种语言的并行数据(如目标内容)可用。在这种情况下,用NMT系统产生另一种语言的常用技术是反向翻译。这个过程意味着更复杂的并行数据。由于输出的数据依赖于用于产生另一种语言的NMT系统的质量,因而这些数据是不完美的。由此输出的数据质量还将取决于其他因素,如要训练的NMT系统的类型或原始数据和合成数据的数量。

假设使用反向翻译数据可以产生更好的系统,那么我们达到了迭代反向翻译的过程,即重复反向翻译以产生更好的系统。

使用单语数据

我们可以尝试从使用单语数据进行NMT训练中获益。一方面,我们可以利用在已有单语数据上训练的单词嵌入模型来初始化NMT系统的嵌入层,该嵌入层可以在具有高资源设置的NMT期间容易地学习。

另一方面,有可能将诸如BERT、GPT或ELMO之类的语言模型(LM)以不同的方法合并到NMT系统中:

  • 用LM初始化NMT模型编码器、解码器或两者
  • 浅层融合:LM用于在翻译过程中对生成的标记进行评分
  • 深度融合:连接LM到解码器以便进行约束,使NMT产出的形符分布类似于LM分布

迁移学习

当学习一项新技能时,人类有能力利用以前的经验。这使得快速有效地获得新知识和新能力变得更加容易。另一方面,机器学习算法通常使用一组默认数据,在没有任何先前知识的情况下,基于随机初始化来学习新任务。

迁移学习是机器学习的一个子领域,它通过将从给定任务中获得的知识转移到另一个类似的任务中来使用这些知识。它在NMT领域广泛使用。迁移学习不是训练多个单独的模型,而是在高资源语言上训练NMT模型,然后使用更有限的数据集来初始化在低资源语言对上训练的更小的子模型。

迁移学习可以分为两大类。在第一个热启动场景中,我们在训练之前就知道子数据集,因此我们可以为传输过程适当地准备父模型。另一方面,在冷启动场景中,我们不知道子语言或数据集,因此我们无法相应地准备父模型。因此,我们需要在将任何参数转移到子模型之前执行适当的修改(例如合并/更新模型)。

在过去的几年里,已经提出了许多可以在迁移学习环境中有效利用的额外方法。其中一些强调了拥有强大的父模型的重要性,而另一些则指出了使用相似语言的重要性,包括单词重叠、相同的字母表、共享的词汇或跨语言嵌入。其他一些,引入多阶段迁移学习或使用枢轴语言作为翻译过程中的中间步骤。最后,在许多情况下,迁移学习可以与其他方法(如多语言NMT)同时使用,以获得更高的性能。

多语言NMT

多语言NMT系统是那些在多个语言对之间进行翻译的系统,它们也可以有效地用于低资源环境。

在数据方面,多语言模型可以翻译:

  • 从多种目标语言到一种目标语言
  • 从一种源语言到多种目标语言
  • 从多种目标语言到多种目标语言

就模型的模型结构而言,多语言NMT系统可以具有依赖于语言的、部分或完全共享的组件(如编码器、解码器、注意力机制)

在开发任何这样的系统之前,我们需要考虑将要使用什么语言。许多研究者支持拥有具有共同形态句法模式的语言的重要性,这些语言有时甚至可能属于同一个语系。其他研究强调了使用具有相似书写文字的语言或应用音译和数据转换技术来解决这种差异的重要性。与迁移学习技术类似,共享词汇表和使用跨语言嵌入也被证明是多语言NMT环境中的一种有效策略。在所有语言中的充分代表性也被认为是至关重要的。在数据不平衡的情况下,使用加权数据集、增加数据或对某些语言进行过采样或欠采样可能会有所帮助。还需要根据所需的培训时间、成本和可用的硬件或数据资源来仔细考虑扩大模型的容量。

总的来说,对于低资源NMT,已经提出了许多有趣的方法。然而,推荐最合适的解决方案并不容易,因为它在很大程度上取决于可用数据的类型、数量和质量。也许,结合上述一些技术会产生更好的结果。

原文链接

 

(机器翻译,轻度译后编辑,仅供参考。)

编辑:曾钰璇

Was it helpful ?