BILSTM-CRF
声明:本系列转载自createmomo大神的博客https://createmomo.github.io,并在其中加入一些新的内容,如有侵权请及时联系。
目录
本系列将包括:
- 简介:介绍命名实体识别(NER)中的相关概念,一些解决方案,以及BILSTM-CRF模型
- 详细实例:用于解释CRF如何工作的实例
- CRF实现:详细说明CRF层的链式实现
1 简介
对于NER任务,基于神经网络的方法非常流行且常见。例如,本文[1]提出了一种使用单词和字符嵌入的BiLSTM-CRF命名实体识别模型。我将以本文中的模型为例来解释CRF层的工作原理。
如果您不了解BiLSTM和CRF的详细信息,请记住它们是命名实体识别模型中的两个不同层。
1.1 在我们开始前
假设,我们有一个数据集,其中我们有两个实体类型,Person和Organization。因此,事实上,在我们的数据集中,我们有5个实体标签:
- B-Person
- I-Person
- B-Organization
- I-Organization
- O
此外, x x x是一个包含5个单词的句子, [ w 0 , w 1 , w 2 , w 3 , w 4 ] [w_0, w_1,w_2, w_3,w_4] [w0,w1,w2,w3,w4]。在句子 x x x中, [ w 0 , w 1 ] [w_0,w_1] [w0,w1]是一个Person实体, [ w 3 ] [w_3] [w3]是Organization实体,其他是“O”。
1.2 BILSTM-CRF模型
如下图所示:
虽然没有必要知道BiLSTM层的细节,但为了更容易理解CRF层,我们必须知道BiLSTM层输出的含义。
上图说明了BiLSTM层的输出是每个标签的分数。例如,对于 w 0 w_0 w0,BiLSTM节点的输出为1.5(B-Person),0.9(I-Person),0.1(B-Organization),0.08(I-Organization)和0.05(O)。这些分数将是CRF层的输入。然后,BiLSTM块预测的所有分数被馈送到CRF层。在CRF层中,将选择具有最高预测分数的标签序列作为最佳答案。
1.3如果我们没有CRF层怎么办?
您可能已经发现,即使没有CRF图层,我们也可以训练BiLSTM命名实体识别模型,如下图所示。
因为每个单词的BiLSTM输出是标签分数。我们可以选择每个单词得分最高的标签。例如,对于
w
0
w_0
w0,“B-Person”得分最高(1.5),因此我们可以选择“B-Person”作为其最佳预测标签。同样,我们可以为
w
1
w_1
w1选择“I-Person”,
w
2
w_2
w2选择”O“,
w
3
w_3
w3选择“B-Organization”,
w
4
w_4
w4选择"O"。
虽然我们在这个例子中可以取得
x
x
x的正确标签,但很多情况并不总是那样。请再次尝试下图中的示例。
显然,这次输出无效,“I-Organization I-Person”和“B-Organization I-Person”。
1.4 CRF层可以从训练数据中学习约束
CRF层可以为最终预测的标签添加一些约束以确保它们有效。在训练过程中,CRF层可以自动从训练数据集中学习这些约束。约束可能是:
- 句子中第一个单词的标签应以“B-”或“O”开头,而不是“I-”
- “B-label1 I-label2 I-label3 I- …”,在此模式中,label1,label2,label3 …应该是相同的命名实体标签。例如,“B-Person I-Person”有效,但“B-Person I-Organization”无效。
- “O I-label”无效。一个命名实体的第一个标签应以“B-”而非“I-”开头,换句话说,有效模式应为“O B-label”
- …
利用这些有用的约束,无效预测标签序列的数量将显着减少。
下一节
在下一节中,我将分析CRF损失函数,以解释CRF层如何或为何可以从训练数据集中学习上述约束。期待很快见到你!
2.1 Emission score
2.2 Transition score
参考
[1] Lample, G., Ballesteros, M., Subramanian, S., Kawakami, K. and Dyer, C., 2016. Neural architectures for named entity recognition. arXiv preprint arXiv:1603.01360. https://arxiv.org/abs/1603.01360

3125

被折叠的 条评论
为什么被折叠?



