文章目录
Bi-LSTM-CRF
1. CRF模型原理
1.1 HMM与MEMM
- HMM
是概率生成模型,对 P ( X , Y ∣ λ ) P(X,Y| \lambda) P(X,Y∣λ)建模,也就是随机变量X和Y的联合概率分布建模。
有两个假设:马尔可夫齐次假设和观测独立假设
对于词性标注问题来说,观测变量之间是相互独立的
- MEMM(maximum entropy markov model)
最大熵马尔可夫模型与HMM的不同是,在概率图上,x与y之间的箭头的方向发生了变化。HMM是从y->x而MEMM模型是x->y。本质上是把x由y影响变为了y受x影响,并且只是当前状态的x,比如t时刻的 y t y_t yt是受 x 1 到 x T x_1到x_T x1到xT所有 x x x的影响的。概率图的上半部分也是这个意思,x只用了一个节点,但是是输出到每一个y的,也表达了每个时刻的y是受全部x影响的。
这样就打破了HMM模型的观测独立假设,在词性标注中,一个词的词性不仅受当前词的影响,也受到上下文的影响。
1.2 MEMM与CRF,标注偏差问题
MEMM的问题是标注偏差,原因是局部归一化造成的。在每个时刻都要做归一化,这样处理是有问题的。比如 P ( y 2 ∣ y 1 , x 2 ) P(y_2|y_1, x_2) P(y2∣y1,x2)是一个概率分布,则关于 y 2 , y 1 , x 2 y_2, y_1, x_2 y2,y1,x2的函数必须要做归一化处理。
举一个例子:有四个样本,三个rob,一个rib,rib的路径是从0->1->2->3,而rob的路径是0->4->5 ->3。在状态1、2及状态4、5时转化为下一个状态的概率是1。也就是说从1到2时,只有一条路径,不管观测值是字母i还是其它的。4到5时候也是同理。条件概率在熵越小的时候,观测值对状态转化的影响就越小。
CRF对MEMM的优化就是把有向图变为了无向图,无向图有天然的全局归一化。随机变量y之间没有了箭头,x到y仍然有箭头,x是输入。
1.3 CRF模型的参数形式
求条件概率 P ( Y ∣ X ) P(Y|X) P(Y∣X)的概率密码函数,概率分布。
1.4 CRF模型的向量形式
1.5 CRF要解决的问题
- 边缘概率计算
- 参数估计,也就是learning问
- MAP inference,也就是decoding问题
2. Bi-LSTM-CRF模型原理
最通俗易懂的BiLSTM-CRF模型中的CRF层介绍
知乎上的这篇讲的很好,既通俗易懂,又具有计算过程,可以很细节的了解整个模型的架构,损失函数,参数如何学习、学到参数后如何预测。
英文原文:目录为https://createmomo.github.io/2019/11/13/Table-of-Contents/,这个系列为:CRF Layer on the Top of BiLSTM
既然是条件随机场,求的是一个条件概率,也就是在给定一个序列X的条件下,标注序列为y的概率,即: P ( y ∣ X ) P(y|X)