Skip to content

命名实体识别:CRF与HMM深度解析

内容整理自学习笔记,仅供面试备考参考;不构成录用、培训或考试承诺。

1. CRF(条件随机场)常见面试题

1.1 什么是 CRF?CRF 的主要思想是什么?

设 X 与 Y 是随机变量,P(Y|X) 是给定条件 X 的条件下 Y 的条件概率分布,若随机变量 Y 构成一个由无向图 G=(V,E) 表示的马尔科夫随机场,则称条件概率分布 P(Y|X) 为条件随机场。

核心思想:CRF 统计全局概率,在做归一化时,考虑了数据在全局的分布。

1.2 CRF 的三个基本问题

问题定义解决方法
概率计算问题给定观测序列 x 和状态序列 y,计算概率 P(y|x)前向计算、后向计算
学习计算问题给定训练数据集估计 CRF 模型参数随机梯度法、牛顿法、拟牛顿法、迭代尺度法
预测问题给定 CRF P(Y|X) 和输入序列 x,求条件概率最大的输出序列 y*维特比算法

1.3 线性链条件随机场的参数化形式

在随机变量 X 取值为 x 的条件下,随机变量 Y 取值为 y 的条件概率包含以下要素:

要素说明
Z(x)规范化因子,求和在所有可能的输出序列上进行
t_k定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置
s_l定义在结点上的特征函数,称为状态特征,依赖于当前位置

1.4 CRF 的优缺点

优点:

优点说明
丰富的特征信息为每个位置标注时可利用内部及上下文特征信息
特征融合优势在结合多种特征方面存在优势
避免标记偏置有效避免了标记偏置问题
性能更好对特征的融合能力更强

缺点:

缺点说明
训练时间长训练时间比 ME 更长,且模型非常大,普通 PC 机可能无法执行
特征依赖特征的选择和优化是影响结果的关键因素,直接决定性能高低

1.5 HMM 与 CRF 的区别

对比维度HMMCRF
图类型有向图无向图
特征使用局部特征(齐次马尔科夫假设和观测独立性假设)全局特征(全局归一化)
最优解只能找到局部最优解可以得到全局最优值
模型类型生成模型判别模型
概率分布描述联合分布 P(I, O)描述条件概率 P(I|O)
关系CRF 包含 HMM,HMM 是 CRF 的特殊情况

共性:两者都常用来做序列标注的建模,如词性标注。

1.6 生成模型与判别模型的区别

类型学习目标常见模型直觉理解
生成模型联合概率分布 P(x,y)朴素贝叶斯、混合高斯、HMM先学习山羊模型和绵羊模型,再分别计算概率比较
判别模型条件概率分布 P(y|x)感知机、决策树、逻辑回归、SVM、CRF直接从历史数据学习,提取特征预测属于各类的概率

2. HMM(隐马尔可夫模型)常见面试题

2.1 什么是马尔科夫过程?

假设一个随机过程中,t_n 时刻的状态 x_n 的条件分布只与其前一状态 x_(n-1) 相关,即:

P(x_n | x_1, x_2, ..., x_{n-1}) = P(x_n | x_{n-1})

则将其称为马尔可夫过程

2.2 马尔科夫过程的核心思想

当前时刻状态仅与上一时刻状态相关,与其他时刻不相关。

从马尔可夫过程图理解:每个状态间以有向直线连接,即当前时刻状态仅与上一时刻状态相关。

2.3 隐马尔可夫算法中的两个假设

假设内容
齐次马尔可夫性假设隐藏的马尔科夫链在任意时刻 t 的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻 t 无关
观测独立性假设任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测及状态无关

2.4 隐马尔可夫模型三个基本问题

问题定义解决方法
概率计算问题给定模型 (A,B,π) 和观测序列,计算观测序列出现的概率直接计算法复杂度太大 O(N²T),使用前向与后向计算法
学习问题已知观测序列,估计模型参数,使观测序列概率最大极大似然估计,Baum-Welch 算法(EM 算法)
预测问题(解码问题)已知模型和观测序列,求条件概率最大的状态序列维特比算法(动态规划)

维特比算法核心:边计算边删掉不可能是答案的路径,在最后剩下的路径中挑选最优路径。

2.5 三个基本问题的联系

三个基本问题存在渐进关系

  1. 首先学会用前向算法和后向算法计算观测序列出现的概率
  2. 然后用 Baum-Welch 算法求参数时,某些步骤需要用到前向和后向算法
  3. 得到参数后,用于预测(解码任务是应用 HMM 的最终目的)

2.6 隐马尔可夫算法存在的问题

HMM 模型简化了很多问题,做了很强的假设,带来的影响:

方面好处坏处
强假设简化求解难度对真实情况的建模能力变弱

在序列标注问题中,隐状态(标注)不仅和单个观测状态相关,还和观察序列的长度、上下文等信息相关。例如词性标注问题中,一个词被标注为动词还是名词,不仅与它本身及前一个词的标注有关,还依赖于上下文中的其他词。

优化方向:可以使用最大熵马尔科夫模型(MEMM)进行优化。