“我想说你们族人的方言。如果别人听不懂你说的话,说话就没有意义。”

——佐拉·尼尔·赫斯顿,《摩西:山中之人》,1939年,第121页

本章介绍机器翻译MT),即利用计算机将一种语言自动翻译成另一种语言。

当然,广义上的翻译——比如文学或诗歌的翻译——是一项困难、迷人且高度依赖人类智慧的工作。其丰富性不亚于人类创造力的任何其他领域。

因此,当前形式的机器翻译主要聚焦于若干非常实际的任务。 目前最常见的机器翻译用途之一是信息获取。 我们可能想翻译网上的某些说明文字,比如一道喜爱菜肴的食谱,或者组装家具的步骤。 我们也可能想阅读一篇外文报纸文章,或者从维基百科、政府网站等外语在线资源中获取信息。 用于信息获取的机器翻译,可能是自然语言处理(NLP)技术最普遍的应用之一。仅Google Translate(如上图所示)每天就在100多种语言之间翻译数千亿个单词。 因此,机器翻译的进步有助于缩小所谓的数字鸿沟:即英语和富裕国家所用语言的信息远比其他语言丰富得多。 用英语进行网络搜索能获得远多于其他语言的信息;像维基百科这样的在线资源,在英语和其他高资源语言中的内容也大得多。 高质量的翻译可以帮助低资源语言的使用者获取更多信息。

机器翻译另一个常见用途是辅助人工译员。 MT系统通常会先生成一份初稿,再由人工译员在后期编辑(post-editing)阶段进行修改。 这项任务常被称为计算机辅助翻译(CAT)。 CAT通常作为本地化(localization)的一部分使用。本地化是指将内容或产品适配到特定语言社群的过程。

最近,机器翻译还被用于满足即时人际交流的需求。 这包括增量翻译(incremental translation)——在句子尚未说完时就实时翻译语音,类似于同声传译的做法。 还有以图像为中心的翻译应用,例如通过手机摄像头拍摄菜单或路牌,利用 OCR 识别图像中的文字,再将其输入 MT 系统进行翻译。

机器翻译的标准算法是编码器-解码器(encoder-decoder)网络。 我们在第7章简要提到过,编码器-解码器(或称序列到序列)模型适用于将一个输入序列映射为一个输出序列的任务,而该输出序列是整个输入序列的复杂函数。这类任务包括机器翻译和语音识别。 的确,在机器翻译中,目标语言的词与源语言的词在数量和顺序上往往并不一致。请看下面这个虚构的英文句子及其日语翻译:

(12.1) English: He wrote a letter to a friend
       Japanese: tomodachi ni tegami-o kaita
                 friend    to  letter   wrote

注意,两种语言中句子成分的位置差异很大。 英文中动词位于句中,而日文中动词 kaita(写了)出现在句末。 日语句子不需要代词 he(他),而英语则必须使用。

语言之间的这类差异可能相当复杂。 以下是从联合国文件中摘录的一个真实例句。我们用红色标注了中文字符的逐词释义,并附上了人工翻译的英文版本:

(12.2) 大会/General Assembly 在/on 1982年/1982 12月/December 10日/10 通过 了/adopted 第37号/37th 决议/resolution ,核准了/approved 第二 次/second 探索/exploration 及/and 和平peaceful 利用/using 外层空 间/outer space 会议/conference 的/of 各项/various 建议/suggestions 。

On 10 December 1982, the General Assembly adopted resolution 37 in which it endorsed the recommendations of the Second United Nations Conference on the Exploration and Peaceful Uses of Outer Space.

注意英文和中文之间的诸多差异。 例如,词语顺序大不相同。 中文的名词短语的语序是:“和平利用外层空间会议的各项建议”,而英文则是“suggestions of the … conference on peaceful use of outer space”。 日期的排列顺序也不同。 英文在许多地方需要使用定冠词 the,而中文则不需要。英文还添加了一些中文中不必要的细节,比如“in which”和“it”。 中文在名词上没有复数标记(不像英文用“-s”表示“recommendations”),因此必须借助修饰语“各项”(various)来表明建议不止一条。 此外,英文对某些词首字母大写,而中文则没有这种规则。 编码器-解码器网络在处理这类复杂的序列映射任务时非常成功。

下一节,我们将首先探讨语言差异的语言学背景,以及这些差异对机器翻译任务的影响。 接着,我们会概述标准算法,详细介绍输入分词、平行句对训练语料的构建等环节,进一步说明编码器-解码器网络的技术细节,最后讨论机器翻译的评估方法,引入简单的 chrF 指标。