用途:對(duì)我來(lái)說(shuō),學(xué)習(xí)HMM是為了對(duì)以后的詞性或概念標(biāo)注打下理論基礎(chǔ)
符號(hào)說(shuō)明:
S:表示狀態(tài)集合。
S=[S
1,S
2,S
3....]。其中S
i表示第i個(gè)狀態(tài)(第i種狀態(tài))
Q:表示系統(tǒng)實(shí)際的狀態(tài)序列,
Q=[q
1,q
2,....,q
T]。q1表示t=1時(shí),系統(tǒng)所處的狀態(tài),如:q
1=S
3表示t=1時(shí)刻,系統(tǒng)狀態(tài)為S
3。
1.離散馬爾可夫過(guò)程
(1)定義:一個(gè)系統(tǒng),在任一時(shí)刻t,可能處于N個(gè)不同狀態(tài)S
1,S
2...S
N中的某一個(gè)。系統(tǒng)變化服從某種統(tǒng)計(jì)規(guī)律。如果系統(tǒng)狀態(tài)序列滿(mǎn)足下列無(wú)后效的條件,則稱(chēng)(q
t,t
≥1)為離散的馬爾可夫過(guò)程。
P[q
t+1=S
j|q
t=S
i,q
t-1=S
k,...]=P[q
t+1=S
j|q
t=S
i]
可見(jiàn)系統(tǒng)將來(lái)的狀態(tài)僅與現(xiàn)在所處狀態(tài)有關(guān),與過(guò)去無(wú)關(guān),這種情況稱(chēng)之為“無(wú)后效”。
如果進(jìn)一步有P[q
t+1=S
j|q
t=S
i]與時(shí)刻t無(wú)關(guān),則稱(chēng)相應(yīng)的馬爾可夫過(guò)程是齊決的或是時(shí)齊的,引入記號(hào):
a
ij=P[q
t+1=S
j|q
t=S
i],1
≤i,j≤N
注:這里有人也稱(chēng)aij為Si→Sj的發(fā)射概率,也稱(chēng)轉(zhuǎn)移概率。
(2)初始概率分布: πi=P[q1=Si], 1≤i,j≤N
k步轉(zhuǎn)移概率:
aij(k)=P[qt+k=Sj|qt=Si]
當(dāng)k=1時(shí),aij(k)=aij(1)=aij
(3)切普曼—柯?tīng)柲缏宸蚬剑–hapman-Kolmogorol)

