一、背景
你马上要阅读的文章,正是一篇原本用英文写的文章的中文译本。当然,是我手动将英文翻译成中文的。这个过程不算轻松:首先我要熟悉英文(还好我提前掌握了),然后我要熟悉中文(我当然也提前掌握了),我要理解英语原文的含义,再用中文表达出来,最后进行校对。如果,我们能够把这个任务交给计算机程序,那会是多少幸福的事情。
事实上,计算机翻译程序的发展已有相当长的历史。在统计机器翻译(Statistical Machine Translation,或简写为 SMT)出现之前,人们已经研究出多种不同的翻译方法 (维基百科:机器翻译方法),比如,有的单纯地进行逐字翻译,有的需要手动配置大量的翻译规则,有的需要编写复杂的算法去分析不同语言的句法结构,有的尝试建立一种中间语言。相比这些方法,统计机器翻译的优势是需要更少的人工干预,不依赖任何具体语言,翻译质量可以通过优化语料库和语言模型来有效提升等等。目前大量正在被使用的翻译程序,比如谷歌翻译和微软必应翻译,仍然部分或全部地基于统计机器翻译(维基百科:机器翻译应用的对比)。当然,技术总是不断在探索和突破,近几年已有不同方向的新的翻译方法出现(神经网络机器翻译——Neural Machine Translation,NMT)。
二、为什么要翻译 A Statistical MT Tutorial Workbook 这篇文章?
维基百科对统计机器翻译的定义是:
Statistical machine translation (SMT) is a machine translation paradigm where translations are generated on the basis of statistical models whose parameters are derived from the analysis of bilingual text corpora.
统计机器翻译是一种基于统计模型来生成翻译结果的机器翻译方法,其中,模型的参数通过分析双语语料库得到。
定义非常简单,但要如何具体地理解呢?比如,定义中的统计模型指什么?模型的参数如何从双语语料库中得到?
Kevin Knight 于 1999 年完成的文章 A Statistical MT Tutorial Workbook 便是非常好的答案。文章以统计机器翻译的设想开始,不断提出问题再解决问题,一步步带领读者理解统计机器翻译。文章用浅显的例子去解释其中的理论和概念,读者无需额外的知识储备即可顺畅阅读。同时,作者 Kevin Knight 的文笔幽默,使得阅读过程十分轻松。
三、通过本译文,你会学到什么?不会学到什么?
你会学到:
- 统计机器翻译是如何利用基础概率知识、贝叶斯公式、N-gram 和 EM 算法等知识一步步从想法到实现的。
- 统计机器翻译由哪些核心部分组成,每个部分的作用以及是如何联系在一起的。比如,一个模型由生成理论 + 参数构成,语言模型和翻译模型则是统计机器翻译的主要部分。
- 统计机器翻译中的绝大多数核心概念,比如经典的 IBM Model 1-5(本文实际上只介绍了前三种),n,t,d 和 p 参数,词对齐等等。
你不会学到:
- 统计机器翻译各个部分的所有细节。
- 如何用编程语言实现一个完整的统计机器翻译程序。
- 统计机器翻译所经历的所有优化和发展。(比如后来基于短语的做法成为了主流,而不是一开始的基于单词。)
- 统计机器翻译与其他翻译方法的对比。
开始阅读译文 。