• 沒有找到結果。

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

2.2 語音辨識系統之建立

2.2.3 形音義分合詞處理

在大詞彙中文辨認的課題上,會因為字形、字音、字義三者的關係與分合情況而影 響到訓練與辨識,以下將簡介漢字的特質,並就各式特質提出我們在處理語料時所應對 的方法。

漢字具有的三大要素為:「形、音、義」,其中字義為我們語文的核心,字形、字音 都是為字義而存在。在文化的演進中,有些字形變得不一致、或因沒有創製而借用,各

11

種複雜的因素使得漢字形成了「多形、歧音、異義」的狀況,所以目前所使用的「漢字」

呈現出字形不一、字音分歧、字義寬廣的特質。

1.) 字形不一

歷史上漢字有甲骨、金文、篆、隸、楷、行、草等不同形體,如今使用者也有簡體

/繁體的差別。也存在有結構上同字但異形的差別,例如足夠的「夠」一字也有人寫作

「够」、人群的「群」寫作「羣」。在字形不一的情況下,影響到的是斷詞器的訓練、斷 詞詞頻統計、詞典收錄、語言模型統計…等。

2.) 字音分歧

一字多音一向是漢語的特色,當中音變而意思不同者俗稱破音字。例如「便(ㄆㄧ ㄢˊ)宜」、「方便(ㄅㄧㄢˋ)」。字音的分歧所影響的是詞典收錄,就破音字意義不同的 層面來看,也影響了語言模型的訓練(尤其指單字詞的情況)。

3.) 字義寬廣

在漢字中有一字多義的情況存在,相同的字形可同時代表不同意義,如「稀少(不 多)」、「少(年輕)年」、「少(丟失)了東西」。

表 2.2: 漢字形音義異同表

形 音 義 現象 範例 處理

同 同 異 多義字 挨(靠進、順著、擠…) -

同 異 同 又讀字 角(ㄐㄧㄠˇ/ㄐㄩㄝˊ)色 O

異 同 同 異體字 群/羣、夠/够 O

異 異 同 同義字 足/腳、頭/首 ※

異 同 異 同音字 ㄍㄨㄥ(工、公、…) -

同 異 異 破音字 藏(ㄗㄤˋ/ㄘㄤˊ) O

在語音辨認的課題中,「多義字」、「同音字」的異別可以經由 n-gram 語言模型學習 到,而「又讀字」可用 multi-pronunciation 形式收錄在發音辭典中,額外處理的三個項 目為:

12

A.) 異體字:

由於傴有字形不同,若將異體字雙雙收錄在辭典中,傴會瓜分掉原本該有的機率,

我們將其轉寫為同一字後才進行語言模型的訓練。延伸的狀況是,異體字落在一個詞內 時(如:人蔘、人參),在轉寫文字時應以詞為單位進行。

B.) 同義字:

針對單字詞的情況,同義字是不該被合併訓練的,儘管「足」跟「腳」係屬同義字,

但前後文通常存有差異,故不對單字詞同義字進行處理。延伸的情況為同義詞(variant word),所指為語義相同但字形不盡相同的詞,我們希望同義詞能在語言模型中共享相 同的分數。

例如:在訓練語料中有 [跑得] [越來越/愈來愈] [快] 這兩類詞出現,而「越來 越」與「愈來愈」是一組 variant word,在訓練 n-gram LM 模型的時候應將他們視為一 樣的 word 進行訓練。但由於「越來越」與「愈來愈」的發音不同,在我們將 Grammar (Language model)層向下展開到 Lexicon 層之前,必頇將這些 variant word 的資訊補回 Language model 上。

補回同義詞資訊的方式採用取代演算法進行,取代演算法的作用規則是將一個 WFST 上的某些轉移(Arcs)取代為另外一個 WFST。我們需定義出:

1.) 欲取代該非終結符(non-terminal label)的 WFST 2.) 非終結符在 root WFST 上的對應編號

而輸出的 WFST 便是將 root WFST 所有帶有該非終結符的轉移取代成與其編號對應 的 WFST,此外,在該轉移上的分數也能被保留下來。

較精確地說,一個從 state s 到 state d,帶有 non-terminal output label n 的轉移,欲 用 WFST F 來取代之。進行演算時,這條轉移會將 state s 接至 F 的 initial state,並以空 轉移符取代原本輸出的非終結符,而原本落在該轉移上的分數便不做更動,接著以一條 空轉移將 F 的 final state 連至 state d。

由於在訓練語言模型前,已將每組同義詞合併訓練,故在訓練好的 Language Model

13

上只有被合併的詞,在這裡可以將被合併的詞視為一個 non-terminal label,而我們欲使 用帶有完整資訊同義詞的小型 WFST 取代它,如此這組同義詞就能享有相同的語言模型 分數。

以下提供一個 n-gram root LM WFST、variant word WFST 與執行完 Replace 演算法 後整合在一起的 WFST 結果。此 variant word 的對照表由左至右為訓練 n-gram 時的 non-terminal label 與其分別對應到的 word label。

表 2.3: variant word 對照表(部分節錄)

# in WFST Word # in WFST Word # in WFST Word 1693 力有未逮(SW) 80100 力有未逮 80300 力有不逮 25507 帕金森氏(SW) 80101 帕金森氏 80301 巴金森氏 25506 乏人問津(SW) 80102 乏人問津 80302 無人問津

… … … …

圖 2.6: n-gram Root LM WFST

圖 2.7: Variant Word WFST

14

圖 2.8: Replaced Variant Word WFST in Root LM WFST

C.) 破音字:

同形異音 異義的「 破 音字」以 及同形異 音 同義的「 又讀字」, 這些同形 歧音 (multi-pronunciation)的問題,傳統上是在詞典中收錄兩種發音來進行,但儘管我們可以 將破音字都收入辭典中,卻無從得知文本中該詞正確發音,因為文本的斷詞結果是沒有 標記上音節的,在訓練語言模型時等同將所有的破音字合併在一起訓練。

例如:「供給」的「給」是一個又讀字,可以念成“gong1 gei3”或“ gong1 ji3”。

而我們收錄字典的形式是以[Big5 碼_拼音]的形式收錄,於是“供給”的兩個異音詞寫 為 A8D1B5B9_gong1gei3 與 A8D1B5B9_gong1ji3。在訓練語言模型時,只使用其中一種 寫法訓練。因此我們要在語言模型層的 WFST 補回這個資訊,與 variant word 的處理方 式一樣,建立小型的 multi-pronunciation WFST,再使用取代演算法重構回 n-gram root LM 上。

在異體字、同義詞的尋找上,目前實驜室是採用人工標記的方式進行,一方面檢查 收錄的詞典是否有問題,另一方面將異體字與同義詞建檔整理。截至目前為止修正的詞 共 1752 個,修正詞數共 108495 個。

針對異體字、同義字進行修正後,我們訓練出新的語言模型並對其計算 PPL,計算 的對象為 TCC-300 的測詴語料。

表 2.4: Baseline PPL

TCC - Testing Order ppl ppl1

3 365.862 487.08

15

相關文件