1.BLEU
主要任务是为了将候选的n-gram和target的n-gram相比较,匹配相似度(与位置无关)
基本做法:比较翻译结果中和参考的n-gram个数,直接相除,问题是长句子会得分更高,限制句子长度加入惩罚参数,同时对不同的目标任务对n-gram赋予不同的权重
2.attention 的细节总结
注意力机制目的是达到一个对齐(alignment)的作用,通俗来说就是得到输出与输入的那些位置有关,相关性有多大
第一部分参考资料http://bitjoy.net/2019/08/02/cs224n%ef%bc%881-31%ef%bc%89translation-seq2seq-attention/
具体的做法是对于每一个输入的部分获得query key value三个变量,q,k用来比较相似性获取相关性,v用来传输输入的值,但实际上出了self-attention以外,其他的注意力机制中一般的qkv使用同一个向量。
在计算出新的表示后,可以用新的表示来预测当前时刻的输出,下一个时刻的输入既可以使用上一时刻的h,也可以使用利用attention构建得到的新向量。
上文中计算得分score是直接使用数乘来表示相似性(其中的理由是这对齐到的部分应该表示相近的语义),但仍有其他的方式去计算相关的score。
常用的其实就是三种,
后续增加bert中self-attention的具体实现细节。