注意力机制再NLP领域十分的火热,他克服了以往seq2seq翻译定位不准的问题,加强了词的前后联系,能够根据当前的语境,合理的分配候选词的权重,提升翻译的准确率。
注意力机制的原理便是寻找当前语境(当前状态)与各个候选词之间的匹配度,计算各个候选词的得分,最终选取合成最佳的词汇。
如上图所示,再decoder进行翻译解码时,会根据当前的状态,与encoder中的各个词汇的编码输出计算一个得分(步骤一);计算完得分后,所有的得分经过一个softmax进行了归一化,然后得分成encoder编码(步骤二);再将其编码求和(得分*编码相当于对编码进行加权求和)(步骤三);最后,addition与上一状态求解出下一个词的翻译。(上图参考链接:https://www.cnblogs.com/ydcode/p/11038064.html)
目前主流的计算得分的方式有以下三种:
上图来自:https://blog.csdn.net/xiaosongshine/article/details/90573585