CRF简单理解总结

条件随机场(Conditional Random Fields, 以下简称CRF):是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场。条件随机场是一种判别式模型

CRF的作用:简单理解就是从可选的标注序列中,选择最靠谱的一个序列。比如一句话中有3个单词,可选的词性为【名词,动词】。当我们对这三个字标记为l1:(名词,动词,动词)显然不太靠谱,因为在一个句子中动词后面接动词是说不通的。而标记为l2(名词,动词,名词)是靠谱的。

下面通过BiLSTM+CRF的列子说明一下CRF的具体应用场景。

CRF简单理解总结_第1张图片

上图中采用BIO形式的序列标注。当没有CRF层的时,预测出来的序列结果是无序的,而CRF的作用可以从训练数据中学习一些约束信息。通过特征函数得到各个序列的转移概率,使用Viterbi算法计算分数最高的序列标签。比如:

1.句子中第一个词总是以标签“B-“ 或 “O”开始,而不是“I-”

2.标签“B-label1 I-label2 I-label3 I-…”,label1, label2, label3应该属于同一类实体

CRF、MEMM、HMM比较:

 

  • HMM -> MEMM: HMM模型中存在两个假设:一是输出观察值之间严格独立,二是状态的转移过程中当前状态只与前一状态有关。但实际上序列标注问题不仅和单个词相关,而且和观察序列的长度,单词的上下文,等等相关。MEMM解决了HMM输出独立性假设的问题。因为HMM只限定在了观测与状态之间的依赖,而MEMM引入自定义特征函数,不仅可以表达观测之间的依赖,还可表示当前观测与前后多个状态之间的复杂依赖。
  • MEMM -> CRF: CRF不仅解决了HMM输出独立性假设的问题,还解决了MEMM的标注偏置问题,MEMM容易陷入局部最优是因为只在局部做归一化,而CRF统计了全局概率,在做归一化时考虑了数据在全局的分布,而不是仅仅在局部归一化,这样就解决了MEMM中的标记偏置的问题。使得序列标注的解码变得最优解。
  • HMM、MEMM属于有向图,所以考虑了xx与yy的影响,但没将xx当做整体考虑进去。CRF属于无向图,没有这种依赖性,克服此问题

 

你可能感兴趣的:(自然语言处理,CRF)