HanLP《自然语言处理入门》笔记--6.条件随机场与序列标注

文章目录

    • 6. 条件随机场与序列标注
      • 6.1 机器学习的模型谱系
      • 6.2 条件随机场
      • 6.3 条件随机场工具包
      • 6.4 HanLP中的CRF++ API
      • 6.5 GitHub

笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP

6. 条件随机场与序列标注

本章介绍一种新的序列标注模型条件随机场。这种模型与感知机同属结构化学习大家族,但性能比感知机还要强大。为了厘清该模型的来龙去脉,我们先对机器学习模型做番柿理。然后结合代码介绍条件随机场理论,探究它与结构化感知机的异同。

6.1 机器学习的模型谱系

机器学习的模型谱系图如下图所示:

HanLP《自然语言处理入门》笔记--6.条件随机场与序列标注_第1张图片

根据建模的究竟是联合概率分布 P(x,y) 还是条件概率分布 P(y|x)。派生出生成式模型与判别式模型。

  1. 生成式模型

    生成式模型:模拟数据的生成过程,两类随机变量存在因果先后关系,先有因素 y,后有结果 x,这种因果关系由联合分布模拟:

    P ( x , y ) = P ( y ) P ( x ∣ y ) P(x,y)=P(y)P(x|y) P(x,y)=P(y)P(xy)

    通过联合分布 P(x,y),生成式模型其实间接建模了 P(x):

    P ( x ) = ∑ y ∈ Y P ( x , y ) P(x)=\sum_{y\in{Y}}P(x,y) P(x)=yYP(x,y)

    这里有两个缺陷:

    • P(x) 很难准确估计,因为特征之间并非相互独立,而是存在错综复杂的依赖关系。
    • P(x) 在分类中也没有直接作用。

    为了克服这两个问题,判别式模型出现。

  2. 判别式模型

    判别式模型直接跳过了 P(x),直接对条件概率 P(y|x) 建模。不管 x 内部存在多复杂的关系,也不影响判别式模型对 y 的判断,于是就能够放心大胆的利用各种各样丰富的、有关联的特征。 所以我们会看到感知机分词的准确率高于隐马尔可夫模型。

    P ( y ∣ x ) = e x p ( s c o r e ( x , y ) ) ∑ x , y e x p ( s c o r e ( x , y ) ) P(y|x)=\frac{exp(score(x,y))}{\sum_{x,y}exp(score(x,y))} P(yx)=x,yexp(score(x,y))exp(score(x,y))

    其中,exp 为指数函数。随机变量关系错综复杂,为了分析这些关系,使用概率图模型。

  3. 有向概率图模型

    概率图模型( Probabilistic Graphical Model, PGM)是用来表示与推断多维随机变量联合分布 p(x,y) 的强大框架,被广泛用于计算机视觉、知识表达、贝叶斯统计与自然语言处理。它利用节点 V 来表示随机变量,用边 E 连接有关联的随机变量,将多维随机变量分布表示为图 G=(V,E)。这样就带来了一个好处,那就是整个图可以分解为子图再进行分析.子图中的随机变量更少,建模更加简单。具体如何分解,据此派生出有向图模型和无向图模型。

    有向图模型按事件的先后因果顺序将节点连接为有向图。如果事件 A 导致事件 B,则用箭头连接两个事件 A–>B。

    HanLP《自然语言处理入门》笔记--6.条件随机场与序列标注_第2张图片

    有向图模型都将概率有向图分解为一系列条件概率之积,有向图模型经常用生成式模型来实现。定义 π(v) 表示节点 v 的所有前驱节点,则分布为:
    p ( x , y ) = ∏ v = V p ( v ∣ π ( v ) ) p(\boldsymbol{x}, \boldsymbol{y})=\prod_{v=V} p(v | \boldsymbol{\pi}(v)) p(x,y)=v=Vp(vπ(v))

  4. 无向概率图模型

    相反,无向图模型则不探究每个事件的因果关系,也就是说不涉及条件概率分解。无向图模型的边没有方向,仅仅代表两个事件有关联。

    HanLP《自然语言处理入门》笔记--6.条件随机场与序列标注_第3张图片

    无向图模型将概率分解为所有最大团上的某种函数之积。

    在图论中,最大团指的是满足所有节点相互连接的最大子图。因为最大团需要考虑所有变量,为此,无向图模型定义了一些虚拟的因子节点,每个因子节点只连接部分节点,组成更小的最大团。

    HanLP《自然语言处理入门》笔记--6.条件随机场与序列标注_第4张图片

    蓝色虚线表示最大团,黑色方块表因子节点,圆圈则表示变量节点,无向图模型将多维随机变量的联合分布分解为一系列最大团中的因子之积:
    p ( x , y ) = 1 Z ∏ a Ψ a ( x a , y a ) p(x, y)=\frac{1}{Z} \prod_{a} \Psi_{a}\left(x_{a}, y_{a}\right) p(x,y)=Z1aΨa(xa,ya)
    其中,a 是因子节点,Ψa 则是一个因子节点对应的函数,参数 Xa,Ya 是与因子节点相连的所有变量节点。为了将式子约束为概率分布,定义常数 Z 为如下归一化因子:
    Z = ∑ x , y ∏ a Ψ a ( x

你可能感兴趣的:(NLP,自然语言处理,机器学习,nlp)