NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE

title: 基于联合学习对齐和翻译的神经机器翻译

作者:Dzmitry Bahdanau,KyungHyun Cho ,Yoshua Bengio

发表会议及时间:ICLR  2015

 

1、机器翻译简介

 机器翻译,又叫自动翻译,是人工智能的重要任务之一,是利用计算机将一种自然语言转换成另一种自然语言的过程。它的本质问题是如何实现两种不同语言语言之间的信息等价转换,如何表示信息,如何进行信息的等价转换等。

机器翻译发展历史:

趋势:让机器更“自主”的学习如何翻译。

90年代,出现了数据驱动的机器翻译,第一类是基于统计的翻译,第二类的是神经机器翻译,基于深度学习来实现的。

(1)基于规则的翻译

大致流程:

分类:直接基于词的翻译,结构转换的翻译,中间语的翻译

例子:

语言表达的方法十分灵活,这种方法高度依赖于人类专家,人类专家需要有目标语言知识和源语言知识,开发周期也比较长。

(2)基于统计的机器翻译

大致流程:

即根据词或短语找到所有可能的结果,在庞大的语料库中进行搜索,统计每种结果出现的概率,最后将概率最高的进行输出。

核心问题:为翻译过程建立概率模型

寻找条件概率分布,从直观上说我们可以枚举所有的中文语言的句子,枚举所有英文句子,来建立概率分布,说这样的做法显然是不合适的,因为语言随时都会建立新的句子,所以不太可能建立直接的映射。

其中Z为隐变量。

隐变量:生产过程中不可观测的随机变量。(就好比你知道源语言,也翻译得到了目标语言,但整个翻译过程的细节都是在训练集上没有看到的)

隐变量对数线性模型:在隐式语言结构上设计特征

关键问题:如何设置特征函数

(3)基于神经网络的机器翻译

通过学习大量成对的语料,让神经网络自己学习语言的特征,找到输入和输出之间的关系。

核心思想:端到端(End-to-End ) ,建立一个端到端的方法,让机器自动从数据中学习到特征,所以深度学习也常被成为表示学习。

2014年时,KyungHyun Cho和Sutskever先后提出了一种端到端的模型,直接对输入输出建立联系。前者将其模型命名为Encoder-Docoder模型,后者则将其命名为Sequence-to-Sequence模型。

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

1)基于神经网络的机器翻译

 基本思想:利用神经网络实现自然语言的直接映射。

图中的数学模型和上面的统计的数学模型不一样,它实现了一个马尔可夫分解,也就是把译文的生成变成了每个词的生成。

N:目标语言的长度

Yn:当前目标语言词

X:源语言句子

Y<n:已经生成的目标语言句子

 核心问题:条件概率建模(已知源语言的句子和已经生成的目标语言的句子,来预测当前的目标词是什么)

如何对条件概率进行建模?

2)句子的向量表示

利用递归神经网络(RNN)计算句子的向量表示

机器语言的本质就是不同语言之间的信息转换,传统上,我们习惯用离散表示,用词、短语等。深度学习的理念是连续的表示,用数字进行信息的传递。

利用RNN实现源语言的编码和目标语言的编码

在使用深度学习的时候会出现梯度消失和梯度爆炸,所以我们使用LSTM。

编码器-解码器框架优缺点

优点:利用长短时记忆处理长距离依赖

缺点:任意长度的句子都编码为固定维度的向量

如何解决现阶段神经机器翻译中对长句子的编码和解码问题?  -- 引入注意力机制

3、传统模型  --- 基于编码器-解码器的RNNenc模型