基础知识
1.存在的问题:双语数据的规模与神经网络的参数规模的不平衡,导致现有的神经机器翻译模型生成的向量表示无法包含有足够语言信息。
2.基于规则的翻译方式->统计机器翻译(步骤如
https://www.cnblogs.com/wuseguang/p/4072920.html
1.语料预处理,生成双语分词之后的文件。2.词对齐。3.短语抽取。4.计算短语概率。5.最大熵调序。)->神经机器翻译。
3.神经机器翻译模型结构:
编码器-解码器(常见神经网络:RNN,CNN,SAN(自注意力神经网络(Self-Attention Network)))
基于循环神经网络的神经机器翻译模型:
使⽤⼀个双向循环神经⽹络构成的编码器将给定的源端句⼦的词向量(Word Vector)编码成⼀组向量表⽰并且将这组隐层状态表⽰合成⼀个初始状态(Initial State)输⼊到解码器中,⽽解码器使⽤⼀个单向的循环神经⽹络进⾏逐词解码。这其中每输出⼀个⽬标词之前都会通过注意⼒机制来对源端编码成的状态表⽰进⾏计算,从⽽获取需要输出的⽬标词的在源端的信息。
具体模型架构见前面笔记
基于自注意力网络的神经机器翻译模型:
翻译质量评价:
BlEU:通过计算翻译结果中的N元文法(N-garm)和参考译文中的N元文法的匹配成功率来评估翻译质量。
具体计算方法:
B L E U = B P ∗ e x p ∑ n = 1 N w n l o g p n BLEU=BP*exp\sum^N_{n=1}w_nlogp_n BLEU=BP∗expn=1∑Nwnlogpn
w n w_n wn:n元文法中的重要性?
B P BP BP:长度惩罚因子,避免生成的翻译结果过短。?
B P = { e 1 − r t t ≤ r 1 t > r BP=\{^{1\ \ \ \ \\ \ \ \ \ \ t>r}_{e^{\frac{1-r}{t}\ \ \ \ \ \ \ \ \ t\le{r}}} BP={
et1−r t≤r1 t>r
p n = ∑ e ∈ T r a n s l a t i o n ∑ n − g a r m ∈ e C o u n t c l i p ( n − g r a m ) ∑ e ′ ∈ R e f e r a n c e ∑ n − g a r m ∈ e ′ C o u n t ( n − g r a m ) p_n=\frac{\sum_{e\in{Translation}}\sum_{n-garm\in{e}}Count_{clip}(n-gram)}{\sum_{e^{'}\in{Referance}}\sum_{n-garm\in{e^{'}}}Count(n-gram)} pn=∑e′∈Referance∑n−garm∈e′Count(n−gram)∑e∈Translation∑n−garm∈eCount