自然语言处理(第15课 机器翻译3/5)

一、学习目标

1.了解统计机器翻译与神经网络机器翻译的区别

2.学习RNN、注意力机制实现机器翻译

二、统计VS神经网络

        1.统计:

        优点:(1)可解释性高,(2)模块随便加,(3)错误易追踪。这都依赖于其设计了各种规则,得到了对应的特征函数

        缺点:(1)数据稀疏,(2)复杂结构无能为力,(3)太依赖先验知识。

        2.神经网络:

自然语言处理(第15课 机器翻译3/5)_第1张图片

        (1)数据之间考虑了相互联系,(2)不需要先验,(3)结果更好。

三、神经网络机器翻译实现方法

        1.整体结构

自然语言处理(第15课 机器翻译3/5)_第2张图片

        2.循环神经网络(RNN、LSTM)

        对应于上图的双向编码。大体上在之前的课程里都有讲过,这里小过一遍ppt:

自然语言处理(第15课 机器翻译3/5)_第3张图片自然语言处理(第15课 机器翻译3/5)_第4张图片

        于是,源语言的编码过程如下:

自然语言处理(第15课 机器翻译3/5)_第5张图片

         那么如何解码呢?就是如何得到我们的翻译结果。其很巧妙地让模型继续运行下去,只是使用了目标语言的词向量表来获得下一个词是什么:

自然语言处理(第15课 机器翻译3/5)_第6张图片自然语言处理(第15课 机器翻译3/5)_第7张图片

        于是,整体的框架如下:

自然语言处理(第15课 机器翻译3/5)_第8张图片

        显然,这样的模型存在着问题,例如”我“要翻译成”I“,通过RNN得到的句意向量中去翻译出”I时,是有难度的,因为受到了别的词的污染。于是想着有没有办法去解决这个问题,首先是LSTM控制:

自然语言处理(第15课 机器翻译3/5)_第9张图片

        由于LSTM可以通过门控去安排各个词的传递权重,所以在一定程度上可以实现专注于某个词去翻译。但是这样的权重是固定的,不够灵活,于是引入了注意力机制:

        3.注意力机制

        我们引入一个score参数来确定源词对目标词的注意程度,softmax后得到权重,并将权重与词向量组合得到一个注意力结果。在解码时除了原来词语传递下来的语义向量外,这个向量也考虑进来,用以预测下一个词是什么。例如下面要预测‘gave”:

自然语言处理(第15课 机器翻译3/5)_第10张图片

        而二者对比,可以发现注意力机制对于长语句时,能保持一个很好的效果:(这显然是因为语句越长,在前面的单词的信息被RNN丢失了,导致效果下降)

自然语言处理(第15课 机器翻译3/5)_第11张图片

四、总结

学习神经网络的进步性。

学习RNN和注意力机制实现的机器翻译。

你可能感兴趣的:(NLP,自然语言处理,机器翻译,人工智能)