第四章 台語入聲調特性分析與改進方法
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 mixture的weigh
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來傳遞訊息。好處是其為分散式系統,各伺服器端可在 網路上的不同機器執行,所以各伺服器端可獨立開發執行,方便多人開發系統各