天天看点

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

前言

    概率序列模型:它的工作是为序列中的每个单元分配一个标签或类,从而将一个观察序列映射到一个标签序列。给定一个单位序列(单词、字母、语素、句子,等等),它计算可能的标签序列的概率分布,并选择最佳的标签序列。

    本文都是以序列标注(如分词、词性标注、命名实体识别,从字符级别中文分词到词语级别命名实体识别)为例,即输入序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,希望输出同样长度的标签序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,那么建模的就是概率分布

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    生成式模型:利用p(x,y)和贝叶斯规则计算p(y|x)

    判别式模型:直接计算p(y|x) 

  ## 序列标注与中文分词

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

  ## 序列标注与词性标注

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

  ## 序列标注与命名实体识别 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

# 原理:Markov Chains马尔科夫链

    马尔可夫假设: 每个事件的发生概率只取决于前一个事件。将满足该假设的连续多个事件串联在一起,就构成了马尔可夫链。

    图中节点表示状态,弧线表示状态的转移,其上数字表示转移的概率(注:离开给定状态的弧的值之和必须为1 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    一个马尔可夫链由以下部分组成:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

# 原理:HMM 隐式马尔可夫模型

    💥 TMI:“1988 年隐马尔可夫模型被用于词性标注。在所有序列标注模型中,隐马尔可夫模型是最基础的一种。”

    在许多情况下,我们感兴趣的事件是隐藏的,例如我们通常不会在文本中观察词性标记。相反,我们看到单词,必须从单词序列推断标签。在我们的概率模型中,我们将观测事件和隐藏事件认为是因果因素。

    输入:观测序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    输出:状态序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    一个隐式马尔可夫模型由以下部分组成:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    初始状态概率向量π、状态转移概率矩阵A与发射概率矩阵B被称为隐马尔可夫模型的三元组 λ=(π, A, B) 只要三元组确定了,隐马尔可夫模型就确定了。

    👀 序列标注最大的结构特点就是标签相互之间的依赖性。在隐马尔可夫模型中,这种依赖性利用初始状态概率向量π和状态转移概率矩阵A来体现。

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

     一阶隐马尔可夫模型实例化了两个假设:

      ① 一个特定状态的概率只取决于前一个的状态

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

      ② 输出观测oi的概率仅取决于产生该观测的状态

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

      则一阶隐马尔可夫模型可以表示为 :

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
    这张图也许有一丝违和感,按通常理解,应当是x决定y而不是反过来。这是由于在联合概率分布p(x, y) 中,两个随机变量并没有固定的先后与因果关系,p(x, y) = p(y, x)。从贝叶斯定理的角度来讲,联合分布完全可以做两种等价变换: 
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
    隐马尔可夫模型只不过在假设②中采用了后一种变换而己,即假定先有状态,后有观测, 取决于两个序列的可见与否。
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

① HMM Tagger

    对于词性标注,HMM解码的目标是选择标签序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,它是最可能的给定的观察单词序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

的词性(在这里o是w,q是t):

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    我们在HMM中使用的方法是使用贝叶斯规则来代替计算 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

     进行简化:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    一阶HMM taggers做了两个进一步简化的假设:

      ① 一个标签的概率只依赖于前一个标签,而不是整个标签序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

      ② 单词出现的概率仅取决于它自己的标签,与相邻的单词和标签无关

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

     进一步简化后,一个二元标记器的最有可能的标记序列表示公式:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    这里的 emission(发射概率矩阵) 和 transition(状态转移概率矩阵) 分别对应上文提及的 B 和 A矩阵, 在HMM tagger中,这些概率是通过计算已标记的训练语料库来估计的。

 举例:在WSJ语料库中,MD出现了13124次,后面跟着VB的次数为10471
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
 举例:在WSJ语料库的13124例MD中,它与will关联了4046次 
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    💥 【二阶隐马尔科夫模型:初始状态概率向量 π 和 发射概率矩阵B的估计与一阶隐马尔可夫模型完全一致。唯一不同之处在于二阶转移概率张量A的估计,因为二阶隐马尔可夫模型的依赖假设发生了改变。】

    如何求该值的max值呢?HMM的解码算法是Viterbi算法

    维特比算法首先建立一个概率矩阵:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    每个单元vt(j)的值通过递归地使用最可能将我们引向该单元的路径来计算:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    Viterb递归地填充每个单元格:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
:前一个时间步长的维特比路径概率
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
:从之前状态
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
 到当前状态
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
的转变概率
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
:给定当前状态j,观测符号
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
的状态观测可能性

举例

    示例:“Janet will back the bill”

    数据:A、B矩阵(来自《华尔街日报》语料库中的统计数据

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    再回顾一下公式: 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    即:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    举例:对于第一个单词Janet,我们分别查表得到 ① P(7种词性|start) 和 ② P(Janet|7种词性),两者相乘得到

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    到第二个单词,先计算 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

 的最大值,对于

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

来说,即先计算

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

 的最大值

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    则

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
可以理解为:
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
到达B3的路径有四条:S-A1-B3、S-A2-B3、S-A3-B3、S-A4-B3,经过计算得到S-A2-B3的值最大,则意味着当我们计算完成该矩阵,进行动态规划选取路径时,若选择到B3,则一定是选择了S-A2-B3这条路径,其它路径并不纳入考虑。
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    最终用维特比算法得到一个概率矩阵,寻求最大路径(从最后一列返回来检索所需的标签集概率最大

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    注:以 t=2 理解,此时假设

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

中最大值在

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,而 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

 获得最大的值的情况是NNP->MD这条路径(想说明当t=1时不一定就是选择

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

最大的节点,而要考虑之后的乘积,当然若其他均为零,就只能选择该节点

    最终正确的标签为:Janet/NNP will/MD back/VB the/DT bill/NN

    ⭐如何通俗地讲解 viterbi 算法?

    语言含有更多特征, 而隐马尔可夫模型没有捕捉到。隐马尔可夫模型能捕捉的特征仅限于两种:其一,前一个标签是什么;其二,当前字符是什么。因而效果并不理想。--《自然语言处理入门》

    当状态数N增长非常大时,Viterb算法的速度较慢。bigram tagger算法的复杂度为

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

 👉(枚举每个时刻的N种备选状态,相邻两个时刻之间的状态就有

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

种组合。由于一共有T个时刻,所以复杂度是

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

。)若是采用 trigram tagger等,算法复杂度还要再上一个量级。

    一种常见的解决复杂性问题的方法是使用Beam Search解码,在束搜索中,我们不保留每个时间点t的整个状态列,我们只保留那个点上最好的几个假设(算出该t时刻各状态N的viterbi分数后进行排序),其余的被修剪掉,并且不能继续到时间t +1。

    束宽β(beam width)是一个固定大小的状态数,即表示每个时间点t保留多少个最优状态。束搜索的算法复杂度为

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    下图所示的束宽为2。在每个时间 t,所有的(非零)状态都被计算出来,然后对它们进行排序,只有最好的两个状态被向前传播,其余的被剪掉(📍 t=1时其它状态viterbi值均为0,因此只选择了一个状态。

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
    在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点。这样减少了空间消耗,并提高了时间效率,但缺点就是有可能存在潜在的最佳方案被丢弃,因此Beam Search算法是不完全的,一般用于解空间较大的系统中。 
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

# 原理:最大熵原理

    “熵”不起:从熵、最大熵原理到最大熵模型(一)

    “熵”不起:从熵、最大熵原理到最大熵模型(二)

    “熵”不起:从熵、最大熵原理到最大熵模型(三)

② Maximum Entropy Markov Models最大熵马尔可夫模型

    为了实现是对整个序列进行的分类,在每个时刻t时,它的特征不仅来自当前观测值

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,而且还来自前一状态值

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

​。所以MEMM中,给定观测序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,某个状态序

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

​的概率是:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    通过最大熵分类器建模(参考最大熵模型的推导)为 :

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    其中 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

,

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

 分别表示特征函数数量,特征函数权重和第a个特征函数

#几个特征函数的例子 [来源]

    - 句子s(就是我们要标注词性的句子)

    - i,用来表示句子s中第i个单词

    - l_i,表示要评分的标注序列给第i个单词标注的词性

    - l_i-1,表示要评分的标注序列给第i-1个单词标注的词性

    ① 当l_i是“副词”并且第i个单词以“ly”结尾时,我们就让f1 = 1,其他情况f1为0。不难想到,f1特征函数的权重λ1应当是正的。而且λ1越大,表示我们越倾向于采用那些把以“ly”结尾的单词标注为“副词”的标注序列

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
    ② 如果i=1,l_i=动词,并且句子s是以“?”结尾时,f2=1,其他情况f2=0。同样,λ2应当是正的,并且λ2越大,表示我们越倾向于采用那些把问句的第一个单词标注为“动词”的标注序列。
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

 表示归一化因子,为: 

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    其中y表示所有的可能状态取值 

    使用维特比算法进行解码时,MEMM对应的公式为:

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    MEMM可以看成是一个极度简化的seq2seq模型。既然是这样,那么普通seq2seq模型有的弊端它都有。seq2seq中有一个明显的问题是exposure bias,对应到MEMM中,它被称之为label bias(标签偏置问题)

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    根据上述递推式,则概率最大路径如下1->1->1->1,但从全局的角度分析:State 1 总是更倾向于转移到State 2;State 2 总是更倾向于转移到State 2.(因为状态2可以转换的状态比状态1要多,从而使转移概率降低,即MEMM倾向于选择拥有更少转移的状态。

    MEMM所做的是本地归一化,导致有更少转移的状态拥有的转移概率普遍偏高,概率最大路径更容易出现转移少的状态。因MEMM存在着标注偏置问题,故全局归一化的CRF被提了出来

Bi-MEMM 双向MEMM

    相比CRF,MEMM明显的一个不够漂亮的地方就是它的不对称性——它是从左往右进行概率分解的。笔者的实验表明,如果能解决这个不对称性,能够稍微提高MEMM的效果。笔者的思路是:将MEMM也从右往左做一遍 [来源]

HMM V.S. MEMM

    两种方法计算方式不同:HMMs计算似然性(观察词以标签为条件),MEMMs计算后验性(以观察词为条件的标签)

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

③ CRF条件随机场

    网址:introduction-to-conditional-random-fields

    在CRF中,函数F将整个输入序列X和整个输出序列Y映射到一个特征向量。让我们假设我们有K个特性,每个特性的加权工作是Fk

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    这个约束仅依赖于当前和之前的输出令牌yi和yi−1,这就是线性链CRF的特征

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    MEMM只考虑

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

的影响,而没有把

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

作为整体来考虑,导致的是本地归一化,而CRF做的则是全局的归一化,避免了label bias的问题。    

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考
NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

MEMM V.S. CRF

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

# HMM、MEMM、CRF区别

对于一个标注任务,“我爱北京天安门“, 标注为” s s b e b c e”

对于HMM的话,其判断这个标注成立的概率为 P= P(s转移到s)*P(‘我’表现为s)* P(s转移到b)*P(‘爱’表现为s)* …*P().训练时,要统计状态转移概率矩阵和表现矩阵。

对于MEMM的话,其判断这个标注成立的概率为 P= P(s转移到s|’我’表现为s)*P(‘我’表现为s)* P(s转移到b|’爱’表现为s)*P(‘爱’表现为s)*..训练时,要统计条件状态转移概率矩阵和表现矩阵。

对于CRF的话,其判断这个标注成立的概率为 P= F(s转移到s,’我’表现为s)….F为一个函数,是在全局范围统计归一化的概率而不是像MEMM在局部统计归一化的概率。

    CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME最大熵一样) ————与HMM比较

    同时,由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。 ­­————与MEMM比较

    CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。

    凡事都有两面,正由于这些优点,CRF需要训练的参数更多,与MEMM和HMM相比,它存在训练代价大、复杂度高的缺点。

NLP:HMM、MEMM、CRF序列标注前言# 原理:Markov Chains马尔科夫链# 原理:HMM 隐式马尔可夫模型① HMM Tagger# 原理:最大熵原理② Maximum Entropy Markov Models最大熵马尔可夫模型③ CRF条件随机场# HMM、MEMM、CRF区别参考

    表1-2 收录了《华尔街日报》语料库上的词性标注任务的前沿准确率。截止 2015 年,除了 Bi-LSTM-CRF以外,其他系统都是传统模型,最高准确率为 97.36%,而Bi-LSTM-CRF 深度学习模型为 97.55%,仅仅提高了0.19%。2016 年,传统系统 NLP4J 通过使用额外数据与动态特征提取算法,准确率可以达到 97.64%。     ---摘自 《自然语言处理入门》何晗[著]

参考

    https://www.zhihu.com/question/35866596

    【中文分词】最大熵马尔可夫模型MEMM

    苏剑林. (Feb. 24, 2020). 《CRF用过了,不妨再了解下更快的MEMM? 》

    苏剑林. (May. 18, 2018). 《简明条件随机场CRF介绍(附带纯Keras实现) 》

    从HMM到MEMM再到CRF

    HMM、MEMM、CRF区别

    ⭐用命名实体识别(NER)解释CRF (BiLSTM+CRF)

    ⭐条件随机场(CRF)

继续阅读