zoukankan      html  css  js  c++  java
  • 机器学习之条件随机场(八)

    摘要:

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

    引言:

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

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

  • 相关阅读:
    Java修炼之道--I/O
    配置tomcat资源文件软连接
    配置tomcat按天输出日志文件
    Ubuntu 安装rabbitmq
    Ubuntu下 JDK、tomcat、redis离线安装
    Nginx+tomcat负载均衡环境搭建
    Tomcat性能调优及性能测试工具配置
    Tomcat搭建https并与APR模式兼容
    IDEA开发工具小技巧整理
    Ubuntu下Nginx+fastDFS环境安装
  • 原文地址:https://www.cnblogs.com/hxf175336/p/9941370.html
Copyright © 2011-2022 走看看