• 沒有找到結果。

由 confusion matrix 分析台語入聲調

第四章 台語入聲調特性分析與改進方法

4.1 由 confusion matrix 分析台語入聲調

第四章台語入聲調特性分析與改進方法

在台語辨識系統跟國語辨識系統最大的不同在於,台語辨識系統中辨認單元 中含有聲調部分,也就是台語中的入聲調有加入辨認單元中,使的變調的問題會 影響到辨識率。接下來我們分析入聲調對於辨識系統的影響。

4.1 由 confusion matrix 分析台語入聲調(Entering tone)

在之前 2.2 章節入聲韻母特性中提到,促聲韻母(h)在其他音節之前會掉 落,掉落的促聲韻母自然使聲調變回舒聲。以下我們根據 confusion matrix 分 析,觀察是否有此現象發生。

由觀察 confusion matrix 中發現 ,{ai,aih},{au,auh},{ui,uih},

{oe,oeh},{iu,iuh},{iau,iauh}無論 inside test 或 outside test 完全都沒 有 confusion 的情況發生,也就是說 ai 不會變是成 aih,aih 也不會辨識成 ai。

但這六組由於促聲韻母出現次數不多(aih 出現 18 次, auh 出現 4 次, uih 出現 18 次, oeh 出現 53 次, iuh 出現 18 次, iauh 出現 18 次),使的訓練出來的聲學 模型不是很可靠,而無法確定是否與語言學上說的有所矛盾。

接著我們將 entering tone 分為 8 組,分別為{a,ah,ak,ap,at },{e,eh,ek},

{i,ih,ip,it},{ia,iah,iak,iap,iat},{io,ioh,iok},{o,oh,ok,op,ou},

{oa,oah,oat},{u,uh,ut}並觀察其相互辨識關係。

我們在表格中 O.D:表示分析 Outside data 得到的結果, I.D:表示分析 Inside data 得到的結果,左邊表示我們欲辨認的單元,上方表示辨識為何種單 元。

在表格 4.1 中,我們可以看到比較容易 confusion 的情況是{a,ah},只 討論 substitution 的情況下,我們可以發現 subsyllable {a} 在 inside test 中,發生 substitution 的總數為 1656 次,而被 subsyllable{ah}取代的次數為 550 次,如此一來,我們可以發現 subsyllable{a}有被取代的情形發生時,有

33.3%是被 subsyllable{ah}所取代。 Outside test 情況中有 33.1%是被 subsyllable{ah}所取代。

而 subsyllable {ah}在有被取代的情形發生時,在 inside test 中,有 53.8

%被 subsyllable {a}所取代,outside test 中,有 42.4%被 subsyllable {a}

所取代。

表格 4.1 入聲韻母與基本韻母之相互辨識關係一

Ref a ah ak ap at other O.D I.D O.D I.D O.D I.D O.D I.D O.D I.D O.D I.D a 479 4828 166 550 46 111 0 4 8 20 282 971 ah 78 422 284 2045 12 70 0 5 2 13 92 316 ak 16 13 16 6 22 676 0 0 3 2 13 38 ap 1 0 1 0 1 0 1 259 0 0 11 3 at 8 8 1 1 6 0 0 0 1 345 9 9

表格 4.2 中,可以看到比較容易 confusion 的情況是{e,eh},subsyllable {e}

在有被取代的情形發生時,在 inside test 中,有 41%被 subsyllable {eh}所 取代,outside test 中,有 32.1%被 subsyllable {eh}所取代。

而 subsyllable {eh}在有被取代的情形發生時,在 inside test 中,有 82.1%

被 subsyllable {e}所取代,outside test 中,有 75.7%被 subsyllable {e}

所取代。

表格 4.2 入聲韻母與基本韻母之相互辨識關係二 Ref e eh ek other

O.D I.D O.D I.D O.D I.D O.D I.D e 894 8767 78 448 1 7 164 638 eh 88 266 45 1111 0 0 22 58 ek 8 5 0 0 1 301 29 18

表格 4.3 中,可以看到比較容易 confusion 的情況是{i,it},subsyllable {i}

在有被取代的情形發生時,在 inside test 中,有 66.8%被 subsyllable {it}

所取代,outside test 中,有 57%被 subsyllable {it}所取代。

而 subsyllable {it}在有被取代的情形發生時,在 inside test 中,有 67.1%

