• 沒有找到結果。

中文斷詞器系統架構

第二章 中文斷詞器概述

2.2 中文斷詞器系統架構

目前完成的系統模組已達到部份「第二級分詞標準」,系統概述如下:

圖 2-1:中文斷詞器整體架構圖

(1)前處理單元:

由於是要使用於 TTS 的斷詞器,因此輸入的字串有可能含有 ASCII code 或 是 Big-5 code,因此為了使系統處理的字串格式統一,在進入斷詞器以前,首 先我們將所有的 ASCII code 轉為 Big-5 code,例如字串「比去年同期減少了 8.6%」

會先轉為 Big-5 字串「比去年同期減少了8‧6%」。

(2)前置構詞單元:

由於中文斷詞的方法是將輸入的文句與詞典做搜尋比對的工作,但是中文 詞無窮無盡,要將所有的詞收錄至詞典當中是不可能的,而有些具有規則而無法 詳列於詞典的詞,如定量複合詞以及重疊詞等,這些詞的組成是有規律的,可藉 由輸入的文字串中,經由構詞規則將這些詞結合出來,這般構出的詞如同比對詞 典的動作。由此模組構出的詞,會留下其構詞的結構,以便後級的模組使用。在 此級分別分為(1)定量複合詞構詞單元(包含有「定量複合詞」、「數詞定詞」、「數 量定詞」、「時間詞」、「地方詞」)、(2)重疊詞構詞單元,示意圖如下:

輸入字串

定量複合詞 構詞單元

重疊詞 構詞單元 定量複合詞構詞規則

構詞規則詞集合詞典

重疊詞構 詞規則

構出祠

斷詞單元

圖 2-2:前置構詞單元示意圖

(3)詞典及外掛詞典:

由於中文斷詞的方式是將輸入的文字和詞典進行搜尋比對,詞典的好壞會 直接影響到「斷詞單元」的斷詞結果。我們先對詞典作了增減修正動作,將過於 合詞的詞自詞典中刪除,目前中文斷詞器詞典的詞數統計如下表 2-1

詞典詞數統 詞數 表 2-1: 計表

一字詞 13,110 二字詞 64,886 三字詞 26,042 四字詞 16,066

五字詞 999

六字詞 155

七字詞 65

八字詞 9

總計 121,332

除此之外,如有遇到特定使用環境的時候,會遭遇到輸入文句有許多的特 殊詞,我們可以藉著新增這些詞於外掛詞典,解決特殊詞的斷詞。

(4)斷詞單元:

此單元是中文斷詞器的核心部份,目的是將輸入的字串做適當的斷詞。此 單元分為兩大步驟(1)建立候選詞組(2)挑選候選詞組。建立候選詞組是將輸入的 文字串利用詞典、外掛詞典以及前置構詞單元構出的詞,以 Matching Algorithm 找出所有可能的詞串組合。然而,這些所有可能的詞串組合只有一組是適當的斷 詞結果,所以必須經由一些規則或是統計的方法,挑選候選詞組,選定最適合的 詞串。在此我們沿用中研院提出的六條斷詞規則,這些規則分別是(1)長詞優先 (2)標準差小的優先(3)附著語素最少者優先(4)候選詞組中定量複合詞字數和最

少者優先(5)一字詞詞頻最高者優先(6)總詞頻最高者優先,最後再加上第七條規 則,以防經過六條斷詞規則仍不能選出詞組,規則為將任意選擇候選詞組中的任 一個詞組的第一個詞作為斷詞結果輸出。「斷詞單元」是最前級的分詞單元,之 後的「詞綴構詞單元」、「詞類標記單元」和「文字正規化單元」皆是利用此單元 的斷詞結果再做處理。

(5)詞綴構詞單元:

經由斷詞單元斷出的詞串當中,仍然含有前置構詞單元尚未構出的衍生 詞,這些衍生詞也是無法窮舉於詞典,所以經過斷詞單元,這類衍生詞會被斷為 詞。但是我們所需要的是以語音合成為考量的斷詞器,因此這類衍生詞不應該 被斷開,我們希望能藉由「後置構詞單元」將這類衍生詞構出,如詞綴、人名等 未知詞。因此我們於斷詞單元後設計「詞綴構詞單元」,藉由「斷詞單元」輸出 的資訊,來將詞綴衍生詞構出。而至於人名等未知詞留待未來在做處理。詳細的

