自然語言處理序列模型——HMM隱馬爾可夫模型
在上一篇中主要講了對于文本語料的提取和預(yù)處理的過程,接下來就要進(jìn)入到核心步驟,即對于處理模型的掌握,處理模型這塊的篇幅會很長,對于不同的模型,其優(yōu)缺點(diǎn)各不相同,因此有必要對這一塊進(jìn)行一個全方面的掌握。
在深度學(xué)習(xí)技術(shù)還未應(yīng)用到自然語言處理領(lǐng)域中之前,在自然語言處理領(lǐng)域中最通用的模型都是基于概率統(tǒng)計(jì)的。而其中最為核心的模型就是HMM(隱馬爾可夫模型)。下面就讓本篇文章為讀者揭開HMM的面紗吧,提前說明,對于這一塊模型的掌握需要具備一定的概率論的基礎(chǔ)知識,對于這一塊內(nèi)容,本文不再作過多的贅述,因?yàn)榇髮W(xué)本科的高數(shù)基本都包含了概率論這門課程。
1.概率模型
在掌握HMM模型之前,首先需要對概率模型進(jìn)行一個掌握。概率模型,顧名思義,就是將學(xué)習(xí)任務(wù)歸結(jié)到計(jì)算變量的概率分布的模型。針對于自然語言處理領(lǐng)域,即通過概率分布的形式來表達(dá)不同詞匯之間的關(guān)聯(lián)和區(qū)別。概率模型的提出是基于生活中一些觀察到的現(xiàn)象來推測和估計(jì)未知的事務(wù)這一任務(wù)的,在概率模型中這種推測和估計(jì)也叫推斷。推斷的本質(zhì)也就是利用已經(jīng)有的或者可觀測到的變量,來推測未知變量的條件分布。
1.1.生成模型和判別模型
目前概率模型又可以分為兩類,即生成模型和判別模型。由上文可知,概率模型是通過可觀測變量來推斷未知變量分布,因此為了更好的掌握生成模型和判別模型之間的差異,可以將可觀測的變量命名為X,而需要推斷的未知的變量命名為Y。那么對于生成模型,其需要學(xué)習(xí)的是X和Y之間的聯(lián)合概率分布P(X,Y),而判別模型學(xué)習(xí)的是條件概率分布P(Y|X)。而對于聯(lián)合概率分布和條件概率分布已經(jīng)是概率論的基礎(chǔ)理論知識,在這不再贅敘了,望不了解的讀者自行查閱。
對于這兩種不同概率分布的模型,其各自模型的能力不同。例如,對于某一個給定的觀測值X,運(yùn)用條件概率分布P(Y|X),即可以很容易的得出未知Y的值(P(Y)=P(X)*P(Y|X))。因此對于分類問題,就可以直接運(yùn)用判別模型,即觀測對于給定的X,得到的Y的概率哪一個最大,就可以判別為哪一個類別。因此判別模型更適用于分類任務(wù),其在分類任務(wù)上具備顯著的優(yōu)勢。而對于生成模型,直接用該模型來做分類任務(wù)是比較困難的,除非將聯(lián)合概率分布轉(zhuǎn)化為條件概率分布,即將生成模型轉(zhuǎn)化為判別模型去做分類任務(wù)。但是,生成模型主要并不是處理分類問題的,其有專門的用途,之后講的HMM就是一種生成模型,在這先賣個小關(guān)子。
1.2.概率圖模型
在掌握生成模型和判別模型的主要過程和任務(wù)之后,還需要對概率圖模型有個基本的掌握。它是一種用圖結(jié)構(gòu)作為表示工具,來表達(dá)變量之間的關(guān)系的概率模型。這里的圖與數(shù)據(jù)結(jié)構(gòu)中圖的結(jié)構(gòu)是類似的,即由節(jié)點(diǎn)和連接節(jié)點(diǎn)的邊組成。在概率圖模型中,一般會用節(jié)點(diǎn)來表示某一隨機(jī)變量,而節(jié)點(diǎn)之間的邊則表示不同變量之間的概率關(guān)系。同時(shí)類比于數(shù)據(jù)結(jié)構(gòu),邊也是分為有方向和無方向的,從而也就分為有向圖模型(貝葉斯網(wǎng)絡(luò))和無向圖模型(馬爾可夫網(wǎng))。雖然HMM的名字里有“馬爾可夫”,但是HMM模型是貝葉斯網(wǎng)絡(luò)的一種,在這里不要弄混淆了。
HMM是最為普遍的動態(tài)貝葉斯網(wǎng)絡(luò),即對變量序列建模的貝葉斯網(wǎng)絡(luò),屬于有向圖模型。為了后續(xù)HMM模型更好的理解,在這里先對馬爾可夫鏈進(jìn)行介紹,馬爾可夫鏈?zhǔn)且粋隨機(jī)過程模型,該模型描述了一系列可能的事件,而這一系列中的每一個事件的概率僅僅依賴于前一個事件。如下圖所示:
該圖就是一個簡單的馬爾可夫鏈,圖中的兩個節(jié)點(diǎn)就分別表示晴天和下雨兩個事件,圖中節(jié)點(diǎn)之間的邊就表示事件之間的轉(zhuǎn)移概率。即:晴天以后,有0.9的概率還是晴天,0.1的概率會下雨;而雨天以后,有0.4的概率是晴天,0.6的概率還會繼續(xù)下雨。因此這個模型對于今天天氣的預(yù)測,只與昨天天氣有關(guān),與前天以及更早的天氣無關(guān)。因此由馬爾可夫鏈可知,只要知道前一天的天氣,即可以推測今天的天氣的可能性了。
2.HMM——隱馬爾可夫模型
在掌握了概率模型的基礎(chǔ)上,進(jìn)一步去掌握HMM模型將會加深讀者對HMM這一模型的理解。HMM屬于概率模型的一種,即時(shí)序的概率模型。
2.1.序列模型
HMM是一個時(shí)序的概率模型,其中的變量分為狀態(tài)變量和觀測變量兩組,各自都是一個時(shí)間序列,每個狀態(tài)或者觀測值都和一個時(shí)刻相對應(yīng),如下圖所示(其中箭頭表示依賴關(guān)系):
上圖中,狀態(tài)變量分別為 , …… ,觀測變量分別為 , …… 。一般情況下,狀態(tài)序列都是隱藏的,也就是不能被觀測到的,所以狀態(tài)變量是隱變量,即HMM中的Hidden的緣由。其中這個隱藏的、不可觀測的狀態(tài)序列就是由一個馬爾可夫鏈隨機(jī)生成的,即HMM中的第一個M即馬爾可夫的含義。同時(shí),一般的HMM的狀態(tài)變量取值都是離散的,觀測變量的取值可以是離散的,也可以是連續(xù)的。為了下文進(jìn)行方便地闡述,僅討論狀態(tài)變量和觀測變量都是離散的情況,并且這也是大多數(shù)應(yīng)用中出現(xiàn)的情況。
2.2.基本假設(shè)
HMM模型是建立在兩個基本假設(shè)之上的:
1. 假設(shè)隱藏的馬爾可夫鏈在任意時(shí)刻t的狀態(tài)只依賴于前一個時(shí)刻(t-1)的狀態(tài),而與其他時(shí)刻的狀態(tài)和觀測無關(guān),這一假設(shè)也叫齊次馬爾可夫假設(shè),公式表示為:
P( …… )= P( ),t=1,2,……k
2. 假設(shè)任意時(shí)刻的觀測只依賴于該時(shí)刻的馬爾可夫鏈狀態(tài),而與其他觀測和狀態(tài)無關(guān),這一假設(shè)也叫觀測獨(dú)立性假設(shè),公式表示為:
P( …… …… )= P( )
2.3.HMM確定條件
確定一個HMM模型的條件為兩個空間和三組參數(shù),兩個空間也就是上文提到的觀測值和狀態(tài)值空間,即觀測空間W和狀態(tài)空間S。確定這兩個空間后,還需要三組參數(shù),也就是三個概率矩陣。分別為:
· 初始狀態(tài)概率:模型在初始時(shí)刻各個狀態(tài)出現(xiàn)的概率,該概率矩陣即表示每個狀態(tài)初始的概率值,通常定義為=(,……),其中就表示模型初始狀態(tài)為的概率;
· 狀態(tài)轉(zhuǎn)移概率:即模型在不同狀態(tài)之間切換的概率,通常將該概率矩陣定義為A=,矩陣中的就表示在任意時(shí)刻下,狀態(tài)到下個時(shí)刻狀態(tài)的概率;
· 輸出觀測概率:模型根據(jù)當(dāng)前的狀態(tài)來獲得不同觀測值的概率,通常將該概率矩陣定義為:B=,矩陣中的 就表示在任意時(shí)刻下,狀態(tài)為時(shí),觀測值被獲取的概率。(這個概率矩陣針對于有時(shí)候已知,而未知的情況)。
有了上述的狀態(tài)空間S、觀測空間O以及三組參數(shù) =[A,B, ]后,一個HMM模型就可以被確定下來了。
2.4.HMM解決問題
確定好HMM模型后,就需要用該模型去解決一系列問題,其中主要包括概率計(jì)算問題、預(yù)測問題以及學(xué)習(xí)問題。
· 概率計(jì)算問題,即評價(jià)問題,對給定模型設(shè)置參數(shù) 后,給定觀測序列,來求其與模型之間的匹配度。
· 預(yù)測問題,即解碼問題,對給定模型設(shè)置參數(shù) 后,給定觀測序列,求最有可能(概率值最大)與其對應(yīng)的裝填序列。
· 學(xué)習(xí)問題,即訓(xùn)練問題,給定觀測序列及狀態(tài)序列,來估計(jì)模型的參數(shù),使得在該模型參數(shù)下,觀測序列概率最大。即訓(xùn)練模型,來更好地用模型表示觀測數(shù)據(jù)。
以上三個問題中,前兩個問題都是已知模型參數(shù)(模型已經(jīng)確定),如何使用該模型的問題,而第三個問題則是如何通過訓(xùn)練來得到模型參數(shù)(確定模型)的問題。
3.模型學(xué)習(xí)算法
HMM模型的學(xué)習(xí)算法可根據(jù)訓(xùn)練數(shù)據(jù)的不同,分為有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)兩種。這兩種學(xué)習(xí)方法在今后深度學(xué)習(xí)技術(shù)模型中也是應(yīng)用最為廣泛的。即對于模型來說,若訓(xùn)練數(shù)據(jù)既包括觀測值(觀測序列),又包括狀態(tài)值(狀態(tài)序列),并且兩者之間的對應(yīng)關(guān)系已經(jīng)標(biāo)注了(即訓(xùn)練之前確定了對應(yīng)關(guān)系),那么采用的學(xué)習(xí)算法就是有監(jiān)督學(xué)習(xí)。否則,對于只有觀測序列而沒有明確對應(yīng)的狀態(tài)序列,則使用的就是無監(jiān)督學(xué)習(xí)算法進(jìn)行訓(xùn)練。
3.1.有監(jiān)督學(xué)習(xí)
在模型訓(xùn)練過程中,訓(xùn)練數(shù)據(jù)是由觀測序列和對應(yīng)的狀態(tài)序列的樣本對組成,即訓(xùn)練數(shù)據(jù)不僅包含觀測序列,同時(shí)包含每個觀測值對應(yīng)的狀態(tài)值,這些在訓(xùn)練前都是已知的。這樣就可以頻數(shù)來估計(jì)概率。首先通過統(tǒng)計(jì)訓(xùn)練數(shù)據(jù)中的狀態(tài)值和觀測值,分別得到狀態(tài)空間( , …… ),觀測變量分別為( , …… )。然后當(dāng)樣本在時(shí)刻t時(shí)處于狀態(tài) ,等到了t+1時(shí)刻,狀態(tài)屬于 的頻數(shù)為 ,則可以用該頻數(shù)來表達(dá)估計(jì)狀態(tài)轉(zhuǎn)移概率 為:
當(dāng)樣本狀態(tài)為 ,觀測為 的頻數(shù)為 ,則可以用該頻數(shù)來表示觀測概率 為:
而初始狀態(tài)概率 即為訓(xùn)練數(shù)據(jù)中所有初始狀態(tài)為 的樣本的頻率。所以,有監(jiān)督學(xué)習(xí)通過對訓(xùn)練數(shù)據(jù)進(jìn)行統(tǒng)計(jì)估計(jì)就可以得到模型的相應(yīng)參數(shù) =[A,B, ]。
3.2.無監(jiān)督學(xué)習(xí)
無監(jiān)督學(xué)習(xí)即訓(xùn)練數(shù)據(jù)僅僅只有觀測值(觀測序列),而沒有與其對應(yīng)的狀態(tài)序列,因此狀態(tài)序列S實(shí)際上是處于隱藏狀態(tài),也就無法通過頻數(shù)來直接估計(jì)概率了。對于這一算法有專門的類似前向-后向算法的Baum-Welch算法來學(xué)習(xí)。該算法與聚類算法中用到的EM算法類似,即運(yùn)用迭代思想解決數(shù)據(jù)缺失情況下的參數(shù)估計(jì)問題,其基本過程是根據(jù)已經(jīng)給出的觀測數(shù)據(jù),估計(jì)出模型參數(shù)的值;然后再依據(jù)上一步估計(jì)出的參數(shù)值來估計(jì)缺失數(shù)據(jù)的值,再根據(jù)估計(jì)出的缺失數(shù)據(jù)加上之前己經(jīng)觀測到的數(shù)據(jù)重新再對參數(shù)值進(jìn)行估計(jì),然后反復(fù)迭代,直至最后收斂,迭代結(jié)束。
4.總結(jié)
在深度學(xué)習(xí)模型運(yùn)用在自然語言處理之前,對于自然語言領(lǐng)域的序列數(shù)據(jù)進(jìn)行處理是采用概率統(tǒng)計(jì)模型,具體的概率統(tǒng)計(jì)模型有HMM和CRF兩種,其中最為核心的是HMM模型,CRF也是是類似HMM的一個模型。
該篇文章主要針對HMM模型進(jìn)行闡述,有助于讀者更為全面地掌握HMM模型,由于篇幅緣故,CRF模型將在后續(xù)進(jìn)行闡述。該模型也是在HMM基礎(chǔ)上進(jìn)行延申的,適用性低于HMM模型。因此,對于HMM模型的掌握至關(guān)重要,同時(shí)目前針對于自然語言處理領(lǐng)域深度學(xué)習(xí)技術(shù)的瓶頸問題(難以取得較大改善的結(jié)果),不妨考慮換個思維,使用下概率統(tǒng)計(jì)模型HMM來處理,也許能取得不錯的效果。
作者介紹
稀飯,51CTO社區(qū)編輯,曾任職某電商人工智能研發(fā)中心大數(shù)據(jù)技術(shù)部門,做推薦算法。目前攻讀智能網(wǎng)絡(luò)與大數(shù)據(jù)方向的研究生,主要擅長領(lǐng)域有推薦算法、NLP、CV,使用代碼語言有Java、Python、Scala。
原文標(biāo)題 : 自然語言處理序列模型——HMM隱馬爾可夫模型

