美文网首页
7NER实战-(2)HMM,MEMM,CRF

7NER实战-(2)HMM,MEMM,CRF

作者: 弟弟们的哥哥 | 来源:发表于2019-10-08 23:38 被阅读0次
image.png

先看上图就知道LSTM和CRF具体产出什么。LSTM+softmax分类后只能把特征的上下文关系学出来,CRF可以把label的上下文学出来。

比如通过上下文特征,BiLSTM输出“杨”最大概率是1.8,对应B-PER,“帅”最大概率是1.6,对应I-PER。这样貌似已经很完美了,都预测出来了。又比方我们换个句子,根据不同上下文特征学习后,“帅”的最大概率也许对应B-PER, 这就前后就有两个B,很显然就不对了。BiLSTM虽然是根据上下文特征学习后输出,但是输出值label相互之间是独立的。有没有可能在输出值label间再加点“东西”来学习label之间的关系了?HMM, MEMM,CRF就可以。要弄懂HMM,MEMM,CRF要先从贝叶斯开始.


生成式模型:联合概率P(Y, X) = P(Y|X) * P(X)=P(X|Y)*P(Y)

判别式模型:条件概率P(Y|X) = P(X|Y) / P(X)

从机器学习视角来看贝叶斯,假设分类问题中X可以理解为某特征,Y理解为某类

P(“属于某类”|“具有某特征”)=在已知某样本“具有某特征”的条件下,该样本“属于某类”的概率。
P(“具有某特征”|“属于某类”)=在已知某样本“属于某类”的条件下,该样本“具有某特征”的概率。 所以叫做『后验概率』
P(“属于某类”)=(在未知某样本具有该“具有某特征”的条件下,)该样本“属于某类”的概率。
P(“具有某特征”)= (在未知某样本“属于某类”的条件下,)该样本“具有某特征”的概率。所以叫做『先验概率』


HMM属于生成式模型,为什么了?

HMM由五元素组成:

    1. StatusSet隐藏状态集,如上面例子中的{B,I,O};
    1. ObervedSet观察值集,就是语料库中的汉字{“杨”,“帅”......};
  • 3.InitStatus 初始状态比如“O”;
  • 4.TransProbMatrix转移概率矩阵,初始状态“O”转移到一下个隐状态是“B”的概率,是一个33的矩阵 {B,I,O}{B,I,O};
  • 5.EmitProbMatrix发射概率矩阵,之前是隐状态(都不知道系统在干嘛),这次要“发射”出来了,隐状态值”B”到观察值“杨”的概率。

整个过程中,先求P(“隐状态O”),再求P(“隐状态B”|“隐状态O”),所以拟合的是 P(X)*P(Y|X) ,P(“隐状态B”,“隐状态O”)的联合概率分布,是生成式模型。

HMM中从隐状态“B”到观察值“杨”,接着隐状态“B”再到隐状态“I”,然后“I”再到观察值“帅”。这里两个观察值“杨”由“B”输出,“帅”由“I”输出,另外新的隐状态“I”好像只与前一个隐状态“B”有关。有没有一种方法可以让“杨”与“I”建立更多关系,这样”I”输出的观察值是不是和“杨”就有更多关联,同时隐状态“I”与更多的隐状态有关联,这样学习的会更深更准确。MEMM尝试解决这两个问题:


MEMM

image.png

MEMM 最大熵马尔科夫模型把上一个隐状态“B”和当前观察值“杨”通过最大似然估计得到当前隐状态“I”,再由“I”输出“帅”,这样“杨”和“帅”就建立了更多联系,虽然解决了HMM的第一个问题,不过存在局部最优,而不是全局最优,CRF因此出现了。

MEMM是求条件概率的过程:P(Y|X1,X2) P(“隐状态I”|“隐状态”B,观察值“杨”),因此是判别式模型。


最大似然估计(MLE)

岔开一个话题,讲下最大似然估计(Maximum likelihood estimation, MLE),似然likelihood和概率probability在英语里都有可能性的意思,所以本质上这两者都是概率。


image.png

不同的是likelihood是通过给定的数据来计算出参数的似然L,probability是通过给定的参数来观测出数据的概率P。

最大似然估计有点贪婪的意味,已知结果,求产生该结最大可能的条件。也顺带提一下EM算法,EM相当于一个框架,你可以采用不同的模型进行聚类,比如HMM,MEMM,GMM(高斯混合模型)等。主要分两大步骤:一是Expectation先初始化参数,然后再观察预期;二是如果灿在偏差就重新估计参数,这个是最大化的步骤(Maximization).


CRF条件随机场

image.png
回归正题继续CRF,上图可以看出,线性Linear-CRF对比HMM把箭头(转移方向)变成了直线。最直白的感官体验是每个圆圈(向量)都可以肆无忌惮畅通无阻的相邻的圆圈相连了,交互多了,模型也变复杂了,每个圆圈之间的关系从“局部”也变成“全局”。线性Linear-CRF是CRF很多结构中比较常用的一种,只要保证状态序列满足马尔科夫性都是CRF。那什么是马尔科夫性了?

