隱馬爾可夫模型及其在分詞中的簡單應用

2021-06-16 07:06:42 字數 2184 閱讀 4070

隱馬爾可夫模型是乙個五元組:

s:狀態集合:即所有可能的狀態s1,s2,…,sn所組成的集合。

o:觀察序列:即實際存在的乙個狀態的有向序列,如狀態o1,o2,…,on,注意狀態是存在順序的。

b:每種狀態出現的概率分布。

π:初始的狀態分布

hmm模型有三個主要用途,沒有例子可能比較難於理解,分詞示例:

1.       引數學習

模型沒有建立前,有已經分好詞的部分語料。利用現有語料訓練模型,得到各引數的值。我們使用最簡單的hmm(設s由四種狀態構成:詞頭,詞中、詞尾、單字成詞),可以這樣做:

假如訓練語料有兩句話:

我 愛 你 程式設計師。

他們 兩個 人 是 半斤八兩。

a.       o是觀察序列,本例中,就是:「我、愛、你、程、序、員、他、們、兩、個、人、是、半、斤、八、兩」這16個字。

b.      s由四種狀態構成:詞頭(如「程」),詞中(如「序」)、詞尾(如「員」)、單字成詞(如「愛」、「你」)

c.       a即由乙個狀態轉移到另乙個狀態的概率集合,本例共有8種狀態

i.      單字成詞->單字成詞,如a我單單=1「我」後面一定是單字成詞

ii.      單字成詞->詞頭,如a我單頭=0「我」後面一定不是詞頭,而a你單頭=1

iii.      詞頭->詞中

iv.      詞頭->詞尾

i.            詞中->詞尾

ii.            詞中->詞中

iii.            詞尾->詞頭

iv.            詞尾->單字成詞

d.      b由各狀態的概率分布構成,如b我單=1(「我」一定單字成詞)。

e.      π由初始狀態的概率構成,此例中為π我=1/2(以「我」開頭的概率為1/2),π他=1/2(以「他」開頭的概率為1/2)。

2.       評價問題

以上面乙個問題的引數為基礎,評估第一句話:我 愛 你 程式設計師。

「我」開頭的概率為π我=1/2,「我」轉移到「愛」的概率為a我單=1,「愛」到「你」的概率為a單單=1,「你」到「程」的概率為a單頭=1, 「你」到「序」的概率為a頭中=1,「序」到「員」的概率為a中尾=1,而本例(因為字太少,每個字只出現一次)中所有的b都為1,所以該句的概率為:

pv=π我*b我單 *a我單單* b愛單*a愛單單*b你單 *a你單頭* b程頭*a程頭中*b序中 *a序中尾* b員尾

3.       分詞問題

比如還以第乙個問題的引數為基礎,來解碼還沒有分詞的句子:我愛人是程式設計師。

因為首字是「我」,所以是「他」的情況被排除。

π我=1/2,

「我」後面是單字的概率為1,a我單=1(即只能是單字),其它情況的概率為0

「愛」後面是單字的概率為1,a愛單=1,其它情況的概率為0

「人」後面是單字的概率為1,a人單=1,其它情況的概率為0

「是」後面是詞頭的概率為1,a是頭=1,其它情況的概率為0

「程」後面是詞中的概率為1,a程中=1,其它情況的概率為0

「序」後面是詞尾的概率為1,a序尾=1,其它情況的概率為0

所有分詞的可能性是很多的,需要採用動態規劃的演算法,這裡就不詳述了,只給出其中三種可能作為示例:

a.       「我」為開頭,「愛」是單字成詞,「人」是單字成詞,「是」是單字成詞,「程」是詞頭,「序」是詞中,「員」是詞尾:

p1= π我*b我單*a我單單*b愛單*a愛單單*b人單*a人單單*b是單*a是單頭*b程頭*a程頭中*b序中*a序中尾*b員尾

=1/2*1*1*1*1*1*1*1*1*1*1*1*1*1=1/2

b.      「我」為開頭,「愛」是詞頭,「人」是詞尾,「是」是單字成詞,「程」是詞頭,「序」是詞中,「員」是詞尾:

p1= π我*b我單*a我單頭*b愛頭*a愛頭尾*b人尾*a人尾單*b是單*a是單頭*b程頭*a程頭中*b序中*a序中尾*b員尾

=1/2*1*0*0*0*0*0*1*1*1*1*1*1*1=0

c.       「我」為開頭,「愛」是詞頭,「人」是詞中,「是」是詞尾,「程」是詞頭,「序」是詞中,「員」是詞尾:

p1= π我*b我單*a我單頭*b愛頭*a愛頭尾*b人中*a人中尾*b是尾*a是尾頭*b程頭*a程頭中*b序中*a序中尾*b員尾

=1/2*1*0*0*0*0*0*0*0*1*1*1*1*1=0

內含實驗報告等檔案,便於讀者理解程式的編寫思想。

隱馬爾可夫模型

隱 馬爾可夫模型 hidden markov model,hmm 作為一種統計分析模型,創立於20世紀70年代。80 年代得到了傳播和發展,成為訊號處理的乙個重要方向,現已成功地用於語音識別 行為識別,文字識別以及故障診斷等領域。隱馬爾可夫模型是馬爾可夫鏈的一種,它的狀態不能直接觀察到,但能通過觀測...

隱馬爾可夫模型

對隱馬爾可夫模型的解釋,個人覺得一句簡單概括就是 在馬爾可夫鏈的情況下對每乙個狀態都加入乙個單獨輸出口,而我們把這個輸出口定為可視視窗,可把馬爾可夫鏈放到裡面藏起來。ok!這樣就是知道隱馬爾可夫模型的結構了。通過如下例子來說明hmm的含義。假定乙個暗室中有n個口袋,每個口袋中有m種不同顏色的球,乙個...

隱馬爾可夫模型

搖色子的比喻很好 它解釋了模型的概念 模型的n個狀態 s 對應於色子的種類 隱狀態 真實不可見狀態s的序列,是每次用的色子種類d4 d6 d8組成的序列 觀測狀態 o 是可見的狀態,這裡是色子搖出的點數 觀測概率 是當確定用d4 d6 d8搖的色子的種類,求產生某種點數的概率 如 d4產生點數1的概...