发明计算机的最早目标之一就是自动将文本从一种语言翻译成另一种语言。
由于人类语言的灵活易变,自动(机器)翻译可能是最具挑战性的人工智能研究方向之一。典型地,基于语法规则的系统曾被用于这方面的研究,但在20世纪90年代被统计方法所取代。最近,在被形象地命名为神经机器翻译的领域中,深度神经网络模型取得了最新的进展。
通过这篇文章,你将发现机器翻译的挑战性以及神经机器翻译模型的有效性。
在阅读这篇文章后,你将了解:
让我们开始吧。
浅谈神经机器翻译
图片作者Fabio Achilli,保留所有权。
机器翻译是将一种语言的源文本自动转换为另一种语言的文本的工作。
在一次机器翻译任务中,输入已经由某一种语言的符号序列组成,然后计算机程序必须将其转换成另一种语言的符号序列。
给定一种源语言的一段文本序列,没有一个最好的到另一种语言的翻译文本。这是因为人类语言天生的模糊性和灵活性。这使自动机器翻译这个挑战变得困难,也许还是人工智能领域中最困难的一个:
事实上,精准的翻译需要一定的背景知识,以避免歧义和确定句子的内容。
传统的机器翻译方法通常涉及将源语言中的文本转换为目标语言的语法规则。语法通常由语言学家开发,可以在词汇,句法或语义层面进行操作。因为研究着重关注于语法,这个研究领域的名字由此而来:基于语法的机器翻译( Rule-based Machine Translation,或简称为RBMT)。
RBMT的特点是对语法规则及其表示的明确使用和手工创建。
传统机器翻译方法的关键局限性在于制定语法所需的专业知识,以及所需的大量语法规则和特殊的例外。
统计机器翻译(Statistics Machine Translation,简称SMT)是使用统计模型来学习将源语言文本翻译成目标语言,基于含大量例子的语料库。
使用统计模型的机器翻译可被定义为如下:
给定目标语言中的句子T,我们寻找可被翻译为句子T的句子S。我们知道,通过选择最有可能被翻译为T的句子S,出错的概率会被最小化。因此,我们希望选择的句子S能使Pr(S | T)的值最大化。
-摘自 《A Statistical Approach to Machine Translation》,1990年出版。
这种形式化的规范使给定输入序列的文本显式输出序列的概率最大化。这也明确了候选翻译的概念,以及需要通过模型的输出概率分布,在搜索过程或解码器中选择最可能的翻译。
给定源语言的文本,目标语言中最可能的翻译是什么?应该如何构建一个统计模型,将高的概率分配给“好”翻译,低的概率分配给“不好”翻译?
解决方法是数据驱动,它只需要源语言和目标语言文本的语料库。这意味着语言学家不再需要指定翻译规则。
这种方法不需要中间语言概念中复杂的本体论,也不需要手工制定源语言和目标语言的语法,也不需要手工标记的树库。它所需要的只是数据——也就是翻译样本,它从中可以学习翻译模型。
-摘自 《Artificial Intelligence, A Modern Approach》第3版,第909页,2009年出版。
机器翻译的统计方法很快就超越了传统的基于语法的方法,成为实际上的标准技术。
自从20世纪80年代末这个领域的开端以来,最流行的统计机器翻译模型就是基于序列的。在这些模型中,翻译的基本单位是单词或单词序列...这类模型简单而有效,并且同样适用于不同的人类语言之间
最广泛适用的技术是基于短语的,并且着重于分段翻译源文本的子序列。
统计机器翻译(SMT)几十年来一直是主流的翻译范式。SMT的实际实现通常是基于短语的系统(PBMT),由其翻译长度可能不同的单词或短语的序列
统计机器翻译方法虽然有效,但对于被翻译的短语的关注度不高,失去了目标文本的广泛性。对数据驱动方法的关注也意味着方法可能忽略了语言学家已知的重要语法区别。最后,统计方法需要在翻译过程中仔细调整每个模块。
神经机器翻译(简称NMT)是利用神经网络模型来学习机器翻译的统计模型。
这种方法的主要优点是可以直接对源文本和目标文本进行单一系统的培训,不再需要专门的统计机器学习系统。
与传统的基于短语的翻译系统不同,它由许多独立可调整的小型子部件组成,神经机器翻译试图建立和训练单个大型神经网络,读取一个句子并输出一个正确的翻译。
-摘自 《Neural Machine Translation by Jointly Learning to Align and Translate》,2014年发表。
因此,神经机器翻译系统被认为是端到端系统,因为翻译仅需要一个模型。
NMT的优势在于它能够以端到端的方式直接学习从输入文本到相关输出文本的映射。
-摘自《Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation》,2016年发表。
多层感知器神经网络模型可以用于机器翻译,尽管模型受限于输入序列是固定长度,并且输出也是同输入一样的长度。
这些早期的模型在最近通过使用循环神经网络进行了很大的改进,循环神经网络由编码器 - 解码器架构组成,允许可变长度的输入和输出序列。
编码器神经网络读取源语句并将其编码成固定长度的向量。然后解码器从编码矢量输出翻译结果。由对应两种人类语言的编码器和解码器组成的整个编码器 - 解码器系统被联合训练以最大化给定源句子被正确翻译的可能性。
-摘自《Neural Machine Translation by Jointly Learning to Align and Translate》,2014年发表。
编码器 - 解码器体系结构的关键是能将源文本编码成内部固定长度的表现形式的模型能力,该变现形式被称为上下文向量。有趣的是,一旦被编码,原则上可以使用不同的解码系统来将上下文向量翻译成不同的语言。
...一种模型首先读取输入序列然后发出一种概括输入序列的数据结构。我们把这个概要称为“上下文”C. ...第二种模式,通常是一个循环神经网络(RNN),它接着读取上下文C并用目标语言生成一个句子。
-摘自《Deep Learning》第461页,2016年出版。
有关编码器 - 解码器循环神经网络架构的更多信息,请参阅文章:
编码器 - 解码器体系结构虽然有效,但在翻译长序列的文本存在问题。
问题源于固定长度的内部表示,必须用它来解码输出序列中的每个单词。
解决方案是使用关注机制,使模型能够学习输入序列的注意点,在输出序列的每个字都被解码时。
使用固定大小的表示来捕捉一段非常长的句子的所有语义细节是非常困难的。然而,一个更高效的方法是阅读整个句子或段落,然后一次一个地生成翻译的单词,每次都集中在输入句子的不同部分以收集所需的语义细节来产生下一个输出字。
-摘自《Deep Learning》第462页,2016年出版。
使用关注机制的编码器 - 解码器递归神经网络结构目前在机器翻译的一些基准问题上是处于领先状态的。而且这种架构也被用在谷歌神经机器翻译系统(GNMT)的核心部分,并在他们的谷歌翻译服务中使用。
...目前最先进的机器翻译系统是由实现观注机制的模型提供支持。
-摘自《Neural Network Methods in Natural Language Processing》第209页,2017年出版。
更多有关观注机制的内容,请查看文章:
神经机器翻译系统虽然有效,但仍然遇到一些问题,比如扩展到较大的单词词汇量和训练模型的速度较慢。目前行业也在关注大规模神经翻译系统的研究,如谷歌翻译系统。
神经机器翻译的三个固有缺点:训练和推理速度较慢,无法处理低频单词,有时不能翻译源句中的所有单词。
-摘自《Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation》,2016年发表。
如果您想深入了解,本节将提供更多有关该主题的资源。
在这篇文章中,您了解了机器翻译的挑战性以及神经机器翻译模型的效率性。
具体来说,你学习了: