CRF条件随机场的理解

CRF能用来做什么?

CRF 是一个序列化标注算法(sequence labeling algorithm),接收一个输入序列如

并且输出目标序列

,也能被看作是一种seq2seq模型。这里使用大写 X,Y 表示序列。例如,在词性标注任务中,输入序列为一串单词,输出序列就是相应的词性。

除了词性标注之外,CRF还可以用来做chunking,命名实体识别等任务。一般地,输入序列 X 被称为 observations, Y 叫作 states。于是我们可以将简单版linear CRF的图模型表达出来。

Random 指的是随机变量 X and Y
Conditional 指的是条件概率 Conditional probability.
这就意味着CRF是一个判别式模型
通常,判别式模型 discriminative model 计算条件概率,而生成式模型 generative model 计算联合概率分布。

  • 判别式模型(Discriminative Model):直接对条件概率p(y|x)进行建模,常见判别模型有:线性回归、决策树、支持向量机SVM、k近邻、神经网络等;
  • 生成式模型(Generative Model):对联合分布概率p(x,y)进行建模,常见生成式模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;

我们先从隐马尔科夫模型(HMM)入手理解这两种模型的区别,然后从HMM推广出CRF。

HMM可以用有向图模型来表示,因为states与observations之间存在着明显的依赖关系。

posted on 2020-07-26 22:55  耀扬  阅读(367)  评论(0编辑  收藏  举报

导航