这时候引入“团”,“势函数”和“分离”的概念。如下图1,2,3就是一个极大团;1,3,4也是一个极大团;4,5也是一个极大团。当一个团中再也无法加入其他节点说明这个团就是一个极大团。做算法时,都是极大团,因为如果它不是极大团,那它一定属于某个极大团。

image.png
每个极大团对应一个势函数,势函数用于描述团中变量之间的关系,要求为非负函数,除以Z是为了规范化,保证P(X)构成一个概率分布。
image.png
分离:比如从节点1到5,如果{1,2}和{5}被{3,4}分离,那么{1,2}和{5}可以看成是独立的。方法分全局马尔科夫性,局部马尔科夫性和成对马尔科夫性。实际上通过全局可以得到局部,通过局部可以得到成对,通过成对可以得到全局,所以这三者实际上是等价的。这里就解释什么是马尔科夫性了。直白总结,和我连接的节点说明是相关的,不连接的节点说明是独立的。如下图{1,2}与{3,4}相关,与{5}独立。
image.png
继续杨帅的例子,“杨”“帅”两个字(圆圈)构成一个词,这个词就是一个“团”,并且这个“团”上有对应的“势函数”。依次类推,“杨帅”与“出生”就是两个“团”并对应两个“势函数”。比方说“杨帅”和“出生”分别对应{1,2},{3,4}, ”于”对应{5}。根据马尔科夫性,“杨帅”与“出生”具备相关性,“杨帅”与“于”相互独立。

以上是马尔科夫性和马尔科夫随机场,条件随机场相当于马尔科夫随机场加入了x输入和y输出。还是以输出标签为例,用线性linear-CRF来实现。

image.png
状态特征:定义在节点上,该节点是否拥有某个属性
转移特征:定义在边上,这两个状态是否会因为某个特征而转移
比如杨帅,“杨”状态特征是B,B的转移特征:B后面可以接I,但是不能接B。那“帅”就不会是B。具体公式如下:
image.png
其实我们看到全连接,又看到w权重是不是很熟悉,这个不就是我们的深度学习的影子吗?为什么CRF牛,建立了部分“全连接”而且可反向传播调整权重。当然这是我的理解,不准确可以给我留言,大家一起讨论。

进入代码环节:


image.png

之前的图有隐层不是很详细,所以换了张图:


image.png
在损失层中,project_logits是神经网络最后一层的输出,该矩阵的shape为[batch_size, num_steps, num_tags],第一个是batch size,第二个是输入的句子的长度,第三个标记的个数,即命名实体识别总标记的类别数。targets是输入句子的label,即每个字的label,它的维度为[batch_size, num_steps]。损失层定义了一个self.trans矩阵,大小是[num_tags+1, num_tags+1], 加1是因为还有一个类别是未定义。将project_logit,targets以及self.trans交给tensorflow的系统函数crf_log_likelihood即可求得损失了。
image.png

crf_log_likelihood函数中分为两步,最终得到scores:
(1)调用crf_sequence_score函数计算sequence_scores。
(2)将sequence_scores进行归一化处理。
CRF参数的学习及score计算过程主要在crf_sequence_score中进行,我们好好看看这个函数。


image.png

相关文章

  • 7NER实战-(2)HMM,MEMM,CRF

    先看上图就知道LSTM和CRF具体产出什么。LSTM+softmax分类后只能把特征的上下文关系学出来,CRF可以...

  • 2021-06-30

    一、机器学习 1. HMM 1.1 2. MEMM 3. CRF 4. 激活函数  4.1 梯度优化算法[http...

  • 概率图模型体系:HMM、MEMM、CRF

    1.一篇讲的非常好的概率图模型体系:HMM、MEMM、CRF

  • 开源自然语言处理工具包hanlp中CRF分词实现详解

    CRF简介 CRF是序列标注场景中常用的模型,比HMM能利用更多的特征,比MEMM更能抵抗标记偏置的问题。 [ge...

  • Bidirectional LSTM-CRF Models fo

    1. 论文背景 作者总结,在当时NLP的序列标注问题中,主要是用HMM,MEMM,CRF算法。此前还有些已经使用过...

  • Transformer面试基础:

    HMM 和 CRF 区别: 1.HMM是生成模型,CRF是判别模型 2.HMM是概率有向图,CRF是概率无向图 3...

  • HMM & CRF

    等待更新

  • BiLSTM+CRF原理及代码分析

    CRF基础 CRF是无向图模型,通过对MEMM进行改进,不直接计算状态间的转移概率,而是计算最大团势函数的乘积所得...

  • HMM及CRF

    概率图模型 概率图模型(probabilistic graphical models)在概率模型的基础上,使用了基...

  • 2019-07-11

    1.常见的问题就是 HMM\CRF\Attention\lstm\rnn,损失函数用的什么 2.动态规划RF和XG...

网友评论

      本文标题:7NER实战-(2)HMM,MEMM,CRF

      本文链接:https://www.haomeiwen.com/subject/mszipctx.html