条件随机场
作者:樱花猪
摘要:
本文为七月算法(julyedu.com)12月机器学习第十八次课在线笔记。条件随机场是一种判别式概率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。
引言:
“条件随机场”被用于中文分词和词性标注等词法分析工作,一般序列分类模型常常采用隐马尔科夫模型(HMM),像基于类的中文分词。但隐马尔可夫模型中存在两个假设:输出独立性假设和马尔可夫性假设。其中,输出独立性假设要求序列数据严格相互独立才能保证推导的正确性,而事实上大多数序列数据不能被表示成一系列独立事件。而条件随机场则使用一种概率图模型,具有表达长距离依赖性和交叠性特征的能力,能够较好地解决标注(分类)偏置等问题的优点,而且所有特征可以进行全局归一化,能够求得全局的最优解。
隐马尔科夫模型可以用于分词,而条件随机场则是可以用于词性的判断。
预备知识:
最大熵模型,隐马尔科夫模型、Logistic回归
一、概述
1、几种网络模型的比较
HMM:
MEMM:
CRF
RVM
2、对数线性模型
令x为某样本,y是x的可能标记,将Logistic/Softmax回归的特征记做Fj(x,y),则对数线性模型的一般形式:
其中,归一化因子:
给定x的预测标记为:
3、特征函数的选择
特征函数几乎可任意选择,甚至特征函数间重叠;
以自然语言处理为例:
假定观测x是单词,则下列都是合理可行的特征:
x以大写字母开头、x以J开头、x的长度为7、x中包含两个大写字母
NLP中常用的特征:前缀、后缀、词典位置、前置/后置标点
4、词性标注的特征函数
词性标注是指将每个单词标记为名词/动词/形容词/介词等。
词性:POS,Part Of Speech
o记w为句子s的某个单词,则特征函数可以是:
- w在句首/句尾(位置相关)
- w的前缀是anti-/co-/dis-/inter-等(单词本身)
- w的后缀是-able/-ation/-er/-ing等(单词本身)
- w前面的单词是a/could/SALUTATION等(单词间)
- w后面的单词是am/is/are/等(单词间)
w前面两个单词是Wouldlike/Therebe等(单词和句子)
高精度的POS会使用超过10万个特征。
- 每个特征只和当前词性有关,最多只和相邻词的词性有关;
- 但特征可以和所有词有关。
5、词性标注
词性标注被称为“结构化预测”,该任务与标准的类别学习任务存在巨大不同:
- 如果每个单词分别预测,将丢失众多信息;
- 相邻单词的标记是相互影响的,非独立。
- 不同的句子有不同长度;
- 这导致不方便将所有句子统一成同长度向量。
- 标记序列解集与句子长度呈指数级增长。
- 这使得穷举计算几乎无法实用。
二、线性条件随机场
线性条件随机场可以使用对数线性模型。
使用表示n个词的序列;表示相应的词性
定义:
次特征:
定义句子的第j个特征是由若干次特征组合而成的,这里的依赖或部分依赖于当前整个句子、当前词的标记、前一个词的标记、当前词在句子中的位置i。
将每一个位置i上的次特征相加,即得到特征,从而解决训练样本变长的问题。
参数训练:
给定一组训练样本(x,y),找出权向量w,使得下式成立:
满足上式的w,即为最终的推断参数。
二、条件随机场
设X=(X1,X2…Xn)和Y=(Y1,Y2…Ym)都是联合随机变量,若随机变量Y构成一个无向图G=(V,E)表示的马尔科夫随机场(MRF),则条件概率分布P(Y|X)称为条件随机场(Conditional Random Field,CRF)
- X称为输入变量、观测序列
- Y称为输出序列、标记序列、状态序列
一般而言,MRF是关于隐变量(状态变量、标记变量)的图模型,而给定观测变量后考察隐变量的条件概率,即为CRF。但这种混用,类似较真总理和周恩来的区别。混用的原因:在计算P(Y|X)时需要将X也纳入MRF中一起考虑
三、线性链条件随机场
设X=(X1,X2…Xn)和Y=(Y1,Y2…Ym)都是联合随机变量,若随机变量Y构成一个无向图G=(V,E)表示的马尔科夫随机场(MRF),则条件概率分布P(Y|X)称为条件随机场(Conditional Random Field,CRF)
即:
其中,表示与结点v相连的所有结点wo一种重要而特殊的CRF是线性链条件随机场(Linear Chain Conditional Random Field),可用于标注等问题。这时,条件概率P(Y|X)中,Y表示标记序列(或称状态序列),X是需要标注的观测序列。
线性条件随机场的定义:
X=(X1,X2…Xn)和Y=(Y1,Y2…Yn)均为线性链表示的随机变量序列,若在给定随机变量序列X的条件下,随机变量序列Y的条件概率分布P(Y|X)构成条件随机场,即满足马尔科夫性
则称P(Y|X)为线性链条件随机场。在标注问题中,X表示输入序列或称观测序列,Y表述对应的输出标记序列或称状态序列。
四、CRF总结
条件随机场可以使用对数线性模型表达。不严格的说,线性链条件随机场可看成是隐马尔科夫模型的推广,隐马尔科夫模型可看成是线性链条件随机场的特殊情况。
- 概率计算使用前向-后向算法;
- 参数学习使用梯度上升算法(或IIS);
- 应用于标注/分类,在给定参数和观测序列(样本)的前提下,使用Viterbi算法进行标记的预测。
- 标记序列y要求链状,但x无要求,除了一维的词性标注、中文分词,还可以用于离散数据(如用户信息),或二维数据(如图像),用途广泛。
缺点:有监督学习计算参数、参数估计的速度慢。