无监督机器翻译的一种有效方法

                                无监督机器翻译的一种有效方法


链接:https://arxiv.org/pdf/1902.01313

例如,我们在2014年从英语到德语的wmt中获得了22.5分,比以前最好的无监督系统高出5.5分,比2014年的(监督方法)共享任务获胜者多出0.5分。

       虽然传统上机器翻译依赖于大量的并行语料库,但最近的一个研究方向是仅用单语料库来训练神经机器翻译(NMT)和统计机器翻译(SMT)系统。该研究使用子单词信息并开发了一个理论基础良好的无监督调节方法以及联合优化过程来识别并解决现有无监督SMT方法的一些不足之处。此外,还使用改进的SMT系统初始化了一个双NMT模型,通过反向翻译进行进一步的微调。与之前的先进无监督机器翻译技术相比该方法获得了很大的提升。例如,在2014年英语到德语的wmt翻译任务中获得了22.5的BLEU分数,比以前最好的无监督系统高出5.5分,比2014年的(监督方法)共享任务获胜者多出0.5分。

                                基于原则的无监督SMT

       基于短语的SMT模型是几种统计模型的对数线性组合:一个翻译模型、一个语言模型、一个重排模型和一个单词/短语惩罚。因此,建立一个无监督的SMT系统需要从单语料库中学习这些不同的组成部分。事实证明,对于他们的大多数来说,这是很简单的:语言模型是从单语料库中定义的;单词和短语的惩罚是无参数的;可以较小的代价删除标准的词汇重排模型,单独处理失真模型,这也是不需要参数的。这样剩下的主要挑战就是学习翻译模型,即建立短语表。

初始化短语表

      为了建立我们初始的短语表,该研究遵循Artetxe等人(2018b)并对每种语言独立学习的n-gram嵌入,通过自学习将它们映射到共享空间,并使用由此产生的跨语言嵌入来提取和评分短语对。更具体地,使用phrase2vec训练n-gram嵌入,它是skip-grapm一个简单的扩展,使用标准负采样损失将二元上下文和三元上下文添加到一般的单词上下文对去。使用初始化相同的VecMap 将嵌入映射到跨语言空间(Artetxe等人,2018a),该方法通过对齐相同的单词以及自我学习迭代地提升来构建初始化方法。最后,该文用每个源短语的100个近邻提取翻译候选词,并使用Softmax函数对它们的余弦相似性进行评分:

增加子单词信息

       现有无监督SMT系统的一个固有限制是单词被视为原子单位,无法利用字符级信息。这反映在翻译命名实体上,仅根据分布信息对相关的名词进行区分是非常困难的。为了克服这一问题,该文建议一旦在单词/短语级别上完成初始化对齐就加入子单词信息。为此在初始短语表中添加两个类似于词汇加权的额外权重,但使用字符级相似度函数而不是单词翻译概率。

无监督调节

        在独立地训练了基本的统计模型之后,SMT调优的目的是调整产生的对数线性组合的权重,以便在并行验证语料库中优化一些评估指标,比如BLEU,这一般是通过最小错误率训练或Mert(Och,2003)来完成的。不用说,这不能在严格的无监督设置下进行,仍然需要优化一些无人监督的标准,这些标准期望与测试的表现有很好的关联。不幸的是,现有的无监督SMT系统都没有做到这一点:Artetxe等人(2008b)使用一种启发式方法,在相反的方向建立两个初始模型,用其中一个通过反向翻译生成一个合成并行语料(Sennrich等人,2016),并应用Mert反方向调整模型,迭代直到收敛,而Lample等人(2018b)不执行任何调优。在下面的内容中,我们提出了一种更有原则的调优方法,定义了一个无监督的准则和一个保证收敛到局部最优的优化过程。

        在CycleGAN(Zhu等人,2017)和双重学习(He等人,2016)的启发下,该文的方法在相反方向上采用了两个初始模型,并定义了一个无监督的优化目标,在两个单语言语料E和F上将循环一致性损失和语言模型损失结合:

       循环一致性损失体现了翻译应该接近原文的想法。为了量化这一点,我们以原语中的一个单语语料为例,将其翻译成目标语言并返回原语,并以原文为参照计算其BLEU分数:

       同时,语言模型损失也体现了机器翻译应该在目标语言中产生流利文本的想法。为此使用一种n元语言模型对目标语言语料库中的每个词交叉熵进行估计,并对机器翻译文本中较高的每词交叉熵进行如下惩罚:

