nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)

《Neural Machine Translation by Jointly Learning to Align and Translate》——基于联合学习对齐和翻译的神经机器翻译

  • 作者:Dzmitry Bahdanau,KyungHyun Cho,Yoshua Bengio
  • 单位:不莱梅雅克布大学,蒙特利尔大学
  • 发布会议及时间:ICLR 2015

1、机器翻译简介

1.1 机器翻译

  • 机器翻译,又称为自动翻译,是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。
  • 它是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。
    nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)

1.2 机器翻译研究意义

  • 机器翻译是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。同时,机器翻译又具有重要的实用价值。随着经济全球化与互联网的飞速发展,机器翻译技术在促进政治、经济、文化交流等方面起到了越来越重要的作用。

1.3 机器翻译发展历史

  • 趋势:让机器更“自主”地学习如何翻译;
  • 分为三个阶段:
    • 1980:基于规则的翻译;
    • 1990:基于统计的翻译;
    • 2013:基于神经网络的翻译;

1.3.1 基于规则的机器翻译

  • 基于规则的机器翻译,是最古老也是见效最快的一种翻译方式。
  • 根据翻译的方式可以分为:
    • 直接基于词的翻译;
    • 结构转换的翻译;
    • 中间词的翻译;

nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
与人类类似,这种方法在翻译时会先分析句子中单词的词性,将每个词翻译成目标语言,再根据语法规则进行调整,然后输出结果。

如下图所示这个例子"We do chicken right",被翻译为“我们做鸡右”,由此可见这种翻译方法的效果并不好,因为语言表达的方法十分灵活,有限的语法和规则无法覆盖所有的语言现象。而且这种方法高度依赖人类专家,人类专家必须有源语言的知识和目标语言的知识,开发周期也比较长。
nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)

1.3.2 基于统计的机器翻译

  • 基本思想:通过对大量的平行语料进行统计分析,构建统计翻译模型,进而使用此模型进行翻译;
  • 核心问题:为翻译过程建立概率模型;
  • 大致流程
    nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
    nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
    根据词或者短语找到所有可能的结果,再在庞大的语料库中进行搜索,统计每种结果出现的概率,最后将概率最高的结果进行输出。

假设有一个任务将汉语翻译成英语,源语言是“布什与沙龙举行了会谈”,寻找条件概率分布P(yx;θ)P(y|x;\theta),给定x,寻找y,其中θ\theta是模型参数,如何建立一个概率分布呢?

从直观上说,可以枚举所有的中文句子和英文句子来建立概率分布,但这样的做法显然是不合适的。因为语言随时都会产生新的句子,所以不太可能建立直接的映射。为此,引入隐变量。比如知道了源语言句子,翻译得到了目标语言句子,但整个翻译过程的细节都是在训练集上看不到的,这就称为隐变量。

  • 隐变量:生产过程中不可观察的随机变量;
  • 隐变量对数线性模型:在隐式语言结构上设计特征;
  • 关键问题:如何设置特征函数;
    nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
    统计方法如何在隐变量上建立概率模型呢?主流方法是2002年提出的隐变量对数线性模型,可以看下图中的概率公式。公式引入了一个隐变量z,在外层应用softmax函数,里面使用特征权重θ\theta和特征函数ϕ\phi 做点积来进行计算。

在基于隐变量的统计机器翻译中,如何设置特征函数成为最关键的问题。

1.3.3 基于神经网络的机器翻译

  • 基于神经网络的机器翻译:通过学习大量成对的语料让神经网络自己学习语言的特征,找到输入与输出之间的关系;
  • 核心思想:端到端(End-to-End)
    nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)

2014年时,Kyunghyun Cho和Sutskever先后提出了一种End-to-End即所谓“端到端”的模型,直接对输入输出建立联系,前者将其模型命名为Encoder-Decoder模型,后者将其命名为Sequence-to-Sequence模型。

2、神经机器翻译相关技术

