FesonX
发表于程序员的碎碎念 219
设计计算机的最早目标之一是将文本从一种语言自动翻译成另一种语言.
由于人类语言的流动性, 自动翻译或者机器翻译可能是最具挑战性的人工智能任务之一. 20 世纪 90 年代, 统计方法被用于完成这项任务, 取代了此前传统上的基于语法规则的翻译系统. 最近, 深度神经网络模型在命名为神经机器翻译的领域中获得了最先进的成果.
在这篇文章中, 您将发现机器翻译的挑战性和神经机器翻译模型的有效性.
阅读这篇文章之后, 你会知道:
由于人类语言固有的模糊性 (或称为双关性) 和灵活性, 机器翻译是具有挑战性的.
统计机器翻译用从示例中学习翻译的模型替换传统的基于语法规则的翻译系统.
神经机器翻译模型适合单个模型, 而不是一系列微调模型. 目前, 神经机器模型获得了最先进的结果.
让我们开始吧.
什么是机器翻译?
机器翻译是一项将某种语言的源文本自动转换为另一种语言的文本的任务.
在机器翻译任务中, 输入是由某些语言的符号序列组成. 计算机程序必须将其转换成另一种语言的符号序列.
深度学习, 第 98 页, 2016.
给定一个待翻译的语言的文本序列, 不存在一个翻译是当前文本的最佳翻译. 这是因为人类语言天生的模糊性和灵活性. 这使得自动机器翻译这一挑战变得困难, 也许这是人工智能中最难的一项挑战:
事实上, 准确的翻译需要背景知识支撑, 以解决句子的歧义性并确定句子的内容.
人工智能, 现代方法, 第 21 页, 第 3 版, 2009 年.
传统的机器翻译方法通常涉及将源语言的文本转换为目标语言的规则. 这些规则通常由语言学家开发, 可以在词汇, 句法或语义层面进行操作. 这种集中于规则上的翻译, 人们给这个研究领域起了个名字: 基于规则的机器翻译(Rule-based Machine Translation), 或简称为 RBMT.
RBMT 的特点是明确使用手工创建语言规则和表示.
自然语言处理和机器翻译手册, 第 133 页, 2011 年.
传统机器翻译方法的关键局限性在于制定规则所需的专业知识以及海量的规则和例外.
什么是统计机器翻译?
统计机器翻译 (即 Statistical machine translation, 简称 SMT) 使用统计模型, 通过学习大量的语料来将源语言文本翻译成目标语言.
这个使用统计模型的任务可以正式说明如下:
给定目标语言中的句子 T, 我们寻找翻译者翻译的句子 S. 我们知道, 通过选择最有可能给出 T 的句子 S, 错误的可能性将被最小化. 因此, 我们希望选择 S 以最大化 Pr(S | T)(
译者注: 即 T 发生后 S 的条件概率
).
机器翻译的统计方法, 1990.
这种形式化的规范使给定输入序列的文本的输出序列概率最大化. 这也使得存在一组候选翻译的概念是明确的, 并且需要一个搜索的过程或解码器从模型的输出概率分布中选择最可能的翻译.
给定源语言的文本, 目标语言最可能的翻译是什么? 如何构建一个统计模型, 给 "好" 翻译分配更高的可能性, 给 "坏" 翻译分配低可能性?
基于语法的统计机器翻译, 第 xiii(13)页, 2017.
该方法是数据驱动, 只需要源语言和目标语言文本的语料库. 这意味着语言学家不再需要为翻译指定规则.
这种方法即不需要复杂的国际语概念本体论, 也不需要源语言和目标语言的手工语法, 同时不需要手工标记的树库(
译者注: treebank, 一种解析文本语料库, 用于注释句法或语义句子结构, 翻译自维基百科
). 它所需要的只是样本翻译数据, 从中可以训练翻译模型.
- 人工智能, 一种现代方法, 第 909 页, 第 3 版, 2009 年.
基于统计方法的机器翻译很快就超越了传统的基于规则的方法, 成为事实上的标准技术.
自 20 世纪 80 年代末这个领域开始发展以来, 最流行的统计机器翻译模型是基于序列的. 在这些模型中, 翻译的基本单位是单词或单词序列... 这类模型简单而有效, 与人类语言很匹配.
基于语法的统计机器翻译, 2017.
使用最广泛的技术是基于短语的, 并着重于分段翻译源文本的子序列.
几十年来, 统计机器翻译 (SMT) 一直是主流的翻译范式. SMT 的具体实施通常是基于短语的系统(phrase-based systems, PBMT), 其翻译长度可能不同的单词或短语序列
Google 神经机器翻译系统: 缩小人与机器翻译之间的差距, 2016.
统计机器翻译方法虽然有效, 但对于被翻译的短语的关注却很窄, 导致失去了目标文本的广泛性. 对数据驱动方法的重点关注, 也意味着这些方法可能忽略了语言学家已知的重要语法区别. 最后, 统计方法需要在翻译过程中仔细调整每个模块.
什么是神经机器翻译?
神经机器翻译 (Neural machine translation, 简称 NMT) 是利用神经网络模型来学习机器翻译的统计模型.
它的主要优点是可以通过源文本和目标文本直接对一个系统进行训练, 不再需要专门的统计机器学习系统.
传统的基于短语的翻译系统由许多独立调整的小型子部件组成, 与之不同的是, 神经机器翻译试图建立和训练单个大型神经网络可以读取一个句子并输出一个正确的翻译.
联合学习排列和翻译的神经机器翻译, 2014.
因此, 神经机器翻译系统被认为是端到端系统, 因为翻译仅需要一个模型.
NMT 的优势在于它能够以一种端到端的方式直接学习从输入文本到相关输出文本的映射.
Google 神经机器翻译系统: 缩小人与机器翻译之间的差距, 2016.
编码器 - 解码器模型
多层感知器神经网络模型可以用于机器翻译, 尽管模型受固定长度输入序列和与输入相同长度输出序列的限制.
这些早期的模型在最近通过使用循环神经网络进行了很大的改进, 模型被组织成编码器 - 解码器架构, 其允许可变长度的输入和输出序列.
编码器神经网络读取源语句并编码成固定长度的向量, 然后从编码向量输出翻译. 由编码器和一对语言的解码器组成的整个编码器系统被联合训练得到最大化给定源句子的正确翻译的可能性.
联合学习排列和翻译的神经机器翻译, 2014.
编码器 - 解码器体系结构的关键是模型将源文本编码成称为上下文向量的内部固定长度表示的能力. 有趣的是, 源文本一旦被编码, 原则上可以使用不同的解码系统来将上下文翻译成不同的语言.
... 一个模型首先读取输入序列并发出一个总结输入序列的数据结构. 我们把这个摘要称为 "context(上下文)"C. 第二种模式, 通常是一个 RNN(循环神经网络), 接着读取上下文 C 并用目标语言生成一个句子.
深度学习, 第 461 页, 2016
有关编码器 - 解码器递归神经网络架构的更多信息, 请参阅:
编码器 - 解码器长期短期记忆网络
编码器 - 解码器架构注意事项
编码器 - 解码器体系结构虽然有效, 但翻译长序列的文本时存在一些问题.
问题源于固定长度的内部表示, 必须用它来解码输出序列中的每个单词.
解决方案是使用注意机制(attention mechanism), 使模型能够学习在输入序列放置注意点, 因为输出序列的每个单词都被解码.
使用固定大小的表示来捕捉非常长的句子的所有语义细节是很困难的. 一个更高效的方法则是阅读整个句子或段落, 然后一次一个地生成翻译的单词, 每次都关注输入句子的不同部分以收集所需的语义细节产生下一个输出单词.
深度学习, 第 462 页, 2016.
带有注意机制的编码器 - 解码器递归神经网络结构目前在机器翻译的一些基准问题上是最先进的. 而且这种架构被用作谷歌神经机器翻译系统 (Google Neural Machine Translation, GNMT) 的核心架构, 在他们的谷歌翻译服务中使用.
... 目前最先进的机器翻译系统是由采用注意机制的模型提供支持.
自然语言处理中的神经网络方法, 第 209 页, 2017.
更多有关注意机制的信息, 请参阅:
长期记忆递归神经网络的注意机制
虽然神经机器翻译系统是有效的, 但它仍然遇到一些问题, 比如扩展到更大的单词的词汇量问题, 训练模型的速度慢问题. 目前关注大规模生产的神经翻译系统有谷歌的翻译系统等.
神经机器翻译的三个固有缺点: 训练和推理速度较慢, 无法有效处理不常见的单词, 有时不能翻译源句中的所有单词.
Google 神经机器翻译系统: 缩小人与机器翻译之间的差距, 2016.
进一步阅读
如果你想深入了解, 本节将提供更多有关该主题的资源.
图书
自然语言处理中的神经网络方法, 2017.
基于语法的统计机器翻译, 2017.
深度学习, 2016.
统计机器翻译, 2010.
自然语言处理和机器翻译手册, 2011 年.
人工智能, 一个现代方法, 第 3 版, 2009 年.
文献
机器翻译的统计方法, 1990.
评论文章: 基于实例的机器翻译, 1999.
使用 RNN 学习短语表示的编码器 - 解码器统计机器翻译, 2014 年.
联合学习对齐和翻译的神经机器翻译, 2014 年.
Google 神经机器翻译系统: 缩小人与机器翻译之间的差距, 2016.
神经网络与顺序序列学习, 2014 年.
反复连续翻译模型, 2013.
用于基于短语的统计机器翻译的连续空间翻译模型, 2013.
补充
机器翻译档案
神经机器翻译 - 维基百科
第 13 章, 神经机器翻译, 统计机器翻译, 2017.
总结
在这篇文章中, 你可以发现机器翻译的挑战以及神经机器翻译模型的有效性.
具体来说, 你了解到:
由于人类语言固有的模糊性 (或称为双关性) 和灵活性, 机器翻译是具有挑战性的.
基于学习示例翻译模型的统计机器翻译取代了基于规则的翻译系统.
神经机器翻译模型适合单一模型, 而不是一系列微调模型. 目前, 神经机器模型获得了最先进的结果.
翻译人: FesonX, 该成员来自云 + 社区翻译社
来源: https://cloud.tencent.com/developer/article/1036604