第五章 加入語言模型之自發性國語辨識器
5.1 建立語言模型
本節將介紹我們是如何訓練語言模型,其流程如圖 5.1:
圖 5.1:LM 訓練流程圖
5.1.1 訓練語料及詞典(lexicon)
訓練語料及詞典是建立語言模型所必須要準備的兩樣資料,下面將介紹其用 途,及本論文中所使用之訓練語料、詞典為何。
5.1.1.1 訓練語料
建立語言模型必須要有大量的文字資料庫,才可分析其語言規則,對於不同 種類的訓練語料所分析出的語言規則也必定不同,本論文中所採用的訓練語料有 兩種,(1)包含光華雜誌( Sinorama )、NTCIR 和中研院的平衡語料庫,下面將稱 之為 General 語料庫;(2)MCDC 語料庫之訓練語料的部份。
光華雜誌內容為一般雜誌文章,總共蒐集了 1976 年至 2000 年的資料。而 NTCIR( NACSIS Test Collections for IR )是一個建立檢索系統的標竿測試集,內容 包含數種不同的科學領域。平衡語料庫是由中研院所錄製的,內容包含多種主 題,目的在於研究語言分析,這三種語料庫的內容皆是文字性質,我們可藉此訓 練出具有文字性質語言規則的語言模型。
MCDC 語料庫是一個內容為對話性質的語料,利用此語料庫將可建立出具 對話性質語言規則的 LM,不過由於本論文基本架構中所用於測試的語料即為 MCDC 語料庫中的一部分,因此只可將論文中用於訓練聲學模型的語料來建立,
否則將產生不公平的現象。
5.1.1.2 詞典
上一節介紹了訓練語言模型所需的兩種語料庫,有了語料庫我們即可做其語 言上的分析,在漢語中文( Mandarin )下,以詞為單元來做分析是較符合語言規則 的,所以必須將語料庫由原本以音節為單位轉換成以詞為單位,這時便需要詞典 來做轉換,下面將對於本論文所使用之詞典其來源做介紹。
詞典的來源,我們是由清大資工所的張俊盛教授所提供之詞典(此詞典只有
詞且無 POS( part of speech ) ),利用此詞典,對 General 語料庫作斷詞,然後依詞 頻做排列,挑選出最高的前 6 萬詞,由於這六萬詞的詞典中還夾帶著英文、注音 符號這些詞,將之剔除後,最後實際的詞典大小為 58,940 個,此即為本論文中 所使用之詞典,對於詞典中詞長分佈統計於表 5.1
表 5.1:詞典中之詞長分布
詞長 1 2 3 4 5 6 7
數量 4009 36357 11478 5555 802 530 209 百分比 6.8% 61.7% 19.5% 9.4% 1.4% 0.9% 0.4%
根據論文中所使用的詞典,對兩種語料庫作斷詞後的結果,其資料分別統計 於表 5.2 及表 5.3
表 5.2:General 語料庫之詞數及字數統計表
訓練語料 詞數(Word) 字數(Character)
光華雜誌 11,348,465 15,669,241 NTCIR 59,862,541 83,116,970 平衡語料庫 5,816,309 8,078,119
合計 77,027,315 106,864,330
表 5.3:MCDC 語料庫之詞數及字數統計表
訓練語料 詞數(Word) 字數(Character)
MCDC 語料庫 96,816 126,450
5.1.2 語言模型的訓練
有了訓練語料及詞典,便可以開始訓練語言模型,在訓練過程中必定會有一 個問題發生,那就是訓練語料中會出現詞典中所沒有的詞,對於這類的詞,統稱 為 OOV( Out Of Vocabulary ),下面將討論對於兩種語料庫在 OOV 上的處理及語 言模型訓練的方法。
5.1.2.1 OOV 的處理
對於 General 平衡語料,我們在辭典中加入一個特殊的詞,稱之 Unknown Word,在訓練語言模型時將發生 OOV 的所有詞皆用於訓練 Unknown Word。而 對於 MCDC 語料庫,由於語料庫中包含 Particle、Paralinguistic Phenomena 這兩 類語言學的現象,為了保留這兩種現象之語言規則,我們並不將之用於訓練 Unknown Word,而是於詞典中增加兩個新詞,分別代表這兩種現象,來特別訓 練這兩類的語言規則。
5.1.2.2 訓練語言模型的方法
藉由訓練語料與詞典,本論文中我們是要訓練出 Trigram 的語言模型,因此 要求出 Unigram、Bi-gram、Trigram 的機率,Bi-gram 及 Trigram 之機率分別為
( i | i 1)
其中,