2.隱馬爾可夫模型
當(dāng)狀態(tài)本身是不可觀察,從而得到隱馬爾可夫模型(HMM)。值得一提的是,隱馬爾可夫模型(HMM)包含了雙重隨機(jī)過(guò)程:一是系統(tǒng)狀態(tài)變化的過(guò)程,即前面所述的馬爾可夫過(guò)程,另一個(gè)是由狀態(tài)決定觀察的隨機(jī)過(guò)程。
舉例:碗、球模型
假設(shè)N只碗,每個(gè)碗中放著數(shù)量與比例均不同的各種色彩的球,不同的彩色球?yàn)镸。先隨機(jī)選一個(gè)碗,再?gòu)耐胫须S機(jī)拿一個(gè)球,報(bào)告球的顏色得到一個(gè)觀察O1,然后將球放回到碗中,繼續(xù)這個(gè)過(guò)程,得到一系列觀察O=O1O2O3...OT
在這個(gè)模型中,碗(狀態(tài))是不可觀察的,只有球的顏色是可觀察的。這里引入M,指不同觀察值的數(shù)目 。所有不同觀察值記為V={V1,V2,....VM}。
對(duì)于第一種隨機(jī)過(guò)程(選碗),時(shí)齊馬爾可夫過(guò)程的轉(zhuǎn)移概率矩陣:A={aij},初始分布:π=(πi)
對(duì)于第二種隨機(jī)過(guò)程,有多項(xiàng)分布B={bj(k)},其中
bj(k)=P[時(shí)刻t時(shí)觀察值為Vk|qt=Sj]
給定一組N,M,A,B和π后,一個(gè)HMM即確定了,為緊縮起見(jiàn),今后將用λ=(A,B,π)表示一個(gè)HMM。
3.HMM中三個(gè)基本問(wèn)題
問(wèn)題1:
給定一個(gè)觀察序列O=O1O2...OT和一個(gè)模型λ=(A,B,π),如何有效計(jì)算P(O|λ),即給定模型λ的條件下,觀察序列O的概率。
問(wèn)題1是一個(gè)計(jì)算概率的問(wèn)題,也可以看成一個(gè)評(píng)估給定的模型能否很好地?cái)M合給定的觀察的問(wèn)題。
解法:
(1)前向算法:
定義αt(i)=P(O1O2....Ot,qt=Si|λ)
αt可用遞推算法完成計(jì)算:
①初始化:α1(i)= πibi(O1)
②遞推:
③終止:
(2)后向算法:
定義βt(i)=P(Ot+1,Ot+2,...,OT|qt=Si,λ)
βt可用遞推算法計(jì)算:
①初始化:βT(i)=1
②遞推:
③終止:
問(wèn)題2:
給定一個(gè)觀察序列O=O1O2...OT和一個(gè)模型λ=(A,B,π),如何選擇一個(gè)相應(yīng)狀態(tài)Q=q1q2...qT使得在某種意義下,它能最好地說(shuō)明觀察序列O。
兩個(gè)準(zhǔn)則:
準(zhǔn)則1:對(duì)每個(gè)時(shí)刻t,逐個(gè)選取狀態(tài)qt使
γt(i)=P(qt=Si|O,λ)=max
其中:

求出γ
t(i)后,問(wèn)題2便迎刃而解。
準(zhǔn)則2(應(yīng)用最為廣泛):綜合選取一個(gè)狀態(tài)序列
Q=q
1q
2....q
T使P(
Q|
O,
λ)=max
對(duì)于P(
Q|
O,
λ)=P(
Q,
O|
λ)/P(
O|
λ)
而分母P(
O|λ)與
Q無(wú)關(guān),因此等價(jià)于P(
Q,
O|
λ)=max。
對(duì)于全局最優(yōu)問(wèn)題,使用動(dòng)態(tài)規(guī)劃方法,這就是Viterbi算法。
定義

基于HMM特性,

因?yàn)槲覀兺瑯雨P(guān)心q
1q
2...q
T的序列,因此引入

整個(gè)遞推算法(Viterbi算法)描述如下:
①初始化
δ1(i)=πibi(O1)
φ1(i)=0
②遞推
③終止

④回溯最佳路徑
q
t*=
φt+1(qt+1*)
將其應(yīng)用到詞性自動(dòng)標(biāo)注中。在自動(dòng)標(biāo)注中,每個(gè)詞是可觀察的,一個(gè)詞串W=w1w2....wT即相當(dāng)這里的一個(gè)觀察序列O=O1O2...OT。不可觀察的狀態(tài)相當(dāng)于詞性或概念標(biāo)記,即狀態(tài)序列Q=q1q2....qT相當(dāng)于上一節(jié)中的一個(gè)標(biāo)記序列。
可以看出準(zhǔn)則1相當(dāng)于詞級(jí)評(píng)價(jià),準(zhǔn)則2相當(dāng)于句子級(jí)評(píng)價(jià)。
問(wèn)題3.
如何修正模型參數(shù)λ=(A,B,π)使P(O|
λ)=max。
問(wèn)題3是最困難的,至少也沒(méi)有很好的解法。可參考的方法有基于均值修正的迭代方法等。
參考文獻(xiàn):
[1] 吳立德: 大規(guī)模中文文本處理[M]. 復(fù)旦大學(xué)出版社,1993.
posted on 2012-03-07 13:56
Seraphi 閱讀(1321)
評(píng)論(0) 編輯 收藏