• 沒有找到結果。

第一章 緒論

1.1 研究動機

傳統使用隱藏式馬可夫模型的一階段式語音辨認,是將聲學模型依照發音辭典串接 為一個詞的大型隱藏式馬可夫模型,在語言模型的層級每個詞會再串接所有的詞,形成 一個廣大的辨認網路。在辨認時將網路展開至聲學模型層級,整個搜尋空間並沒有經過 任何優化的處理,在搜尋時使用維特比光束搜尋來提昇搜尋速度。

另外,針對中文語音辨識而言,中文在構成“詞”(word)的規則相當彈性,每個中 文“字”(character)都代表其各自的意思,不像拼音語系在詞間有著分隔符號(delimiter)

作為區隔。欲進行大詞彙語音辨認時,這些多元的變化使得詞典的收錄變得很困難,諸 如:人名、數量複合詞、詞綴構詞等,此類別的詞可任意組合,故中文語音辨識存在著 辨認詞典無法完整收錄詞彙而阻滯辨識效能成長的情形。

近年來,有限狀態機(Finite-State Machine)廣泛地應用在語音辨識領域中,藉由有限 狀態機的各式演算法,我們可以將不同層級的語音模型整合在一起,並對辨識網路進行 最佳化而得到良好的辨認速度。在本研究中,並提出使用階層式的語言模型對中文人名 進行處理,希望藉此提高詞涵蓋率而提升辨識成效。

1.2 文獻回顧

有限狀態機(Finite State Machine)是一種簡單而有效率的數學模型,近年來廣泛 地運用在語音辨認中,如:用來表示前後文相關(Context dependency)的發音模型、表示 大詞彙的字典…等。最早由 AT&T 實驜室的莫氏(M. Mohri)等人[1]-[3]提出使用加權有 限狀態機(Weighted Finite State Machine),在狀態間的轉移上賦予一個加權值,利用加權 值將語音辨認中最重要的機率分數整合至有限狀態機之中。依照有限狀態機的特性,將 傳統語音辨認中各自獨立的三個部份:聲學模型、發音辭典以及語言模型,利用組合運

2

算(composition)整合成一個單一的有限狀態機,並且運用了莫氏等人提出的確定化

(determinization)以及最小化(minimization)演算法[1]來除去辨認網路中的冗贅路徑。

經過確定化的有限狀態轉換器可以在搜尋時減少存活的狀態數,最小化演算能求得狀態 數最少的等價有限狀態轉換器;加權推移(weight pushing)演算法[4]的實現,則讓語 言模型的分數可以提早利用,修剪掉不必要的辨認路徑。台灣大學的余氏[5]與交通大學 的姜氏[6]曾以有限狀態自動機實作過中文大詞彙連續語音辨認,他們的論文核心在敘述 有限狀態機的基本定義、建構流程,如何以有限狀態機建構一套大詞彙連續中文語音辨 認系統。並在實驜證明:有限狀態機比起傳統演算法,在相同辨識率下可以減少數倍辨 識時間。

在大詞彙語音辨認系統中,N 連語言模型(n-gram language model)[7]最常被使用到,

此模型以統計的方式來描述詞與詞之間相接的機率,但隨著 N 值提升,我們無法收集到 所有 N 連詞彙的組合。而後有許多學者提出方法來加強語言模型。1992 年 Brown 等人 提出類別式 N 連語言模型(class-based n-gram language model)[8],加入了類別資訊來訓 練語言模型,將詞彙依照特性分群,則資料的預估由詞彙組合數降低為類別的組合數,

能夠改善資料稀疏的問題。

