HMM(隐马尔可夫模型)用于 NER 时,其隐状态和观测状态分别对应什么?
HMM 用于 NER 时的隐状态与观测状态
一、HMM 基本框架回顾
HMM 是一个双重随机过程:
隐状态链: z₁ → z₂ → z₃ → ... → zₙ (马尔可夫转移,不可直接观测) ↑ ↑ ↑ ↑ 观测序列: x₁ x₂ x₃ ... xₙ (由隐状态生成,可观测)两个核心假设:
- 马尔可夫假设:当前隐状态只依赖前一个隐状态P(zt∣zt−1)P(z_t|z_{t-1})P(zt∣zt−1)
- 观测独立假设:当前观测只依赖当前隐状态P(xt∣zt)P(x_t|z_t)P(xt∣zt)
二、NER 中的对应关系
隐状态 = 实体标签序列
隐状态是不可直接观测的、需要推断的目标,对应每个词(或字)的 NER 标签。
采用 BIO 编码方案时,隐状态集合为:
| 隐状态 | 含义 |
|---|---|
| B-PER | 人名起始 |
| I-PER | 人名内部 |
| B-ORG | 机构起始 |
| I-ORG | 机构内部 |
| B-LOC | 地名起始 |
| I-LOC | 地名内部 |
| O | 非实体 |
若实体类别有 K 种,隐状态数量 =2K+12K + 12K+1(每个类别 B/I 各一个 + O)。
观测状态 = 输入文本序列
观测状态是可直接看到的输入,对应句子中的每个词(或字)。
具体示例
观测序列(词): 苹果 公司 在 加州 成立 于 1976年 ↑ ↑ ↑ ↑ ↑ ↑ ↑ 隐状态(标签): B-ORG I-ORG O B-LOC O O B-DATE| HMM 要素 | NER 对应 | 说明 |
|---|---|---|
| 隐状态ztz_tzt | 第 t 个词的 NER 标签 | 不可观测,需推断 |
| 观测xtx_txt | 第 t 个词本身 | 可直接观测的输入 |
| 初始概率π\piπ | 句首词的标签分布 | 句首更可能是 B-X 或 O,不太可能是 I-X |
| 转移概率AAA | 标签间的转移概率 | 如 B-ORG→I-ORG 概率高,I-ORG→B-PER 概率低 |
| 发射概率BBB | 给定标签时词的概率 | 如 P(“公司”|I-ORG) 较高,P(“公司”|B-LOC) 较低 |
三、三个概率矩阵的具体含义
1. 初始概率π\piπ
πi=P(z1=si)\pi_i = P(z_1 = s_i)πi=P(z1=si)
句首位置的标签分布:
π(B-ORG) = 0.15 句首常以机构名开头 π(B-PER) = 0.10 句首常以人名开头 π(O) = 0.60 句首最常见的是非实体词 π(I-ORG) = 0.01 句首极少是实体内部词(结构约束)2. 转移概率AAA
Aij=P(zt=sj∣zt−1=si)A_{ij} = P(z_t = s_j \mid z_{t-1} = s_i)Aij=P(zt=sj∣zt−1=si)
标签间的转移规律,体现 BIO 结构约束:
| 前一标签 → 当前标签 | 转移概率 | 解释 |
|---|---|---|
| B-ORG → I-ORG | 高 (0.7) | 实体起始后通常跟内部词 |
| I-ORG → I-ORG | 中 (0.4) | 多词实体继续延伸 |
| I-ORG → O | 中 (0.3) | 实体结束,转为非实体 |
| I-ORG → B-PER | 低 (0.05) | 实体结束后开始新实体 |
| O → I-ORG | 极低 (0.01) | 非实体不能直接跳到实体内部 |
| B-ORG → B-LOC | 低 (0.05) | 两个实体直接相邻较少 |
转移概率天然编码了 BIO 标签的结构合法性约束,这是 HMM 用于序列标注的优势。
3. 发射概率BBB
Bi(w)=P(xt=w∣zt=si)B_i(w) = P(x_t = w \mid z_t = s_i)Bi(w)=P(xt=w∣zt=si)
给定标签时观测到某词的概率:
P("公司" | I-ORG) = 0.08 "公司"常出现在机构名内部 P("公司" | B-LOC) = 0.001 "公司"极少作为地名起始 P("在" | O) = 0.05 "在"是非实体高频词 P("苹果" | B-ORG) = 0.03 "苹果"常作为机构名起始 P("苹果" | O) = 0.01 "苹果"偶尔作为普通名词(水果)四、NER 推断过程
给定观测序列(句子),HMM 通过Viterbi 算法求解最大后验概率的隐状态序列(标签序列):
Y^=argmaxYP(Y∣X)=argmaxY∏t=1nP(xt∣yt)⋅P(yt∣yt−1)⋅π(y1)\hat{Y} = \arg\max_Y P(Y|X) = \arg\max_Y \prod_{t=1}^{n} P(x_t|y_t) \cdot P(y_t|y_{t-1}) \cdot \pi(y_1)Y^=argYmaxP(Y∣X)=argYmaxt=1∏nP(xt∣yt)⋅P(yt∣yt−1)⋅π(y1)
Viterbi 动态规划递推:
δt(j)=maxi[δt−1(i)⋅Aij]⋅Bj(xt)\delta_t(j) = \max_i \left[ \delta_{t-1}(i) \cdot A_{ij} \right] \cdot B_j(x_t)δt(j)=imax[δt−1(i)⋅Aij]⋅Bj(xt)
位置: 1 2 3 4 观测: 苹果 公司 在 加州 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ Viterbi逐位计算最优路径: t=1: δ(B-ORG) = π(B-ORG) × B(B-ORG|"苹果") ← 最优 t=2: δ(I-ORG) = δ(B-ORG) × A(B-ORG→I-ORG) × B(I-ORG|"公司") ← 最优 t=3: δ(O) = δ(I-ORG) × A(I-ORG→O) × B(O|"在") ← 最优 t=4: δ(B-LOC) = δ(O) × A(O→B-LOC) × B(B-LOC|"加州") ← 最优 最优路径: B-ORG → I-ORG → O → B-LOC五、HMM 用于 NER 的局限性
| 局限 | 说明 |
|---|---|
| 观测独立假设过强 | HMM 假设P(xt∣zt)P(x_t|z_t)P(xt∣zt)只依赖当前词,无法利用上下文词信息。但 NER 中"苹果"是 ORG 还是 MISC,取决于上下文(“苹果发布财报” vs “吃了个苹果”) |
| 生成模型方向反了 | HMM 建模P(x∣z)P(x|z)P(x∣z)(标签生成词),但实际任务是P(z∣x)P(z|x)P(z∣x)(词推断标签),生成式建模引入了不必要的建模负担 |
| 特征利用受限 | 难以融入丰富的重叠特征(词缀、词性、词典匹配等),而 CRF 等判别模型可灵活使用任意特征 |
这些局限正是 CRF(条件随机场)和 BiLSTM-CRF 等方法取代 HMM 的原因:CRF 直接建模P(Y∥X)P(Y\|X)P(Y∥X)且可利用丰富上下文特征,BiLSTM-CRF 进一步用神经网络自动提取上下文表示。
六、总结
| HMM 要素 | NER 对应 |
|---|---|
| 隐状态 | NER 标签序列(BIO 编码的实体标签) |
| 观测状态 | 输入词序列(句子中的每个词) |
| 初始概率 | 句首标签分布 |
| 转移概率 | 标签间转移(编码 BIO 结构约束) |
| 发射概率 | 给定标签时词的概率 |
| 推断算法 | Viterbi 算法求最优标签路径 |
HMM 将 NER 建模为"隐标签序列生成可观测词序列"的过程,隐状态是需要推断的实体标签,观测状态是可直接看到的输入文本。其核心局限在于观测独立假设无法利用上下文词信息,这也是后续 CRF 和深度学习方法成为主流的根本原因。