行政院國家科學委員會專題研究計畫 成果報告
子計畫一:無線通訊環境下國語語音之分散式辨認(3/3)
計畫類別: 整合型計畫 計畫編號: NSC91-2219-E-002-035- 執行期間: 91 年 08 月 01 日至 92 年 07 月 31 日 執行單位: 國立臺灣大學電信工程學研究所 計畫主持人: 李宇旼 計畫參與人員: 吳承晃、王柏淵、何維鴻、黃婉甄、徐禎助、陳彥倫、陳鼎堯、 蔡昇甫、陳厚昕、陳禮鈞、黃燦煌、王佐 報告類型: 完整報告 處理方式: 本計畫可公開查詢 中 華 民 國 93 年 2 月 22 日第一章 緒論
1.1 研究主題和動機
無線通訊的興起,滿足了人們隨心所欲,隨時隨地交流訊息,傳遞 資訊的渴望:例如,不管走到那裡,你都可以和好朋友們交換心情 ;在緊急事件的當下,透過無線通訊,我們也可以掌握到最快、最 新的資訊。而通訊技術不斷地進步,使得我們不但可以利用無線網 路進行對談,也可以透過它連上網際網路,來存取想要獲得的資訊 。例如,你可能想要隨時下載在你的電子信箱中的郵件;或是當你 在會議進行中,發現有某一筆文件忘了帶,你可以透過行動電話呼 叫家中的電腦為你傳送過來。此外,無線通訊即將邁入一個新的進 程--第三代行動通訊,其提供的頻寬,可以讓我們享受許多多媒 體的服務,屆時,我們可以利用行動電話下載許多的影音資訊,不 需要個人電腦和網路線,一樣可以存取網際網路上的資源。但是有 一個問題隨之而來,那就是:我們勢必要對行動電話下很多複雜的 指令;但是行動電話的體積為了可攜性,方便性的緣故是愈做愈小 ,也就是說,我們可以在行動電話上安排輸入的按鍵數目將愈來愈 少,未來在功能增多情况下將不敷使用。另外,行動電話鍵盤的設計,本來是用來輸入電話號碼,但在進入高頻寬的第三代行動通訊 的時代後,行動電話的角色將不只是通話的工具,為了要應付更多 更複雜的指令,原先的鍵盤設計不能符合新的用途。所以尋找一個 方便,快速又能處理繁雜指令的輸入介面,是我們所關注的。而利 用語音作為輸入介面不啻為一個好方法:語音輸入符合了我們上述 方便、快速的原則;同時,由於語音辨識的技術漸趨成熟,對於連 續數字(Digit String)的辨識已有讓人相當滿意的成果,大字彙連 續語音辨識(Large Vocabulary Continuous Speech Recognition, LVCSR)的結果亦逐步改善中--因此我們可以利用語音來處理繁 雜的指令。 根據上面所描述,若採用語音做為新的輸入介面,許多衍生的問題 也隨之發生:行動電話的體積太小,其計算能力以及儲存用的記憶 體將嚴重受限,使得我們若要在行動電話上處理整個語音辨識的程 序是有困難的。我們可以使用一部可以負荷語音辨識計算量、記憶 體可以容納辨識所需的資訊的遠端伺服器幫助呼叫辨識服務的用戶 處理辨識程序,也就是說,我們要把繁複的語音解碼工作分散在伺 服器端和行動電話用戶端兩者之間。那麼,我們該如何在整個系統 配置整個音辨識的工作呢?又,當我們配置整個語音辨識工作,意
味著我們必須透過無線通道的環境傳送某些資訊:這些資訊在無線 通道中勢必受到各種雜訊的干撓,包括無可避免在電子儀器中的白 色雜訊(White Noise)、因多通道衰減(Multi-Path Fading)造成 的群集錯誤(Burst Error)等等。在以上所述的條件底下,語音的 辨識正確率將會受到多大的影響?有什麼可以改善錯誤的方法?以 上的問題,在語音辨識研究的領域中已成為一個新興的主題,稱作 分散式語音辨識(Distributed Speech Recognition),而本報告也將 針對分散式語音辨識所要面對的問題做一些探討。
1.2 語音辨識的基本說明
在介紹分散式語音辨識系統前,我們先對傳統的語音辨識系統架構 做個描述。如圖1.1及圖1.2所示,語音辨識的流程可以分成 二大階段,第一個階段是訓練階段,第二個階段是辨識階段;而每一 階段都可以分成二個部分,第一個是聲學特徵部分,第二個是模型 參數部分。抽取聲學特徵的原因在於:對於辨識相關的資訊大部分 在某些頻譜相關的係數上,我們只須取出該部分資訊即可。其中梅 爾倒頻譜係數(Mel-Frequency Cepstral Coefficient,MFCC)由於在雜訊環境下是個夠強健的語音特徵抽取法,是最常被使用的方 法。梅爾倒頻譜係數的抽取方式如圖1.3所示,語音信號先經過 預強調(Pre - Emphasize)加強信號在高頻易受噪音干擾的部份 ,接著經過漢明窗(Hamming Windowing)使語音信號有短時穩定 (Short-Time Stationary)的特性;利用 FFT 把信號轉到頻譜領 域後,以梅爾濾波器組(三角形)取出各個共振峰的資訊,然後取 對數得到聲帶濾波器的係數,再取 IDCT 得到梅爾倒頻譜係數。另 外,有些研究也使用線性預估倒頻譜係數(Linear Predictive Cepstral Coefficients,LPCC)來做為特徵參數,如圖1.4,這 個方法是先將語音信號做線性預估分析(Linear Predictive 訓練語料 特徵抽取 模型訓練 語料文字內容 模型參數 圖1.1 訓練階段 辨識語料 特徵抽取 模型辨識 模型參數 辨識結果 圖1.2 辨識階段
Analysis)得到線性預估係數(Linear Predictive Coding Coefficients,LPC),再轉到反頻譜領域。這兩種方法在本報告 中都將討論到。而在模型的部分,在第一階段中,對於每一個想要 預 強 調 預 強 調 漢 明 窗漢 明 窗 D FTD FT 梅 爾 濾 波 器 組 梅 爾 濾 波 器 組 取 對 數取 對 數 ID CT ID CT 成 份 選 擇 成 份 選 擇 語 音 特 徵 語 音 信 號 圖 1 . 3 梅 爾 倒 頻 譜 係 數 的 求 法 語音訊號 線性預估 編碼分析 線性預估 編碼分析 LPC係數 殘 餘信號 (Residual Signal) 圖1.4 線性預估編碼係數的求法 轉倒頻 譜領域 轉倒頻 譜領域 LPCC 係數
,詞(Word),都可以建立一個隱藏式馬可夫模型(Hidden Markov Model),而每個模型的參數,則由訓練語料中求得;而在第二階段 中,我們就使用第一階段中所得到的模型來做辨識。簡單的說,辨 識就是根據所收到的語音信號,利用前面所找出的模型來做評分, 分數最高者就選定該模型所代表的單位為最後的辨識結果。
1. 3 分散式語音辨識的相關問題
分散式語音辨識的問題如前面所述,在用戶端所使用的行動電話有 功能上的限制,要直接在行動電話上處理整個語音辨識的工作是有 困難的。因此我們必須把語音辨識的架構給“分散”在伺服器端以 及用戶端。如何配置就是顯而易見的第一個問題。另外,整個系統 是架構在無線網路的環境中:在無線傳輸中,我們必須考慮頻寬的 限制,因此我們必須選擇對語音辨識有所幫助的資訊來做傳輸,甚 至必須對這些資訊作壓縮,才能夠有效的節省頻寬。另外,無線通 道會帶給訊號錯誤,這些錯誤將導致辨識正確率的下降;我們必須 建立錯誤更正的機制,才能使語音辨識的工作不受通道環境造成的 錯誤的影響。另外,由於行動電話使用的環境具有許多的背景雜訊,例如:嘈雜的人聲,汽車的引擎聲等,這些會造成語音辨識正確 率下降的因素,仍然存在於分散式語音辨識系統中。以上所述都是 目前最被熱烈討論,有關分散式語音辨識的問題。
1. 4 研究主題和主要成果
在這篇報告當中,我們將探討上一章節所提出的幾個問題:首先針 對分散式語音辨識系統配置的問題,我們將比較兩個最常使用的架 構--主從式(Client-Server)架構以及純主式(Server-Only) 架構;我們會對兩個架構作詳細的描述,包括兩個架構的優缺點比 較。接著我們將對主從式架構中,兩個造成辨識率下降的原因進行 探討:第一個原因是為了降低傳輸速率而對資料進行壓縮所帶來的 量化錯誤;第二個原因是無線傳輸中通道的不完善所造成的錯誤。 針對第一個原因,在報告中我們以 ETSI(the EuropeanTelecommunications Standards Institute)的壓縮方式為基礎 【1】,提出類似的以中文為基礎的量化方法以減少量化錯誤,而 我們的實驗也證明了,在中文大字彙連續語音的辨識中,若以音節 做為辨識的單位時,因量化錯誤所造成的正確率下降是非常的少。
而對於第二個原因,在報告中我們分別用兩種情形--隨機錯誤 (Random Error)和群集錯誤(Burst Error)去模擬通道錯誤的情 形,試著去找出,到底通訊系統必須把位元錯誤率(Bit Error Rate) 降到那一個程度時,語音的辨識正確率才不會有嚴重的退步。另外 ,我們也討論三種可行的錯誤補償方式,其中兩種--消去法、外 插法是參考前人的作法【2】,另一種是假設在每個傳輸的音框 (Frame)中分別對其中的一小部分做錯誤控制編碼,如此一來便可 以只對錯誤的部分做修正而保留正確的部分。在我們的實驗中,發 現在做了錯誤補償後的確可以改善錯誤的現象,甚至趨近沒有通道 錯誤發生時的辨識正確率。在深入的探討主從式架構後,我們也繼 續討論另一種熱門的架構--純主式架構。在這個主題上,我們以 GSM(Global System for Mobile Communications)新一代的聲碼 器--調適型多速率聲碼器(Adaptive Multi-Rate Speech Vocoder) 為基礎,首先比較利用調適型多速率聲碼器輸出的合成語音
(Synthesized Speech)做辨識以及利用原始語音做辨識在正確率 上的差異,並以此論證用合成語音做辨識之不可行。接著介紹如何 從調適型多速率聲碼器輸出的合成語音當中,找出可供辨識的資訊 ,並從實驗中去看這個方法的效果如何。
1.5 章節大要
本報告的章節大要如下:在第二章的部分,將詳細介紹分散式語音 辨識系統,並再次強調本報告所要解決的問題。第三章主要介紹在 報告中所使用的實驗環境架構,包括語音資料庫,語音訊號的特徵 抽取,聲學模型架構以及衡量辨識效果的方法,最後介紹整個分散 式語音辨識系統的架構。第四章討論在主從式架構下向量量化所造 成的影響。第五章討論在主從式架構下通道環境對語音辨識的影響 。第六章討論純主式架構的作法。最後在第七章做結論,以及對未 來的展望。第二章 分散式語音辨識系統的介紹
2.1 分散式語音辨識系統在實行上的分類
在第一章中,我們了說明了分散式語音辨識技術所要面對的幾個問 題: 一.語音辨識的工作必須適當的分配給遠方的伺服器以及用戶所持 有的手持設備(Hand-Held Devices):因為手持設備的記憶體 有限,要完全儲存語音辨識所須要的模型參數是有困難的;且 手持設備的計算能力也有限,對於語音辨識這種需要龐大計算 量的工作也不能負荷。 二.由於語音辨識的工作是架構在無線網路的環境中,資料的傳輸 受到頻寬的限制,因此如何擷取出對辨識有幫助的資訊,同時 有效的表示這些資訊,也是分散式語音辨識系統中所須要考慮 的。 三.在無線通道的環境中,傳輸的信號會受到許多雜訊的干擾。例 如,在電子儀器中無可避免的熱雜訊(Thermal Noise)的干擾、 無線通道中通道本身的改變、同頻干擾(Co–Channel Interference) 或鄰頻干擾(Inter-Channel Interference),因為多路徑衰減所造成信號的忽強忽弱等,這些會使信號產生錯誤,同樣也影響語 音辨識的結果。 根據以上所述,發展出以下三種分散式語音辨識的模型,我們將一 一的來做討論。
2.1.1 純從式架構(
Client-Only Model)
如圖2.1所示,純從式架構的基本模型如下: 用 戶 端 用 戶 端 無 線 通 道 伺 服 器 瑞伺 服 器 瑞 特 徵 抽 取 、 模 型 比 對 辨 識 結 果 圖2. 1 純 從 式 架 構 純從式架構的構念,是把所有的語音辨識工作,都在用戶端執行;服器端,伺服器再根據辨識結果回應用戶端的要求。這樣的安排最 大的優點在於:語音辨識的工作整個都在用戶端進行,因為沒有分 散配置的緣故,只要辨識結果在傳輸的過程中不出錯,那麼語音辨 識的正確率便不會受到無線傳輸所帶來的雜訊干擾。不過,這樣安 排的缺點也是顯而易見的:想要在用戶端完全的執行整個語音辨識 的工作,那麼用戶端的設備也必須具有相當的計算能力與儲存空間 。因此,在我們這篇報告中,主要討論的用戶端--手持設備,就 不適合這樣的架構;比較合適的用戶端,會是筆記型電腦這樣的設 備,除非所要進行的語音辨識工作十分簡單,例如很小的字彙。除 了用戶端受限的這個缺點以外,純從式架構在應用上還有另一項不 足,那就是這樣的架構,並不適用在一些需要認證的服務上面。就 比如說,使用者在請求服務的時候,可能被要求必須通過身份認證 ,這時候或許可以通過語者辨識的技術來進行認證;但是若採行純 從式架構,認證的可信度就會降低許多。基於上述理由,純從式架 構的討論我們將就此打住,將研究的焦點集中在接下來要討論的兩 個架構上。
2.1.2 主從式架構(
Client-Server Model)【3】
如前一節所述,若沒有將整個語音辨識的工作做適當的配置,用戶 端所能使用的裝置將受到限制;在純從式架構中,伺服器只是用來 回應使用者的服務要求,卻忽略了伺服器同樣可以幫我們處理繁重 的語音辨識工作。那麼,要怎樣發展一個新的架構,使得辨識的工 特徵抽取 模型辨識 模型參數 語音信號 辨識結果 圖2.2 主從式架構 無線 通道 用戶端 伺服器端 作可以讓伺服器部份負擔,進而使用戶端裝置不會受限呢? 在第一章中,我們曾經介紹了語音辨識的基本架構--主要有兩個 工作:特徵抽取以及模型辨識。特徵抽取的目的,是要抽出含有語 音資訊的參數,所需的計算量並不會太大;同時,也不會耗費很多
記憶體。而模型辨識的目的,則是利用先前訓練好的統計模型,對 抽取出的特徵去作比對;相對於特徵抽取來說,模型辨識因為牽扯 到統計上的估算,所需的計算量就大很多;另外,統計模型的參數 必須被儲存,所以在模型辨識上也同樣要有大量的記憶空間。綜合 以上所述,我們可以很合理的把語音辨識的工作分散在兩部分:在 用戶端所持的行動電話上抽取出辨識所需的參數,並經無線通道傳 輸這些參數,在伺服器端執行模型比對的工作。如圖2.2所示。 我們再從另外兩個分散式語音辨識系統所要克服的問題去做討論。 在傳輸的過程當中,所能使用的頻寬受到限制;因此我們必須從語 音信號中抽取出對語音辨識有用的資訊--而這也正是特徵抽取的 部分所要做的。就傳統最常使用的梅爾倒頻譜係數而言,其目的是 要取出和語音信號內容關係最密切的聲道(Vocal Tract)的特徵轉 換函數(Characteristic Transfer Function),這樣的作法本身就含有壓 縮的觀念,也是通訊上為了節省頻寬所必要的。因此,若在用戶端 抽取出梅爾倒頻譜係數,我們就可以達到利用有限的頻寬傳輸足夠 的資訊的要求。
所以我們必須選擇在有雜訊情況下較強健的特徵參數。而許多的實 驗都顯示,若使用梅爾倒頻譜係數,在強健性方面有不錯的表現。 另外值得一提的是,在語音辨識中,每一項參數都是設成浮點數, 因此在傳送的過程當中,我們必須另外再做資料壓縮的動作,以進 一步減少頻寬的使用。因此,當我們利用無線傳送辨識用的參數時 ,實際上傳送出去的,只是一個代碼(Codeword)--這個代碼所 代表的參數,是所有可傳輸的參數中和原來想傳的參數最類似的。 這樣的作法也帶來一個好處:我們可以在這些代碼上做安排,使愈 不相似的參數各被不相似的代碼所代表,如此一來就可以防止無線 通道中可能遇到的雜訊干擾了。 主從式的架構安排似乎是解決了分散式語音辨識的所面對的三大問 題,然而它還是有三個缺點: 一.應用中,在伺服器端需要知道被傳輸的語音信號,而不光只是 取出的特徵參數。這類的應用,例如,一些線上的交易,就會 需要根據原來聲音的內容來認證語音的工作;另外,在系統初 始化的時候,為了效能的最佳化,如果能夠知道原來聲音的內 容,那麼就可以對辨識系統進行微調。當然,使用者難免也需 要用手持設備直接打電話給別人,而不是光是作有關語音辨識
的工作;此時對方也要能得到原來的語音。但是,當我們使用 主從式架構時,傳送到伺服器端的只是抽出的梅爾倒頻譜係數 ,並非是原來的語音,而想要將梅爾倒頻譜係數轉回原來的語 音是有困難的。 二.行動電話對於語音信號的處理,是先將語音信號經過語音編碼 器(Speech Encoder)的處理,再經由無線通道來傳輸。如果 我們要在行動電話上面抽取出辨識所需的梅爾倒頻譜係數,那 麼勢必要在手持設備上另外加入一個用來抽取特徵參數的功能 元件。也就是說,現有的手持設備不能見容於主從式的架構當 中。此外,因為多了特徵係數的傳輸,通訊協定也要做修正。 三.在主從式架構中,要傳送的除了編碼語音外,還有特徵係數, 如不能建立一個有效的通訊協定,則兩者必須同時傳送,會造 成頻寬上的浪費。 雖然主從式的架構有上述三個缺點,但是它克服了我們一再提到 的分散式語音辨識系統所面對的問題;目前ETSI(the European Telecommunications Standards Institute),已經把這樣的架構制定標 準,雖然未來這個標準是否會廣為使用仍有待時間的考驗,但在 本報告中,我們將詳細討論這個架構。
2.1.3 純主式架構(
Server-Only Model)
●純主式架構之一 在上一節當中,我們討論到主從式架構的兩個缺點,其中一個是無 法在伺服器端得到原來的語音信號,另外一個是我們必須在手持設 備中加入抽取特徵參數―-梅爾倒頻譜係數的功能元件,才可以完 成主從式架構。那麼,我們是否有辦法利用原有的手持設備來執行 語音辨認的服務呢? 手持設備對於語音信號的傳輸,是先將語音信號做編碼後,再傳送 到無線通道中;而在接收端,是將編碼語音(Coded Speech)經由 語音解碼器(Speech Decoder),轉成合成語音(Synthesized Speech) 以供人耳收聽。那麼,如果我們想要利用現有的手持設備架構,一 個立即可行的方法就是利用語音解碼器輸出的合成語音來做辨識, 如圖2.3所示。像這樣的架構,因為所有辨識的工作都在伺服器 端完成,於是稱之為純主式架構。這樣的架構的確克服了上述主從 式架構所面對的缺點;另外,我們再考慮之前所提到分散式語音辨 識所要面對的三大問題:第一,因為在用戶端所使用的手持設備,手持設備 語音編碼器 手持設備 語音編碼器 語音信號 編碼 語音 無線 通道 手持設備 語音解碼器 手持設備 語音解碼器 語音辨識器 語音辨識器 人耳 圖2、3 純主式架構之一 只有做原來就有的語音編碼的工作,把整個辨識的工作都交給伺服 器去進行,所以並不會有手持設備計算能力或是記憶空間不足的情 形;第二,手持設備的語音編碼器有效的壓縮語音,傳送出去的只 是編碼後的語音,自然不會有頻寬的問題(這也克服了主從式架構 的第三個缺點);第三,由於純主式架構相容於現有的通訊系統, 而在現有的通訊系統當中就有做對於無線通訊中的錯誤保護,因此 可以克服雜訊的干擾。 不過純主式架構所遇到的最大問題是:語音編碼器的工作是對語音 做有效的壓縮,而語音解碼器的工作是要得到人耳可以聽得懂、品
質不會太差的合成語音―-語音編碼的目的是耳朵好聽、而不是為 了語音辨識的用途設計的。所以在伺服器端所收到的合成語音,對 於人耳來說是可聽、可辨而且和原來語音的品質相去不遠的;但是 ,對於語音辨識中重要的特徵參數的部分,經過語音編碼後卻改變 了許多。因此在一些相關的報告【4】中有提到,如果我們用原始 語音去訓練辨識用的統計模型.但用合成語音去做辨識,這樣就造 成一個不匹配(Mis-Matched)的情況,辨識效果將會下降;而就算 是用語音解碼器輸出的合成語音去訓諫模型,也用合成語音去做辨 識,還是會比純粹使用原始語音做訓練及辨識的效果來得差(正確 率約下降三個百分點)。 純主式架構由於觀念上相當直接,所以這樣的架構,是分散式語音 辨識系統中,最早被提出來討論的(除了純從式架構外,純從式架 構有用戶端的限制,所以不討論)。但是由於聲碼器帶給語音信號 的破壞,因此在這個架構被討論之後,許多改進的方向也被考慮。 其中,第一個被討論的方向,是針對語音的調適:有些研究【5】 〜【8】致力於語音信號對於無線環境的語音調適,試著從這個方 向提高在伺服器端的語音辨識率。另外,架構上的調整也是被考慮 的方向:上一節中所提到的主從式架構,以及下面即將提到對純主
式架構的改進,都是朝這個方向改良所得的結果。為了讓改良前後 的純主式架構有所區隔,我們以下均稱改良前為純主式架構之一, 改良後為純主式架構之二。 ●純主式架構之二 因為語音信號會遭受到聲碼器進行壓縮時的破壞,因此若想保有上 述純主式架構的優點,也想兼顧語音辨識的正確率,那麼就不能使 用解碼後的合成語音來做辨識;我們必須想辦法在語音編碼器的輸 出中,找出對辨識有幫助的資訊。 大多數的語音編碼器都是採用線性預估分析(Linear Prediction Analysis),取出線性預估參數(Linear Prediction Coding Coefficient ,LPC)以及殘餘信號(Residual Signal),再分別對這些信號作壓縮 、編碼。對語音信號做線性預估分析,其實是把發聲的過程模擬成 一個激發(Excitation)信號通過一個濾波器;其中,對於無聲子音 而言,激發信號是類似白色雜訊(White Noise)的信號,對於有聲 子音以及母音而言,激發信號是一連串週期性的脈衝(Impulse);
另外,濾波器是用來模擬聲道的。而線性預估參數是濾波器的轉換 函數(Transfer Function)的係數,而殘餘信號則是激發(Excitation) 信號。在前面我們曾經提到過:對於辨識有幫助的資訊,大部分在代 手持設備 語音編碼器 手持設備 語音編碼器 語音信號 無線通道 手持設備 語音解碼器 手持設備 語音解碼器 伺服器 語音辨識 伺服器 語音辨識 編碼 語音 人耳 合成 語音 辨識 結果 圖2.4 純主式架構之二 表聲道的轉換函數中--這部分的資訊恰好是語音編碼器所取出的 線性預估係數所代表的。因此,改良後的純主式架構之二已經呼之 欲出了:在用戶端所持的手持設備仍然只做語音編碼的工作,然後 將編碼後的語音送入無線通道中;較大的變動發生在伺服器端,如 果要做語音辨識的工作,伺服器直接從接收到的編碼語音抽出辨識 相關的資訊;如果要讓人耳收聽,就把編碼語音送入語音解碼器得
到合成語音。如上所述,如圖2.4所示。
由於語音編碼器的種類眾多,所以抽取特徵參數的方式也不一致。 在第六章的部分,我們將使用GSM 新一代的聲碼器--調適型多 速率聲碼(Adaptive Multi-Rate Vocoder)來進行純主式架構之二的 實驗,屆時對特徵的抽取會有更詳細的描述。
2.2 分散式語音辨識系統的應用
當伺服器端執行完語音辨識的工作後,伺服器可以根據辨識的結果 對使用者提供相當多的服務,也因此分散式語音處理的後端可以加 入許多語音的相關應用,我們列舉如下: 一.關鍵詞擷取(Keyword Spotting) 為了提供服務,在伺服器端必須知道使用者所做的請求為何。 所以,我們可以拿辨識的結果去做關鍵詞抽取,找出想要的資 訊。二.口語對話系統(Spoken Dialogue System)
,伺服器也需要另外跟使用者對談,告知可以提供的服務有那 些。所以,在分散式語音辨識系統的後端,也可以加入口語對 話系統的應用。 三.資訊檢索(Information Retrieval) 在目前,利用網際網路搜尋資訊已成一股風潮。而可預期的, 使用行動電話來搜尋網路上的資訊的風氣,也會慢慢的興盛起 來。所以我們也可以在分散式語音辨識系統的後端,加入資訊 檢索的功能。 四.多媒體應用(Multi-Media Application) 近來在行動電話上,已經可以看到許多酷炫的聲光效果,因此 可以預期的,未來在無線通訊上會有愈來愈多的多媒體應用; 如第一章的緒論就提到的,分散式語音辨識系統可以提供我們 一個使用這些多媒體應用的方便介面,也就是說,在分散式語 音辨識系統的後端,我們可以加入多媒體的應用。 五.聽寫、轉譯、語音合成(Dictation、Transcription、Speech Synthesis) 最後的辨識結果可能需要被記錄下來,因此可以在 系統的後端加入聽寫的應用;辨識結果也可能須要被翻譯成另 一種語言,所以也可以加入轉譯的功能;另外,前面有提到某
些服務需要合成語音來做認證或是微調,所以我們也可以加入 合成語音的功能。
分散式語音辨認系統的後端還可以加入其他的功能,但本文對這些 不多做討論。報告的重點將放在如何克服架構在無線環境所帶來的種 種雜訊干擾,以及探討不同的架構的差別。
第三章 實驗背景與基礎架構
3.1 實驗基礎架構
3.1.1 語音資料庫(
Database)
本報告所使用的語音資料,是由聲碩公司所錄製的麥克風語料,這 是一套中文大字彙連續語音(Large Vocabulary Continuous Speech) 的語音資料。我們用表3.1作簡單的介紹: 錄製方式 麥克風 取樣頻率 16 KHz 訓練語料內容 男性語者兩百人,女性語者兩百人, 每個人兩百句,共四萬句 測試語料內容 男性語者五人,女性語者五人, 每個人三百二十七句,共三仟二佰七十句。 每句話的長度 平均三秒鐘,且平均一句話有中 文的音節(Syllable)約十一個。 表3.1 語音資料庫說明
3.1.2 語音信號的特徵參數抽取
取樣頻率 8 KHz 快速傅利葉 (FFT)轉換點數 256 音框長度 (Frame Size) 25 ms 音框平移 (Frame Shift) 10 ms 濾波器組 (Filter Bank) 梅爾刻度三角形濾波器 濾波器個數=23 特徵向量 (聲、韻母模型部分) 12維的梅爾倒頻譜係數(MFCC)+1維 的能量頻譜係數(Energy),12維的一次回 歸梅爾倒頻譜係數(ΔMFCC)+1維的一 次回歸能量頻譜係數(ΔEnergy),12維的 二次回歸梅爾倒頻譜係數(Δ2MFCC)+1維 的二次回歸能量頻譜係數(Δ2Energy),共3 9維 表3.2 特徵參數的抽取方式如前一章所述,在這篇報告中,我們會使用到兩種的特徵參數-- 主從式架構中的梅爾倒頻譜係數以及純主式架構之二中的線性預估 係數。在純主式架構之二中,線性預估係數是從語音編碼器輸出的 編碼語音中得到的,因為方法特殊,所以在這邊先不做描述,在第 六章介紹純主式架構之二的部分會另做說明;在這個地方,我們說 明的是傳統語音辨識以及主從式架構中梅爾倒頻譜係數的抽取。詳 細情形如表3.2所示。 . . . M el(f) f= 60 M el(f) = 98.6 M el(f) = 183.9 170.6 f=4000 M el(f) = 2146.1 M el(f) =2060.8 23 bands
)
0
.
700
1
log(
*
0
.
2595
)
(
f
f
Mel
=
+
圖 3 . 1 梅 爾 濾 波 器 組 表3.2中,有幾點是需要另外說明的: 一.在第二章主從式架構的介紹當中,我們提到了ETSI(the European Telecommunications Standards Institute)將主從式 的架構列為標準【1】,而這個標準,也詳細的規定了特徵抽取 的方式。為了相容於這個標準,我們把語音資料的取樣率由原來 的16KHz 轉為8KHz;另外,上表所列舉出的各項也是參照這 個標準來設定。 二.圖3.1是梅爾濾波器的設計,包括如何將頻率換成梅爾刻度 的頻率,以及三角形濾波器在梅爾刻度的頻率上的安排。
3.1.3 聲學模型架構
本報告所採用的是連續密度隱藏式馬可夫模型(Continuous Density Hidden Markov Model,CDHMM)。如圖3.2所示,模型的架構 是採以左到右(Left-To-Right)的形式,總共有五個狀態(State) :狀態0和狀態4分別代表進入(Entry)和跳出(Exit)狀態, 進入狀態代表進入了這個模型,此時只能往下一個狀態前進,而跳 出狀態代表離開了這個模型;其餘三個狀態的轉移方式是只允許從 一個狀態跳至鄰近的下一個狀態,或是留在原狀態上。狀態和狀態 間的轉移是由一組機率來描述,稱之為轉移機率(TransitionProbability)。要進入每個模型,有一組起始機率(Initial Probability) 另外,在狀態1〜狀態3中,每個狀態可能出現的特徵參數向量的 狀態0 狀態1 狀態2 狀態3 狀態4 高斯密度函數混合 圖3.2 隱藏式馬可天模型表示法 機率是用高斯密度函數來描述;而為了能廣泛的描述所有的語者的 聲音,我們使用了二個,四個或八個高斯密度函數混合
(Gaussian Density Function Mixture)作為該狀態下特徵向量出現的 機率密度函數,稱之為狀態輸出分布函數(State Output Distribution) 。模型的建立,就是利用訓練語料來求出起始機率、轉移機率及狀 態輸出函數。
音及韻母兩個次音節單位(Sub-Syllable Unit),而每一個統計模型 ,都是用來辨識這些拆解後的次音節單位。例如,「錯」這個字是 拼成「ㄘㄨㄛˋ」,在我們所使用的音節描述法中應是「ㄘㄨ」加 「ㄛ」。這個音節描述法稱為「聲母加上界音、韻母」模型 (Pretoneme)另外,為了進一步描述音節拆解之後,各個次音節單 位之間的關係,我們採用音節內右相關模型(Intra-Syllable
Right-Context Dependent Model,Intra-RCD)【9】。這個模型是假設 在每個音節中的次音節單位才有相關性,不同音節的次音節單位沒 有相關性;而每音節中的第一個次音節單位(聲母加上介音的部分 ),會受到第二個次音節單位(韻母的部分)的影響,所以對第一個 次音節單位而言,若後面所接的第二個次音節單位不同會有不同的 模型描述。除了上述音節拆解所得到的次音節單位會用來建立模型 聲 母 加 上 介 音 韻 母 加 上 聲 調 國 語 單 音 節 靜 音 圖 3 . 3 所 有 的 聲 學 模 型 分 類
以外,因為語料中聲音有短暫靜音的效果,所以我們使用一個靜音 模型(Silence Model)來描述這個現象。全部的聲學模型總共有 429個。圖3.3是所有的聲學模型分類。
3.1.4 辨識效果的衡量方法
在上一節當中,我們說明了辨識模型是建立在對次音節單位的描述 ,但是在衡量辨識效果上,我們是以音節(Syllable)做為辨識的基 本單位;也就是說,我們將經由隱藏式馬可夫模型所辨識出來的次 音節單位再結合成音節,由音節去衡量辨識效果。在本報告中,我 們使用音節辨識正確率(Syllable Recognition Accuracy Rate)做為 辨識效果的衡量標準,辨識正確率越高越好。其計算方法如下: 辨識結果共分成四種,正確、插入(Insertion)、取代(Substitution)、消去(Deletion),
音節辨識正確率(Syllable Recognition Accuracy Rate)
=(音節正確數-音節插入數)/(總音節數) 在以下章節的實驗當中,我們都以音節辨識正確率來衡量辨識的效 果。
3.2 基礎實驗
在上一節中,我們提到用音節辨識正確率來作為衡量語音辨識的標 準;而在第二章的開頭,我們曾討論分散式語音辨識系統遇到的幾 個問題,這些問題,都可能造成辨識正確率的下降。在這一節當中 ,我們將建立一個基礎實驗:這個基礎實驗沒有模擬無線傳輸的環 境,而是直接作傳統的語音辨識。因為無線傳輸會帶來錯誤,預期 將會帶來辨識正確率的下降,所以基礎實驗所得到的結果,將是在 無線環境下語音辨識效果的比較標準。 如表3.3所示是基礎實驗所得到的結果。基礎實驗是把語音資料 庫訓諫語料中所有的兩百位語者、共四萬句話拿來訓練一個語者不 限定(Speaker Independent)的模型,而用測試語料中所有的十位 語者去做測試。在結果中我們可以看到的是,隨著高斯混合數的增 高斯混合數=2 高斯混合數=4 高斯混合數=8 音節辨識正確率 42.64 49.20 55.31 表3.3 基礎實驗的辨識正確率加,辨識正確率也隨之上升,而高斯混合數由2到4所得到的進步 幅度,會比高斯混合數由4到8所得的進步幅度來得大。雖然從數 據上可以知道高斯混合數是愈多俞好,但在實驗當中,我們只討論 2〜8個高斯混合。這是因為考量到在辨識時若高斯混合數愈大, 則所花的計算量會愈大的緣故。
第四章 主從式架構(一)
:特徵向量量化
後對語音辨識結果的影響
在第二章中,我們已經詳細的介紹了主從式架構的工作配置方式: 如圖4.1,用戶所持的手持設備只做特徵抽取的工作,之後就把 特徵參數經過無線通道送到逺方的伺服器,將需要大量記憶空間及 繁雜計算能力的辨識工作交給伺服器來做。由於受到無限通道頻寬 的限制,所以特徵參數必須先經過壓縮,才可以送進無線通道做傳 輸。在本章中,我們將探討傳送特徵參數的資料壓縮方式,並且透 過辨識的結果來找出特徵向量的壓縮對語音辨識的影響。 特徵抽取 模型辨識 模型參數 語音信號 辨識結果 圖4.1 主從式架構 無線 通道 用戶端 伺服器端4.1 特徵向量需要壓縮的原因
語音辨識的過程,是取出語音信號中對辨識有幫助的部分做為特徵 參數,再藉由訓練過程中所得到的統計模型去和特徵參數做比對, 找出最有可能的語音信號內容。在第三章中,我們提到了特徵參數 的表示方式:特徵參數是個39維的向量,前面的12維,代表每 個語音的音框所取出的梅爾倒頻譜係數中的前12個(在轉換到倒 頻譜頻域時是採用 IDCT,其中第0維代表的直流成份並不在上述的 12維當中),第13維是語音音框的能量頻譜係數(Energy),在 此處取其對數值,故以 Log Energy 表示之;接下來13維的係數, 是前面13維係數的一次回歸;再接下來13維的係數,又是上一 個13維係數的二次回歸。在我們的辨識實驗中,使用的是浮點數 的運算,我們可以計算,如果直接傳送上述的特徵向量,需要多大 的傳輸速度:∵1個浮點數(Floating Number)= 4個位元組(Byte) = 32個位元(Bit),
又特徵向量有39維,共39個浮點數,
∴每個特徵向量共需39 × 32 = 1248個位元去描述。 又我們是對每一個音框去取出特徵向量,音框產生的速率是每秒鐘
100個, ∴所需傳輸特徵向量的速率 = 1248位元/音框 × 100音框/秒 = 124800位元/秒 = 124.8仟位元/秒(Kbps,Kbits/sec) 這個傳輸速率是非常的高,會佔去相當大的頻寬,在無線通訊上是 不可行的!因此對於特徵向量,必須先做壓縮以減少資料量,然後 再傳送到無線通道中。 Log E ..... C4 C3 C2 C1 ∆ Log E ..... ∆ C4 ∆ C3 ∆ C2 ∆C1 ∆2Log E ..... ∆2C4 ∆2C3 ∆2C2 ∆2C1
圖4.2 特徵向量及其資料量大小、所需傳輸速度。其中
,
Ck代表第k個梅爾倒頻譜係數,Log E代表能量頻譜係數取
對數值,
∆代表回歸
39個浮點數=39× 32個位元=1248個位元 每秒送100次∴124.8仟位元/秒4.2 特徵向量壓縮的方法--分割式向量量化
(SVQ,Split Vector Quantization)
4.2.1 向量量化的觀念及作法介紹
在前一小節中我們提到了特徵向量做資料壓縮的必要性。那麼,什麼 樣的壓縮方式是我們所要的呢?有兩件事情是我們的需求:第一, 要能確實壓縮資料內容,使得傳輸速度不大,不會耗去太大的頻寬 ;第二,在資料壓縮過後,不會造成辨識結果有很大的差異;若能 夠進一步提昇辨識正確率又更好。 有幾個基本觀察是值得注意的: 一. 在特徵向量中,前十三維的係數是代表音框所轉成的前十二個 梅爾倒頻譜係數、以及能量頻譜係數;下一個十三維係數是前 面十三維係數的一次回歸;最後的十三維係數又是上一個十三 維係數的一次回歸。如果我們可以知道前面十三維的係數,那 麼就可以推知另外的二十六維係數;所以,我們可以只傳輸有 關前面十三維係數的資訊,在伺服器端再計算出整個的特徵向 量;如此一來,我們便可以把傳輸速度降低到原先的三分之一(41.6kbps)。若假設在傳輸的過程中沒有發生錯誤,那麼 這樣的做法,是不會影響到語音辨識的結果的。(注意!為了方 便說明,以下所提到的特徵向量均是十三維) 二. 上述的作法雖然可以降低傳輸速度到原先的三分之一,但是所 得到的傳輸速度還是太高(41.6kbps)。對於特徵向量的前 十三個係數,還要另外做向量量化(Vector Quantization)以減 少資料量。 在這個小節中,我們先介紹一下,何謂向量量化。假設我們觀察的 是N-維的向量,那麼向量量化的目的,就是利用一組從0到 M- 1的整數(M 通常是2的冪次方),來表示所有被觀察到的向量;每 一個整數代表某一個特定的N-維向量,換句話說,我們用一些特 定的向量,來替代所有被觀察的向量。其中,這些特定的向量叫做 碼本向量(Codebook Vector),所對應到的整數值稱做代碼 (Codeword),把碼本向量和代碼之間的對應關係收集起來,稱做碼 本(Codebook)。就幾何空間的概念上來說,每一個 N-維的向量, 都算是N-維空間中的一點;假設有一些事先已經選定好、具有代 表性且編碼過的點(也就是前述的碼本向量),那麼對某一個向量 做向量量化,就相當於選擇一個與該點在幾何空間中最“接近”的
代表點,以代表點的代碼值來代表該點,就如圖4.3所述。要注 意的是,這裡所謂的“接近”,牽扯到如何去定義這N-維向量空 間中任兩點的距離;在本報告中,是採用最常用的距離定義方式- -歐氏距離(Euclidean Distance)。當然,還有許多的距離定義方式
.1
.2
.3
.4
.5
.6
.7
.0
。空間中之一點,表一向量
圖4.3 向量的量化。上面的例子是3-維的向量,用
8個編碼過的代表點去描述。在上圖中可以看
出待量化的向量距離代碼是1的點最近,故在
向量量化後,以1來表示這個點。
,在這裡不多做贅述。 在前面的地方曾說過,在向量壓縮過後,我們不希望語音辨識的結 果有很大的差異。直覺上來說,如果在經過向量量化過後所得到的代表向量若和原向量的差異越小,那麼得到的辨識結果也會愈像; 也就是說,選出來的碼本向量要越有代表性越好。我們希望提昇向 量量化的精確度(Resolution),因此,如何訓練出一組精確度高的 碼本是非常重要的。在本報告中,我們使用K 中心(K-Means) 的方式來訓練碼本。以下列出K 中心方法的要點:(假設觀察的是 N-維的向量,用 M 個點去描述這個向量) 一.定M 個 N-維向量做為初始的碼本向量,將成這 M 個向量各 自獨立作一群,然後分別以0〜M-1間的整數來代表之。 二.將所有用來訓練碼本的N-維向量分成 M 群。分群的標準, 是找出被觀察的向量和所有的碼本向量的距離中最小者,將此 向量併入該碼本向量所在的那一群。 三.算出每一群的中心(Centroid),並以此中心做為該群新的碼 本向量。另外再計算每一群中的每一個向量和該群中的碼本向 量的距離和,最後再把每一群的距離和再加總起來,當成是向 量量化後的失真。 四.比較本次的失真和前一次的失真:若本次的失真不再比前次的 失真來得小、或是小得太少,那麼停止向量量化的動作,每一 群的中心即是最後的碼本向量;反之,重複二〜三直到本次失 真不再比上次失真來得小為止。
4.2.2 分割向量的原因及方法
根據上一節所述,當我們選定碼本的大小 M 之後,使用 K 中心的方 法可以幫助我們找到代表13維特徵向量的碼本。但是,如果想直 接對這個13維的特徵向量作向量量化,會遇到以下的因難: 一.當我們將碼本大小設成一般的大小時,例如 M=256,因為 特徵向量多達13維,因此這樣的向量量化會造成最後的精確 度不佳;也就是說,所找出來的碼本向量代表性不足、不“像 ”原先的向量。 二.若想讓精確度變大,最直接的方式就是加大碼本的大小。不過 ,因為向量的維度多達13維,加大碼本的大小會使得訓練碼 本的工作太過繁雜,因此加大碼本的大小實際上並不可行。 在上面兩點的討論中,說明了不能直接對13維的特徵向量做量化 的原因,乃是在於其維度太大之故;如果是維度較小的向量,不用 太大的碼本大小,就可以做到不錯的準確度。所以為了避免上面所 提到的問題。所以我們應該設法減小向量維度的大小。一個可行的 方向是:我們可以把13維的特徵向量切成數個維度比較小的向量 ,然後再對這些比較小的向量分別作向量量化,最後再把量化後所得到的小向量結合起來,還原成13維的向量。 這樣的作法有別 於原來的直接作向量量化,因此,我們給這樣的作法一個新的名 稱,叫做分割式向量量化(Split Vector Quantization)。
那麼我們該怎麼樣分割這13維的特徵向量呢?從對這13維特徵 向量的基本了解可以給我們一些提示: 一. 13維的特徵向量包括12維的梅爾倒頻譜係數,另外再加上 能量頻譜係數。由於能量頻譜係數取對數值的關係,所以數值 的大小並不如其他12維來得大,在做向量量化的時候,應該 單獨對這項去做量化。 二. 梅爾倒頻譜係數的特性:每個音框所求出的23個梅爾倒頻譜 係數,任兩個係數若愈靠近,兩者之間的相關性(Correlation) 會愈大;反之,若愈逺離,兩者之間的相關性會愈小。例如: 假設我們把所取出的第K 個梅爾倒頻譜係數記做 CK,那麼, CK和CK-1或是CK和CK+1的相關性會比CK和其他的梅爾倒 頻譜係數的相關性來得高。因此,我們可以把13維特徵向 量中較靠近的梅爾倒頻譜係數取出,做成一個維度較小的特 徵向量。
由以上的基本了解,並參照 ETSI 所制定的標準,我們決定了13維 特徵向量的分割方式:將13維特徵向量分割成七個子特徵向量 (Sub-Vector):第一個子特徵向量,是由13維特徵向量的第一維 和第二維所組成,分別是第一個和第二個梅爾倒頻譜係數(C1和 C2);而第二個子特徵向量,是由13維特徵向量的第三維和第四維 所組成,分別是第三個和第四個梅爾倒頻譜係數(C3和C4)...。 以此類推至第六個子特徵向量,是由13維特徵向量的第十一維和 第十二維所組成,分別是第十一個和第十二個梅爾倒頻譜係數(C11 和C12)。最後一個子特徵向量,是由能量頻譜係數單獨形成。以上 所述如圖4.4所示。 Log E C12 C11 C10 C9 C8 C7 C6 C5 C4 C3 C2 C1 13維特徵向量,包括12個梅爾 倒頻譜係數以及1個能量頻譜係數 分割式向量量化 (SVQ) 子 向 量 1 子 向 量 2 子 向 量 3 子 向 量 4 子 向 量 5 子 向 量 6 子 向 量 7 圖4.4 分割式向量量化示意圖。其中CK是第k個梅爾倒 頻譜係數,Log E表示能量頻譜係數取對數值
13維的特徵向量還具有另一個特性:次序比較前面的梅爾倒頻譜 係數對於辨識來說比較重要;也就是說,如果m>n,那麼Cm在 辨識上的重要性會大過Cn。因此,對於次序比較小的子特徵向量, 我們可以設法突顯其重要性以取得較佳的辨識效果。這樣的重要性 其實可以反應在給每一個子特徵向量的碼本大小上,我們可以給次 序比較小先的子特徵向量一個較大的碼本,而給次序比較後的子特 徵向量一個較小的碼本:因為如前面所提到的,加大碼本的大小能 使向量量化的精確度提高;若加大某個子特徵向量的碼本大小,在 向量量化後該子特徵向量在原來13維特徵向量的部分會愈趨近於 未量化前的該部份;若加強的部分恰好是對辨識較重要的部分,那 麼可預期的,量化後的辨識效果和量化前的辨識效果比較不會有太 大的差別。給定各個子特徵向量不同的碼本大小,除了上述的好處 以外,另外還可以讓無線通訊的頻寬有效的被使用―-這是因為無 線通訊的頻寬有限,故每一秒我們所能傳輸的位元數也是有限的; 為了維持一定的辨識正確率,我們應該在可用的位元中分配多一些 給對辨識較重要的部分,也就是給較重要的子特徵向量較大的碼本 。在本章後面實驗的部分,我們會用不同的碼本大小組合進行實驗 ,並從中論證以上所述。
4.3 實驗結果:向量量化對語音辨識的影響
在這一節當中,我們將對特徵向量進行分割式向量量化,並以量化 後所得的結果做辨識,來探討向量量化的影響。4.3.1 實驗架構
抽取梅 爾倒頻 譜係數 分割式 向量量 化 用戶端手持設備 語 音 信 號 代 碼 無線通道 模型 辨識 特徵向 量重建 辨 識 結 果 圖4.5 主從式架構之實驗環境配置 如圖4.5所示,是主從式架構的實驗環境配置。在用戶端所持的手持設備中,所進行的工作是特徵向量的抽取,包括了未量化前的 梅爾倒頻譜係數的抽取、以及分割式向量量化的部份;傳送入無線 通道的是向量量化後所得的代碼;在伺服器端,會先將接收到的代 碼,根據碼本重建回所對應的碼本向量,再以所得到的碼本向量作 為特徵向量來辨識。在這一章裡,我們主要想要知道的是向量量化 的影響,故我們暫時先假設無線環境中沒有雜訊的干擾,也就是在 傳輸的過程當中,不會發生錯誤。
4.3.2 實驗結果及討論
如表4.1所示,這是探討向量量化的影響所得到的中文大字彙連 續語音的音節辨識結果。以下的幾個小節,將分別針對在實驗結果 中所觀察到的現象進行討論,在這邊我們先對表4.1做說明。在 第一欄中所列出的是將13維特徵向量分割成七個子特徵向量後, 所給定七個子特徵向量的碼本大小。例如,在第二列所示“666 6668”,是代表給第一個子特徵向量一個大小為26的碼本, 給第二個子特徵向量一個大小為26的碼本...,最後給第七個 子特徵向量一個大小為28的碼本;第三列所示“7766666”碼本大小 是否 匹配 高斯混合數=2 高斯混合數=4 高斯混合數=8 傳輸速率 (Kbps) 基礎實驗 42.64 49.20 55.31 124.8 是 39.71 46.92 52.43 6666668 否 30.33 35.71 40.61 4.4 是 40.64 48.03 52.88 7766666 否 30.93 36.59 41.23 4.4 是 40.14 47.66 52.86 7766668 否 30.89 36.58 41.24 4.6 是 40.33 47.74 53.06 8776666 否 30.87 36.44 41.55 4.6 是 39.49 47.33 52.92 8777666 否 31.08 36.65 41.57 4.7 是 40.28 47.72 53.04 8777766 否 31.16 36.63 41.67 4.8 是 40.31 47.59 52.93 8777776 否 31.21 36.71 41.74 4.9 是 40.55 47.77 53.50 8877776 否 31.33 36.83 41.87 5.0 表4.1 實驗結果:向量量化對辨識結果的影響。如表中所示, 列出的是在不同的向量量化情況底下,中文大字彙連續 語音的音節辨識正確率。 ,是代表給第一個子特徵向量一個大小為27 的碼本,給第二個子特 徵向量一個大小為27 的碼本...,最後給第七個子特徵向量一個 大小為26 的碼本。第二欄所示,是訓練語料所取出的特徵向量和測
試語料所取出的特徵向量是否匹配。所謂匹配,是指訓練語料所取 出的特徵向量也有經過相同的向量量化的處理,此時測試語料所取 出的特徵向量,因為也有經過向量量化,故訓練出來的統計模型可 以與之相匹配,反之,不匹配是表示訓練語料有別於測試語料,並 未經過向量量化的處理。中間三欄列出不同的高斯混合數。最後一 欄則是列出傳送第一欄的碼本組合時所需的傳輸速度;之前我們一 再強調無線傳輸時的頻寬限制,因此列出傳輸速度做為衡量效能的 另一項依據。最後,在表的第一列所列出的是第三章末曾提到的基 礎實驗結果:基礎實驗是所有的特徵向量均沒有經過壓縮,也沒有 遭受無線環境雜訊的干擾。因為我們希望經過向量量化之後的辨識 效果可以趨近未做向量量化所得到的辨識結果,甚至可以更好,故 列出基礎實驗的結果以資比較。 ●不匹配情形所造成的影響 在表4.1中第二欄所列,是有關訓練語料及測試語料所取出的特 徵向量是否匹配的情形。在第三章中曾提到過,我們使用隱藏式馬 可夫模型做為辨識用的統計模型,並使用高斯密度函數做為狀態輸
出函數。由於高斯密度函數是連續機率密度函數,因此雖然測試語 料所取出的特徵向量已經經過向量量化的處理,但仍可以用未量化 的特徵向量所訓練出來的統計模型來做辨識。如果因向量量化所產 生的量化錯誤(Quantization Error)不會太大,理論上不匹配的情形 應該不會導致辨識效果變差太多;不過在實際上,因為我們是以中 文的大字彙連續語音做為研究對象,所要求的辨識精確度相當高, 因一方面我們也可以假設量化錯誤是一個平均分布的隨機變數;故 量化錯誤的影響也可能很大,此時就可能造成辨識效果的下降。 那麼究竟匹配與否,會造成多大的辨識效果差異呢?在表4.1由 第二列起,我們可以觀察到這項差異在辨識效果上的影響:不匹配 的情況所得到的辨識正確率比匹配的情況所得到的辨識正確率足足 差了大約10%〜11%之多(例如,40%降到30%)!從實 驗的結果我們可以推知量化帶來很大的誤差,因此造成辨識正確率 的下降。其實從資料的壓縮也可以看出個端倪:我們將原先需要 1248個位元來描述的音框,壓縮到只用44個位元來描述,當 然量化錯誤會不容小覷。
為了量化誤差的問題,訓練一個匹配的模型是需要的:我們可以使 用語音辨識領域中,對抗雜訊情況的強健性(Robustness For Noise) 常用的模型分析來說明訓練匹配的模型的必要性:假設未經量化的 特徵向量是V,V 經過特徵向量量化後得到的新特徵向量是 V’,又 量化的誤差向量(Error Vector)記做 n, 則 V = V’ + n , 即 V’ = V - n , 此時V’就好比是乾淨的特徵向量加上一個雜訊 n,因此若我們想要 辨識一個被雜訊干擾的特徵向量,必須也用被雜訊干擾的特徵向量 來訓練一個模型,如圖4.6所示。 未量 化之 特徵 向量 V 量化 後之 特徵 向量 V’ 誤差 向量 n 以統計模型V訓練之 (匹配模型) 以V訓練之 統計模型 (匹配模型) 以V’訓練之 統計模型 (不匹配模型) 以V’訓練之 統計模型 (不匹配模型) 辨識效 果較佳 辨識效 果較差 圖4.6 匹配與不匹配情形之等效模型。在本 圖中可以看出一個匹配的模型的需求
最後要附帶說明的是,特徵向量在經過向量量化之後已轉成數目有 限的碼本向量,因此在實際上是可以改用離散的機率函數來做為隱 藏式馬可夫模型的狀態輸出函數;但是考慮下列情況:假設在向量 量化後,用來訓練音節 X 的特徵向量組合為:{V1,V2,..., VN},若測試語料中所抽出了一個特徵向量 U,其對應的音節為 X, 但卻未出現在上述的特徵向量組合中,那麼若使用離散的機率函數 做為狀態輸出函數,就必然產生一些誤差。因此我們仍然使用高斯 密度函數做為狀態輸出函數。 ●不同的子特徵向量所反應出重要性的不同 碼本大小 是否 匹配 高斯混合數=2 高斯混合數=4 高斯混合數=8 傳輸速率 (Kbps) 是 39.71 46.92 52.43 6666668 否 30.33 35.71 40.61 4.4 是 40.64 48.03 52.88 7766666 否 30.93 36.59 41.23 4.4 是 40.14 47.66 52.86 7766668 否 30.89 36.58 41.24 4.6 是 40.33 47.74 53.06 8776666 否 30.87 36.44 41.55 4.6 表4.2 實驗結果:不同的子特徵向量所反應出重要性的不同
上表4.2是表4.1的部分擷取。表4.2的第一列以及第二列 ,分別是碼本大小“6666668”及“7766666”所得 的辨識結果,第三列及第四列則是碼本大小“7766668”及 “8776666”所得的辨識結果;以上兩組具有共同的特點, 那就是兩組用的傳輸速度都是相同的,第一組是4.4Kbps,第二組 則是4.6Kbps。 在4.2.2中,我們曾經討論到不同的子特徵向量,在語音辨識 上所表現出來的重要性也不一樣,而表4.2的兩組數據正反應出 這樣的事實。在兩組數據中,因為傳輸速度相同,所以對於各組中 不同碼本的配置,最後用來描述每個音框的位元數是固定的:第一 組是用44個位元來描述每個音框,第二組是用46個位元來描述 每個音框。在第一組中,”6666668”是給定前面的六個子特 徵向量同樣的碼本大小=26=64,最後一個子特徵向量給定碼本 大小=28=256,而“7766666”是給定前面兩個特徵向 量碼本大小=27=128,後面五個特徵向量給定碼本大小=26 =64;也就是說:“6666668”強調最後一個子特徵向量 (能量頻譜係數)的重要性,但“7766666”強調的是前面 二個特徵向量(梅爾倒頻譜係數前四個 C1〜C4)的重要性。由實驗
結果中可以看到,高斯混合數=2、4、8時,加強前面的子特徵 向量可以使辨識結果均得到些微的改進。同樣的在第二組數據(“ 7766668”及“8776666”)中,若把“77666 68”用來描述第七個子特徵向量的8個位元分出兩個,一個給第 一個子特徵向量,另一個給第三個子特徵向量,使碼本安排變為“ 8776666”,在表4.2中可以看到,除了在高斯混合數= 2、不匹配的情況是稍稍變差,其他的情況都是辨識效果有得到改 進。因此,我們經由實驗證實了之前提到的對特徵向量的基本了解 :梅爾倒頻譜係數中,次序愈小的係數對於辨識愈重要。 ●傳輸速率和辨識結果的關係 如圖4.7,我們畫出了在各個傳輸速率下,所得到的辨識正確率 的變化;其中圖4.7(A)是在高斯混合數=2時的變化情形, 圖4.7(B)是在高斯混合數=4時的變化情形,圖4.7 (C)是在高斯混合數=8時的變化情形。在表4.1當中有兩個 傳輸速度的實驗,有兩種不同的碼本組合,得到兩種不同的結果; 於是我們將兩個實驗結果做平均,得到單一個值做為在該傳輸速
圖4.7(A) 在高斯混合數=2時,傳輸速度和音節辨識正確 率的關係。
圖4.7(C) 在高斯混合數=8時,傳輸速度和音節辨識正確 率的關係。 度下的辨識結果。 在三張圖中,我們都可以觀察到一個趨勢:隨著傳輸速度的增加, 音節的辨識正確率也隨之微幅的增加。特別是在模型不匹配的情況 下,除了在高斯混合數=4,4.7Kbps〜4.8Kbps 間辨識正確 曾有少許的下降(36.65%變成36.63%)以外,所觀察 到的都是持續上揚的趨勢。至於模型匹配的情況,在傳輸速率變快
會有這樣的趨勢其實不難理解,因為傳輸速率的增加,意味著用來 描述每個音框的位元數增加,故特徵向量量化的精確度也跟著增加 ,所造成的影響是: 一.對於模型不匹配的情況,因為用來訓練模型的特徵向量未做量 化,會讓向量量化的精確度提高,這樣一來量化後的向量和原 先的向量差別會愈小,而得到的辨識效果也可以更趨近未做量 化前的辨識正確率。 二.對於模型匹配的情況,因為用來訓練模型的特徵向量已做過量 化,所以訓練出來的統計模型也不相同,因此我們認為:最後 的辨識結果呈現跳動,應該是統計上些許的差異。不過整體來 說,提高向量量化的精確度,會讓量化後的特徵向量更具鑑別 力,也就是說,各個音節的區別也更加明顯。故隨著傳輸速度 增加,辨識正確率仍然大致呈現上升的趨勢。 因為傳輸速度會影響辨識效果,那麼我們可以事先選定兩種不同的 傳輸速度(當然,這兩種傳輸速度必須對應到可以接受的辨識正確 率),建立一個可適性(Adaptive)的機制,由伺服器所在的接收 端評估當時通訊情況是否是良好的,再把評估的結果告知用戶端所 持的手持設備;最後,手持設備再根據被告知的內容執行以下兩種
選擇: 一. 如果在通訊狀況良好、允許我們使用較多的頻寬的時候,則手 持設備就加大用來做向量量化的碼本、然後傳送較多的代碼來 提升辨識正確率。 二. 如果通訊狀況不佳,通訊系統需要較多的編碼以保護資料內 容,造成我們可以使用的頻寬較少時,手持設備就選擇一個所 需傳輸速率較低且辨識效果可以接受的碼本組合,來進行向量 量化的工作。 用戶端所 持手持設備 用戶端所 持手持設備 碼本一 較低傳輸速率 碼本一 較低傳輸速率 較高傳輸速率碼本二 碼本二 較高傳輸速率 伺服器 伺服器 告知通道狀況 傳送向量代碼 及其他資訊 語音辨識 & 判斷通 道狀況 圖4.8 可適性機制示意圖 語音 信號 辨識結果
●量化後辨識正確率些微的下降 在圖4.7(A)(B)(C)中,另外標示出基礎實驗(未經過向 量量化、且假設無線通道中沒有發生錯誤)的結果。在三個圖中, 我們可以很清楚的觀察到,在不匹配的情況下,特徵向量經過向量 量化後的辨識效果不如基礎實驗所得到的;若是模型匹配,辨識正 確率就會有所提升,大約是2〜3%的下降。因為我們的模型是用 來辨識中文的音節(Syllable),在中文的音節中,有許多的音節 ,在聲學上的特性相似,所以我們認為,在經過向量量化之後,對 於音節和音節間的區別將比較失去鑑別性,如此一來就會造成辨識 率的下降。 為了觀察向量量化使那些音素在區分時產生混淆,我們將基礎實驗 所得到的辨識結果,與特徵向量經過量化後的辨識結果去做比較, 辨識結果有所不同之處,即是容易產生混淆的音素。比對之後我們 發現,上述容易混淆的音素包括了“ㄉ”和“ㄍ”、“ㄑ”“ㄒ” 、”ㄣ”和“ㄥ”、“ㄧ”和“ㄩ”、“ㄚ”和“ㄠ”、捲舌音跟不 捲舌音等等。像上面所描述的這些音素,就算是未做量化直接做對 其做辨識,也是容易混淆的。
像這些容易混淆的音素,或許在單音節的辨識當中無法清楚的分別 ,但是在整個語音辨識中,我們後級尚有語言層次的處理:對於辨 識出來的國語單音節,我們可以考慮詞彙及前後文的關係,並且以 那些音素容易造成混淆做為背景知識,對發生錯誤的音素部分做修 正,以得到合於文法、語意的結果。因此上述的音素混淆,在接下 來利用語言知識做處理的過程當中可望獲得修正;也就是說,原先 在音節部分的辨識正確率在後級將可以獲得補償。因此,我們可以 預期的是,在中文的整體辨識率上,應該和未做量化前的效果相去 不遠。基於以上所述理由,我們可以得到一個結論:在本章中所提 出的分割式向量量化的方法,在對語音的特徵向量做過處理後,並 不會使辨識效果有太大的退步。
4.4 結論
在主從式架構中,用戶所持的手持設備把辨識用的特徵向量抽取出 來,經由無線通道後傳到伺服器端做辨識;因為通道的頻寬有限, 所以必須要先將特徵向量做向量量化後才能傳送出去。但特徵向量 的大小共13維,若直接對它做向量量化有實際上的困難,所以本報告使用特殊的向量量化方式--分割式向量量化,先將特徵向量 分割成數個子特徵向量後,再分別對這些向量做量化。最後,我們 得到本章的重要結論,那就是我們所提出的壓縮方式,只帶給音節 辨識正確率些微的下降;因此,本章所提出的分割式向量量化的方法 是可行的。
第五章 主從式架構(二)
:無線通道環境
對語音辨識結果的影響
在主從式架構中,為了在有限頻寬的無限通道中傳送特徵向量,因 此我們必須對特徵向量做向量量化;在第四章中,我們利用中文大 字彙連續語音的音節辨識實驗,來找出向量量化對辨識結果的影響 。我們的發現是,辨識正確率受到量化錯誤的影響,將無可避免的 下降。除了量化所帶來的錯誤,在無線傳輸的過程當中,通道的不 完美所帶的雜訊也會造成錯誤。因此在本章中,我們將接著對無線 通道中的雜訊所產生的錯誤來進行探討,並找出可行的錯誤補償方 式。5.1 無線通道環境可能發生的錯誤
在無線通道傳輸的過程當中,因為通道的不完美,常常會造成許多 雜訊的干擾,使得傳輸出去的資料因為遭遇到這些干擾因而發生錯 誤。錯誤發生的原因有很多,舉例來說,有以下這幾項: 一.熱雜訊(Thermal Noise)的干擾在元件中,電子因為具有能量會自然的擾動,反映在信號上, 就成為不規律跳動的雜訊,這樣的雜訊就稱作熱雜訊。熱雜訊 常以白色雜訊的型態出現,也就是說,在頻譜上各種頻率的信 號都將受到白色雜訊的干擾;同時,因為熱雜訊必然存在在各 種電子元件當中,因此在我們所討論的無線傳輸環境,同樣也 受到熱雜訊的干擾。 二.其他訊號的干擾 在無線通道的環境中,使用相同頻道傳輸的信號不只有一個, 這些信號彼此之間是靠著傳送端的調變(Modulation)使得各 個信號呈現正交(Orthogonal)的情況;而在接收端,若要知 道每個信號原先傳輸的內容,必須要能和傳輸端所送出的信號 同步(Coherent)才能確實的解回每個信號。如果同步的處理 作得不好,那麼在解出的信號當中,就會摻雜著其他同頻信號 的成分,這種情況就稱作同頻干擾(Co-Channel Interference )。另外,鄰頻信號如果強度夠大,對於真正想要接收的信號 也會產生干擾,這種情況則稱作臨頻干擾(Inter-Channel Interference)。 三.通道本身的不完美 任何通道都有先天上不完美的地方,無線通道也不例外。通道
不完美表現的方式,可能是有頻寬的限制,因此造成在某些頻 帶上信號的衰減;也可能是頻道本身的特性轉換函數不完美, 造成信號強度(Amplitude)或是相位(Phase)的失真 (Distortion)。 四.多路徑衰減(Multi-Path Fading) 這是無線通訊中最特別、也是問題最大的部分。在都市裡有許 多的建築物,這些建築物對於傳輸資訊的無線電波來說,相當 於一個一個的反射面;因此信號從無線通道的過程當中,可能 經過許多不同的反射,最後接收端所接收的信號,往往是好幾 個經由不同路徑的信號的加總;信號加總的結果,可能是加強 信號的強度,因此未嘗不是件好事;但是信號的加總也可能是 衰減信號的強度,此時接收端可能就因為信號過於微弱而產生 判斷內容上的錯誤,像這樣信號忽強忽弱的現象,我們稱作衰 減(Fading)。一般來說,衰減出現時,如果接收端一直處在信 號過低的地方,這時候接收到的信號將產生一連串的錯誤,這 也就是所謂的群集錯誤(Burst Errors)。如不在都市而在鄉間 ,傳輸環境不同,問題略不一樣,但衰減現象也一樣會發生。 在我們的實驗架構當中,主要是針對傳輸端所送出的資料內容作處