周正堅
【摘 要】本文利用“隱含馬爾可夫模型”(Hidden Markov Model)根據接收到的數字信號來推測說話者想表達的意思來研究語音識別問題。
【關鍵詞】語言識別;隱含馬爾可夫模型
一、語言的實質
人們平時在說話時,腦子是一個信息源;人們的喉嚨(聲帶),空氣,就是如電線和光纜般的信道;聽眾耳朵的就是接收端(信宿),而聽到的聲音就是傳送過來的信號;語言在這一過程中充當信息載體的角色,即消息。這就是人類通過語言交流的實質。
二、語音識別
語音識別是指從語音到文本的轉換,即讓計算機能夠把人發出的有意義的話音變成書面子語言。通俗地說就是讓機器能夠聽懂人說的話。所謂聽懂,有兩層意思,一是指把用戶所說的話逐詞逐句轉換成文本;二是指正確理解語音中所包含的要求,作出正確的應答。
三、HMM原理
隱馬爾可夫模型(HMM)可以用五個元素來描述,包括2個狀態集合和3個概率矩陣:
1.隱含狀態S
是馬爾可夫模型中實際所隱含的狀態,這些狀態之間滿足馬爾可夫性質。這些狀態通常無法通過直接觀測而得到。
2.可觀測狀態O
在模型中與隱含狀態相關聯,可通過直接觀測而得到,可觀測狀態的數目不一定要和隱含狀態的數目一致。
3.初始狀態概率矩陣π
表示隱含狀態在初始時刻t=1的概率矩陣,(例如t=1時,P(S1)=p1、P(S2)=P2、P(S3)=p3,則初始狀態概率矩陣 π=[p1 p2 p3].
4.隱含狀態轉移概率矩陣A。
描述了HMM模型中各個狀態之間的轉移概率。其中Aij = P( Sj | Si ),1≤i,,j≤N.
表示在 t 時刻、狀態為 Si 的條件下,在 t+1 時刻狀態是 Sj 的概率。
5.觀測狀態轉移概率矩陣 B
令N代表隱含狀態數目,M代表可觀測狀態數目,則:
Bij=P(Oi | Sj), 1≤i≤M,1≤j≤N.
表示在 t 時刻、隱含狀態是 Sj 條件下,觀察狀態為Oi的概率。
總結:一般的,可以用λ=(A,B,π)三元組來簡潔的表示一個隱馬爾可夫模型。隱馬爾可夫模型實際上是標準馬爾可夫模型的擴展,添加了可觀測狀態集合和這些狀態與隱含狀態之間的概率關系。
當人們觀測到語音信號o1,o2,o3時,要根據這組信號推測出發送的句子s1,s2,s3。顯然,人們應該在所有可能的句子中找最有可能性的一個。用數學語言來描述,就是在已知o1,o2,o3,...的情況下,求使得條件概率:
P(s1,s2,s3,...|o1,o2,o3....)達到最大值的那個句子s1,s2,s3,...。例如,當人們聽見(ni shi shui a),按經驗、語言環境就能判斷出對方所說的是“你是誰啊”的概率最大,而不是其他的句子。
四、HMM基本步驟
對HMM來說,有如下三個重要假設,盡管這些假設是不現實的。
假設1:馬爾可夫假設(狀態構成一階馬爾可夫鏈)
P(Xi | Xi-1…X1)=P(Xi | Xi-1)
假設2:不動性假設(狀態與具體時間無關)
P(Xi+1 | Xi)=P(Xj+1 | Xj),?坌i,j
假設3:輸出獨立性假設(輸出僅與當前狀態有關)
P(O1,…,OT | X1,…,XT)=?裝P(Ot | Xt)
隱藏的狀態和可觀察到的狀態之間有一種概率上的關系,也就是說某種隱藏狀態H被認為是某個可以觀察的狀態O1是有概率的,假設為 P(O1 | H)。如果可以觀察的狀態有3種,那么很顯然 P(O1 | H)+P(O2 | H)+ P(O3 | H)=1。
這樣,我們也可以得到一個另一個矩陣,稱為混淆矩陣 (confusion matrix)。這個矩陣的內容是某個隱藏的狀態被分別觀察成幾種不同的可以觀察的狀態的概率。
下圖明確的表示出模型的演化,其中綠色的圓圈表示隱藏狀態,紫色圓圈表示可觀察到狀態,箭頭表示狀態之間的依存概率,一個HMM可用一個5元組{N,M,π,A,B}表示,其中N表示隱藏狀態的數量,我們要么知道確切的值,要么猜測該值,M表示可觀測狀態的數量,可以通過訓練集獲得,π={πi}為初始狀態概率,A={aij}為隱藏狀態的轉移矩陣Pr(xt(i) | xt-1(j)),B={bik}表示某個時刻因隱藏狀態而可觀察的狀態的概率,即混淆矩陣,Pr(ot(i) | xt(j))。在狀態轉移矩陣和混淆矩陣中的每個概率都是時間無關的,即當系統演化時,這些矩陣并不隨時間改變。對于一個N和M固定的HMM來說,用λ={π,A,B}表示HMM參數。
在正常的馬爾可夫模型中,狀態對于觀察者來說是直接可見的。這樣狀態的轉換概率便是全部的參數。而在隱馬爾可夫模型中,狀態并不是直接可見的,但受狀態影響的某些變量則是可見的。每一個狀態在可能輸出的符號上都有一概率分布。因此輸出符號的序列能夠透露出狀態序列的一些信息。
五、向前向后算法
下面介紹前向后向算法的參數學習過程,在學習的過程中,不斷更新HMM的參數,從而使得P(O | λ)最大。我們假設初始的 HMM 參數為λ={π,A,B},首先計算前向變量?琢和后向變量 ?茁,再根據剛剛介紹的公式計算期望?孜和ζ,最后,根據下面的3個重估計公式更新HMM參數。
參考文獻:
[1]張建華.基于深度學習的語音識別應用研究[D].北京郵電大學,2015.
[2]周茉.基于HMM和ANN的漢語數字語音識別算法研究[D].華中師范大學,2006.