第五章 實驗結果與分析
5.3 W ORD LATTICE 上可涵蓋的三類長詞之比較
本研究於 word/subword 語言模型之建立上,辨認辭典新增 subword 半詞之主要目 的為期望於第ㄧ級 word/subword 語言模型產生之 word lattice 上,能正確產生人名、
詞綴和數量複合詞之 subword 半詞串,進而透過第二級構詞,將此些 subword 半詞串 構回原本有意義的長詞,形成第二級新的 word lattice(這裡稱 extended word lattice),
重新統計此些新產生出來長詞之機率,在 extended word lattice 上給予語言模型分數和 聲學模型分數,最後產生第二級語言模型,基此,本研究將於下針對第ㄧ級語言模型 產生的 word lattice 進行分析,觀察 suword 半詞串併在一起可以構回原來三類長詞之 數量及其涵蓋率(cover rate)。
(1)傳統語言模型之涵蓋率
表 5-3 傳統語言模型 word lattice 上涵蓋率
詞彙分類 Test data Coverword number Cover rate
人名 219 59 26.94 %
詞綴 435 343 78.85 %
數量複合詞 409 331 80.92 %
在傳統語言模型中,被「cover(涵蓋)」於一個長詞中,意味 lattice 上的詞要整 體符合長詞,由於傳統語言模型沒有採用規則將詞拆解成 subword,故無法以 two-stage 方法於第二級將短詞構回有意義長詞。另外,在上表(表 5-3)中可發現人名涵蓋率很 低,因人名數量眾多、變化很大,而在辨認辭典中,本研究僅收錄語料出現頻率較高 的人名,所以在 TCC300 測試語料中,出現辨認辭典中未收錄的人名,將會發生辨認 錯誤,無法涵蓋到原本的人名。然而,詞綴和數量複合詞在語料中常出現的詞,即為 收錄在辨認辭典中的詞,與測試語料中的此兩類詞有較高相同度,不像人名變化型態 之多,故涵蓋率也較人名提升不少。
(2)Word/subword 混合式語言模型之涵蓋率
表 5-4 Word/subword 混合式語言模型 word lattice 三類詞涵蓋率 詞彙分類 Test data Coverword number Cover rate
人名 219 123 56.16 %
詞綴 435 401 92.18 %
數量複合詞 409 376 91.93 %
在 word/subword 混合式語言模型中,從上表(表 5-4)可發現倘若將人名、詞綴和 數量複合詞有規則地切割為較小單位的 subword 半詞串,能使 word lattice 上此三類的
現 word/subword 混合式語言模型更適用於進行第二級構詞。
表 5-5 各類第二級 subword 構詞組成數量
一個 subword 二個 subword 三個 subword 三個 subword 以上 subword 數量並不多,但供選擇的名字 subword 太多,目前僅能先將高詞頻的名字半 詞優先選入辨認辭典,往後如果可有技巧地針對此方面半詞來收錄,使得所收錄的三
更為明顯,由於人名拆解後之名字 subword 較不具一般常見詞特性,大多僅出現於人 名之中,因此,倘若能以規則性方式將人名拆解為 subword,將常見之名字 subword 收錄至辨認辭典內來進行辨認,進而由第二級構詞構回完整人名,該方法之辨識效能 將會優於僅在辭典內收錄常見人名之方法。
另一方面,詞綴、數量複合詞兩類本身較具有一般詞之特性,故於語料之出現頻 率較高,尤以詞綴最為明顯,其大多數的詞出現於次序 45,000 之內,以長詞形式存在,
故許多該類詞均不須拆解成 subword 半詞串,也因如此,由 subword 半詞串構詞回有 意義的長詞之數量較少。
另外,針對語料庫未出現的人名利用名字半詞進行涵蓋,如下表(表 5-7)所示:
表 5-7 名字 subword 對語料中未出現人名的涵蓋情況 詞條數量
實驗室收集的人名 414,241
名字半詞 次序 45,000 內 14
次序 45,000 外 3068
語料庫未出現的人名 總數量 308,696
可涵蓋數量 22,266
在人名方面,人名將會被拆解為姓氏和名字兩種 subword 半詞,由於名字 subword 數量、詞條眾多,無法完全收錄於辭典內,故目前僅將名字 subword 中出現頻率較高 者優先收錄之,共約 3068 個。而由上表(表 5-7)可知,本研究之研究實驗室所收集中 文人名詞條數量共有 414,241 條,然而,並非所有收集的中文人名詞條均會出現於語 料文章中,故進一步來觀察將這些未出現者(詞條數為 308,696 條)透過辨認辭典所收集 的名字半詞可涵蓋詞條數,可得涵蓋詞條數量為 22,266 條,約佔語料庫未出現人名之 總數量 7.21 %,使用較長的名字半詞所涵蓋數量有限。
lattice 上所有可能路徑需要的節點,如下表(表 5-8)所示。
表 5-8 構詞結果分析
人名 詞綴 數量複合詞 總計
Word lattice 總構詞數 18246 5241 357482 380969
TCC300 測試語料 219 435 409 1063
於上表(表5-8)可得知,第二級構詞將會產生許多數量複合詞此類長詞,然而,在 辨認上之最佳路徑,最佳路徑大多不會通過此類節點,在TCC300測試語中實際數量 複合詞比例僅約有0.001144,相較於其他類別來說,其使用比例相當低,構詞後所付 出代價較高,因過分構詞而導致辨認錯誤的風險也相對提高。
因此在 word lattice 上若把可以構詞的半詞串全數構出長詞,將會發生「過份構詞」
的現象,原先第一級混合式語言模型辨認正確的詞,再經過第二級構詞模組後,產生 的新路徑分數會因為 word penality 的加入或計算語言模型分數的處理不足,使得原本 正確的詞經過第二級分數配置後,構詞新產生的路徑分數超越正確的路徑,過分構詞 的詞反而在第二級語言模型進行辨認時被凸顯出來,反而造成辨認錯誤。
基此,往後或許於第二級構詞時,可透過建立有句法結構限制的構詞模型方式,
藉此更精確地來偵測需要構詞之人名、詞綴、數量複合詞和 OOV,再來進行構詞,即 使用更多資訊以將需要構詞之半詞串偵測出來,減少太多不必要之構詞,避免產生過 多構詞,希望降低過分構詞導致錯誤辨認結果之影響性。
5.5 理想上最佳辨認效能
辨識結果指的是 word lattice 上分數最高的ㄧ條路徑,然而,辨識出的詞並非全為 正確,其中亦可能出現因辭典中並未收錄導致辨認錯誤之現象,或者發生辭典有收錄,
word lattice 上亦有出現,卻因在 word lattice 上須和其他相近音詞相互競爭而造成分數 落後而導致辨認錯誤,由此可知,語料庫文章前處理之方式,將會對於連接詞的路徑
分數和辨認效能造成相當大的影響。基此,研究者於本小節針對最大辨識效能進行討 論,換言之,倘若 word lattice 上之正確長詞均能同時在最佳路徑上出現,並能相互串 接,此路徑將為 word lattice 上之最理想路徑,理想上最佳的詞辨識效能,藉此呈現當 前語音辨認結果之改善空間,往後進而探討如何提升 word lattice 上正確詞之路徑分數。
A : 傳統語言模型
B : Word/subword 混合式語言模型,將人名、詞綴和數量複合詞構回長詞
C : Word/subword 混合式語言模型,將人名、詞綴、數量複合詞及 OOV 構回長詞 表 5-9 Word lattice 上的最佳路徑比較
分類 Deletion Substitution Insertion Accuracy Total count
A 70 1796 1378 76.99 % 14098 B 54 1612 1143 80.08 % 14098 C 56 1213 607 86.69 % 14098
由上表(表 5-9)可知,在 A 和 B 兩者相互比較後可發現,僅針對人名、詞綴和數 量複合詞三類在第二級進行構詞後,將三類 subword 半詞串構回有意義長詞,此與辭 典不收錄 subword 半詞來進行構詞的傳統語言模型相比較,最佳辨識率上最多可提升 3.07 %的詞辨識效能;更進一步觀察,如果能把為了減少 OOV 而將此些不在辭典內即 拆成短詞串的詞也一併加入第二級構詞後,如同 A 和 C 的比較結果,詞之辨識效能將 可擴大範圍至 9.7 %,強化了構詞模組之效果,可使詞辨識效能更佳。
5.6 辨識效能比較
以下針對傳統式語言模型、第一級混合式語言模型和階層式第二級語言模型之字 元及詞辨識效能進行比較,如下表(表 5-10、表 5-11)所示:
其中,
三類構詞(一):數量複合詞內部機率(intra probability)使用 subword bigram 機率模型 三類構詞(二):數量複合詞內部機率(intra probability)使用 FSM 的狀態轉移機率模型
表 5-10 字元(character)辨認效能比較
Deletion Substitution Insertion Accuracy Total count 傳統語言模型 365 6121 101 75.16 % 26472
Deletion Substitution Insertion Accuracy Total count 傳統語言模型 465 4105 948 60.86 % 14098
由表 5-10 與表 5-11 可知,字元與詞的辨識效能在第二級語言模型在僅受 word penality 時均有能所提升,而在改變語言模型分數後,字元辨識上有些微的下降,但在 詞辨認上有亦著明顯的改善,下ㄧ小節將對於辨認結果加以細部分析,觀察各類局部 現象並加以說明。
5.6.1 辨識結果之細部剖析
在辨認結果中針對人名、詞綴及數量複合詞進行分析,並以 TCC300 測試語料作 為比對的依據,觀察在傳統式做法和本研究所提出之方法對於此三類詞在辨認上的影 響並進行說明。
首先,針對 TCC300 測試語料、傳統式語言模型辨認結果及第二級語言模型(階層 式語言模型)辨認結果中的人名、詞綴和數量複合詞予以統計,來得知此三類詞在不同 語言模型辨認出現的情況,分布情況如下表 5-12 所示。
表 5-12 辨識結果中各類所佔總數量
人名總數量 詞綴總數量 數量複合詞總數量
TCC300 測試語料 219 435 409
傳統式語言模型 57 378 419
第二級語言模型 274 503 563
各類增加數量4 217 125 144
在上表(表 5-12)中,可發現傳統式語言模型辨識出人名和詞綴的數量較低,特 別是在人名此部分上,遠低於 TCC300 測試語料中存在之人名數量,這是由於傳統式 語言模型的辨認辭典有大小限制(約可收錄六萬詞條),辭典中僅能收錄到高詞頻的人 名,如果測試語料出現該辭典未收錄之人名,則無法正確辨識出此完整人名,因而凸 顯出傳統式語言模型因辭典大小受限而影響辨識效能的缺點,有鑑於此,故在本研究 提出階層式語言模型來克服此問題。
第二級語言模型辨認出三類詞的數量來觀察,亦可發現數量均超過 TCC300 測試語料 建立階層式語言模型時,會在 word lattice 使用 subword 半詞進行構詞,讓 word lattice 上產生許多可為人名的節點,再透過對路徑分數的重新配置,讓這些人名可被正確地 辨識出來,但往往為了將該類別的詞凸顯出來而分數給予過高,使得不該辨識為人名 的地方反而出現人名,而相對地造成辨識上的錯誤,造成此類錯誤數量為 134 個。
5 總數量;指表 6-12 之各類總數量
為了增加人名的辨認效能(C 類)或減少辨認上的錯誤(A 類或 B 類),或許可以試著 在分數配置時加入一些限制,如:稱謂、尊稱等相關詞來更強化人名附近的分數配置,
使得該出現人名地方能被加強,使得人名辨識程度能再往上提升。
5.6.1.2 詞綴
表 5-14 詞綴辨認情況
A B C
傳統式語言模型 130 68 305
第二級語言模型 88 145 347
第二級語言模型 88 145 347