【新智元导读】从统计机器翻译到神经机器翻译,以及谷歌采用的最先进的 one-shot 和zero-shot 的方式,作者阐述了机器翻译这个特定任务的全流程,并提出思考: NMT 是否可以扩展到如基因序列、社交网络等其他基于建立联系的任务上? 曾经有人好奇,是否自然地认为翻译问题应该是一种密码学问题。被誉为机器翻译之父的Warren Weaver,曾说过:“This is really written in English, but it has been coded in some strange symbols. I will now proceed to decode.”。希望计算机能够应付翻译问题,理论基础之一是 McCulloch 和 Pitts 于 1943 年证明的定理。定理说明,开奖,用某种形式的再生回路构建的机器程序,能够从有限的前提中推断出任何合法的结论。 神经机器翻译(NMT)是近些年基于纯的神经网络(NN)提出的一种机器翻译框架。首先参考文献 [Cho et al., 2014; Sutskever et al.,2014; Kalchbrenner and Blunsom, 2013] 等,解释最基本的 encoder-decoder 模型。在 2015 年 Bahdanau et al. 把 attention 机制集成到基本的 encoder-decoder 模型中,当时在很多语言(en-fr, en-de, en-tr, en-zh)上得到 state-of-the-art 的机器翻译结果 [Gulcehre et al.,2015; Jean et al., 2015]。同时,上述机器翻译的技术框架也成功应用到图像和视频描述产生上 [Xu et al., 2015;Li et al., 2015]。 1. 统计机器翻译 首先简述一下基础知识,如果让机器把 A 语言的文本翻译成 B 语言的话,那么称 A 语言为源语言,B 语言为目标语言。不失一般性,本文都以句子翻译为例。机器翻译发展了 20 多年,有多种技术框架,例如:让即懂源语言又懂目标语言的人给出一些规则,显然这不是一种好方法,因为总结出一种语言的通用规则都不是易事。随后,用统计方法尝试从大量语料中显示地或隐式地“提取”这些规则。这些统计方法被统称为统计机器翻译。 简单来说,统计机器翻译就是找一个函数,把源语言映射到目标语言,如下图所示:
机器翻译的重要特性之一是目标函数,不是机器学习的常用应用中的一对一或多对一(例如分类是多对一),而是一对多,即源语言一句可能有目标语言正确的多句对应。所以,我们用条件概率 而不是确定的函数来建模,其中x为源语言,y为目标语言。统计机器翻译系统的第一件重要的事情是获取可用的双语语料,记 和 表示有 n 对样本,样本集合记为 D 。( 对于想自己捣腾一下的可在 Workshop on Statistical Machine Translation或International Workshop on Spoken Language Translation上找到数据)。 有了训练数据之后,怎么评价模型的好坏呢?最直观的想法是把每个样本在模型上的 log-likelihood 进行平均来量化。样本的 log-likelihood 是反应模型认为样本的 log-probability(记为)一种方法,其中 是模型参数。于是评价函数如下:
如果 log-likelihood 较小,说明当前模型对正确结果给出的概率较小。所以我们希望找到更好的能最大化 log-likelihood,即大家熟悉的MLE。 在20多年前,IBM Watson 研究中心采用 log-linear 模型的方法,建模条件概率 [Brown et al., 1993]。此类方法用一些特征的线性组合近似,如下式所示:
其中,C 是正则化常量。从而一批论文的贡献集中在寻找好的特征函数,值得一提的是 [Koehn, 2009] 著了一本很好的书。 在统计机器翻译框架下,机器学习主要是为了平衡不同的特征来找到一组参数,或者 re-rank 模型的候选 [Schwenk, 2007]。当前,深度学习已经用作特征函数的一部分或者用作 re-rank 其中 n-best 的候选,如下图所示 [Bahadanau et al., 2015] :
2. 神经机器翻译(NMT) (责任编辑:本港台直播) |