提交 e2f969de 编写于 作者: A Aston Zhang

add bleu

上级 e2c84304
...@@ -375,17 +375,27 @@ $$ \frac{1}{L^\alpha} \log \mathbb{P}(y_1, \ldots, y_{L}) = \frac{1}{L^\alpha} \ ...@@ -375,17 +375,27 @@ $$ \frac{1}{L^\alpha} \log \mathbb{P}(y_1, \ldots, y_{L}) = \frac{1}{L^\alpha} \
其中$L$为候选序列长度,$\alpha$一般可选为0.75。分母上的$L^\alpha$是为了惩罚较长序列的分数中的对数相加项。 其中$L$为候选序列长度,$\alpha$一般可选为0.75。分母上的$L^\alpha$是为了惩罚较长序列的分数中的对数相加项。
## 评价翻译结果
2002年,IBM团队提出了一种评价翻译结果的指标,叫做[BLEU](https://www.aclweb.org/anthology/P02-1040.pdf) (Bilingual Evaluation Understudy)。
设$k$为我们希望评价的n-gram的最大长度,例如$k=4$。n-gram的精度$p_n$为模型输出中的n-gram匹配参考输出的数量与模型输出中的n-gram的数量的比值。例如,参考输出(真实值)为ABCDEF,模型输出为ABBCD。那么$p_1 = 4/5, p_2 = 3/4, p_3 = 1/3, p_4 = 0$。设$len_{ref}$和$len_{MT}$分别为参考输出和模型输出的词数。那么,BLEU的定义为
$$ \exp(\min(0, 1 - \frac{len_{ref}}{len_{MT}})) \prod_{i=1}^k p_n^{1/2^n}$$
需要注意的是,随着$n$的提高,n-gram的精度的权值随着$p_n^{1/2^n}$中的指数减小而提高。例如$0.5^{1/2} \approx 0.7, 0.5^{1/4} \approx 0.84, 0.5^{1/8} \approx 0.92, 0.5^{1/16} \approx 0.96$。换句话说,匹配4-gram比匹配1-gram应该得到更多奖励。另外,模型输出越短往往越容易得到较高的n-gram的精度。因此,BLEU公式里连乘项前面的系数为了惩罚较短的输出。例如当$k=2$时,参考输出为ABCDEF,而模型输出为AB,此时的$p_1 = p_2 = 1$,而$\exp(1-6/3) \approx 0.37$,因此BLEU=0.37。当模型输出也为ABCDEF时,BLEU=1。
## 结论 ## 结论
* 我们可以将编码器—解码器和注意力机制应用于神经机器翻译中。 * 我们可以将编码器—解码器和注意力机制应用于神经机器翻译中。
* 束搜索有可能提高输出质量。
* BLEU可以用来评价翻译结果。
## 练习 ## 练习
* 试着使用更大的翻译数据集来训练模型,例如[WMT](http://www.statmt.org/wmt14/translation-task.html)[Tatoeba Project](http://www.manythings.org/anki/)。调一调不同参数并观察实验结果。 * 试着使用更大的翻译数据集来训练模型,例如[WMT](http://www.statmt.org/wmt14/translation-task.html)[Tatoeba Project](http://www.manythings.org/anki/)。调一调不同参数并观察实验结果。
* Teacher forcing:在模型训练中,试着让解码器使用当前时刻的正确结果(而不是预测结果)作为下一时刻的输入。结果会怎么样? * Teacher forcing:在模型训练中,试着让解码器使用当前时刻的正确结果(而不是预测结果)作为下一时刻的输入。结果会怎么样?
* 了解评价翻译结果的[BLEU指标](https://www.aclweb.org/anthology/P02-1040.pdf)
**吐槽和讨论欢迎点**[这里](https://discuss.gluon.ai/t/topic/4689) **吐槽和讨论欢迎点**[这里](https://discuss.gluon.ai/t/topic/4689)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册