24章  神经机器翻译

计算机最早的目标之一是将文本从一种语言自动翻译到另一种语言。考虑到人类语言的流动性,自动或机器翻译可能是最具挑战性的人工智能任务之一。传统上,是使用基于规则的系统来处理这项任务,在20世纪90年代,统计方法取代了规则系统成为机器翻译的主要工具。最近,深度神经网络模型在这一领域中实现了好于统计方法的结果,起了一个还算拉风的名字神经机器翻译。在本章中,您将发现机器翻译的挑战和神经机器翻译模型的有效性。阅读本章后,您将了解:

  • 人类语言固有的模糊性和灵活性,机器翻译是非常具有挑战性的。
  • 统计机器翻译将经典的基于规则的系统替换为从示例学习翻译的模型。
  • 神经机器翻译模型单一整体模型,而不是一系列经过精细调整模型模型的组合,目前获得了比较好的翻译效果

24.1 什么是机器翻译?

机器翻译是将一种语言的源文本自动转换为另一种语言的文本的任务。

在机器翻译任务中,一种语言的符号序列组成的输入,计算机程序将其转换为另一种语言的符号序列。

- 98页,Deep Learning, 2016.

因为人类语言的自然模糊性和灵活性,在任何语言的互译中,给定源语言的一系列文本,并没有该文本到另一种语言的最佳通用翻译,这使得自动机器翻译的挑战变得困难,也许是人工智能中最难的一个:

事实上,准确的翻译需要背景知识,以解决歧义并确定句子的内容。

  • 21页,Artificial Intelligence, A Modern Approach, 3rd Edition, 2009

经典的机器翻译方法,通常涉及将源语言中的文本转换为目标语言的规则,这些规则通常是由语言学家开发,可以在词汇,句法或语义层面上运作。这种对规则的关注,给出了这个研究领域的名称:基于规则的机器翻译,或RBMT

RBMT的特点是显式地使用和手动创建具有语言学知识的规则和表示。

  • 133页,Handbook of Natural Language Processing and Machine Translation, 2011.

经典机器翻译方法的主要局限性是开发规则所需的专业知识,以及大量正常规则和例外。

24.2 什么是统计机器翻译?

统计机器翻译(简称SMT)是使用统计模型,学习如何在给定大量示例的情况下将文本从源语言翻译成目标语言。使用统计模型的任务可以正式说明如下:

给定目标语言中的句子T,我们寻找能被翻译成T的所有源句子S,做法如下:在给定T的情况下,通过选择最可能的句子S使得犯错误的概率最小。因此,我们希望选择S使得给定T的条件下,S的条件概率值Pr(S|T)最大

  • A Statistical Approach to Machine Translation, 1990

这正式的说明了机器翻译是在给定文本输入序列的的情况下,使得输出序列的概率最大化。它还明确了翻译存在一组候选翻译的概念,需要使用搜索过程或解码器从模型的输出概率分布中选择最有可能的目标语句的翻译过程

给定源语言中的文本,目标语言中最可能的翻译是什么?[...]如何构建一个统计模型,为翻译分配高概率,为翻译分配低概率?

  • xiii页,Syntax-based Statistical Machine Translation, 2017.

该方法是数据驱动的,只需要包含源语言和目标语言文本的示例语料库,这意味着语言学家不再需要指定翻译规则。

  • 这种方法不需要复杂的中间语言本体论,也不需要源语言和目标语言的手工语法,也不需要手工标记的语法关系树,它所需要的只是数据样本翻译,从中可以学习翻译模型的样本库。
  • 909页,Artificial Intelligence, A Modern Approach, 3rd Edition, 2009.

很快,机器翻译的统计方法优于传统的基于规则的方法,成为事实上机器翻译的标准技术集。

20世纪80年代末该领域开始以来,最流行的统计机器翻译模型基于序列。在这些模型中,翻译的基本单位是单词或单词序列[...]这些模型简单有效,适用于人类语言对

  • Syntax-based Statistical Machine Translation, 2017

最广泛使用的技术是基于短语的,并且专注于分段翻译源文本的子序列。

