第二章 使用加權有限狀態轉換器之語音辨認系統
2.3 語言模型之建立
2.3.3 形音義分合詞處理
在大詞彙中文辨認的課題上,會因為字形、字音、字義三者的關係與分合 情況而影響到訓練與辨識,以下將簡介漢字的特質,並就各式特質提出我們在處 理語料時所應對的方法。
漢字具有的三大要素為:「形、音、義」,其中字義為我們語文的核心,字形、字 音都是為字義而存在。在文化的演進中,有些字形變得不一致、或因沒有創製而 借用,各種複雜的因素使得漢字形成了「多形、歧音、異義」的狀況,所以目前
所使用的「漢字」呈現出字形不一、字音分歧、字義寬廣的特質。
1.) 字形不一
歷史上漢字有甲骨、金文、篆、隸、楷、行、草等不同形體,如今使用者也有簡 體/繁體的差別。也存在有結構上同字但異形的差別,例如足夠的「夠」一字也 有人寫作「够」、人群的「群」寫作「羣」。在字形不一的情況下,影響到的是斷 詞器的訓練、斷詞詞頻統計、詞典收錄、語言模型統計…等。
2.) 字音分歧
一字多音一向是漢語的特色,當中音變而意思不同者俗稱破音字。例如「便(ㄆ ㄧㄢˊ)宜」、「方便(ㄅㄧㄢˋ)」。字音的分歧所影響的是詞典收錄,就破音字意 義不同的層面來看,也影響了語言模型的訓練(尤其指單字詞的情況)。
3.) 字義寬廣
在漢字中有一字多義的情況存在,相同的字形可同時代表不同意義,如「稀少(不 多)」、「少(年輕)年」、「少(丟失)了東西」。
表 2.4: 漢字形音義異同表
形 音 義 現象 範例 處理
同 同 異 多義字 挨(靠近、順著、擠…) -
同 異 同 又讀字 角(ㄐㄧㄠˇ/ㄐㄩㄝˊ)色 O
異 同 同 異體字 群/羣、夠/够 O
異 異 同 同義字 足/腳、頭/首 ※
異 同 異 同音字 ㄍㄨㄥ(工、公、…) -
同 異 異 破音字 藏(ㄗㄤˋ/ㄘㄤˊ) O
在語音辨認的課題中,「多義字」、「同音字」的異別可以經由 n-gram 語言模 型學習到,而「又讀字」可用 multi-pronunciation 形式收錄在發音辭典中,額外
處理的三個項目為:
A.) 異體字:
由於僅有字形不同,若將異體字雙雙收錄在辭典中,僅會瓜分掉原本該有的機率,
我們將其轉寫為同一字後才進行語言模型的訓練。延伸的狀況是,異體字落在一 個詞內時(如:人蔘、人參),在轉寫文字時應以詞為單位進行。
B.) 同義字:
針對單字詞的情況,同義字是不該被合併訓練的,儘管「足」跟「腳」係屬同義 字,但前後文通常存有差異,故不對單字詞同義字進行處理。延伸的情況為同義 詞(variant word),所指為語義相同但字形不盡相同的詞,我們希望同義詞能在語 言模型中共享相同的分數。
例如:在訓練語料中有 [跑得] [越來越/愈來愈] [快] 這兩類詞出現,而「越 來越」與「愈來愈」是一組 variant word,在訓練 n-gram LM 模型的時候應將他 們視為一樣的 word 進行訓練。但由於「越來越」與「愈來愈」的發音不同,在 我們將 Grammar (Language model)層向下展開到 Lexicon 層之前,必須將這些 variant word 的資訊補回 Language model 上。
由於在訓練語言模型前,已將每組同義詞合併訓練,故在訓練好的 Language Model 上只有被合併的詞,所以在 Grammar 層找出被合併的詞的 Arc,這條 Arc 上帶有輸入字元、輸出字元以及 Weight,只要將這條 Arc 複製並將輸入輸出的 資訊取代成另一個同義詞補回,如此這組同義詞就能享有相同的語言模型分數。
表 2.5: variant word 對照表(部分節錄)
Variant Word Pair Variant Word Pair
身臨其境 身歷其境 飛短流長 蜚短流長
來歷不明 來路不明 鼎鼎有名 赫赫有名
危在旦夕 命在旦夕 憤恨不平 憤憤不平
… … … …
C.) 破音字:
同形異音異義的「破音字」以及同形異音同義的「又讀字」,這些同形歧音 (multi-pronunciation)的問題,傳統上是在詞典中收錄兩種發音來進行,但儘管我 們可以將破音字都收入辭典中,卻無從得知文本中該詞正確發音,因為文本的斷 詞結果是沒有標記上音節的,在訓練語言模型時等同將所有的破音字合併在一起 訓練。
例如:「供給」的「給」是一個又讀字,可以念成ㄍㄟˇ或ㄐㄧˇ。
而我們收錄字典時並未有 Syllable 的資訊,在訓練語言模型時,我們將其視 為同一個詞,但在辨認時必須將這組破音字的資訊補回。處理這部分的方式跟同 義詞雷同,同義詞是在 Grammar 層補回資訊,而又讀字的處理方式是在 Lexicon 層補回。