被 subsyllable {i}所取代,outside test 中,有 51%被 subsyllable {i}所取 代。

表格 4.3 入聲韻母與基本韻母之相互辨識關係三 Ref i ih ip it other

O.D I.D O.D I.D O.D I.D O.D I.D O.D I.D i 832 8598 2 10 0 2 183 1248 136 608 ih 5 5 3 302 0 1 5 3 9 4 ip 10 1 0 0 0 201 13 1 2 0 it 86 438 0 0 0 2 86 3697 83 213

表格 4.4 中,可以看到比較容易 confusion 的情況是{ia,iah},subsyllable {ia}在有被取代的情形發生時,在 inside test 中,有 22.9%被 subsyllable {iah}

所取代,outside test 中,有 21.3%被 subsyllable {iah}所取代。

而 subsyllable {iah}在有被取代的情形發生時,在 inside test 中,有 30.1

%被 subsyllable {ia}所取代,outside test 中,有 35.6%被 subsyllable {ia}

所取代。

表格 4.4 入聲韻母與基本韻母之相互辨識關係四

Ref ia iah iak iap iat Other O.D I.D O.D I.D O.D I.D O.D I.D O.D I.D O.D I.D ia 70 1444 22 74 0 0 0 0 0 0 81 249 iah 32 34 86 1077 0 0 0 0 1 2 57 77 iak 1 0 2 0 0 60 0 0 0 0 0 0 iap 1 0 5 1 0 0 0 176 0 0 4 0 iat 0 0 0 0 0 0 0 0 1 248 18 13

表格 4.5 中,可以看到比較容易 confusion 的情況是{io,ioh},subsyllable {io}在有被取代的情形發生時,在 inside test 中,有 17.9%被 subsyllable {ioh}

所取代,outside test 中,有 39%被 subsyllable {ioh}所取代。

而 subsyllable {ioh}在有被取代的情形發生時,在 inside test 中,有 36.5

%被 subsyllable {io}所取代,outside test 中,有 48.6%被 subsyllable {io}

所取代。

表格 4.5 入聲韻母與基本韻母之相互辨識關係五 Ref io ioh iok other

O.D I.D O.D I.D O.D I.D O.D I.D io 86 1265 44 28 0 6 69 122 ioh 34 57 52 1105 0 2 36 97 iok 3 2 0 1 8 368 12 9

這組跟前面幾組比較不一樣,比較特別的地方在於 subsyllable{o,ou}之間 confusion 的情形跟 subsyllable{o,oh,ok,op}基本韻母與入聲韻母之間

confusion 的情形更為嚴重,如表格 4.6 所示。

Subsyllable{o}在有被取代的情形發生時,在 inside test 中,有 6.21%

被 subsyllable {oh}所取代,卻有 48.7%被 subsyllable{ou}所取代,outside test 中,只有 4.5%被 subsyllable {oh}所取代,卻有 41.5%被 subsyllable{ou}

所取代。

Subsyllable{oh}在有被取代的情形發生時,在 inside test 中,有 16.1%

被 subsyllable {o}所取代,有 27.9%被 subsyllable{ou}所取代,outside test 中,只有 34.9%被 subsyllable {o}所取代,有 18.6%被 subsyllable{ou}所取 代。

Subsyllable{ou}在有被取代的情形發生時,在 inside test 中,有 45.0%

被 subsyllable {o}所取代,outside test 中,有 33.9%被 subsyllable {o}

所取代。

表格 4.6 入聲韻母與基本韻母之相互辨識關係六

Ref o oh ok op ou Other O.D I.D O.D I.D O.D I.D O.D I.D O.D I.D O.D I.D o 90 2335 7 46 1 14 0 0 64 361 82 320 oh 20 19 7 730 1 3 0 0 11 33 27 63 ok 3 8 0 2 3 468 0 0 8 6 16 19 op 0 0 0 0 0 0 0 18 0 0 0 0 ou 136 482 23 66 9 38 0 0 332 3997 145 484

表格 4.7 中,基本韻母與入聲韻母之間 confusion 的情形沒那麼明顯。

表格 4.7 入聲韻母與基本韻母之相互辨識關係七 Ref oa oah oat other

O.D I.D O.D I.D O.D I.D O.D I.D oa 191 2137 3 2 2 6 61 181 oah 27 2 2 385 0 2 11 10 oat 11 2 0 0 6 337 4 11

