大纲:
- 1.简介
- 1.1 数据集
- 1.2 BiLSTM-CRF模型
- 1.3 如果我们没有CRF层怎么办?
- 1.4 CRF层可以从训练数据中学习约束
- 2. CRF层
- 2.1 Emission score
- 2.2 Transition score
- 2.3 CRF 损失函数
- 2.4 真实标签序列得分
- 2.4.1 Emission Score
- 2.4.2 Transition Score
- 2.5 所有可能标签序列组合的总得分
- 2.6 CRF的损失函数
- 2.6.1 emission Score和transition Score
1. 简介
1.1 数据集
假设,我们有一个数据集,其中我们有两个实体类型,Person(人名)和Organization(组织名)。因此,事实上,在我们的数据集中,我们有5个实体标签:
- B-Person
- I-Person
- B-Organization
- I-Organization
- O
此外,
1.2 BiLSTM-CRF模型
如下图所示:
![5acaf6b66b380053a7bf2586d5fc0de0.png](https://i-blog.csdnimg.cn/blog_migrate/ec9ca867d870acaa333609a5d4161cfb.png)
虽然没有必要知道BiLSTM层的细节,但为了更容易理解CRF层,我们必须知道BiLSTM层输出的含义。
![08925e78f51322fb62918aaded701d14.png](https://i-blog.csdnimg.cn/blog_migrate/f132e3093adfd6017e87eabbcf61c6ea.jpeg)
上图说明了BiLSTM层的输出是每个标签的分数。
例如,对于
1.3 如果我们没有CRF层怎么办?
即使没有CRF层,我们也可以训练BiLSTM命名实体识别模型,如下图所示。
![2a7e844a9f053d6304de315931324d0d.png](https://i-blog.csdnimg.cn/blog_migrate/f8c9ce3abd0ec9dc41941994f62114f5.png)
因为每个单词的BiLSTM输出是标签分数。我们可以选择每个单词得分最高的标签。例如,对于
B-Person
”得分最高(1.5),因此我们可以选择“
B-Person
”作为其最佳预测标签,
I-Person