我們的手持式語音辨識系統所採用的語音辨識方法分兩階段
第一階段:語音辨識器透過聲學模型參數,由使用者輸入的聲音訊號中辨識 出可能的對應候選音節
第二階段:由候選音節中,透過語言模型,找出最可能的候選詞串做為輸出
而在將我們的語言模型實際應用到手持式語音辨識系統中時,需對候選音節 先做構詞及搜尋的處理,才可將候選音節套用到我們的語言模型中。以下分別介 紹我們在實做系統時所使用的構詞與搜尋的方法,及我們的手持式語音辨識系統 中,語言模型的處理流程。
5.2.1 構詞
在本手持式語音辨識系統中,我們的做法是由聲學模型所辨認出的每個候選 音節中,找出該音節所對應的『同音字』,與該音節及其前後音節相連時所形成的
『同音詞』,以形成候選詞彙的集合,此步驟就稱為『構詞』。當這些候選詞彙相 連後,形成如圖 5-2 的『格狀詞組』(word graph)【6】【14】【15】,而構詞後所形 成的候選詞彙就是格狀詞組中的節點。我們想做的就是定義一個好的機率估計方 式及一個有效的搜尋演算法,使得能由複雜的格狀詞組中,找出最佳的路徑當做 輸出,以辨認出最可能的句子。
圖5-2:格狀詞組示意圖
5.2.2 格狀詞組的搜尋
在本手持式語音辨識系統的語言模型中,因為使用雙連馬可夫模型,即下一 個詞的預測只與前一個詞有關,所以在格狀詞組的搜尋上,我們使用動態規劃 (dynamic programming)的維特比搜尋法(Viterbi Search)【4】。
維特比搜尋法使用遞迴方式來減少計算的複雜度,將由左而右的每個候選詞 都看成一個節點,對於每個節點而言,都有一條到達此節點的最佳路徑,如圖5-3。
圖5-3:時間 t 時到達各節點的最佳路徑示意圖
若將在時間t 時結束於節點 i 的路徑中最大的機率稱為δ(i, t),則可得
( )
, =maxN−1{ (
, −1)
×( ( ) (
i,t | j,t−1)
j j t P w P w
t
i t δ
δ
)}
(5.1)
Nt-1代表t-1 時間的候選節點個數
(5.1)式的意義就是,當要找到時間 t 於節點 i 的最大機率時,就是找出所有於時間 t-1 的 j 節點機率,與 j 節點至 i 節點的機率乘積之最大值即可。
最後再由Nt個δ(i, t)中,找出最大值δ(t)
( )
t Nt( )
i ti ,
max1 δ
δ = =
並加以回溯,找出造成δ(t)的路徑,當 t 為句尾時,此詞串就是辨識出來的句子。
在本手持式語音辨識系統中,我們的做法是找出機率值最高的前10 個詞串,
做為使用者端的輸出,以供使用者點選。
5.2.3 本系統中語言模型的處理流程及系統效能評估
本系統的語言模型處理流程是先由輸入的候選音節中,每一到四個音節串成 一個詞,並比對這個詞的注音是否出現在辭典中,若有,則將其視為格狀詞組中 的一個節點,當全部的節點建好後,即完成構詞的步驟。再依照維特比搜尋法,
找出到每個節點的最大機率,最後將機率排序,並列出機率值最高的前10 串詞串 做為使用者端的輸出;就完成了我們的語言模型在本手持式語音辨識系統中的工 作。圖5-4 為本手持式語音辨識系統中,語言模型處理時的流程圖。
在此系統的語言模型中,我們採用的平滑化方法為強化聶氏平滑法,因其於 實驗中的效能表現最好。而系統前端也結合了沈揚智同學的去除聲音雜訊功能
【17】及謝宗儒同學的語者調適功能【18】。
我們請實驗室的10 位同學做測試,測試語料為每人相同的 20 個短句,每句 4 到8 個字,系統的正確率為 88.62%,精確率為 85.52%。
其中,正確率
( )
= ×100% KRate H
Correct , 精確率
( )
= − ×100% KI Accuracy H
K 為測試文稿中所有字的數量,H 為辨識結果中正確的字的數量,I 為插入型 錯誤(insertion error)的數量,即多辨識出不存在於文稿中的字的數量。
音節輸入
構詞
圖5-4:語音辨識系統之語言模型的處理流程圖 格狀詞組構成
格狀詞組搜尋 (即維特比搜尋法)
機率排序
前10 項結果輸出
辭典
馬可夫語言模型