BiLSTM_CRF-序列标注

CRF Layer

emission score:

这个分数来自于BiLSTM层,即是下图黄色框框中的值
这里写图片描述

transition score
表示从一个状态转移到另一个状态的可能性,在模型开始训练前随机初始化,在训练的过程中实现更新。

loss function
LossFunction=PrealpathP1+P2+...+PN
在训练过程中参数是不断发生变化的,真实的路径的分数值会不断提升。整个计算只需要知道两个分数值:一个是实际路径分数和所有可能的路径分数值。

read path score
Si=EmissionScore+TransitionScore

total score of all paths

这里写图片描述

需要找到一种有效的方法来计算log(eS1+eS2+...+eSN)

下面用一种动态规划的方法来计算:
假设 x=w0,w1,w2, labelSet={l1,l2}

这里写图片描述

这里写图片描述

大题思路是我们先计算w0>w1 然后再利用这个结果去计算
w0>w1>w2

TotalScore(w0)=log(ex01+ex02)

w0>w1

previouds=(x01x02x01x02)
表示的上一步的状态
obs=(x11x11x12x12)
表示从当前字符出发
scores=(x01x02x01x02)+(x11x11x12x12)+(t11t21t12t22)

所以求和后,分别表示1->1 ,1->2 ,2->1, 2->2

这里写图片描述

w0>w1>w2
这里写图片描述

用相同的方法扩展下
这里写图片描述

obs=(x21x21x22x22)
相加后可得:
这里写图片描述

所以最后结果为:
这里写图片描述

即为所求。