Skip to content

下面是基于 Lecture 3 的结构化学习笔记。本讲的核心目标不是“背 POS tag”,而是从词性歧义出发,推导为什么需要用概率序列模型,最终自然引出 Hidden Markov Model, HMM。

Lecture 3 学习笔记:从 POS Tagging 到 Hidden Markov Model

1. 本章核心目标:给每个词分配最合理的隐藏词性序列

本讲要解决的问题是 Part-of-Speech Tagging,即给定一个句子中的观测词序列:

预测对应的词性标签序列:

其中:

表示第 个观测到的词, 是 vocabulary,即词表;

表示第 个词的 POS tag, 是所有可能词性标签的集合,例如 NN, VB, JJ, RB, DT 等;

表示句子长度。

核心任务可以写成:

也就是说:在看到句子 之后,找到后验概率最大的词性序列

这就是本讲从 POS 到 HMM 的主线。


2. 知识进化树:从语言现象到概率图模型

本讲的逻辑不是孤立知识点,而是一条逐步抽象的链:

text
词性分类 POS

词性有语法和语义作用

词性歧义:同一个词在不同上下文中有不同 tag

仅靠单词本身不够,需要上下文

上下文可以分成两类概率信息:
    1. emission: 某个 tag 生成某个 word 的概率
    2. transition: 某个 tag 后面接另一个 tag 的概率

直接建模完整序列概率参数爆炸

引入 Markov assumption

Hidden Markov Model:
    hidden states = POS tags
    observations = words

后续问题:
    estimation, inference, prediction

换句话说,本讲的真正主题是:如何把“词性标注”形式化为一个可计算的概率推断问题。


3. POS Tagging 为什么重要?

3.1 语法信息:词性决定句法结构

POS tag 提供 syntactic information,即句子中词语如何组合。

例如:

结构例子
noun-verbshe laughs
determiner-nouna rabbit
adjective-nounhigh building
verb-adverbmove faster
preposition-nounon tables

词性可以帮助模型判断一个句子是否符合英语的局部语法规律。例如:

表示 determiner 后面常接 noun,比如 “the dog”, “a rabbit”。

3.2 语义信息:词性影响词义解释

POS 不只是语法标签,也直接影响语义解释。

例如:

“building” 可以是:

也可以是:

所以在机器翻译中,如果不知道 POS,就可能把 “building a building” 错译。

类似地:

任务POS 的作用
machine translation区分同形异义词
relation extraction判断 Bill Gates 是实体还是 Gates 是动词
event extraction判断 concert 是名词事件还是动词
entity extraction判断 DC 是否是 proper noun

因此 POS tagging 是早期 NLP 的基础中间任务。即使 LLM 时代显式 POS tag 用得少了,它仍然是理解 NLP 建模思想的重要入口。


4. POS Tagging 为什么难?

4.1 表面难点:Lexical Ambiguity

同一个词可能对应多个 POS tag。

例如:

WordPossible TagsExamples
backRB, NN, JJ, VBStep back / His back hurts / the back door
likeIN, VB, JJI like coffee / He acts like a killer
fastJJ, RB, NNa fast horse / he ran fast

问题不在于大多数词都模糊,而在于常见词经常模糊。课件指出,约 85% 的 tag type 不模糊,但 ambiguous words 却覆盖了大量 running text tokens。

这解释了为什么简单方法已经很强,但仍然无法解决关键错误。

4.2 baseline 的瓶颈:Most-Frequent-Tag

一个简单 baseline 是:

即对每个词永远选择它最常见的 tag。

例如 “back” 最常见可能是 RB,那么模型可能把:

错误标成:

问题是它只看当前词,不看上下文。

这个方法能做到约 92% accuracy,但无法处理上下文改变词性的情况。人类 baseline 约 97%,说明剩余错误主要来自上下文推理。


5. 方法论演进一:从词典查表到上下文建模

5.1 方法 A:只看 emission probability

最朴素的想法是看某个 tag 生成当前 word 的概率:

例如:

表示当词性是 NN 时,生成 “back” 这个词的概率。

这个概率叫 emission probability。

问题:只看 emission 会忽略句法上下文

如果只最大化:

模型会为每个词独立选择最适合该词的 tag,却不考虑 tag 序列是否合理。

例如:

单看 “back”,RB 可能很常见;但在 “His ___” 后面,NN 更合理。

所以只看 emission 会失败,因为它把 POS tagging 当成了 independent classification,而不是 sequence labeling。

5.2 方法 B:加入 transition probability

上下文信息可通过 tag-to-tag transition 建模:

例如:

因为英语中 “someone’s noun” 很常见,而 “someone’s the” 不自然。

所以 “His back hurts” 中,前一个 tag 是 possessive pronoun:

这会强烈暗示下一个 tag 更可能是 noun:

改进直觉

Emission 解决的是:

“这个词像什么词性?”

Transition 解决的是:

“这个词性放在这个上下文里合理吗?”

因此 POS tagging 必须同时考虑:

前者是词和 tag 的匹配程度,后者是 tag 序列本身的合理性。


6. 数学形式化:从 MAP 到 HMM

6.1 MAP prediction

