机器翻译又称为自动翻译,是利用计算机将一种自然语言(源语言)转换成另外一种自然(目标语言)语言的过程,本质问题是如何实现两种不同语言之间的等价转换。它是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。机器翻译是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。同时,机器翻译又具有重要的实用价值。随着经济全球化及互联网的飞速发展,机器翻译技术在促进政治、经济、文化交流等方面起到越来越重要的作用。
机器翻译的趋势是让机器更“自主”的学习如何翻译,大致可以分为三个阶段:1980到1990年之间,大多都是基于规则的翻译,包含了转化法(transfer-based)、中间语法(interlingual)、以及辞典法(dictionary-based)等;1990年到2013年之间,开始使用了基于统计的翻译,利用数学统计规律进行翻译;2013年之后,主流的方法开始使用基于神经网络的翻译,主要是使用深度学习的方法。
这是最古老的也是见效最快的一种翻译方法,接近人类的翻译思维,先将源语言进行词性分析,根据词性将每个词翻译成对应的目标语言,再对翻译后的词进行语序调整,最终得出翻译后的结果。根据翻译的方式可以分为:直接基于词的翻译、结构转换的翻译、中间语的翻译。如下一个翻译例子可以看出该方法的效果并不好,而且开发成本也很大,因为这种方法极度依赖翻译专家的能力,翻译专家既要有源语言的知识,也要有目标语言的知识。
这种方法的基本思想是通过对大量的平行语料进行统计分析,构建统计翻译模型,进而使用此模型进行翻译。通过对输入句子按照词或者句子划分,然后统计出该词或句子在语料库中的概率,最后计算每种结果得出的概率,选取概率最高的作为翻译输出。核心的问题是为翻译过程建立概率模型。如下例子,其中表示模型的参数。
目前主流的统计机器翻译是2002年Och和Ney提出的隐变量对数线性模型,通过引入生成过程中不可观测的随机变量—隐变量,来构建翻译模型,如下所示,其中z表示翻译过程中的隐变量,和分表示特征函数。
通过学习大量成对的语料让神经网络自己学习语言的特征,找到输入和输出之间的关系,其核心思想是端到端(End-to-End)。2014年时,Kyunghyun Cho和Sutskever先后提出一种End-to-End即所谓的端到端的模型,直接对输入输出建立联系,前者将其模型命名为Encoder-Decoder模型,后者则将其命名为Sequence-to-Sequence模型。
其基本思想是利用神经网络实现自然语言的映射,核心的问题是建立条件概率模型如下左图所示,其中yn表示当前目标语言词,x表示源语言句子,y<n表示已经生成的目标语言句子,可以看出该模型没有引入隐变量,而是实现了马尔可夫分解,把译文的生成变成每个词的生成。在对条件概率模型进行建模时,可以对其进行分解,引入softmax函数,将输出句子变成条件概率,将源语言生成对应的词向量,第n个词的词向量受到前n-1个词的词向量影响,这样避免了使用离散的分布的稀疏状态。
LSTM 是很常见Encoder-Decoder模型,其引入解决了长距离重新排序问题,同时将 NMT 的主要难题变成了固定长度向量(fixed-length vector)问题,不管源句子的长度几何,这个神经网络都需要将其压缩成一个固定长度的向量,这会在解码过程中带来更大的复杂性和不确定性,尤其是当源句子很长时 。后面的词向量都会保存前面词向量的信息。
原文地址:https://www.cnblogs.com/yunkaiL/p/11040687.html