隐马尔可夫模型 HMM 在NLP中的运用
1. 序列标注问题简介 (Sequence Labelling Introduction)
给定一个序列 x 1 , . . , x n x_1,..,x_n x1,..,xn,找出每一个元素对应的标签 y 1 , . . . , y n y_1,...,y_n y1,...,yn这个过程就叫序列标注。
例子:分词
句子:参观 了 北京 天安门
标注:过切 切 过切 过过切
[切表示在这个后边切]
1.1 BMES标注集
对于中文分词,汉字作为词语开始B,结束E,中间M,单字S。
句子 | 参观 | 了 | 北京 | 天安门 |
---|---|---|---|---|
标注 | BE | S | BE | BME |
1.2 词性标注集
句子 | 参观 | 了 | 北京 | 天安门 |
---|---|---|---|---|
标注 | 动词 | 助词 | 地名 | 地名 |
2. HMM 模型
2.1 简介
观测序列(显状态) x x x
外界能观测到的状态。
状态序列(隐状态) y y y
外界不能观测到的状态。
例如,在上面的例子中,观测序列是“参观了北京天安门”,对应的状态序列就是对应的词性。
马尔可夫假设(一阶):
每个事件的发生概率只取决于前一个事件。
隐马尔可夫模型: P ( x , y ) \mathbb{P}(x,y) P(x,y)用 ( π , A , B ) (\pi,A,B) (π,A,B)表示
马尔可夫假设作用于状态序列(y)
Hyp:
- 当前状态 Y t Y_t Yt仅仅依赖于前一个状态 Y t − 1 Y_{t-1} Yt−1
- 任意时刻的观测 x t x_t xt只依赖于该时刻的状态 Y t Y_t Yt,与其他时刻的状态。
初始状态概率向量 π ( y 1 = . . ) \pi(y_1=..) π(y1=..)
系统启动时的第一个状态就叫做初始状态。
假设y有N种状态,则
π = [ π 1 , . . . , π N ] T , ∀ 0 ≤ π i ≤ 1 , ∑ π