BiLSTM顶部的CRF层-2

在上一节中,我们知道CRF层可以从训练数据集中学习一些约束,以确保最终的预测实体标签序列有效。

约束可能是:

  1. 句子中第一个单词的标签应以“ B-”或“ O”开头,而不是“ I-”
  2. 在此模式下,“ B-label1 I-label2 I-label3 I-…”应与label1,label2,label3…是相同的命名实体标签。例如,“ B-Person I-Person”有效,但“ B-Person I-Organization”无效。
  3. “ O I-label”无效。一个命名实体的第一个标签应以“ B-”而不是“ I-”开头,换句话说,有效模式应为“ OB标签”

阅读本文之后,您将知道CRF层为什么可以学习这些约束。

2. CRF层

在CRF层的损失函数中,我们有两种类型的分数。这两个分数是CRF层的关键概念。

2.1 Emission score

第一个是Emission score。这些Emission score来自BiLSTM层。如图所示,w0对应的B-Person的是1.5。
BiLSTM顶部的CRF层-2
为方便起见,我们将为每个标签提供一个索引号,如下表所示。
BiLSTM顶部的CRF层-2
这里使用Xiyi去表示Emission score,i是单词的索引,yi是标签的索引,例如第一张图所示:Xi=1,yi=2,B-Organization=0.1,这代表了w1作为B-Organization的得分为0.1。(其实就是发射概率,从单词到标签的概率)

2.2 Transition score

我们使用Tyiyj表示Transition score,例如:TB-Person,I-Person=0.9表示了从B-Person->I-Person的转移分数是0.9,我们有一个总的得分矩阵,用于存储所有标签之间的所有得分。(实际上就是标签的转移分数)。

为了使转换得分矩阵更robust,我们将再添加两个标签START和END。START表示句子的开头,而不是第一个单词。END表示句子的结尾。

这是转换矩阵得分的示例,其中包括额外添加的START和END标签。
BiLSTM顶部的CRF层-2
如上表所示,我们可以发现转换矩阵已经了解了一些有用的约束。

  1. 句子中第一个单词的标签应以“ B-”或“ O”开头,而不是以“ I-”开头(从“ START”到“ I-Person或I-Organization”的转换得分非常低。)

  2. 在此模式下,“ B-label1 I-label2 I-label3 I-…”应与label1,label2,label3…是相同的命名实体标签。例如,“ B-Person I-Person”有效,但“B-Person I-Organization”无效。(例如,从“ B-组织”到“ I-人”的得分仅为0.0003,远低于其他得分。)

  3. “ O I-label”无效。一个命名实体的第一个标签应以“ B-”开头,而不是以“ I-”开头,换句话说,有效模式应为“ O B标签”

您可能要问一个关于矩阵的问题。在哪里或如何获得转换矩阵

实际上,该基质是BiLSTM-CRF模型的参数。在训练模型之前,您可以随机初始化矩阵中的所有转换得分。在训练过程中,所有随机分数将自动更新。换句话说,CRF层可以自己学习那些约束。我们不需要手动构建矩阵。随着训练迭代次数的增加,分数将越来越合理。

2.3 CRF损失函数

引入CRF损失函数,该函数由实际路径得分所有可能路径的总得分组成。

参考资料

[1] Lample,G.,M。Ballesteros,M。Subramanian,K。Kawakami和C. Dyer,2016年。命名实体识别的神经架构。arXiv预印本arXiv:1603.01360。
https://arxiv.org/abs/1603.01360

本文翻译此blog:https://createmomo.github.io/2017/09/23/CRF_Layer_on_the_Top_of_BiLSTM_2/想看原文的请移步于此。

相关文章: