On Using Very Large Target Vocabulary for Neural Machine Translation

限于喜欢 提交于 2019-11-28 00:53:58

neural machine translation的优点:
(1)要求比较少的domain knowledge(比如说源语和目标语的特征)
(2)joint tuned, 以往 phrase-based 系统是 tuned separately
(3)要求少量的内存

尽管存在很多优点,但是也不可避免第存在缺点:
target words受限, 随着target words 数量的增加,模型的训练复杂性增加

因为我的目的就是要了解机器翻译的大概流程,所以就大概说下目前机器翻译的做法,针对这样的做法,本文提出了那些改进:
因为目标语言的词汇量巨大,所以通常的做法是选取选取频率最高的K个词作为target vocabulary(通常也称为shortlist), K的选取范围30000到80000词之间, 其他不在shortlist中的词统称为UNK. 当只有一少部分的词作为UNK时,方法的效果就非常好,随着不在shortlist中的词的增加翻译的性能大幅下降。

但是如果一味地增加shortlist的单词量会使得计算的复杂性增加,主要体现在:
这里写图片描述

这里写图片描述

在计算Z的时候因为单词量巨大而使得训练难度增加。

为了解决这个问题,文章提出了一种 importance sampling 的方法,每次更新时,使用目标词汇集中的小部分子集,近似得到Z的值,这样的做法是可以尽可能的增加shortlist的集合使翻译性能提高,并且计算复杂性很低。 这里给出importance sampling的大致含义:
如何理解 importance sampling:
http://blog.csdn.net/tudouniurou/article/details/6277526

importance sampling:
http://blog.sina.com.cn/s/blog_60b44d6a0101l45z.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!