命名实体识别常见面试篇
来源:AiGC面试宝典 整理:宁静致远(2024年1月12日)
一、CRF 常见面试题
1.1 什么是CRF?CRF的主要思想是什么?
设 $X$ 与 $Y$ 是随机变量,$P(Y|X)$ 是给定条件 $X$ 的条件下 $Y$ 的条件概率分布,若随机变量 $Y$ 构成一个由无向图 $G=(V,E)$ 表示的马尔科夫随机场,则称条件概率分布 $P(Y|X)$ 为条件随机场(CRF)。
CRF 的主要思想是统计全局概率,在做归一化时考虑数据在全局的分布,而不是只考虑局部信息。
📝通俗解释:可以把CRF想象成一名经验丰富的法官审判案件。法官不会只看当前这一个证据就下结论,而是会综合考虑所有证据之间的关系和整体情况。比如判断一个人是否犯罪,需要同时考虑动机、时间线、证人证词等多个因素,而不是孤立地看某一个证据。CRF就是这样"全局考虑"的模型。
![CRF概率图模型结构示意]
图示说明:上方节点 $x_1, x_2, x_3, \dots, x_n$ 表示观测序列(输入的文本),下方节点 $y_1, y_2, \dots, y_n$ 表示状态序列(标注的标签),体现了CRF同时考虑全局上下文的特点。
1.2 CRF的三个基本问题是什么?
CRF的三个基本问题与HMM类似,分别是:
(1)概率计算问题
- 定义:给定观测序列 $x$ 和状态序列 $y$,计算条件概率 $P(y|x)$
- 解决方法:前向计算、后向计算
(2)学习问题
- 定义:给定训练数据集,估计条件随机场模型参数的问题
- 公式定义:利用极大似然估计方法来定义目标函数
- 解决方法:随机梯度法、牛顿法、拟牛顿法、迭代尺度法等优化方法
- 目标:解耦模型定义、目标函数、优化方法
(3)预测问题
- 定义:给定条件随机场 $P(Y|X)$ 和输入序列(观测序列)$x$,求条件概率最大的输出序列(标记序列)$y^*$
- 方法:维特比算法
📝通俗解释:这三个问题可以类比为"考试三步走":第一步(概率计算)类似于知道答案后算分数;第二步(学习问题)类似于根据错题本调整答题策略;第三步(预测问题)类似于用总结出的规律去预测考试题目。学会了这三步,就能用CRF解决实际问题了。
1.3 线性链条件随机场的参数化形式?
在随机变量 $X$ 取值为 $x$ 的条件下,随机变量 $Y$ 取值为 $y$ 的条件概率如下:
$$ P(y \mid x) = \frac{1}{Z(x)} \exp \left( \sum_{i,k} \lambda_k t_k (y_{i-1}, y_i, x, i) + \sum_{i,l} \mu_l s_l (y_i, x, i) \right) $$
其中,规范化因子: $$ Z(x) = \sum_y \exp \left( \sum_{i,k} \lambda_k t_k (y_{i-1}, y_i, x, i) + \sum_{i,l} \mu_l s_l (y_i, x, i) \right) $$
参数说明:
- $Z(x)$:规范化因子,求和是在所有可能的输出序列上进行的
- $t_k$:定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置(如:B-PER → I-PER的转移概率)
- $s_l$:定义在结点上的特征函数,称为状态特征,依赖于当前位置(如:当前词本身是"公司"时标注为B-ORG的概率)
📝通俗解释:这个公式看起来复杂,但核心思想很简单:判断一个标签是否合适,要综合考虑"当前位置的特征"(比如这个词本身像不像人名)和"从上一个标签转过来的概率"(比如人名后面接人名比接地名更合理)。CRF会把这两个信息加起来,最后通过softmax归一化得到概率。
1.4 CRF的优缺点是什么?
优点:
- 可以利用丰富的内部及上下文特征信息
- 在结合多种特征方面存在优势
- 避免了标记偏置问题
- 性能更好,对特征的融合能力更强
缺点:
- 训练时间较长,模型较大,在一般PC上可能无法执行
- 特征的选择和优化对结果影响很大
📝通俗解释:标记偏置问题就像一个偏心的裁判,总是倾向于给某一方打高分。CRF通过全局归一化避免了这个问题,确保所有可能标签的概率之和为1,不会出现"一路偏到头"的情况。特征选择的重要性类似于做菜,食材(特征)选得好,菜(模型效果)才能做得香。
1.5 HMM与CRF的区别?
| 对比维度 | HMM | CRF |
|---|---|---|
| 图模型 | 有向图 | 无向图 |
| 特征利用 | 局部特征 | 全局特征 |
| 模型类型 | 生成模型 | 判别模型 |
| 最优解 | 局部最优 | 全局最优 |
详细说明:
- HMM(隐马尔可夫模型):描述两个序列联合分布 $P(I, O)$ 的概率模型,是生成模型
- CRF(条件随机场):给定观测序列 $O$ 的条件下预测状态序列 $I$ 的条件概率模型 $P(I|O)$,是判别模型
HMM只使用了局部特征(齐次马尔科夫假设和观测独立性假设),只能找到局部最优解;CRF使用了全局特征,可以得到全局最优值。
📝通俗解释:可以把HMM想象成一个"只关心前一个邻居"的八卦者(只考虑前一个状态),而CRF则是"了解全局局势"的军师(考虑所有状态)。比如识别"张三在北京工作"中的人名地名,HMM可能只看相邻词,而CRF会看整句话的前后关系,所以CRF更准确。
1.6 生成模型与判别模型的区别?
生成模型:
- 学习联合概率分布 $P(x,y)$
- 常见模型:朴素贝叶斯、混合高斯模型、HMM
- 思想:先学习每个类别的"样子",再判断新样本属于哪个类别
判别模型:
- 学习条件概率分布 $P(y|x)$
- 常见模型:感知机、决策树、逻辑回归、SVM、CRF
- 思想:直接学习分类边界,判断新样本属于哪个类别
📝通俗解释:生成模型就像一个生物学家,要先研究清楚山羊和绵羊各自有什么特点,然后根据新动物的特征判断它更像山羊还是绵羊。判别模型则像一个经验丰富的猎人,不需要知道动物具体长什么样,只需要记住"长这样的是山羊,长那样的是绵羊",直接判断新遇到的动物是哪一种。判别模型通常更直接、更高效。
二、HMM 常见面试题
2.1 什么是马尔科夫过程?
假设一个随机过程中,$t_n$ 时刻的状态 $x_n$ 的条件分布,只与其前一状态 $x_{n-1}$ 相关,即:
$$ P(x_n | x_1, x_2, \dots, x_{n-1}) = P(x_n | x_{n-1}) $$
则将其称为马尔可夫过程。
📝通俗解释:马尔可夫过程就像"今天天气只取决于昨天天气"的简单天气预测模型。不管前天、大前天下过什么雨,今天是晴是阴只和昨天有关。这就是"只和上一个时刻相关"的马尔可夫假设。
2.2 马尔科夫过程的核心思想是什么?
用一句话概括:当前时刻状态仅与上一时刻状态相关,与其他时刻不相关。
从马尔可夫过程图可以理解:由于每个状态间是以有向直线连接,当前时刻状态只与上一时刻状态相关。
📝通俗解释:这就像"传话游戏":第一个人告诉第二个人一句话,第二个人传给第三个人……最后一个人听到的内容,只和倒数第二个人说的有关,和第一个人的原话已经没什么关系了。这就是"马尔可夫链"的本质——"忘记"太久远的历史。
2.3 隐马尔可夫算法中的两个假设是什么?
(1)齐次马尔可夫性假设 任意时刻 $t$ 的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻 $t$ 无关:
$$ P(x_i | x_1, x_2, \dots, x_{i-1}) = P(x_i | x_{i-1}) $$
(2)观测独立性假设 任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测及状态无关:
$$ P(y_i | x_1, x_2, \dots, x_{i-1}, y_1, y_2, \dots, y_{i-1}, y_{i+1}, \dots) = P(y_i | x_i) $$
📝通俗解释:这两个假设相当于"甩锅":齐次马尔可夫假设说"我今天的状态只怪昨天";观测独立性假设说"我看到的东西只和当前状态有关,和其他时候看到的东西无关"。这两个假设让问题变简单了,但也让模型变"笨"了,忽略了更复杂的关系。
2.4 隐马尔可夫模型三个基本问题是什么?
(1)概率计算问题
- 定义:给定模型 $(A, B, \pi)$ 和观测序列,计算观测序列出现的概率
- 方法:直接计算法理论可行但复杂度高($O(N^2T)$);实际使用前向与后向算法
(2)学习问题
- 定义:已知观测序列,估计模型参数,使得观测序列概率最大
- 方法:极大似然估计,Baum-Welch算法(EM算法)
(3)预测问题(解码问题)
- 定义:已知模型和观测序列,求条件概率最大的状态序列
- 方法:维特比算法(动态规划),核心是边计算边删掉不可能的路径
📝通俗解释:概率计算就像"算命",根据已有的模型算某个结果出现的可能性;学习问题就像"自学",根据一堆例子自己总结规律;预测问题就像"预测未来",用总结出的规律来预测接下来会发生什么。维特比算法就像走迷宫,每次都先排除死路,最后剩下的就是最优路径。
2.5 隐马尔可夫模型三个基本问题的联系?
三个基本问题存在渐进关系:
- 首先,学会用前向算法和后向算法计算观测序列出现的概率
- 然后,用Baum-Welch算法求参数时,某些步骤需要用到前向算法和后向算法
- 最后,计算得到参数后,就可以用来做预测了
因此,三个基本问题是渐进的,解决NLP问题、应用HMM模型做解码任务是最终目的。
📝通俗解释:这就像学做饭:第一步会看菜谱(概率计算),第二步会自己研究菜谱(学习问题),第三步才能自己炒菜(预测问题)。三步是循序渐进的,前面是基础,后面是应用。
2.6 隐马尔可夫算法存在哪些问题?
HMM模型做了很强的假设(齐次马尔可夫性假设和观测独立性假设),好处是简化求解难度,坏处是对真实情况的建模能力变弱。
主要问题: 在序列标注问题中,隐状态(标注)不仅和单个观测状态相关,还和观察序列的长度、上下文等信息相关。
举例: 词性标注中,一个词被标注为动词还是名词,不仅与它本身以及前一个词的标注有关,还依赖于上下文中的其他词。
解决方案: 可以使用最大熵马尔科夫模型(MEMM) 或 条件随机场(CRF) 进行优化。
📝通俗解释:HMM的弱点就像只看"前一个单词"来猜当前单词的词性,这显然不够。比如"比赛"可能是名词("参加比赛")也可能是动词("比赛开始"),只看前一个词可能猜错。但CRF能看到整句话甚至整段话的信息,就像一个读完整段话再判断词性的老师,当然更准确。
致谢
感谢 AiGC面试宝典 的资料整理!