命名实体识别NER:LSTM-CRF模型
目录
一、LSTM-CRF模型
1、LSTM
2、CRF
二、损失函数
一、LSTM-CRF模型

1、LSTM
LSTM(长短期记忆神经网络)能够学习长的依赖关系,将以前的信息连接到当前任务中。

LSTM存储信息的能力由门结构控制:
1、丢弃信息
LSTM的第一步是决定我们要从细胞状态中丢弃什么信息,该决定由遗忘门实现,它查看ht-1(前一个输出)和xt(当前输入),并为单元格状态Ct-1(上一个状态)中的每个数字输出0和1之间的数字。1代表完全保留,而0代表彻底删除。

2、存储信息
下一步是决定我们要在细胞状态中存储什么信息。 这部分分为两步。 首先,称为“输入门层”的Sigmoid层决定了我们将更新哪些值。 接下来一个tanh层创建候选向量Ct,该向量将会被加到细胞的状态中。

丢弃历史无效信息,添加新的信息后,当前状态信息为:

3、信息输出
最后,我们需要决定我们要输出什么。 此输出将基于我们的单元格状态,但将是一个过滤版本。 首先,我们一个sigmoid层,它决定了我们要输出的细胞状态的哪些部分。 然后,我们将单元格状态通过tanh(将值规范化到-1和1之间),并将其乘以Sigmoid门的输出,至此我们只输出了我们决定的那些部分

2、CRF
LSTM 层的输出是每个标签的分数,我们可以选择得分最高的标签。

最终是无效的输出“I-Organization I-Person O I-Organization I-Person”。CRF 层通过学习标签的概率转移矩阵,可以向最终的预测标签添加一些约束。

如上表所示,我们可以发现转移矩阵已经学习了一些有用的约束:
- 句子中第一个单词的标签应该以“B-”或“O”开头,而不是“I-”开头**(从“START”到“I- person 或 I- organization”的 transition 分数非常低)**
- “B-label1 I-label2 I-label3 I-…”,在这个模式中,label1、label2、label3…应该是相同的命名实体标签。例如,“B-Person I-Person”是有效的,但是“B-Person I-Organization”是无效的。(例如,从“B-Organization”到“I-Person”的分数只有 0.0003,比其他分数低很多)
- “O I-label”无效。一个被命名实体的第一个标签应该以“B-”而不是“I-”开头,换句话说,有效的模式应该是“O B-label”(同样,tO,I−Person的分数非常小)
二、损失函数
损失函数由两部分组成,P是LSTM得到的标签预测得分,是一个n*k维的矩阵,其中n指字符个数,k指标签个数,A是CRF得到的标签转移得分:

所有可能的标签路径中正确路径标签分数值最高:

参考文献:
Neural Architectures for Named Entity Recognition