几十年来,统计机器翻译(SMT)一直是主导的翻译方法。SMT的实际实现通常是基于短语的系统(PBMT),不同语料库,相同的单词或短语的序列其翻译长度可能会不同

Googles Neural Machine Translation System: Bridging the Gap between Human and Machine Translation, 2016.

统计机器翻译方法虽然很有效,但由于其仅仅只关注翻译的词汇,失去了目标文本的更宽泛的意义和整体意义。对数据驱动方法的高度关注,也意味着方法可能忽略了语言学家已知的重要语法区别。最后,统计方法需要仔细配置翻译管道中的每个模块。

24.3 什么是神经机器翻译?

神经机器翻译(简称NMT)是利用神经网络模型来学习机器翻译的统计模型。该方法的主要好处是可以直接在源文本和目标文本上训练单个系统,不再需要统计机器学习中使用的专用系统的管道。

基于短语的翻译系统由许多分别调整的小子组件组成,与传统的基于短语的翻译系统不同,神经机器翻译尝试构建和训练单个大型神经网络,该网络读取句子并输出正确的翻译。

  • Neural Machine Translation by Jointly Learning to Align and Translate, 2014.

因此,神经机器翻译系统被称为端到端系统,因为翻译仅需要一个模型。

NMT的优势在于它能够以端到端的方式直接学习从输入文本到相关输出文本的映射。

Googles Neural Machine Translation System: Bridging the Gap between Human and Machine Translation, 2016.

24.3.1 编码器-解码器模型

尽管多层感知器神经网络模型受固定长度输入序列和具有相同长度的输出的限制,模型还是可用于机器翻译。这些早期的模型在最近有了很大的改进,通过使用被组织成编码器-解码器结构的递归神经网络,允许使用可变长度的输入和输出序列。

编码器神经网络将源句子读取并编码为固定长度的向量。然后,解码器从编码向量输出翻译。整个编码器-解码器系统由语言对的编码器和解码器组成,它们被联合训练,以最大化给定源句子的正确翻译的概率。

  • Neural Machine Translation by Jointly Learning to Align and Translate, 2014.

编码器-解码器架构的关键是模型具备将源文本编码为称为上下文向量的内部固定长度表示的能力。有趣的是,一旦编码,原则上可以使用不同的解码系统将上下文向量翻译成不同的语言。

...一个模型首先读取输入序列并发出总结输入序列的数据结构。我们将此摘要称为上下文”C. [...]第二种模式(通常是RNN)然后读取上下文C并生成目标语言的句子。

- 461页,Deep Learning, 2016.

24.3.2 带注意的编码器解码器

虽然有效,但编码器 - 解码器架构在要翻译的长文本序列方面还是存在问题,问题源于必须使用固定长度的内部表示来解码输出序列中的每个单词解决方案是使用注意机制,该机制允许模型在解码输出序列的每个单词时,知道应该将注意放在输入序列的什么地方

使用固定大小的表示来捕获很长句子的所有语义细节是非常困难的。[...]然而,更有效的方法是阅读整个句子或段落[...],然后一次一个地产生翻译的单词,每次都集中在输入句子的不同部分来收集生成下一个输出单词所需的语义细节。

- 462页,Deep Learning, 2016.

目前关注的编码器-解码器循环神经网络架构是机器翻译的一些基准问题的最新技术,架构被用于谷歌神经机器翻译系统的核心,或GNMT,用于谷歌翻译服务

当前最先进的机器翻译系统由使用注意力机制的模型提供动力。

- Page 209, Neural Network Methods in Natural Language Processing, 2017.

神经机器翻译系统虽然有效,但仍存在词汇量大、模型训练速度慢等问题对于大型生产神经翻译系统,如谷歌系统,目前研究热点。

神经机器翻译的三个固有缺点:它的训练速度和推理速度较慢,处理稀有单词的效率低,有时无法翻译源句中的所有单词。

Googles Neural Machine Translation System: Bridging the Gap between Human and Machine Translation, 2016.


0 条 查看最新 评论

没有评论
暂时无法发表评论