条件随机场(Conditional Random Fields, 以下简称CRF):是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机变量构成马尔科夫随机场。条件随机场是一种判别式模型
CRF的作用:简单理解就是从可选的标注序列中,选择最靠谱的一个序列。比如一句话中有3个单词,可选的词性为【名词,动词】。当我们对这三个字标记为l1:(名词,动词,动词)显然不太靠谱,因为在一个句子中动词后面接动词是说不通的。而标记为l2(名词,动词,名词)是靠谱的。
下面通过BiLSTM+CRF的列子说明一下CRF的具体应用场景。
上图中采用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模型中存在两个假设:一是输出观察值之间严格独立,二是状态的转移过