神经网络机器翻译科普

自动评价。

自动评价能够快速地反映出一个机器翻译的质量好还是不好,相比人工评价而言,自动评价成本低、效率高。

 

现在一般采用的方法是,基于n-gram(n元语法)的评价方法。通常大家都用BLEU值。一般地,BLEU是在多个句子构成的集合(测试集)上计算出来的。这个测试集可能包含一千个句子或者两千个句子,去整体上衡量机器翻译系统好还是不好。有了这个测试集以后,需要有参考答案(reference)。所谓参考答案就是人类专家给出的译文。这个过程很像考试,通过比较参考答案和系统译文的匹配程度,来给机器翻译系统打分。

在计算BLEU得分的时候,连续匹配的词越多,得分越高。

当然,BLEU值也有比较明显的缺点。用一个词来举例,比如『你好』,人给出的一个参考译文是『hello』。机器给出的译文是『how are you』,跟这个reference没有一个词匹配上,从BLEU值的角度来看,它得分是零。但是你能说它错吗?它翻译的很好。所以BLEU值的得分,受reference影响。Reference越多样化,匹配上的可能性就会越大。一般来说,用于评价机器翻译质量的测试集有4个reference,也有的有一个reference,也有的有十几个reference。BLEU分数受测试领域、reference多样性等多种因素的影响,抛开具体的设置,单说一个分数不具有参考性。

 

基于同一个测试集,针对不同的翻译系统结果,可以依据上述公式计算BLEU值,从而快速比较多个翻译系统的好坏。通常国际评测中,同时采用自动评价和人工评价方法衡量参赛系统。


以下为不懂的地方:

作者:飞桨PaddlePaddle
链接:https://www.zhihu.com/question/24588198/answer/634996172
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

刚才说的它包含编码器和解码器,先来看编码器。它进行了一个双向的编码,双向的编码干了一个什么事情?就是把词用词向量来表示。那么如何做到这一点呢?我们首先有一个词向量表,是通过神经网络训练出来的。源语言句子中的词,可以用一个one hot的向量表示。所谓one hot就是,比如上例中中文句子有8个词。哪个词出现了,就把这个词标为1,其他的词标为0。比如第4个词“看”这个词是1,那么其他的都是0。这两个矩阵这么一乘,相当于一个查表的操作。就把其中这个词向量表的一列取出来了,那么这一列的向量就代表了这个词。神经网络里面所有的词都会用向量来表示。得到词的向量表示后,再经过一个循环神经网络的变换,得到另外一个向量,称为Hidden State(隐状态)。

 

为什么做了一个双向的编码?是为了充分利用上下文信息。比如说,如果只是从左往右编码,“我在周日看”,看的是什么呢?“看”后面的你不知道,因为你只得到了“看”前面的信息。那么怎么知道后面的信息呢,这时候我们就想那能不能从后面到前面再进行一个编码,那就是“书本一了看”,从后面往前的编码,这时候“看”呢既有前面的信息,也有后面的信息。所以它有了一个上下文的信息,可以进一步提高译文质量。

 

刚才提到,每个词经过一系列变换,映射为一个向量表示。如果将双向编码的向量结合起来呢? 现在一般采用一个非常简单的方法,将两个向量进行拼接。比如两个256维的向量,拼接完成后得到一个512维的向量,用来表示一个词。

作者:飞桨PaddlePaddle
链接:https://www.zhihu.com/question/24588198/answer/634996172
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自www.cnblogs.com/carmen-ly/p/12470035.html