2.1 基于神经网络的机器翻译

  • 基本思想:利用神经网络实现自然语言的映射
  • 核心思想:条件概率建模P(ynx,y<n;θ)P(y_n|x,y_{<n};\theta)yny_n:当前目标语言词
    xx:源语言句子
    y<ny_{<n}:已经生成的目标语言句子

观看下图中的数学模型,和上面说的统计机器翻译非常不一样,并没有引入任何的隐变量z,而是实现了一个马尔科夫分解,把译文的生成变成每个词的生成,公式中的N代表了目标语言的长度,yny_n代表第n个词,x代表整个中文句子,y<ny_{<n}代表目前已经生成的英文句子。
nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
问题转化为如何建立一个条件概率,已知源语言的句子和已经生成的目标语言的句子来预测当前的目标词是什么。最大的难点在于源语言的句子和已经生成的目标语言的句子是非常稀疏的,可以生成各种各样的句子,很难用传统的离散表示来建立这样的概率分布。
nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
深度学习最大的贡献在于可以使用连续的表示来对条件概率进行建模。因此我们可以对条件概率进行分解,数学技巧在于引入一个softmax函数,内部引入一个 φ\varphi函数,该公式的主要参数在于第n个目标词生成的语言词 yny_n,公式中x是源语言的句子,y<ny_{<n}就是目前已经生成的部分译文以及模型参数。

使用softmax函数能保证这是一个概率分布,φ\varphi函数定义了生成yny_n概率的一种可能性。因此关键问题在于怎么定义一个φ\varphi函数。数学技巧在于用向量来表示这些句子,从公式中可以看到引入了一个vynv_{y_n}向量来表示这个词,csc_s表示源语言段的上下文信息,ctc_t表示目标语言端的上下文信息。因此神经网路翻译最关键在于如何生成源语言上下文、目标语言上下文,并且使用它们来预测当前的译文。

2.2 句子的向量表示

在深度学习中,使用最广泛的是使用递归神经网络。给定一个句子“布什与沙龙举行了会谈”,并且使用/s作为句尾结束符,可以使用递归神经网络来计算句子的向量表示。

nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
首先对每一个中文词生成一个向量,这个操作可以通过word-embedding生成,然后从左到右通过递归神经网络来生成隐变量的表示。

比如在当前结点下认为这样的一个结点对“布什与沙龙”这个子串进行了向量表示,最终到生成最后的结点,就可以认为它存储了整个句子的信息。

所以我们说深度学习带给我们一种革命性的变化就是信息的表达形式。机器翻译的核心就在于不同语言信息之间的等价转换。传统上习惯了使用离散表示,用词、短语等。深度学习所提倡的理念是用连续的表示,用数字进行信息的传递。

2.3 编码器-解码器框架

利用递归神经网络(RNN)实现源语言的编码和目标语言的解码。使用句子“布什与沙龙举行了会谈”,用递归神经网络实现句子的向量表示,最后一个隐藏层结点对整个句子进行了编码,它存储了整个句子的语义信息,然后我们再使用一个解码器,从这个节点中恢复出英文句子。当生成句尾结束符的时候,整个翻译过程就结束的。
nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
递归神经网络会遇到各种各样的问题,比如说梯度消失和梯度爆炸,所以经常使用长短时记忆网络来代替传统的递归神经网络。

  • 编码器-解码器框架的优点:利用长短时记忆处理长距离依赖;
  • 编码器-解码器框架的缺点:任意长度的句子都编码为固定维度的向量;

2.4 如何解决编码器-解码器框架的缺点?

革命性思想:引入注意力机制。

3、前期知识储备

3.1 概率论

  • 了解基本的概率论知识,掌握条件概率的概念和公式;

3.2 RNN

  • 了解循环神经网络的结构,掌握RNN的基本工作原理;

3.3 机器翻译

  • 了解机器翻译的概念,掌握神经机器翻译的流程;

3.4 注意力机制

  • 了解注意力机制的思想,掌握注意力机制的分类好实现方式;
    nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)