發(fā)表評論
最新活動更多
-
8月5日立即報(bào)名>> 【在線會議】CAE優(yōu)化設(shè)計(jì):醫(yī)療器械設(shè)計(jì)的應(yīng)用案例與方案解析
-
8月14日立即報(bào)名>> 【在線研討會】解析安森美(onsemi)高精度與超低功耗CGM系統(tǒng)解決方案
-
精彩回顧立即查看>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
-
精彩回顧立即查看>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
精彩回顧立即查看>> 全數(shù)會2025(第六屆)機(jī)器人及智能工廠展
-
精彩回顧立即查看>> OFweek 2025 具身機(jī)器人動力電池技術(shù)應(yīng)用大會
推薦專題
- 1 AI產(chǎn)業(yè)的新高度!英偉達(dá)成為全球首家市值破4萬億美元的公司
- 2 傳魏建軍與賈躍亭合作,長城汽車出海美國
- 3 一文讀懂:到底什么是 “具身智能” ?
- 4 黃仁勛:與雷軍長期合作,共探AI智駕
- 5 具身智能泡沫爭議下,華映資本尋找「穿越周期者」
- 6 中國平安們欲靠AI守“陣地”
- 7 官宣:智元機(jī)器人借殼上市,A股人形機(jī)器人第一股!
- 8 華為讓渡“三界”銷售主導(dǎo)權(quán),智界高管:終于能全力奔跑了
- 9 借仿生手實(shí)現(xiàn)突圍,國產(chǎn)靈巧手破局“不可能三角”
- 10 DeepSeek R2加持,中國AI與芯片產(chǎn)業(yè)迎來新一輪協(xié)同進(jìn)化