BILSTM+CRF实现命名实体识别

BILSTM+CRF实现命名实体识别

命名实体识别属于NLP中的序列任务,简单来说就是识别一句话中的人名、地名、时间等名词。

对于数据集,一般采用BIO标注法。其中BIO的三个标记为:

(1)B-NP:名词短语的开头

(2)I-NP:名词短语的中间

(3)O:不是名词短语

模型架构

img

  • 对于已经处理好的sequence,先进行word embedding,可以随机初始化,也可以用预训练模型初始化。
  • 然后使用双向lstm进行特征提取,再通过全连接层生成tag_size的output(即状态分数)。
  • 最后再放入CRF层输出最优序列。

如果只有BiLSTM,只能学习到输入之间的特征,无法学习到tag之间的依赖关系,而CRF可以学习到一些约束条件。所以采用CRF层可以很好的解决这个问题。

如:句子的开始单词的标签类型应该是B或O,而不是I;限制一些格式,B-Person I-Person是合理的,B-Person I-Organization是不合理的

CRF层详解

CRF层的损失函数包含两部分
第一部分是发射概率或者发射得分,这个发射概率由BiLSTM层产生,比如w0发射B-Person的概率得分是1.5

为了方便起见,给每个标签一个索引号,如下表所示。

img

img

为了使transition评分矩阵更健壮,我们将添加另外两个标签,START和END。START是指一个句子的开头,而不是第一个单词。END表示句子的结尾。

下面是一个transition得分矩阵的例子,包括额外添加的START和END标签。

img

如上表所示,我们可以发现transition矩阵已经学习了一些有用的约束。

  • 句子中第一个单词的标签应该以“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”(同样,t_{O,I-Person}的分数非常小)

你可能想问一个关于矩阵的问题。在哪里或如何得到transition矩阵

实际上,该矩阵是BiLSTM-CRF模型的一个参数。在训练模型之前,可以随机初始化矩阵中的所有transition分数。所有的随机分数将在你的训练过程中自动更新。换句话说,CRF层可以自己学习这些约束。我们不需要手动构建矩阵。随着训练迭代次数的增加,分数会逐渐趋于合理。

2.3 CRF损失函数

CRF损失函数由真实路径得分和所有可能路径的总得分组成。在所有可能的路径中,真实路径的得分应该是最高的。

例如,如果我们的数据集中有如下表所示的这些标签:

img

我们还是有一个5个单词的句子。可能的路径是:

  • 1) START B-Person B-Person B-Person B-Person B-Person END
  • 2) START B-Person I-Person B-Person B-Person B-Person END
  • 10) START B-Person I-Person O B-Organization O END
  • N) O O O O O O O

img

下一步是如何计算所有可能路径的总分

2.5 所有可能的路径的得分

img

步骤2: 回忆一下Emission和Transition得分

img

img

img

img

img

④ Bi-lstm+CRF训练时采用监督学习方法,通过最大化预测为真实标记序列的概率(将概率取对数再取负,然后用梯度下降算法优化)来更新Bi-lstm中的参数与CRF中转移概率矩阵A。虽然刚开始训练“真实标记序列不会对应最大的概率值”,但通过样本的连续迭代优化,最终会实现“真实标记序列应该对应最大的概率值”;Bi-lstm+CRF测试时,直接根据训练好的参数求出所有可能的预测序列对应的得分(这里应该会用到维特比算法),最后取对应最大得分的预测序列作为最终预测结果。

⑤ Bi-lstm+CRF的输入是一组词(字符)向量,输出是一组预测tag序列


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!