「詞綴構詞單元」設計於第三章有詳細說明。

)詞類標記單元:

有了斷完詞的詞串,而中文的詞有時具有多種詞類(Part of speech, POS),

因此還需對這些詞串找到其最適當的對應詞類,目前採用的「詞類標記單元」,

為沿用江振宇用《中研院平衡語料庫 3.0 版》所建立的「詞類雙連文模型」,應 用 Viterbi-search 給予斷出的詞串最佳的詞類標記串。

(7)文字正規化單元:

,有時會有阿拉伯數 程稱為文字正規化,此模組利用 短

(6

以語音合成為考量的中文斷詞器,在輸入的文句之中 字、詞或符號必須由書寫法轉為語音讀法,此過

斷詞單元及前後構詞單元留下的詞結構進行文字正規化,舉例來說「90‧5%」

正規化單元,針對了 以下幾種情形做正規化動作:

(a) 英文字母部份:TEL、FAX、AM、PM、30cm、100kg 等 (b) 符號部份;90.5%、2007/12/25、19.6 等

(c) 數字加單位部份:100 公斤、1 月 1 日、2007 年等 針對以上情形定出數字、符號的發音方式及發音順序。

(8)輸出單元:

此單元為輸出韻律產生器所需要的語言參數:詞、詞類和音碼。

應該將寫法轉為語音讀法「百分之九十點五」。目前的文字

第三章 破音字前處理及詞綴構詞規則之設計

目前的中文斷詞器多是以利用構詞規則將含有某種特性的詞構出以及查詢 大量詞彙構成的詞典這兩部份將一句文句斷為若干個分詞。但是在這當中,給予 每個字基本音節的資訊已被詞典以及規則表兩者限制住。然而中文有許許多多的 字是具有一字多音的特性,因此會導致斷詞器斷出的詞,其中字的基本音節不符 合文句所要闡述的意義,這樣合成出來的語音聽起來會使人不舒服。所以正視破 音字的問題是必然的。

交通大學語音處理實驗室現階段的中文斷詞器[1]已將定量複合詞和重疊詞 兩類具有明顯規則的詞,設計一前置構詞單元,輔助這類無法完全收錄至詞典的 詞,避免這類詞被切分為一個一個的字。這部份的工作可在「分詞標準」三級中 的第一級完成。但是還有些可以依規則構成的詞,例如:副總統、副會長、副班 長、副廠長;大人們、家長們、小孩們、老師們等這類由中研院提出的“詞綴、

接頭 / 接尾詞參考表"中由某個雙音節的詞緊接一個單音節的詞綴所衍生出的 詞,這類型的詞可由後置構詞單元來構成,可於「分詞標準」的第二級完成。底 下分兩小節來個別詳細說明破音字前處理以及後置構詞單元之詞綴構詞單元。

3.1 破音字前處理之說明

國語語音部份,常會有一字多音的情形,這類文字我們統稱為“破音字"。

破音字在國語語音合成系統中,易造成混淆使得系統合成出的發音與口語發音不 符,造成人聽覺的怪異感,因此針對破音字的問題做研究,對國語語音合成系統 是有其必要性的。

首先第一步需了解國語中有哪些字是破音字,我們參照教育部國語推行委員

會所制定的國語辭典當中,所審定的《國語一字多音審定表》[6]建立初步的破 音字表,此表總收錄的破音字共有 4253 個。但這 4253 個破音字當中,有許多的 古字,或是有許多的破音字只在古文當中才被使用到,這對於現今的口語習慣當 中甚少使用,因此我們並不收錄這些文字於我們所需處理的破音字當中,我們僅 只針對現今口語及書寫經常會用到的文字做處理。

依此方向作“破音字表"的收錄,我們從 4253 個字刪減至 896 個字,但仍 然過多,因此我們再針對某些破音字只有在特定的詞當中才會發生,我們將此類 破音字的詞,收錄至我們國語詞典當中,以利事後斷詞時,能使斷詞的標音正確 無誤且正規。例如:《單》通常音【ㄉㄢ】,但當作地名或姓氏時常音【ㄕㄢˋ】。

而表匈奴首領一詞《單于》音【ㄔㄢˊ ㄩˊ】。因此我們再針對此類情形,將 大部分僅止某些詞的破音字,收錄至詞典並對我們現有的國語詞典做修正。至於 姓氏方面的單字破音字如:《曾》通常音【ㄘㄥˊ】但當做姓氏的時候音【ㄗㄥ】,

此類姓氏暫時未做處理,留待未來斷詞器收錄姓氏的外掛詞典來處理。依此方向 下來,我們更進一步從 896 個破音字當中節錄 126 個,修正紀錄如下:

表 3-1-1:依破音字修正詞典紀錄節錄 編號 國字 注音 註解

1 上 ㄕㄤˇ 字典一字詞收錄為 (ㄕㄤˋ)

“上聲"一詞(詞典已有) 將"平上去入"加入四字詞中 2 乘 ㄕㄥˋ 字典一字詞收錄 (ㄔㄥˊ)

其餘標記為 (ㄕㄥˋ)的詞皆已納入辭典,如:萬乘 之國、大乘、小乘等

3 仇 ㄑㄧㄡˊ 辭典一字詞收錄為 (ㄔㄡˊ)、姓氏 4 任 ㄖㄣˋ 姓氏,納入詞典中

合成:ㄖㄣˋ

辨識:ㄖㄣˊ and ㄖㄣˋ 皆標註 5 估 ㄍㄨˋ 二字詞詞典已有"估(ㄍㄨˋ)衣"一詞

三字詞詞典新增"估(ㄍㄨˋ)衣舖"一詞

表 3-1-2:常用破音字表節錄

編號 國字 讀音 說明

1 中 ㄓㄨㄥ 中央、中國、中學、中立 ㄓㄨㄥˋ 中的、中毒、中意

2 乾 ㄑㄧㄢˊ 乾卦、乾坤、乾乾

ㄍㄢ 餅乾、乾杯、乾淨、乾脆

3 了 ㄌㄧㄠˇ 了結、了解、了不起、受不了 ㄌㄜ․ 「做完了!」、「這就難怪了!」

4 供 ㄍㄨㄥ 口供、供給

ㄍㄨㄥˋ 供品、供奉

5 便 ㄅㄧㄢˋ 方便、便利

ㄆㄧㄢˊ 便宜、便辟、大腹便便

6 倒 ㄉㄠˇ 倒閉、跌倒、倒塌、顛倒 ㄉㄠˋ 倒影、倒轉

7 假 ㄐㄧㄚˇ 假借、假裝

ㄐㄧㄚˋ 假期、放假

8 傍 ㄅㄤˋ 依山傍水、依傍

ㄅㄤ 傍晚、傍午

9 傳 ㄔㄨㄢˊ 傳單、傳神、傳染

ㄓㄨㄢˋ 左傳、傳記

… … … …

58 暈 ㄩㄣ 頭暈眼花、暈車、暈倒 ㄩㄣˋ 月暈、燈暈、酒暈、血暈

… … … …

83 種 ㄓㄨㄥˇ 種子、種類

ㄓㄨㄥˋ 種田、接種

… … … …

表 3-1-1 是說明我們依照上述刪減某特定的破音字,對詞典做修正的紀錄,表 3-1-2 是常用破音字表的節錄,此兩表完整的內容請詳閱附錄 1、2。

完成破音字表,對於未來研究所需使用的 Treebank 文字資料庫也要做處 理,此語料庫並未經過斷詞,所以我們利用江振宇的中文斷詞器[1]做斷詞之後 再加以修正,此語料庫約十二萬字,修正記錄在此不贅述,詳閱附錄 3。

3.2 詞綴構詞單元之設計

中研院提出的中文資訊處理分詞規範所提及的層次劃分當中,依電腦自動 化處理分詞的難易程度及實際使用情況,分信、達、雅三級,(1)信級;凡是收 錄在標準詞典的詞一律斷開,(2)達級:能以構詞律組合出來的詞在達級合併,

(3)雅級:無法完全收錄至詞典中的詞在雅級合併。但是在語音合成的角度而言,

對於分詞的標準不盡與資訊處理的標準相同,這於第二章中文斷詞器概述的起頭 就有提到,於是我們也採用了我們以語音合成角度所提出的分詞標準。在江振宇

對於分詞的標準不盡與資訊處理的標準相同,這於第二章中文斷詞器概述的起頭 就有提到,於是我們也採用了我們以語音合成角度所提出的分詞標準。在江振宇

相關文件