https://createmomo.github.io/2017/09/23/CRF_Layer_on_the_Top_of_BiLSTM_2/### ### 回顾:
CRF层可以对训练集进行训练,得到一个最终的概率最高的标签序列。
CRF layer
在CRF lyaer的loss函数中,有两种score。一种是发射(emission)score,一直是转移(transition)score。
其中发射概率是由BiLSTM得到的,如下图所示
transition score, tyiyjco用来代表转移分值。例如t(B-Person,I-Person)代表从B-Person标签跳转到I-Persion的概率为0.9.
代码中应该是crf_log_likelihood吧?代码中的emmision scroe体现在哪呢?
-除了定义的标签外,再添加一个START和END。这张表就是转移矩阵,代表了每个标签互相转移的概率。
- 由图可以看出第一个单词应该是B-或者O而不能I-。
- B-Orga 和I-Orga配对,而和I-Person配对的可能性大大降低。
- O后接I-label的可能性很小。
这个矩阵是BiLSTM-CRF模型的参数。在训练模型前,需要随机初始化这个转移矩阵。在训练过程中,这写矩阵中的值会进行更新。这个矩阵会学习到标签之间互相跳转的可能性。这个矩阵不需要手动构建,而会随着训练迭代的增加而有一个显著的优化。
下一步将会介绍:
CRF的loss函数,包含了真正的标签序列分值以及所有可能的序列的分值。【疑问,所有序列的分值总数不是1吗?】