目标是:

其中:

符号含义
一个候选 POS tag 序列
最优 POS tag 序列
观测到的 word 序列
给定句子后,某个 tag 序列的后验概率

根据 Bayes rule:

因此:

由于 是固定输入, 无关,所以可省略:

这一步非常关键:POS tagging 被拆成两个建模问题。

第一项:

表示给定词性序列后,生成这些词的概率,也就是 likelihood。

第二项:

表示词性序列本身出现的概率,也就是 prior。


7. 方法论演进二:从完整序列建模到 Markov assumption

7.1 完整建模的参数爆炸问题

如果直接建模完整 tag 序列:

它需要考虑所有长度为 的 tag 组合。

若 tag 集合大小为:

那么长度为 的 tag 序列总数为:

这会导致指数级复杂度。

同理,如果直接建模:

也会涉及复杂的高阶依赖,例如每个词可能依赖所有 tag、所有过去词、甚至未来词。

这在数据量和计算量上都不可行。

7.2 Markov assumption:只依赖当前状态

Markov assumption 的核心是:

意思是:预测当前 tag 时,只看前一个 tag,而不看完整历史。

于是:

被近似为:

其中:

符号含义
第一个 POS tag 的起始概率
从前一个 tag 转移到当前 tag 的概率
序列长度

这个假设牺牲了长程依赖,但极大降低了参数复杂度。


8. Transition Matrix

定义 transition matrix:

其中:

符号含义
transition probability matrix
从 POS tag 转移到 POS tag 的概率
当前或前一个 POS tag
下一个 POS tag
POS tag 数量

矩阵大小为:

每一行必须满足:

因为从某个 tag 出发,下一个 tag 必须落在某个 tag 上。

课件中的例子说明了英语局部语法规律:

Transition直觉
“the big”, “a dog”
“red car”, “happy child”
“dog runs”
“eat apple”
“see the”
“computer science”, “coffee cup”

注意:transition matrix 通常不是对称矩阵。

例如:

可能很高,因为 determiner 后常接 noun;但:

不一定同样高。


9. Emission Matrix

HMM 的另一个核心假设是:当前 word 只由当前 POS tag 生成。

定义 emission matrix:

其中:

符号含义
emission probability matrix
POS tag 生成 word 的概率
某个 POS tag
某个 vocabulary word
(S)tag 数量
(V)vocabulary size

矩阵大小为:

每一行满足:

因为给定某个 tag,它最终必须生成词表中的某个词。

例如:

通常较高,因为 “the” 是 determiner 的典型词。

表示动词 tag 生成 “run” 的概率。


10. HMM 的完整形式

HMM 中:

HMM 元素POS tagging 中的含义
hidden statesPOS tags
observationswords
transition probabilitytag 到 tag 的转移
emission probabilitytag 生成 word
starting probability第一个 tag 的分布

完整 prior 是:

其中:

是 starting probability,表示第一个 POS tag 是 的概率。

完整 likelihood 是:

完整 posterior 是:

用于预测时,可以写成:

代入 HMM 分解:

用矩阵符号写成:

这是本讲最核心的公式。


11. 为什么不能只最大化其中一项?

11.1 只最大化 likelihood

如果只看:

模型会选择最能生成每个 word 的 tag,但可能得到语法不合理的 tag 序列。

例如:

“back” 单独看可能像 RB,但在 “His” 后面应该是 NN。

11.2 只最大化 prior

如果只看:

模型会选择最常见的 POS 模板,例如:

这可能对应 “the red car” 这类常见结构,但它完全不关心输入句子具体是什么。

所以 POS tagging 必须联合考虑:

和:

这就是 HMM 的合理性来源。


12. 从 HMM 引出的三个后续任务

课件最后指出 HMM 有三个核心任务:

任务问题对应算法/方向
Estimation如何估计 用语料频率估计
Inference如何估计一个句子的概率 Forward / Backward algorithm
Prediction如何预测最优 tag 序列 Viterbi algorithm

本讲主要完成建模,后续 lecture 会进入 dynamic programming。


13. 关键对比表:方法演进

阶段核心思想公式失败原因HMM 如何改进
Most-frequent-tag每个词选最常见 tag不看上下文加入 tag transition
Emission-onlytag 生成 word独立分类,忽略语法序列加入
Full sequence model建模完整 参数指数爆炸Markov assumption
HMMhidden tag + observed word仍是简化模型,长程依赖弱后续用 DP 高效推断

14. 本讲总结

Lecture 3 的核心思想可以压缩成一句话:

POS tagging 是一个 hidden sequence prediction problem;HMM 通过 emission probability 连接 tag 和 word,通过 transition probability 连接相邻 tag,并用 Markov assumption 将指数级序列建模简化为可计算的概率图模型。

最重要的最终公式是:

它同时表达了三件事:

第一,句子的第一个 tag 有起始概率

第二,相邻 POS tag 之间通过 transition matrix 建模。

第三,每个 word 由当前 hidden tag 通过 emission matrix 生成。

这就是 Hidden Markov Model 用于 POS tagging 的完整数学骨架。

Static academic notes built with VitePress and KaTeX.