在序列标注问题中,HMM和CRF是当前比较成熟的技术,但是,随着DL(深度学习)又热起来之后,RNN做序列标注的热潮也开始了。个人而言,HMM和CRF是成熟的技术,但上升空间有限;LSTM的潜力会更大一些。于是乎,开始学习BiLstm+CRF模型了。
1.综述:
- 顾名思义,这是一个双向LSTM+CRF层的模型
- 双向的LSTM可以得到上下文的信息
- 在输出层后再增加CRF层,加强了文本间信息的相关性,针对序列标注问题,每个句子的每个词都有一个标注结果,对句子中第i个词进行高维特征的抽取,通过学习特征到标注结果的映射,可以得到特征到任意标签的概率,通过这些概率,得到最优序列结果
2.BiLstm-CRF结构图:
3.BiLstm+CRF算法流程
对于每个epoch循环:
对于每个batch循环:
<1>BiLstm+CRF模型前向传播:
(1)向后状态的前向传播;
(2)向前状态的前向传播;
<2>CRF层前后向传播;
<3>BiLstm+CRF模型后向传播:
(1)向后状态的后向传播;
(2)向前状态的后向传播;
<4>更新参数
结束batch循环
结束epoch循环