以下將分別介紹臺灣師大的中文大詞彙連續語音辨識系統採用的前端處理、
聲學模型、詞典建立、語言模型以及詞彙樹複製搜尋等部份。
5.2.1 前端處理
在本論文中使用梅爾倒頻譜係數(MFCCs)作為最基本的語音特徵參數。
表5.2 外場記者訓練與測試語料分佈表 性別 訓練語料總長(分) 評估語料總長(分)
男生 766.69 21.68
女生 766.79 65.23
表5.3 語助詞出現次數統計表 語者型別 所含語音百分比(%) 語助詞出現次數
(句)
每句平均語助詞 出現次數(次)
外場採訪記者 48.69 877 0.07
外場受訪者 29.33 18,991 2.03
內場主播 21.98 771 0.12
76
在求取梅爾倒頻譜係數時,將語音資料切割成一連串部分重疊的音框,每一個音 框由13 維的梅爾倒頻譜係數加上其一階與二階的時間導數(time derivatives)所形 成的39 維語音特徵向量所組成。其中 13 維的梅爾倒頻譜係數是由 18 個梅爾頻 譜上濾波器組(filter banks)的輸出經離散餘弦轉換求得。
5.2.2 聲學模型
聲學模型是採用傳統的連續密度隱藏式馬可夫模型(CDHMM),模型內狀 態的轉移情形只有兩種,一種是停留在原狀態,一種是由左至右跳到下一個相鄰 的狀態。模型的總數量有 151 個,其中包含了 1 個靜音模型(silence),112 個聲 母模型(INITIAL),以及 38 個韻母模型(FINAL)。每個模型的狀態數分別為 3 至 6 個不等,每個狀態皆為高斯混合分佈,其中每個高斯混合分佈的分佈個數分別 為1 至 128 個不等。此外,聲母和韻母共有 403 種不同的音節組合。
5.2.3 詞典建立與語言模型訓練
在中文裡約有7,000 個單字詞,新詞可由此 7,000 個單字詞合併產生,則可 根據字詞在語料中的統計特性,以自動化的方式產生新的複合詞(compound words)。新增複合詞的自動產生方式如下面所述:對於語料中任意相鄰的兩個詞
) ,
(wi wj ,可以分別計算它們的前二連(forward bigram)機率Pf(wj |wi),與後二連 (backward bigram)機率Pf(wi |wj),並以前後二連(forward and backward bigrams) 的機率幾何平均(geometric average)FB(wi,wj) Pf(wj|wi)Pb(wi|wj),作為(wi,wj) 是否合併的依據。文字語料先經由一個含有一至四字詞約六萬八千個詞的詞典來 斷詞,然後利用上述的公式,經數次的迭代以及不同的基準閥值(threshold)設定,
產生約五千個二至十字詞的複合詞,使得最後的語音辨識詞典約含有七萬二千個
77
一至十字詞。本系統使用詞二連以及詞三連語言模型(word bigram and trigram language models),並以從中央通訊社(Central News Agency,CNA)2001 與 2002 年所收集到的約一億七千萬個中文字語料作為背景語言模型訓練時的訓練資料 (LDC)。本論文中的語言模型使用 Katz 語言模型平滑技術,語言模型訓練工具採 用SRI Language Modeling Toolkit (SRILM)[81]。
5.2.4 詞彙樹複製搜尋
本系統是採用由左至右(left-to-right)且音框同步(frame synchronous)的詞彙 樹複製搜尋方式[82]。詞彙樹的架構如圖 5.1(取自[83])所示,樹中的每個分枝 (arc)代表一個聲母(INITIAL)、韻母(FINAL)或靜音(silence)模型。由樹的根節點
(圖5.1 的圓形實心點)走到樹的葉節點(圖 5.1 的方形實心點)的某一條完整 路徑代表走完一個或一組發音相同的詞。而路徑上的每一個分枝正好對應到這些 詞的一組聲學模型。詞彙樹複製搜尋在執行時,每個音框會同時存在數棵詞彙樹 複製(tree copies),而每棵詞彙樹代表來自不同的語言歷史或限制(language model history or constraint)。在同一棵詞彙樹裡,會進行隱藏式馬可夫模型狀態層次(state level)維特比(Viterbi)動態規劃搜尋。在詞彙樹搜尋中,只有在走到葉節點時,才 能確定所搜尋的一個完整詞為何。另外,當具有相同語言模型歷史之不同詞彙樹
圖5.1 詞彙樹範例
台灣
颱風 大
學 ㄉ
_ㄚㄚ
ㄒ
_ㄩㄝㄩㄝ ㄊ
_ㄞㄞ Null
_ㄨㄢㄨㄢ ㄈ
_ㄥㄥ
台灣
颱風 大
學 ㄉ
_ㄚㄚ
ㄒ
_ㄩㄝㄩㄝ ㄊ
_ㄞㄞ Null
_ㄨㄢㄨㄢ
ㄈ
_ㄥㄥ
78
分別都已經走到自己所屬那棵樹的葉節點時,則會進行結合(recombination),只 保留其中分數最大者,並針對留下來的詞彙樹繼續執行詞彙樹複製搜尋。然而,
真正在實作時,並不需要產生如此多的詞彙樹,僅需建立一棵詞彙樹作為參考之 用,並分別記錄搜尋時存活下來之隱藏式馬可夫模型狀態節點的相關資訊(如到 目前為此所累積的分數及前一狀態為何)。
另外一方面,由於存活的狀態節點通常會隨著音框數呈指數倍成長,因而必 須以光束剪裁(beam pruning)技術將分數較低的狀態節點做剪裁的動作。在對每 個狀態節點執行光束剪裁時,會依此節點所有可拜訪的葉節點之最大單連語言模 型往前觀測分數(unigram language model look-ahead score)[82]及聲學往前觀測分 數(Acoustic Look-ahead Score)[84]做為剪裁與否的依據。
此外,在每個音框,利用存活的詞彙樹複製樹其葉節點(代表可能的候選詞)
所儲存的語言模型歷史、開始音框、結束音框及其聲學解碼的分數等資訊建立詞 圖(word graph),如圖 5.2(取自[85]),而後使用更高階的語言模型,如詞三連 (trigram)或詞四連(fourgram)語言模型,抑或採用更複雜的聲學模型,如三連音素 (triphone),進行詞圖重評分(word graph rescoring)搜尋[86],找出最佳的詞序列。
在本論文中,詞彙樹複製搜尋階段是採用詞二連語言模型,詞圖搜尋階段則是使 圖5.2 詞圖範例
79
用詞三連語言模型。
5.2.5 實驗評估方式
此評估法則是採用美國國家標準與技術中心(National Institute of Standards and Technology, NIST)所訂立的評估標準來進行正確答案的詞序列與辨識詞序列 的比較。此評估標準需要使用動態規畫(dynamic programming)來做詞序列比對。
由於在中文會有斷詞不一致的問題,因此在本論文的實驗中主要是以字為比對單 位。令H為正確答案詞序列與辨識詞序列比對後相同(match)的字的個數、I 為辨 識詞序列多餘插入(insertion)的字的個數、N 為正確答案詞序列的字的個數,則 語音辨識系統的正確率(accuracy)的計算方式為
100 %
N I
H ,而錯誤率(error rate)
則為1-正確率。在進行動態規畫比對時,替代(substituion)錯誤的懲罰權重(penalty 圖5.3 多向量輸入(頻域-時域特徵擷取)示意圖
80
weight)為 10 分,插入及刪除的權重則皆為 7 分。因為中文是以字(character)為單 位,所以在以下的實驗數據中,都是以字正確率(character accuracy)來呈現實驗 結果。
5.2.6 多向量輸入(頻域-時域特徵擷取)
多向量輸入(頻域-時域特徵擷取)是希望藉由線性特徵轉換來同時擷取頻 域上與時域上最要或具鑑別力的特徵向量[10]。如圖 5.3 所示,首先由特徵向量
x
i本身加上前後各取k 個特徵向量形成超級向量
z (feature super-vector),此處的 k
i為2。超級特徵向量
z 經由基底矩陣
i Θ線性轉換後可得新特徵向量y ,其中的
i Θ 就是由前面章節所敘述之線性特徵轉換方法求得。在本論文的實驗中,資料相關 線性特徵轉換皆是應用在多向量輸入(頻域-時域特徵擷取),並且我們將前後 串接的數目k 定為 4,也就是原始特徵向量維度會從梅爾濾波器組產生的 18 維,變成超級向量18(421)162維。而目標維度則設定為39 維(d = 39),其目的 則在於使我們能在子空間維度固定的情況下,定性地比較各種方法的優劣。