其中,长度惩罚过度地惩罚了长翻译:

       为了使联合损失函数最小化,采用MERT对两种模型的参数进行联合优化。在基本形式上,mert通过n个最佳列表近似每个源语句的搜索空间,并通过有效的线搜索方法计算每个参数的最优值,并贪婪地选择导致最大增益的步骤,从而实现坐标下降的形式。该过程迭代地重复,直到收敛为止,在每次迭代时用更新的参数增强n个最佳的列表,从而获得更好的整个搜索空间的近似。考虑到我们的优化目标结合了两个翻译系统,这就需要首先为生成一个n个最佳列表,并对于其中的每个条目,都需要使用生成一个新的n最佳列表,从而生成具有个条目的合并的n最佳列表。为了提高模型的效率,提出了一种采用标准MERT固定模型参数和优化其他模型参数的替代优化方法。因此,我们不需要扩展固定模型的搜索空间,因此可以单独使用n个最佳列表N个条目。


联合调优

       由于缺乏并行语料库,调优过程做了重要的简化,这可能会影响其潜在的性能:它的短语表有些不自然(例如,翻译概率是通过跨语言嵌入来估计的,而不是实际的频率计数),而且它缺乏词汇重排模型。为克服这一问题,现有的无监督SMT方法通过反向翻译生成合成的并行语料库,并利用它从头开始训练一个标准的SMT系统,迭代直到收敛。

       这种方法的一个明显的缺点是反向翻译将包含不符合语法的n元。可以说,只要不符合语法的n元是在源端,那么应该是无害的,因为它们不应该出现在真实文本中,所以它们在短语表中的相应条目不应该被使用。然而不符合语法的源短语最终会影响反向翻译的概率估计,包括符合语法的短语。该文认为最后向后概率估计只有在所有源短语都符合语法的情况下才有意义(因此所有可信翻译的概率之和为1),同样,前向概率估计只有在所有目标短语都符合语法的情况下才有意义。

       根据上述观察,该文提出了一种联合完善两个翻译方向的替代方法。更具体地说,使用初始系统来建立两个相反方向的合成语料库。从每个合成语料库中独立地提取短语对,并通过它们的交集建立短语表。在并行的语料中的合成源端估计前向概率,在目标端估计后向概率。这不仅保证概率估计是有意义的,而且它还完全抛弃了不符合语法的短语,因为源端和目标端的n元都必须在原单语文本中出现,才能出现在所产生的短语表中。然后将该短语表在合成平行语料库上反向学习到的词汇重排模型相结合。

NMT混合

       虽然SMT的严格的和模块化的设计为无监督机器翻译提供了一个非常合适的框架,但在监督环境中,NMT是一种相当优越的模式,在标准基准方面远远优于SMT。因此,选择SMT而不是NMT也对这些方法的潜在性能设置了严格的上限,因为无监督的SMT系统继承了与有监督的SMT系统完全相同的限制(例如局部性和稀疏性问题)。因此,该文认为SMT提供了一种更合适的体系结构来寻找语言之间的初始对齐,但最终NMT是更好的建模翻译过程的架构。在此基础上该文提出了一种混合方法,该方法使用无监督的SMT来对经过迭代反向翻译的双NMT模型进行提升。更具体地,首先在相反方向上训练两个SMT系统,并使用它们来帮助另两个在相反方向上的NMT系统的训练。这些NMT系统是按照迭代过程进行训练的,在每个方向交替更新模型。

                              实验结果和讨论

       表1报告了系统的实验结果。我们的整个系统在所有情况下都取得了最好的公布结果,在所有数据集和翻译方向上,BLEU以5-7分的成绩超过了以前的先进水平。数据表明最好的结果是通过使用SMT系统初始化NMT系统来获得的。这说明SMT的严格的和模块化的结构可能更适合于寻找语言之间的初始一致性,但最终的系统应该以NMT为基础,以获得最佳的结果。


你可能感兴趣的:(无监督机器翻译的一种有效方法)