第三章 辨識模型介紹
3.2 語言模型
由於所有語言都有其獨特的文法規則,因此我們可針對此規則性來求得一個機率模 型,一般稱此為語言模型(Language Model, LM)。在語音辨認時,除了聲學模型外,若 能加入語言模型的參考,通常能大幅提升辨識系統的效能。本節中首先介紹朗讀式語言 模型的建立,接著介紹本研究所使用的語言模型調適方法,最後介紹語言模型之效能分 析及涵蓋率與辨識率比較。
18
3.2.1 朗讀式語言模型之建立
文字語料庫簡介
用於訓練朗讀式語言模型的文字資料庫共有以下來源:
1.) 光華雜誌(Sinorama):內容為一般雜誌的文章,蒐集的資料年代範圍介於 1976 年到 2000 年之間。
2.) NTCIR:為一個建立資訊檢索系統的標竿測試集,其內容由數種不同學科領域文章 構成。
3.) 中研院平衡語料庫(Sinica):它是一套由中研院收集,內容包含多種主題,以語言分 析研究為目的的資料庫。
4.) Chinese Gigaword:由 Linguistic Data Consortium (LDC)整合發行,內容包含台灣中 央社、北京新華社等國際新聞。
5.) 維基百科語料(Wiki) :維基百科為領域廣泛且資訊較為新,可以使語言模型更加多 元,資料庫增加。
總詞數為 4.4 億,文章篇數為 8771 篇。
文字語料庫 文本前處理 建立辨識辭典 N-gram
training
圖 3.1:語言模型訓練流程
上圖 3.1 為語言模型訓練流程,我們有了文字語料庫後,需先對語料庫的文章進行 前處理,其中大致上分為 CRF 斷詞、文字正規化…等等,將文章中會影響辨識效能的 內容移除或修改,在文本前處理後,再經由選詞將常出現、較重要的詞收錄在辭典內以 便訓練出語言模型,本研究是利用蘇仲銘【15】論文中王逸如博士所提出的選詞方法,
依據詞頻與出現文章篇數評估一個詞彙在文章中分布的均勻程度,共選入了 60,000 個詞 彙,而六萬詞詞典在 MCDC 文字語料 99179 個詞中只出現 5177 個詞,可以看出口語對
19
20
以下本研究將利用此朗讀式語言模型與自發性語言模型的進行調適。
3.2.2 語言模型之調適
在進行語言模型調適之前,必須先訓練出自發性語言模型,其中我們把 MCDC 中 的感嘆詞替換回朗讀式語料也有的感嘆詞,例如:LA→啦、BA→吧,並根據 2.2 章自 發性語音的特性,加入 particle 和 marker 兩詞於詞典中:
particle:語者說話猶豫或回應對方時所發出的,其在語法上屬於較獨立的。
(如:MHM、E、EI)
marker:語者的習慣插語,已不保有其原來的語意 (如:NA-GE、ZHE-GE、SHEN-ME)
語者在說話時不像朗讀式語音那麼順暢,常會有這兩類詞插入句子中,下圖 3.2 為語者 詞語修補(repair)示意圖:
圖 3.2:詞語修補示意圖
在語言模型調適中,MAP(maximum a posteriori)調適法【16】是最普遍的方法,其 主要概念是改變已知的模型參數分布使其與觀察資料的參數分布相符合,其數學式(3.2) 如下:
𝑋
𝑀𝑀𝑀= arg max
𝑥𝑃(𝑋|𝑊) = arg max
𝑥𝑃(𝑊|𝑋)𝑃(𝑋)
(3.2)𝑋:已知的參數模型分布(model parameter distribution) 𝑊:有限的觀察資料(observation)
𝑃(𝑊|𝑋):觀察資料𝑊的概似度(likelihood)
marker 統 particle 統領 購物 中心
NA-GE ZHE-GE SHEN-ME
E
EI
21
根據 MAP 調適法又可分為 count merging 和 model interpolation 兩種做法,本研究是使 用 model interpolation 進行調適,其是將 out-of-domain model 與 in-domain model 進行內 插,來得到我們要的語言模型,其數學式(3.3)如下:
𝑃′(𝑤𝑖|𝑤𝑖−𝑛+1, … 𝑤𝑖−1) = 𝜆𝑃𝑏𝑏𝑏𝑏(𝑤𝑖|𝑤𝑖−𝑛+1, … , 𝑤𝑖−1)
+(1 − 𝜆)𝑃𝑏𝑎𝑏𝑎𝐶(𝑤𝑖|𝑤𝑖−𝑛+1, … , 𝑤𝑖−1) (3.3)
𝑃𝑏𝑏𝑏𝑏: probability for word sequence 𝑤𝑖 of the baseline language model 𝑃𝑏𝑎𝑏𝑎𝐶: probability for word sequence 𝑤𝑖 of the adaptation language model 𝜆: linear interpolation coefficient, 0 ≤ 𝜆 ≤ 1
權重𝜆也是根據 SRILM 上的估計方法,使用 EM algorithm,最大化調適模型與測試 語料的概似度(likelihood),經過迭代(iterative)7 次得到𝜆 = 0.690221。
3.2.3 語言模型效能分析
評估語言模型通常是以計算其混淆度(perplexity, PPL)來判斷。混淆度是根據消息理 論(information theory)而得,如下式:
𝐻 = −𝑚1log 𝑃(𝑊 = 𝑤1, 𝑤2, … , 𝑤𝑚) (3.4) 上式為一個詞串𝑊 = 𝑤1, 𝑤2, … , 𝑤𝑚,對於每個新詞提供的平均資訊量(entropy),經過適 當的化簡而得。而混淆度可直接使用(3.4)式進一步定義為:
𝑃𝑃𝑃 = exp (𝐻) (3.5)
若𝑃(𝑊 = 𝑤1, 𝑤2, … , 𝑤𝑚) = ∏ 𝑃(𝑤𝑚𝑖=1 𝑖|𝑤1, 𝑤2, … , 𝑤𝑖−1)則可發現混淆度就是
𝑃(𝑤𝑖|𝑤1, 𝑤2, … , 𝑤𝑖−1)的幾何平均數的倒數。因此混淆度可以解讀為語言模型估測一個歷 史詞串後面,平均可能的可接詞數;混淆度越高,表示一個歷史詞串後接的詞有較多選
22
擇,辨認時就越難找到確切的答案;反之,則較易找到正確答案。利用(3.5)式來評估調 適後的語言模型效能,如表 3.7 所示。
表 3.7:語言模型混淆度評估
語言模型 混淆度(PPL)
Read-Speech_tg-LM 733.719 Adapted_tg-LM 280.741
3.2.4 辨識率與詞涵蓋率比較
利用聲學模型對語音辨識將產生音節辨認資訊,若加入語言模型,辨識單元可由音 節變為詞,同詞產生 word lattice,但為了與聲學模型比較,我們亦會將詞轉為字元及音 節做比較。表 3.8 為本研究調適語言模型後之辨識率。其中 Free-gram-syllable-LM 即為 3.1 節聲學模型之辨認實驗,只有音節辨認率;加入 Read-Speech_tg-LM 之後的實驗開 始有字元及詞的辨識率,在此值得注意的是,由於 MCDC 的測試語料中的辨識單元含 有「particle」及「marker」,但是 Read-Speech_tg-LM 中並無這兩類的機率,為了比較公 平性,在此只計算「一般詞」的辨識率。
表 3.8:加入語言模型之辨識率
case Acc Word Character Syllable
Free-gram-syllable-LM 48.10%
Read-Speech_tg-LM 38.86% 47.42% 57.20%
Adapted_tg-LM 53.44% 60.34% 65.83%
觀察表 3.8 可注意到在加入 Read-Speech_tg-LM 後音節辨識率上升了 9.1%,此乃因 為有了文法的資訊,確實可以幫助中文辨識,但是 Read-Speech_tg-LM 中並沒有「particle」
及「marker」之機率,會造成許多刪除型錯誤,另外,訓練語料類型也完全屬於朗讀式 語料,在用詞與文法上皆有所不同;而經過調適後 Adapted_tg-LM 辨識率有了大幅改善,
其中「particle」及「marker」辨識率分別為 51.03%及 30.56%,加入這兩類詞後能夠有 效減少刪除型和取代型錯誤。
23
此外,在口語對話中有許多口語常用詞,這些詞以連接詞與副詞居多,下表列出一 些口語常用詞的辨識率,由表 3.9 可以看出用 MAP 方法調適後更能有效的辨認出來。
而表中「然後」、「因為」及「所以」的辨識率較其他詞低,觀察後發現,這些詞常被說
話者當作句首的常用插入詞,通常會出現音節合併的現象,造成聲學模型較難建立,這 也是自發性語音較難處理的問題。
表 3.9:口語對話常用詞之辨識率 詞(數量)
模型 就是(132) 我們(88) 然後(115) 因為(71) 沒有(48) 所以(51) Read-Speech_tg-LM 55.30% 75.00% 46.96% 43.66% 60.42% 43.14%
Adapted_tg-LM 74.24% 80.68% 64.35% 53.52% 72.91% 52.94%
接著,為了未來要加入韻律模型幫助改善辨識率,所以我們先將產生的 word lattice 與辨認標準答案做 Optimal Search 得到詞的涵蓋率(coverage rate),來判斷韻律模型加入 後可以改進的程度。
詞涵蓋率Accuracy的計算方式為(3.6)式
Accuracy =
𝑀𝑏𝐶𝑀ℎ+𝑆𝐶𝑏+𝐷𝑏𝐷𝑀𝑏𝐶𝑀ℎ−𝐼𝑛𝑏 (3.6)而表 3.10 為朗讀式模型與調適後之語言模型的詞涵蓋率比較 表 3.10:詞涵蓋率比較
case word coverage rate Read-Speech_tg-LM 74.89%
Adapted_tg-LM 82.42%
表示調適後 Adapted_tg-LM 所產生的 lattice 較接近我們的正確答案,由詞辨識率 53.44%
和詞涵蓋率 82.42%可以看出,加入其他資訊來幫助辨識還有大幅的提升空間,期望加 入韻律訊息來尋找 lattice 上之最佳路徑,以改善辨識率。
24