NLP學習 隱馬爾科夫模型 一

2021-09-11 13:52:10 字數 1583 閱讀 6557

在大學學習《概率論和數理統計》的時候,我們就已經學習過馬爾科夫鏈,這裡對於馬爾科夫鏈就不多做贅述,而今天這一篇文章所要概括的是隱馬爾科夫模型(hmm).

ps:馬爾科夫的彼得堡數學學派挺有意思,有興趣的可以找一些相關資料拓展一下

一:隱馬爾克夫模型應用

隱馬爾科夫模型在語音識別上是一種非常成功的一種技術,在自然語言理解上已經運用的非常成熟,由於hmm的諸多優點,我們在以下幾個領域應用後有了很不錯的成績:

1:分詞處理

分詞處理在我們生活中很常見,比如在乙個句子中,每乙個現在的詞是hmm的乙個狀態,而詞語的產生是被看做選擇狀態,然後再由當前詞輸出詞的乙個二重隨機過程

2:資訊處理

3:詞性識別

這個過程比較複雜,就好比乙個詞語在不同的語句中會涉及到不同的詞性,而這個需要乙個很複雜的模型,以便於更多的獲取上下文資訊然後進行狀態選取.

二:隱馬爾科夫模型簡介

在大學概率論與數理統計的學習中我們學習過馬爾科夫鏈以及隨機過程,這裡就不再贅述,在馬爾科夫模型中,每乙個狀態必須要對應乙個可以觀察的事件,這樣應用起來往往很不方便,在隱馬爾科夫中,使得可觀察的是乙個概率函式,並且狀態本身是不可以觀察,這樣的話hmm中就包含了雙重隨機過程,乙個是系統狀態的變化,乙個是狀態決定觀察的隨機過程.

乙個hmm,包括了一下的一些要素:

①:設q是所有可能的狀態的集合,v是所有可能的觀測的集合。

②:n是可能的狀態數,m是可能的觀測數,其中狀態q是不可見的,狀態v是可見的

③:i是長度為t的狀態序列,o是對應的觀測序列

④:a為狀態轉移概率矩陣,並且:

a=[aij]n*n

是在時刻t處於狀態qi的條件下在時刻t+1轉移到狀態**的概率。 這實際在表述乙個一階的hmm,所作的假設是每個狀態只跟前乙個狀態有關。

⑤:b是觀測概率矩陣:

其中:是在時刻t處於狀態**的條件下生成觀測vk的概率。 觀測是由當前時刻的狀態決定的,跟其他因素無關,

π是初始狀態概率向量:

其中:最後:

隱馬爾可夫模型由初始狀態概率向量π、狀態轉移概率矩陣a和觀測概率矩陣b決定,π和a決定狀態序列,b決定觀測序列。因此,隱馬爾可夫模型λ可以用三元符號表示,即

狀態轉移概率矩陣a與初始狀態概率向量π確定了隱藏的馬爾可夫鏈,生成不可觀測的狀態序列。觀測概率矩陣b確定了如何從狀態成觀測,與狀態序列綜合確定了如何產生觀測序列.

在給定上述的n,a,m,b和π之後,便可以確定乙個hmm,比如乙個(n=3)的hmm,就可以表示為:

通常情況下,如果兩個狀態之前的轉移概率是0,就不畫出他的路徑

hmm依照其產生的觀測值,一般可以分為離散hmm和連續hmm,我們在自然語言處理中一般使用的都是離散hmm,因為連續hmm產生輸出的是實數或者實數組成的向量x,而我們自然語言處理中的絕大多數都是對離散型進行處理,連續性僅僅在語音識別檢索中使用,並且計算基本相同,我們將著重在離散型的hmm上處理.

而這個部分的確挺困難,我也在慢慢摸索,以後有新的體會一定分享給大家.

提前祝大家新年快樂!

2023年繼續加油!

參考書目:

李航《統計學習方法》

推薦乙個博主:

i love natural language processing

馬爾科夫模型與隱馬爾科夫模型

隨機過程 是隨時間而隨機變化的過程。又稱為隨機函式。馬爾科夫模型 vmm 它描述了一類重要的隨機過程。乙個系統有有限個狀態集s 隨時間推移,該系統將同某一狀態轉移到另一狀態。q s1,s2,sn 為一隨機變數序列,隨機變數取值為狀態集s中的乙個狀態,設時間t時狀態為qt。對系統的描述通常是給出當前時...

隱馬爾科夫模型

隱馬爾科夫 hiddenmarkov model 簡稱為hmm,hmm資料相當豐富,推薦參見 hmm學習最佳範例與崔曉源的部落格 一文,本文只對hmm進行簡要介紹,然後說明開源ghmm實現在linux環境的搭建,hmm的開源實現有眾多不同語言的實現。馬爾科夫模型 一階馬爾科夫模型假設為 1 t l時...

隱馬爾科夫模型

一 介紹 introduction 我們通常都習慣尋找乙個事物在一段時間裡的變化模式 規律 這些模式發生在很多領域,比如計算機中的指令序列,句子中的詞語順序和口語單詞的因素修咧等等,事實上任何領域中的一系列事件都有可能產生有用的模式。考慮乙個簡單的例子,有人試圖通過一片海藻推斷天氣 民間傳說告訴我們...