表格 4.8 中,基本韻母與入聲韻母之間 confusion 的情形也沒有很明顯。

表格 4.8 入聲韻母與基本韻母之相互辨識關係八 Ref u uh ut other

O.D I.D O.D I.D O.D I.D O.D I.D u 295 2997 0 0 5 34 87 176 uh 0 1 0 5 0 0 0 0 ut 11 11 0 0 28 630 21 12

綜合以上結果,我們可以清楚的知道容易產生 confusion 的組別有{a,ah}、

{e,eh}、{i,it}、{ia,iah}、{io,ioh}、{o,ou}。與語言學中提到的促聲韻母(h) 在其他音節之前會掉落,掉落的促聲韻母使聲調變回舒聲互相驗證。

接著我們把訓練語料與測試語料文字檔作修改,根據語言上的變調規則,將 需要變調的促聲韻母都改成基本韻母的音節,train data 總共修改了 6147 個 subsyllable,各 subsyllable 修改的比例如圖 4.1,Outside test data 總共修 改了 702 個 subsyllable,各 subsyllable 修改的比例如圖 4.2。

表格 4.9 修改促聲韻母後的辨識率 音節總數

(N)

Sub(%) Del(%) Ins(%s) Recognition rate(%) Outside test 12211 45.5 3.0 2.2 49.3

接著我們根據變調規則,修改台語辨識網路,也就是讓有促聲韻母(h)的音 節只允許出現在句尾。修改辨識網路之後辨識率如表 4.10。

表格 4.10 修改辨識網路後的辨識率 音節總數

(N)

Sub(%) Del(%) Ins(%s) Recognition rate(%) Outside test 12211 44.3 2.9 2.6 50.2

辨識率提升了 3%,我們可以發現台語入聲調變調在辨識系統中,對於辨識 率的影響,是一個很大的問題點。

4.2 利用Kullback Leibler(KL)2 distance觀察入聲調 HMM confusion情形

KL distance[10]主要用來觀察兩個相異的機率分佈,你估計機率分佈P1(x) 與另一實際機率分佈P2(x)之間的相似度。P1(x),P2(x)為 Gaussian

distribution,且P1(x)的mean與variance分別為µ1、σ12,P2(x)的mean與 variance分別為µ2、σ22

從P1(x)到P2(x)的KL distance KL(P1,P2)定義為 ( 1, 2) 1( ) log 1( )

我們將HMM的每個state每個維度以一個mean與variance來近似,利用原本訓 練出來的HMM來求出要用來進似的mean與variance。新的mean與variance由以下

ˆ : mean

µ 表示新的

i:

C 表示第 個i mixtureweigh

2 2

[ i] i E x =σ +µi2

2 2

1

ˆ[ ] [ ]

n

i i

i

E x C E x

=

=

2 ˆ 2

ˆ E x[ ] - ˆ

σ = µ (4.16)

ˆ :2 var iance σ 表示新的

如此一來,我們可以比較2個HMM每個state之間相似程度,甚至2個sub-syllable HMMs之間相似度。這裡我們只比較基本韻母與入聲韻母HMM之間confusion的情 況,在未根據變調規則修改之前confusion的情況如圖4.3,以及根據變調規則作 修改之後confusion的情況如圖4.4,圖中顏色越黑代表confusion的情形越嚴重。

圖4.3未根據變調規則修改之前HMM之間confusion的情況

圖4.4根據變調規則修改之後HMM之間confusion的情況

每個state之間confusion的情況列在附件三,我們可以發現在根據變調規則修改 之後,基本韻母跟入聲韻母之間比還未修改之前confusion的情形有所改善。

4.3 將語言模型加入台語辨識器

語言模型(Language Model, LM) [11],可分為兩種,一種是依據語言的文 法、字詞的詞性,訂定一些規則使得文章出現一定要符合規則之語言模型 (Rule-Based LM);另一種則是藉由處理大量文字資料,統計出詞與詞之間的聯 接規則而建立的語言模型(Statistic-Based LM)。在本篇論文中我們採用統計式 之語言模型。

4.3.1 語言模型簡介

所有的語言都有其文法規則,利用這類文法規則可求得一個機率模型,則我 們稱此為語言模型。在進行語音辨識時,將 LM 所求的資訊結合聲音模型

