课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/

视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239

这里回顾CS224N Lecture 9的课程内容,这一讲主要介绍了Project以及机器翻译的剩余内容。

备注:图片均来自课程课件。

机器翻译完成之后,自然需要一个评估手段,这里介绍最常用的BLEU:

Bilingual Evaluation Understudy (BLEU)

给定机器翻译结果MT,以及多个参考翻译,记

其中$\text{len}_{\text {MT}}$是机器翻译的结果,$\text{len}_{\text {ref}}$是参考翻译的长度中最接近$\text{len}_{\text {MT}}$的值,如果有多个值则取较小的值,最终的BLEU定义如下

Dealing with the large output vocabulary

在使用softmax函数生成翻译的时候,由于词汇量很大,所以计算时间较长,这部分介绍如何改进这点。

缩放softmax

第一种方法是在softmax函数部分进行处理,这里介绍两种方法:

Noise Contrastive Estimation

NCE的想法是通过从负样本中随机采样$K$个词来近似“ softmax”,实际中证明该方法的效果很好。

Hierarchical Softmax

分层softmax利用二叉树结构更高效的计算softmax,见第一讲笔记。

Reducing vocabulary

第二种方法是减少词汇表,方法为将词汇表大小减少,不在词汇表内的单词记为$\text{}$

Handling unknown words

有些翻译结果很稀有,不在词汇表内,一般情况下会视为$\text{}$,这样的效果很差,一个思路为直接使用源语言中的单词作为翻译结果,于是产生了Pointer network,图示如下: