Tag Archives: End2End

CS224N(1.31)Translation, Seq2Seq, Attention

今天介绍另一个NLP任务——机器翻译,以及神经网络机器翻译模型seq2seq和一个改进技巧attention。

机器翻译最早可追溯至1950s,由于冷战的需要,美国开始研制由俄语到英语的翻译机器。当时的机器翻译很简单,就是自动从词典中把对应的词逐个翻译出来。

后来在1990s~2010s,统计机器翻译(Statistical Machine Translation, SMT)大行其道。假设源语言是法语x,目标语言是英语y,机器翻译的目标就是寻找y,使得P(y|x)最大,也就是下图的公式。进一步,通过贝叶斯公式可拆分成两个概率的乘积:其中P(y)就是之前介绍过的语言模型,最简单的可以用n-gram的方法;P(x|y)是由目标语言到源语言的翻译模型。为什么要把P(y|x)的求解变成P(x|y)*P(y)?逐个击破的意思,P(x|y)专注于翻译模型,翻译好局部的短语或者单词;而P(y)就是之前学习的语言模型,用来学习整个句子y的概率,专注于翻译出来的句子从整体上看起来更加通顺、符合语法与逻辑。所以问题就转化为怎样求解P(x|y)

Continue reading