建立語言模型通常是以 Word 為基本單位,而在台語中,其對應的是「詞」

為單位。原因是以「詞」為基本單位來建構會比較符合語言規則,也比較能看出 所代表的意義。例如有一個詞(Word)為「球賽」,若將這個詞拆成兩個字「球」

和「賽」(Character),在意義的表達上遠遠不及原本清楚。因此,我們會先 建立一個詞典(lexicon),詞典裡面定義了所有我們要使用的詞,以便建立 LM。

由於缺乏大量文字語料,我們無法有效統計出可靠的 word-based LM,因此 目前我們採用的 Back-off syllable bigram word-loop network,圖 4.5 為示 意圖。

圖 4.5 Back-off bigram Word-Loop Network(form HTK book[9])

其中Wi 代表音節表中第i 個syllable,Pwj|wi=P(Wj|Wi)代表syllable Wi之後 會接Wj 之機率。

4.4 辨識結果比較

在這邊我們建立 syllable unigram 和 syllable bigram 的 language model(LM),加入辨識網路中,檢視辨識率提升的情形。

我們採用的訓練文字檔,列在下面表格 4.11:

表格 4.11 syllable database

syllable 數 資料來源 標音方式

採用 syllable unigram LM 辨識網路後,調整 penalty 與 LM weight 後得到最 好的辨識結果,列在表格 4.12:

表格 4.12 Syllable unigram 辨識率 音節總數

(N)

Sub(%) Del(%) Ins(%s) Recognition rate(%)

我們可以發現,只加入 syllable unigram 之後,辨識率可達 55.1%,提升了 6%

之多,接著我們改用 syllable bigram LM 辨識網路,調整 penalty 與 LM weight 得到最好的辨識結果,列在表格 4.13:

表格 4.13 Syllable Bigram 辨識率 音節總數

(N)

Sub(%) Del(%) Ins(%s) Recognition rate(%) Outside test 12211 30.4 3.1 1.4 65.1

第五章 智慧型口語對話汽車導航系統

(Intelligent Transportation System,ITS)

接著,我們將台語語音辨識系統使用於一個實際的應用系統上,並實際操作 系統檢視成效如何。

5.1 系統簡介

系統架構圖如圖5.1所示[12]。包括即時語音辨認器,以辨認使用者的語音;

對話管理模組,做對話流程控制,以及控制大哥大與汽車導航系統和擷取資訊;

文字轉語音模組則將對話管理做出的回應轉換成語音輸出。

圖5.1 口語汽車導航系統方塊圖

5.2 架設工具與系統內部功能簡介

在圖5.1中即時語音辨認器裡使用的語音聲學模型與語言模型,我們使用英 國劍橋大學釋放出來的Hidden Markov Model Toolkit(HTK)訓練產生。HTK可 以作大字彙語音辨認,包括使用複雜的tri-phone模型,訓練tri-gram模型,也 可以作cluster-based的語言模型。架設即時語音

辨認器的部份,我們是採用同是英國劍橋大學釋放出來的Application Toolkit for HTK(ATK),如圖2.2,除了方便與HTK相容外,ATK還可以在Windows 作業環境下執行,支援多工,所以可以很方便架設一個Windows下的即時辨認器。

此外ATK還提供了辨認結果可信度(Confidence)的功能,視每次辨認結果的分 數高低附上相對應的可信度,可用來提升對話流程控制能力。

圖5.2 由ATK架設的基本即時辨認器(from Application Toolkit for HTK)

最後使用MIT釋放出來的Galaxy communicator將各模組的輸出輸入連接起 來。如圖5.3所示Galaxy communicator為一Hub-Server架構,各伺服器可獨立執 行,再透過網路連接Hub來傳遞訊息。好處是其為分散式系統,各伺服器端可在 網路上的不同機器執行,所以各伺服器端可獨立開發執行,方便多人開發系統各

最後使用MIT釋放出來的Galaxy communicator將各模組的輸出輸入連接起 來。如圖5.3所示Galaxy communicator為一Hub-Server架構,各伺服器可獨立執 行,再透過網路連接Hub來傳遞訊息。好處是其為分散式系統,各伺服器端可在 網路上的不同機器執行,所以各伺服器端可獨立開發執行,方便多人開發系統各

相關文件