机器学习之条件随机场(八)

Posted on 2018-11-11 09:27  时光top  阅读(424)  评论(0编辑  收藏  举报

摘要:

  条件随机场是一种判别式概率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。

引言:

   “条件随机场”被用于中文分词和词性标注等词法分析工作,一般序列分类模型常常采用隐马尔科夫模型(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无要求,除了一维的词性标注、中文分词,还可以用于离散数据(如用户信息),或二维数据(如图像),用途广泛。

  缺点:有监督学习计算参数、参数估计的速度慢。

 

Copyright © 2024 时光top
Powered by .NET 8.0 on Kubernetes