傳統在中文大詞彙辨認中所用的辭典,大多將語料中出現的詞按照詞頻排序,取其 順位高者納入詞典中。考慮中文構詞的多元與彈性,無法收入所有的詞彙,但不在詞典 中的詞彙便無法辨認得出。這些不在詞典中(Out-of-Vocabulary, OOV)的詞(OOV words) 會影響辨識效能,周氏[9]在其論文中提出階層式的辨認系統,針對中文構詞最為彈性的 人名、定量複合詞與詞綴三個類別,以構詞學的角度出發,依照各種詞類的特性將之拆 解,以較少數量的構詞單元收錄以提升詞的涵蓋率。辨認時採用二階段式的辨認系統,

先以第一級 LM 辨認產生混合 word 與 sub-word 構詞單元之 word lattice,在第二級加入 不同詞類的語言模型重新配置其語言模型的分數,加強 lattice 上的路徑而最後的辨認結 果。

針對 OOV 處理的議題,前人提出過不少研究的成果,多以 class n-gram 預估詞的機

3

率,一方面也可以減少 data-sparseness 的問題,而預估 word bi-gram 的機率算式即改寫 為:P w( i|wi1) P c( i|ci1) (P wi|ci)

在 2003 年 Hiroaki[10]等人提出的研究中,預估 COOV (OOV words 類別)的 class n-gram 機率時,將 OOV words 視為名詞的一種,由 Cnoun(名詞的類別)discount 出一定比 例的機率以供 COOV使用,這個比例 λ 即為 OOV rate。而 OOV 類別內部的 Intra-word constraints 則拆解為 sub-word sequences,以 bi-gram 機率預估之。另又針對 COOV可能具 有不同的 intra-word constraints ,細分為數類 COOV,i,這些不同的 multiple intra-word models 標示為 PMj,最後把機率的預估寫為:

在所有詞的類別中,named entity words 諸如人名、地名、組織名等詞類會與訓練語 料息息相關,又因為中文的特性,造成人名/組織名為一個 open set,使得很多字/詞在訓 練時是 unseen 的,而這些詞也經常落入 OOV words 類別之中。若將 named entity 的資 訊使用在辨識中,可幫助取得斷詞邊界等語法上的資訊。在以往的研究中,named entity 多用於兩階段式辨認來強健辨識結果,如 Lufeng ZHAI 等人[11]提出採用 N-best list 在第 一級結果進行標記,再輔以不同參數做 re-scoring(在 L ZHAI 的研究中使用了六個分數 進行:acoustic, language model, number of words, number of phones, number of silence, NER score)。

由於 two-statg 的 re-scoring 方式受限於第一級辨識的結果,爾後在 NTT 所提出的研 究中[12],他們對 named entity 的標記於前級完成,並將這些 named entity words 視為一 個類別收錄,讓辭典收錄詞數高達 1.8M;該篇論文中並使用了 on-the-fly composition 的 技術,不將 named entity 類別如此大量的詞在 language model 上全展開,而在 decoding 時才進行,由於整張 graph 不是 fully-composed,因此在記憶體的使用上節省許多。

4

1.3 研究方向

在本論文中,承襲了有限狀態機的建構方式,進而改以有限狀態轉移器實作系統。

我們在語言模型層進行改良,從選詞方法到訓練語料的挑選都有更動,並依照中文的特 性提出若干改進方式;另一方面也注重處理 OOV words 相關的研究,利用有限狀態機 的特性將不同的模型整合在一起,希望能建構出一個泛用的大詞彙辨認系統。

以往為解決傳統辨認無法收錄大量詞彙的問題,多採用兩階段式的辨認方式,先由 第一級模組辨識出 word/subword 單元之 word lattice ;第二級模組中,對於 word lattice 上的 subword 單元重新構詞;最後於第三級模組重新給予 word lattice 上語言模型的分數。

但此法受限於第一級辨識出 word lattice 之涵蓋率,如何將 subword 重構也是一個重要的 問題。在本研究中,針對 OOV 問題中人名的部份進行處理,並提出以一階段方式進行 辨識的演算法。

1.4 章節概要說明

本論文一共分為六章,其各章節內容分配如下:

第一章:緒論

第二章:有限狀態機辨認系統之建立

相關文件