• 沒有找到結果。

使用鑑別式語言模型於語音辨識結果重新排序

N/A
N/A
Protected

Academic year: 2021

Share "使用鑑別式語言模型於語音辨識結果重新排序"

Copied!
98
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文 指導教授:陳柏琳博士. 使用鑑別式語言模型於語音辨識結果重新排序. Applying Discriminative Language Models to Reranking of M-best Speech Recognition Results. 研究生:劉 鳳 萍. 撰.

(2)

(3) 摘要 語言模型代表語言的規律性,在語音辨識中,它可用以減輕聲學特徵混淆 所造成的問題,引導辨識器在多個候選字串中作搜尋,並量化辨識器產生的最終 辨識結果字串的可接受度高低。然而,隨著時空及領域的不同,語言產生差異, 固定不變的語言模型無法符合實際需求。語言模型調適提供了一個解決之道,使 用少量同時期或同領域的調適語料對語言模型進行調整,以增進效能。鑑別式語 言模型為語言模型調適方法之一,它首先取得一些特徵(Feature),每一個特徵各 有其對應之權重(Feature Weight),以代表語言中的句子或字串,並以這些特徵及 其相關權重為基礎,構建出一套評分機制,用以對基礎辨識器(Baseline Recognizer) 所產生的多個辨識結果進行重新排序(Reranking),以期最正確的詞序列可以成為 最終辨識結果。本文提出以關鍵詞自動擷取方法所得結果,增加鑑別式語言模型 之特徵。關鍵詞自動擷取方法是透過計算字或詞在語料庫中同時重複出現的次數 以擷取出關鍵詞,其優點為可以在不依賴詞典(Lexicon)的情況下,擷取出新生詞 彙或不存在詞典裡的語彙,這樣的特性也許會對鑑別式訓練有所助益,但實驗結 果顯示未有顯著之改善效果。.

(4)

(5) Abstract A language model (LM) is designed to represent the regularity of a given language. When applied to speech recognition, it can be used to constrain the acoustic analysis, guide the search through multiple candidate word strings, and quantify the acceptability of the final word string output from a recognizer. However, the regularity of a language would change along with time and cross domains, such that a static or invariable language model cannot meet the realistic demand. Language model adaptation seems to provide a solution, by using a small amount of contemporaneous or in-domain data to adapt the original language model, for better performance. The discriminative model is one of the representative approaches for language model adaptation in speech recognition. It first derives a set of indicative features, where each feature has a different weight, to characterize sentences or word strings in a language, and then build a sentence scoring mechanism on the basis of these features and the associated weights. This mechanism is used to re-rank the M-best recognition results such that the most correct candidate word string is expected to be on the top of the rank. This paper proposes an approach which takes the results of a fast keyword extraction method as additional features for the discriminative model. This method extracts keywords by counting the repetition of co-occurrences of characters or words in the speech corpus, such that these keywords may capture the regularity of language being used. A nice property is that it extracts keyword without the need of a lexicon, so it can extract new keywords and the keywords which do not exist in, or contain words of the lexicon. This property may be useful for discriminative language modeling, but, however, empirical experiments show it only provides insignificant improvements..

(6)

(7) 誌謝 感謝父母與弟弟陪伴我從小到大一路走來,始終關懷有加。感謝我的先生 安立,你的支持與鼓勵,使我能安心致力於學業,同時品味生活的豐富喜樂。 感謝指導教授陳柏琳博士在碩士班求學過程中的諄諄教誨,老師做研究的 認真態度與嚴謹的治學方法,是學生們應努力學習的榜樣。 感謝口試委員古鴻炎博士、王新民博士與洪志偉博士對學生論文的指正, 使得這本論文能更趨完全。 感謝炫盛學長、鴻欣學長及冠宇在學業上的幫助,向你們請教或討論問題 的過程中,讓我學習到如何從不同的角度去思索與分析問題。 感謝永典、韋豪、鈺玫、家妏為實驗室帶來的溫暖與歡笑,使得小小的實 驗室裡充滿了活力與希望。期待著新進學弟妹敏軒、紋儀與珮寧的加入,為實驗 室開展新的氣象。.

(8)

(9) 目錄 第一章 緒論 .................................................................................................................1 1.1 研究背景.........................................................................................................1 1.2 語音辨識.........................................................................................................2 1.3 語言模型調適簡介.........................................................................................7 1.4 研究內容與貢獻.............................................................................................8 1.5 論文章節安排..................................................................................................8 第二章 文獻回顧 .........................................................................................................9 2.1 語言模型.........................................................................................................9 2.1.1 統計式語言模型...................................................................................9 2.1.2 語言模型評估....................................................................................12 2.2 語言模型調適...............................................................................................14 2.2.1 語言模型調適的意義與架構............................................................14 2.2.2 語言模型調適方法............................................................................16 2.3 鑑別式語言模型訓練與調適.......................................................................21 第三章 使用鑑別式語言模型重新排序辨識結果 ...................................................25 3.1 基於歷史資訊之模型與全域線性模型........................................................25 3.1.1 基於歷史資訊之模型........................................................................25 3.1.2 全域線性模型....................................................................................26 3.2 鑑別式語言模型訓練之定義........................................................................29 3.3 Boosting 演算法 ............................................................................................32 3.3.1 Boosting 演算法 .................................................................................32 3.3.2 Boosting 演算法於鑑別式語言模型之應用 .....................................33 3.4 Perceptron 演算法 .........................................................................................35 3.4.1 感知機.................................................................................................35.

(10) 3.4.2 Perceptron 演算法於鑑別式語言模型訓練之應用 ..........................35 3.5 Minimum Sample Risk 演算法 .....................................................................38 第四章 以關鍵詞作為鑑別式語言模型之特徵 .......................................................43 4.1 關鍵詞自動擷取方法....................................................................................43 4.2 增加關鍵詞自動擷取所得長詞作為鑑別式訓練之特徵...........................47 第五章 實驗架構與結果 ...........................................................................................49 5.1 實驗架構.......................................................................................................49 5.1.1 台師大之大詞彙連續語音辨識系統.................................................49 5.1.2 實驗語料............................................................................................52 5.1.3 語言模型評估與基礎實驗結果.........................................................53 5.2 前人理論實驗結果.......................................................................................55 5.2.1 Boosting 演算法實驗結果 .................................................................55 5.2.2 Perceptron 演算法實驗結果 ..............................................................60 5.2.3 鑑別式訓練與模型插補法實驗結果................................................64 5.3 本文理論實驗結果.......................................................................................68 5.3.1 Boosting 演算法與關鍵字擷取 .........................................................72 5.3.2 Averaged Perceptron 演算法與關鍵字擷取 ......................................75 第六章 結語 ...............................................................................................................77 參考文獻 .....................................................................................................................79.

(11) 圖目錄 圖 1-1 自動語音辨識流程圖………………………………………………………3 圖 2-1 語言模型調適架構…………………………………………………………14 圖 2-2 使用鑑別式語言模型進行語言模型調適之架構…………………………24 圖 3-1 線性鑑別式示意圖…………………………………………………………28 圖 3-2 特徵向量與特徵權重向量…………………………………………………31 圖 3-3 Boosting 演算法……………………………………………………………34 圖 3-4 Perceptron 演算法…………………………………………………………37 圖 3-5 格狀線性搜尋示意圖………………………………………………………38 圖 3-6 Minimum Sample Risk 演算法……………………………………………39 圖 4-1 關鍵詞自動擷取範例……………………………………………………45 圖 4-2 N 連詞與關鍵詞自動擷取在處理相同字串時所採取的不同方法……48 圖 5-1 詞圖範例…………………………………………………………………52 圖 5-2 Naïve Boosting 演算法……………………………………………………56 圖 5-3 Boosting 實驗中訓練回合數與權重非零特徵數之關係………………57 圖 5-4 Boosting 演算法實驗結果………………………………………………59 圖 5-5 Perceptron 演算法實驗結果………………………………………………62 圖 5-6 Perceptron 演算法實驗中訓練回合數與權重非零特徵數………………63 圖 5-7 模型插補法實驗結果…………………………………………………… 66 圖 5-8 以模型插補法調適所得 100 個最佳辨識結果進一步作 Boosting 演算法訓 練所得實驗結果……………………………………………………………67 圖 5-9 以 模 型 插 補 法 調 適 所 得 1 0 0 個 最 佳 辨 識 結 果 進 一 步 作 Av e r a g e d Perceptron 演算法訓練所得實驗結果……………………………………69 圖 5-10 透過關鍵詞自動擷取方法所得長詞(LongKeyword)範例………………70 圖 5-11 未必是長詞的關鍵詞(AllKeyword)範例……………………………… 71.

(12) 圖 5-12 Boosting 演算法增加關鍵詞特徵實驗結果……………………………73 圖 5-13 Boosting 演算法增加關鍵詞特徵實驗中訓練回合數與非零權重關鍵詞 數之關係…………………………………………………………………74 圖 5-14 Perceptron 演算法增加關鍵詞特徵實驗結果……………………………76.

(13) 表目錄 表 2-1 訓練語料與調適語料之比較………………………………………………15 表 2-2 訓練語料、調適語料與測試語料三者關係………………………………16 表 5-1 基礎實驗結果………………………………………………………………54 表 5-2 Boosting 演算法實驗數據…………………………………………………58 表 5-3 實作 Perceptron 演算法之若干項目定義…………………………………60 表 5-4 Averaged Perceptron 演算法實驗數據……………………………………61 表 5-5 完整詞圖經模型插補法進行調適之實驗數據……………………………65 表 5-6 100 個最佳辨識結果經模型插補法調適所得實驗數據………………65 表 5-7 以模型插補法調適所得 100 個最佳辨識結果進一步作 Boosting 演算法訓 練所得部分較佳實驗結果……………………………………………67 表 5-8 以 模 型 插 補 法 調 適 所 得 1 0 0 個 最 佳 辨 識 結 果 進 一 步 作 Av e r a g e d Perceptron 演算法訓練所得實驗結果……………………………………68 表 5-9 Boosting 演算法增加關鍵詞特徵實驗數據………………………………72 表 5-10 Averaged Perceptron 演算法增加關鍵詞特徵實驗數據…………………75.

(14)

(15) 第一章 緒論 1.1 研究背景 語音是人類最自然、歷史也最悠久的溝通媒介之一。 從古至今,人類日常生活中多半倚賴「聽說讀寫」作為溝通方式。隨著電 子設備的發展,「讀」與「寫」的部分,在紙筆書寫之外,又多了螢幕、鍵盤與 滑鼠等輸出入設備作為選項;至於「聽」與「說」的部分,則有錄音與播放設備 可以保存與輸出聲音訊號。 但是「聽、說」與「讀、寫」兩類型媒體之間的訊息交換,需要人類作為 中介;人類與電子設備之間的溝通,仍然大量依賴使用者與機器之間透過鍵盤滑 鼠的直接接觸,方能進行。 近年來,語音處理技術的發展,使得「聽、說」與「讀、寫」兩個系統之 間有了轉換的機會,例如自動語音辨識(Automatic Speech Recognition, ASR)可以 代替人類將「聽」到的語音轉而「寫」為文字紀錄;而語音合成(Speech Synthesis) 則可將「讀」到的文字紀錄轉換成聲音訊號,代替人類「說」話。 也正因如此,語音成為人機互動的媒介之一。機器可以透過自動語音辨識 系統取得人類欲輸入之指令,再透過語音合成以回應人類。這樣的功能,在以往 也許只是電影中令人炫目的高科技象徵,然而在今日,已透過科技的發展逐漸落 實,成為生活中的一部分。例如目前在手機上已有語音撥號的功能,可以直接要 求手機撥號給特定連絡人,不需手動按鍵撥號。這樣的功能,未來有機會可以運 用到更多領域,為人類生活帶來便利。. 1.

(16) 1.2 語音辨識 人類在聽取一段語音之時,由耳朵接收了能量,傳遞至大腦,由大腦接收 訊號,得知「聽」到了什麼樣的聲音,再根據此人對於一個語言長時間受到的訓 練所得到的瞭解,可判斷出這段語音的內容。 在設計語音辨識系統時,人類試圖將造物者運用在人類身上的設計,利用 電子設備加以重現。人類腦部對一段聲音訊號的接收,是由特徵擷取(Feature Extraction)這個模組所負責處理。它將聲音訊號轉化為可量測之數據,並擷取對 語音辨識有意義的資訊,以供後續其他模組對此段聲音訊號作出相應之判斷。 至於人類對特定語言所受到的訓練與理解,則由聲學模型(Acoustic Model) 與語言模型(Language Model)作為代表。人類在學習語言的過程中,首先學習的 就是聲音與語意之間的關係,以及聲音與用來記錄語意的文字之間的關係。在語 音辨識系統中,這個部分是由聲學模型來負責。聲學模型是由聲音語料訓練而 成,其訓練目的是為了讓辨識系統記住聲音與文字之間的對應關係。 在習得聲音與文字之間的對應關係後,人類進一步學習的,就是語言中的 規則性(Regularity)。語言的規則性是語言長期發展下約定俗成的結果,保留人們 普遍可以接受的語言使用習慣,其規則性有助於人類用來敘述見聞、表達看法, 並因此而可以進行人與人之間的相互瞭解與溝通。在語音辨識系統中,這個部分 是由語言模型來負責。語言模型是由文字語料訓練而成,其訓練目的是為了擷取 語言中的規則性,使得語言模型可在測試階段引導辨識器選擇正確詞序列作為辨 識結果。 人類在接收一段語音後,判斷自己聽到的聲音內容,並將它轉換成相對應 的文字。這段過程被重現於自動語音辨識系統中。如圖 1-1 所示,自動語音辨識 系統包括特徵擷取、聲學模型、語言模型與語言解碼等四個主要部分,我們使用 2.

(17) 文字語料訓練出語言模型,代表語言使用的規律,並使用語音語料訓練出聲學模 型,代表示語音與文字之間的對應關係。在給定一段語音訊號的情況下,透過特 徵擷取,可以從一段語音訊號中取得其特徵向量,再根據聲音語料訓練而成的聲 學模型,以及文字語料訓練而成的語言模型,對特徵向量作語言解碼(Decode), 最後產生辨識結果。. 在語言解碼階段,判斷並決定辨識結果的過程是根據以下公式: W* = arg max P(W | X ) W. (1.2.1). P(W ) P( X | W ) P( X ) W ≈ arg max P(W ) P( X | W ) = arg max w. X 表示一段語音,而 W 表示詞序列,即一段文字。W * = arg max P(W | X ) 代表語 W. 音辨識的功能在於給定一段語音訊號的情況下,求出最有可能之對應詞序列。. 文字語料. 語音. 語言模型訓練. 語言模型. 特徵向量. 辨識結果. 特徵擷取. 語言解碼 ○ ○ ○ ○ ○. 經特徵抽取 的語音語料. 聲學模型訓練. 聲學模型. 圖 1-1 自動語音辨識流程圖. 3.

(18) 由於 P(W | X ) 無法直接估算,因此先用貝式定理 (Bayes’ Theorem) 展開為. P(W ) P ( X | W ) ,接著由於對所有候選詞序列 W 來說,其分母項皆相同,故可省 P( X ) 略,僅需根據 P (W ) P( X | W ) ,便能找出能使 P(W | X ) 之值最大的詞序列 W * ,作 為辨識結果。. P( X | W ) 為聲學模型機率,其意義為在一個訓練好的辨識系統中,某一個 詞序列 W 對應到某一段語音 X 的機率。 P(W ) 則為語言模型機率,代表的是在一 個訓練好的辨識系統中,某一個詞序列 W 產生的機率。 以下將分別概述特徵擷取、聲學模型、語言模型與語言解碼等部分。. (一) 特徵擷取 特徵擷取的主要目的,是從一段語音訊號中取出其特徵,量化為一組數據 ──例如特徵向量(Feature Vector) ──以作為參數,供語音辨識系統對此段語音 訊號作出估測與判斷。在取得特徵之後,便需考慮環境或噪音對語音特徵的影 響,對特徵向量作進一步修正,以增加語音的強健性(Speech Robustness)。. (二) 聲學模型 一 個 中 文 音 節 (Syllable) 由 兩 個 次 音 節 (Sub-syllable) 組 成 , 分 別 為 聲 母. (Consonant)與韻母(Vowel)。聲母與韻母各自對應一個聲學模型。聲母的聲學模 型稱為 INITIAL,韻母的聲學模型則稱為 FINAL。 目前的聲學模型是透過馬可夫模型(Markov Model)來表示,由於語音具有時 序性,因此是利用由左至右的隱藏式馬可夫模型 (Left-to-right Hidden Markov. Model)來模擬語音的產生。 隱藏式馬可夫模型是用來模擬特定環境下,某個事件發生的機率。在一個. 4.

(19) 隱藏式馬可夫模型中事先預設了數個狀態(State),再根據訓練資料作計算,以設 定此隱藏式馬可夫模型中個狀態之初始機率(Initial Probability)、狀態轉移機率. (State Transition Probability) , 以 及 各 狀 態 產 生 各 事 件 之 機 率 (Observation Probability)。由於語音具有時序性,因此採用由左至右的隱藏式馬可夫模型,先 預設數個狀態,再根據經過特徵擷取的語音語料作訓練,以估算出此模型中之各 項機率,此後便根據這些機率,來判斷在此語音環境下,某段語音發生的機率. P( X | W ) 。. (三) 語言模型 目前的語言模型是統計式的基於歷史資訊的模型(History-based Model)。基 於歷史資訊的模型的設計理念是根據經驗法則,統計先前已出現的一連串事件與 下一個出現的事件之間的關係。 在訓練階段,先統計每一個詞 wi 與其歷史詞序列 w1 w2 L wi −1 之間的關係, 將它視為語言的規律性,若以機率作為準則,即為 P ( wi ) = P( wi | w1 w2 w3 L wi −1 ) 。 統計之目的是為了在測試階段,可以根據一段已辨識出的詞序列,去推算下一個 最有機會出現的詞為何。 例如在訓練語料中,就歷史詞序列 hi 而言,既有 hi 與詞 wx 組成的詞序列. hi + wx ,亦有 hi 與詞 wy 組成的詞序列 hi + wy ,則在訓練階段,需根據 hi + wx 與. hi + wy 在訓練語料中出現的次數分別計算其機率。當測試階段出現詞序列 hi 時, 欲判斷下一個詞應為 wx 或者是 wy ,除了依據聲學模型所提供的資訊外,還要根 據語言模型中 hi + wx 與 hi + wy 的機率作判斷,選擇出機率較大者,即可判斷出下 一個出現的詞應為 wx 或者是 wy 。. 5.

(20) (四) 語言解碼 對一段語音作語言解碼,是根據特徵擷取時所取得此段語音之特徵,建立 這段語音所對應的多條可能詞序列,並根據事先訓練好的聲學模型與語音模型, 賦予每一條候選詞序列 W 對應之機率,從中選取可能性最大之詞序列 W * 作為辨 識結果。. 6.

(21) 1.3 語言模型調適簡介 語言的規律性是人類長久使用下所保留的特定習慣,然而,因人事時地物 之差異,語言亦隨之產生變化。 《語法與修辭》一書中提到: 「語言是隨著時代的變化而發展的,在語言的 發展過程中,語音、詞彙的發展變化很快,語法發展變化比較緩慢。」就語法來 看,古代漢語中存在「主語─賓語─述語」結構,例如「卿欲何言?」這是現代 漢語所沒有的。現代漢語中使用的是「主語─述語─賓語」結構,例如「你想說 什麼?」雖然變化緩慢,但變動性仍是確實存在的。 近年來,由於電視、廣播與網路等傳播媒介的迅速發展,人們能夠發抒己 見的管道日益增多,訊息傳遞也越廣越快,使得語言的使用習慣有更多機會產生 變化。例如「宅」這個詞彙,原本是指的是「房舍」,近年來卻被用於形容一個 人喜歡經常待在家中,如「宅男」 ;又如「粉絲」一詞,原本指的是一種豆粉製 成的食品,如今時常被用來代表熱衷於特定人事物的追隨者(Fans)。 諸如此類新興的語言使用習慣,也許並不存在於原本用來訓練語言模型的 文字語料之中。若語音辨識的應用對象是含有這些新興語言使用習慣的測試語 料,就很可能因為訓練語料與測試語料的不匹配(Mismatch),影響語言模型協助 辨識系統選擇出正確辨識結果的能力,降低語音辨識系統的效能。 為解決語言模型與測試對象不匹配的問題,需要對語言模型進行調適. (Adaptation),使其適用於特定測試對象。語言模型是由文字語料訓練而得,為使 其適用於特定對象,需另以一份調適語料對語言模型進行調適。 最大事後機率法(Maximum a Posteriori, MAP)是最常被用來調整 N 連語言模 型參數的語言模型調適方法,它根據調適語料,對語言模型中 N 連詞的機率值 進行調整,使其更符合測試對象之需要。 7.

(22) 近年來,以最小化辨識錯誤率為目標的鑑別式訓練(Discriminative Training) 方法被應用於語言模型調適,成為語言模型調適方法之一。此方法訓練分類器. (Classifier)能夠區分最接近正確辨識結果的詞序列與其他候選詞序列,使得最接 近正確辨識結果的詞序列能順利成為辨識結果,降低辨識錯誤率。. 1.4 研究內容與貢獻 將透過鑑別式語言模型訓練方法進行的語言模型調適應用於中文大詞彙語 音辨識,進行辨識結果的重新排序,並作一系列實驗與討論。 此外,對鑑別式語言模型中特徵(Feature)的使用作改進,以關鍵詞自動擷取 方法所得詞彙,增加鑑別式訓練之特徵,以期能擷取語言規則特性與語意資訊, 並取得詞典中未列舉之詞彙。. 1.5 論文章節安排 本文後續幾個章節分述如下: 第二章 介紹語言模型以及語言模型調適的內容和方法。 第三章 介紹鑑別式語言模型的數種訓練方法,例如 Boosting 演算法、Perceptron 演算法與 Minimum Sample Risk 方法等。 第四章 描述筆者使用之改良方法,透過關鍵詞自動擷取方法取得關鍵詞以增加 鑑別式訓練之特徵,期望能夠進一步掌握語料中的語言規律以及詞典中 未列舉之詞彙。 第五章 說明實驗語料與實驗結果。 第六章 總結本論文研究內容。. 8.

(23) 第二章 文獻回顧 2.1 語言模型 2.1.1 統計式語言模型 語言模型在自動語音辨識系統中的主要的作用,是代表語言使用習慣與規 律。當前使用的語言模型為統計式語言模型(Statistical Language Model, SLM), 它統計一個詞在訓練語料中的出現情形,給予該詞一個機率,以代表該詞於某種 語言使用環境下的重要性。至於語言模型在辨識的過程中對辨識器產生的引導作 用,則是在給定一個歷史詞序列的情況下,判斷下一個最有可能出現的詞為何。 此設計理念與 Claude Elwood Shannon 在資訊理論(Information Theory)研究 中所提出的問題有關: 「給定一個字母序列,下一個字母最有可能會是什麼?」 在這個觀念之下,統計式語言模型成為一個基於歷史資訊之模型(History-based. Model):每一個詞 wi 的出現,都與其歷史詞序列有關,亦即 P ( wi | w1 w2 L wi −1 ) 。 因此辨識的過程,即是在給定一個歷史詞序列的條件下,判斷下一個最有可能出 現的詞為何,藉由從訓練語料中計算出給定歷史詞序列的條件下所有詞的機率分 布,並取其機率最高者,即可選出下一個最有可能出現的詞。 一段詞序列 W = w1 w2 L wk 在訓練語料中的事前機率 P(W ) ,可使用連鎖律. (Chain Rule)分解成: k. P (W ) = P( w1 ) P( w2 | w1 )L P( wk | w1 , w2 ,L, wk −1 ) = ∏ P( wi | hi ). (2.1.1.1). i =1. 當詞序列長度很大時,難以直接估算其條件機率 P( wi | w1 , w2 ,L, wi −1 ) ,且考慮各 種詞的排列組合有其困難性,因此目前語言模型多半採取 N 連語言模型,利用 9.

(24) N − 1 階馬可夫假設(N-1 Order Markov Assumption),主張每一個詞的出現,只與. 前 N − 1 個詞相關:. P ( wi | hi ) ≈ P( wi | wi − N +1 ,L, wi − 2, wi −1 ). (2.1.1.2). 也就是說,一個詞序列 W 的機率可寫為: n. n. i =1. i =1. P (W ) = ∏ P( wi | hi ) = ∏ P( wi | wi − N +1 ,L, wi −1 ). (2.1.1.3). 這樣的模型稱為 N 連語言模型。目前常用的 N 連模型有單連(Unigram)、雙連. (Bigram)與三連詞(Trigram)模型。例如常見的三連語言模型,可寫為: n. P (W ) = P( w1 ) P( w2 | w1 )∏ P( wi | wi − 2 , wi −1 ). (2.1.1.4). i =3. N 連詞模型的訓練是透過最大相似度估測(Maximum-likelihood Estimation) 來作估測,以 P ( wi | wi − 2 , wi −1 ) 為例,其估測值為: P ( wi | wi − 2 , wi −1 ) =. C ( wi − 2 , wi −1 , wi ) C ( wi − 2 , wi −1 ). (2.1.1.5). C ( x) 表示詞序列 x 在訓練語料中的出現次數,即詞頻(Word Count)。 如前所述,統計式語言模型是一種基於歷史資訊之模型,它根據一段歷史 詞序列來決定下一個詞的機率,正因如此,當訓練語料中的資料不足,也就是資 料稀疏(Data Sparseness)的情形出現時,在測試階段就無法提供必要的歷史詞序 列資訊以判斷下一個詞出現的機率,造成辨識結果和實際語音內容有所誤差。 為解決此問題,前人就各個角度發展方法來因應資料稀疏情形之對策。首 先,就模型面而言,發展了類別語言模型(Class-based Language Model) [Brown et. al. 1990],將語意(Semantic)或語法(Grammatical Behavior)相近的詞歸為一類,以 歷史類別序列代替歷史詞序列作為判斷一個詞出現機率的根據。 其次,就資料面而言,快取(Caching)模型和語言模型調適(Language Model 10.

(25) Adaptation)都利用額外的資料以補訓練語料之不足。 快取語言模型[Kuhn and Mori 1990]本身也是個基於歷史資訊之模型,只是 它除了根據訓練語料建立一個基於歷史資訊之模型外,另外在測試階段動態地根 據當下已判讀所得之測試語料歷史,對原有的模型做插補(Interpolate)。快取語言 模型的設計理念是:如果你說了什麼,你可能很快又會再說一次。因此,它在判 讀一部分測試語料後,立即計算這部分測試語料的 N 連詞出現次數,建立一個 動態的 N 連模型。 語言模型調適則是在原有的訓練語料之外,另加入一份資料量較小的調適 語料作為訓練之用。這份調適語料可能時空與領域皆與原有訓練語料相近,只是 用來增加訓練語料的份量以避免資料稀疏,也可能與原有訓練語料之時空或領域 並不相近,而是希望能使訓練結果偏向某一特定時空或領域,卻不具備該時空或 領域之充足資料,因此改為在原有訓練語料中加入一部分特定時空或領域的語 料,以改變語言模型的傾向。 另 外 , 各 種 平 滑 化 (Smoothing) 技 術 也 用 來 因 應 資 料 稀 疏 問 題 , 如. Good-Turing Estimate [Goodman 2001]、Katz Back-off Smooting [Katz 1987]與 Kneser-Ney Back-off Smoothing [Kneser et al. 1995] 等技術,將訓練語料中存在之 詞機率分出一部分給其他未曾出現(Unseen)在訓練語料中的詞。這是一種捐獻的 觀念,由於詞機率和必須為 1,若要使某些詞序列的機率不再是 0,也就是欲增 加它們的機率,則勢必要減少其他詞序列之機率,因此,便從原本機率不為 0 之詞序列處收集一些機率,將它分給原本機率為 0 的詞序列。例如後向(Back-off) 方法中,就三連語言模型而言,訓練完成之語言模型中包含了多種單連、雙連及 三連詞機率,在測試階段針對特定三連詞而言,若語言模型中並無此三連詞之資 訊,則改以雙連詞與單連詞的組合,來提供此三連詞之機率,使此三連詞之機率 不至為 0。. 11.

(26) 2.1.2 語言模型評估 為了評估(Evaluate)語言模型是否能在辨識過程中順利引導辨識器,使其選 擇最接近正確參照轉寫的候選詞序列作為辨識結果,以及衡量語言模型實際運用 效益多寡,需進行語言模型評估。語言模型評估的主要標準有錯誤率與複雜度二 者,錯誤率評估的是辨識結果,語言複雜度則是單就語言模型進行評量。. (一) 錯誤率(Error Rate) 錯誤率是將一段語音之正確參照轉寫與語音辨識結果作字串比對所得到之 數據。依比對之單位(Unit)不同,可分為字錯誤率(Character Error Rate, CER)與詞 錯誤率(Word Error Rate, WER)。 字串比對可透過動態規劃(Dynamic Programming)方法進行。若以字為對齊. (Align)單位來看,若正確字串中的某個字在辨識結果中被取代為錯誤的另一字, 稱為替代(Substitution);若正確字串中存在的某一字並不存在於辨識結果中,而 是被移除了,則稱為刪除(Deletion);與刪除相反,若辨識結果中多出了並不存在 於正確字串中的字,則稱為插入(Insertion)。 錯誤率之計算方式如下:. Error Rate =. S+D+I * 100% N. (2.1.2.1). 其中 S 代表替代數, D 代表刪除數, I 代表插入數,而 N 則為正確參照轉寫的字 串長度。. (二) 語言複雜度(Perplexity) 語言複雜度是用來評估一個語言模型的方式,其幾何意義為語言模型測試 語料正確語句 w1 , w2 ,L, wn 之機率倒數的幾何平均數: 12.

(27) PP ( w1 , w2 ,L , wm ) = m. m 1 1 *∏ P( w1 ) i = 2 P( wi | w1 , w2 ,L, wi −1 ). (2.1.2.2). 例如就三連詞而言則為:. PP ( w1 , w2 , L, wn ) =. 1 m. m. P( w1 ) ⋅ P ( w1 | w2 ) ⋅ ∏ P( wi | wi − 2 , wi −1 ) i =3. (2.1.2.3). n 為測試語料之總詞數。語言複雜度也可視為語言模型中詞的平均分支係數. (Geometric Mean of the Branching Factor)。 辨識錯誤率的計算是針對辨識結果作出衡量,由於辨識結果是由辨識系統 產生,包括特徵擷取、聲學模型與語言模型等模組的共同合作結果,因此辨識錯 誤率適用於上述各模組的評估。至於語言複雜度則不然,它評估的對象是語言模 型的內容本身,考量的是在出現一段歷史詞序列的情況下,下一個出現的字或詞 的選擇共有多少種可能。複雜度愈高,表示給定一個歷史詞序列,我們所要考慮 的下一個字或詞選擇愈多。. 13.

(28) 2.2 語言模型調適 2.2.1 語言模型調適的意義與架構 人類的語言並非恆常不變,它會因時間、領域的差異而有所不同,且隨著 文化的發展而不斷地有新語彙產生。為因應不同時間或領域中,人們對語法、語 意(Semantic)及詞彙(Lexicon)的使用習慣差異,避免傳統統計式 N 連語言模型內 容與應用領域之間有不匹配(Mismatch)的情形發生,所以需要進行語言模型調適. (Language Model Adaptation) ,使得統計式 N 連語言模型內容能夠符合特定應用. 訓練語料. 調適語料. 資訊擷取. 統計式模型估測. 調適資訊. 背景語言模型. 語言模型調適技術. 調適後語言模型. 辨識結果. 圖 2-1 語言模型調適架構 14. 測試語料.

(29) 領域之語音辨識需求。語言模型調適的主要架構如圖 2-1 所示:從圖中可見語言 模型調適架構中有訓練語料、調適語料與測試語料三種語料,其中訓練語料與調 適語料為我們在發展語言模型、估算並調整機率分佈的過程中所使用到的語料, 而測試語料則為我們欲應用語音辨識技術之目標對象語料。 訓練語料與調適語料之比較如下表所示:. 比較. 項目. 語料 類型. 資料量 與測試語料關係. 訓練語料. 調適語料. 較多. 較少. 較不密切. 較密切. 表 2-1 訓練語料與調適語料之比較 訓練語料用來統計並估算機率分佈,所產生的語言模型稱為背景語言模型. (Background Language Model);至於調適語料則用來調整背景語言模型中的機率 分佈,使其有機會更接近於我們欲應用語音辨識技術之目標對象的語言環境,其 所產生的語言模型為調適後的語言模型(Adapted Language Model)。 根據語料特性不同,語言模型調適可分為三種類型:同領域語言模型調適、 跨領域語言模型調適與同時期語言模型調適。如表 2-2 所示,其語料選擇雖然不 同,但其目的都是希望能夠得到更好的辨識結果。若調適目標為調整語言模型之 「領域」,則調適語料的領域必與測試語料領域一致,即使訓練語料領域與測試 語料領域未必相同;若調適目標為語言模型之「時期」,則調適語料之時期必與 測試語料之時期一致,即使訓練語料時期與測試語料時期未必相同。表 2-1 與表. 2-2 皆反映出調適語料與測試語料之間關係密切,這是因為調適語料的存在,本 就是為了調整原有語言模型,使其更能代表某種特定的語言使用環境,有效引導 辨識系統選擇最正確的詞序列作為辨識結果。. 15.

(30) 比較項目. 時期. 領域. 語言模型調適類型. 同領域語言模型調適. (Within-Domain LM Adaptation). 跨領域語言模型調適. (Cross-Domain LM Adaptation) 同時期語言模型調適. (Contemporaneous LM Adaptation). 訓練語料與測試語 料時期不同,而調適 三 種 語 料 來 源 皆 相 語料與測試語料時 同。 期相同。 訓練語料與測試語 三種語料時期皆相 料來源不同,而調適 語料與測試語料來 同。 源相同。 調適語料與測試語 調 適 語 料 與 測 試 語 料時期相同。 料來源未必相同。. 表 2-2 訓練語料、調適語料與測試語料三者關係. 2.2.2 語言模型調適方法 語言模型調適方法試圖運用各種語言相關資訊調整語言模型,使其更符合 於特定語言使用環境之需求。例如最大事後機率(Maximum a Posteriori, MAP)法. [Bacchiani et al. 2003] 根據調適語料中各詞彙之詞頻以調整語言模型機率,詞主 題混合模型(Word Topical Mixture Model, WTMM) [Chiu and Chen 2007]透過隱藏 的詞主題預測另一個詞的機率,位置相關語言模型(Position-Dependent Language. Models) [邱炫盛 2007] 將詞彙在文件中的位置資訊加入原有的模型中,而鑑別 式語言模型(Discriminative Language Model)則是引進全域線性模型(Global Linear. Model)架構以對辨識結果進行重新排序。 最大事後機率法是最常用於語言模型調適的方法之一,它根據調適語料調整. N 連語言模型中 N 連詞的機率,以進行語言模型調適。最大事後機率法之目標在 16.

(31) 於給定調適語料 Π 的情形下,求得最符合調適語料內容的語言模型參數估測. θ * ,以最大化 Π 之事後機率: θ * = arg max P(θ | Π ) = arg max P(θ ) P(Π | θ ) θ. θ. (2.2.2.1). 亦即其目標在於找出最符合調適語料中語言使用習慣之語言模型。 P (Π | θ ) 代表. N 連語言模型, P (θ ) 代表此模型的事前機率。 P (θ ) 的參數為各種詞序列組合: φh1 , w1 ,L,φh1 , w|V | ,L,φhK , w1 ,L,φhK , w|V | ,其中 N 連模型裡共有 K 種歷史詞序列,而 hi 代表其中某一個歷史詞序列。 w j 代表某個 |V |. 詞 , |V| 代 表 詞 典 大 小 , 則 ∑ φhi , w j = 1 。令 P (θ ) 為 一 Dirichlet 分布 (Dirichlet j =1. Distribution),則: P (θ ) = P(φh1 , w1 ,L,φhK , w|V | | vh1 , w1 ,L, vhK , w|V | ) K. |V |. ∝ ∏∏ φhi ,i w jj vh. ,w. (2.2.2.2). −1. i =1 j =1. vh. i. ,w j. > 0 ,為 Dirichlet 分布參數。至於 N 連語言模型 P (Π | θ ) 則為一個多項式分. 布(Multinomial Distribution):. P (Π | θ ) = P( w1 ,L, w|V | | φh1 , w1 ,L,φh1 , w|V | ,L,φhK , w1 ,L,φhK , w|V | ) K. |V |. (2.2.2.3). ∝ ∏∏ φhi ,i w jj ch. ,w. i =1 j =1. c hi , w j 為詞 w j 追隨在歷史詞序列 hi 之後出現的次數。將方程式 2.2.2.2 與 2.2.2.3. 代入方程式 2.2.2.1 可得:. 17.

(32) P(θ | Π ) = P(θ ) P(Π | θ ) |V |. K. = ∏∏ φ hi ,iw j j i =1. vh. ,w. (2.2.2.4). −1+ chi , w j. j =1. 上式經由對 φhi , w j 作偏微分求極值並加以推算後,可得最大事後機率法的解:. φh ,w = i. j. v hi , w j − 1 + c hi , w j |V |. ∑ (v p =1. hi , w p. (2.2.2.5). − 1 + c hi ,w p ). 若賦予 vhi , w j 不同的值,則會得到不一樣的結果,例如最大事後機率法中的詞頻 數合併法(Count Merging)與模型插補法(Model Interpolation)這兩種方法,其差別 即在於它們賦予 vhi , w j 之值相異。 若令 v hi , w j = C B (hi ). α PB ( w j | hi ) + 1 ,可得: β. P ( w j | hi ). α PB ( w j | hi ) + C A (hi w j ) β = |V | α C B (hi ) PB ( w p | hi ) + C A (hi w p ) ∑ β p =1 αC B (hi w j ) + βC A (hi w j ) C B (hi ). =. |V |. ∑ αC p =1. =. (2.2.2.6). |V |. B ( hi w p ) + ∑ β C A ( hi w p ) p =1. αC B (hi w j ) + β C A (hi w j ) αC B (hi ) + β C A (hi ). 此為詞頻數合併法,其中 C B (.) 代表背景語言模型中某一個詞的詞頻 (Word. Count), C A (.) 代表調適語言模型中某一個詞的詞頻,而. α 則為一個經由最大化 β. 期望值(Expectation-Maximization, EM)演算法 [Dempster et al. 1977] 估算後所求 得之常數。 若令 v hi , w j = C A (hi ). λ 1− λ. PB ( w j | hi ) + 1 ,則可得: 18.

(33) P ( w j | hi ) =. C A (hi ) |V |. ⎛. ∑ ⎜⎜ C p =1. ⎝. A. λ 1− λ. (hi ). PB ( w j | hi ) + C A (hi w j ). ⎞ α PB ( w p | hi ) + C A (hi w p ) ⎟⎟ β ⎠. ⎞ ⎛ λ C A (hi )⎜ PB ( w j | hi ) + PA ( w j | hi ) ⎟ ⎝1− λ ⎠ = |V | |V | λ C A (hi ) C A (hi w p ) ∑ PB (w p | hi ) + ∑ 1 − λ p =1 p =1 ⎛ λ ⎞ C A (hi )⎜ PB ( w j | hi ) + PA ( w j | hi ) ⎟ ⎝1− λ ⎠ = λ + C A (hi ) C A (hi ) 1− λ. λ. = 1− λ. PB ( w j | hi ) + PA ( w j | hi ). λ. +1 1− λ = λPB ( w j | hi ) + (1 − λ ) PA ( w j | hi ). (2.2.2.7). 此為模型插補法,其中 λ 為一權重(Weight),其功能在於支配背景語言模型與調 適語言模型之間孰輕孰重的傾向。 另外,前面曾提及的快取模型,也可視為一種模型插補法: Pcache ( w j | w j − N +1 , L , w j −1 ) = λc Ps ( w j | w j − N +1 , L , w j −1 ) + (1 − λc ) Pcache ( w j | w j − 2 , w j −1 ). (2.2.2.8). 其中 Ps ( w j | w j − N +1 , L, w j −1 ) 為原本語言模型機率, Pcache ( w j | w j −2 , w j −1 ) 為根據當 前已辨識出之詞序列所得之語言模型機率, λc 則為用以支配二者重要性高低的 權重。 由方程式 2.2.2.6 與 2.2.2.7 可看出,詞頻數合併法與模型插補法這兩種調適 方法都需要先統計調適語料中詞彙之詞頻,用以衡量調適語料中詞彙出現情形, 並據此計算其機率。就這一點而言,最大事後機率法可說是順應了統計式語言模 型的設計理念。統計式語言模型的機率是根據詞頻計算而得,同樣地,詞頻數合. 19.

(34) 併法是將背景語言模型與調適語言模型的機率先還原成詞頻,再計算其機率。而 模型插補法則是將根據訓練語料詞頻所求得之機率 PB ( w j | hi ) 與根據調適語料詞 頻所求得之機率 PA ( w j | hi ) 作線性插補。這兩種語言模型調適方法皆如同統計式 語言模型,試圖以計算語料中各詞彙機率值的方式,呈現出最接近特定語言使用 環境的語言模型。 近年來,鑑別式訓練方法被應用於語言模型調適中。有別於最大事後機率法 旨在最大化事後機率以找出最符合語料特性的語言模型,鑑別式訓練的目標是在 追求辨識錯誤率的降低,透過訓練使得分類器能找出最接近正確參照轉寫的候選 詞序列,以作為辨識結果,希望能因此降低辨識錯誤率。以機器代替人類將語音 轉譯成文字,是語音辨識的最終目標,若能降低辨識錯誤率,便距此目標更近一 些。鑑別式訓練的觀念,被應用於語言模型調適中,成為以降低辨識錯誤率為目 標進行語言模型調適的方法,這部分將在下一節中作說明。. 20.

(35) 2.3 鑑別式語言模型訓練與調適 鑑別式訓練是以最小化分類錯誤(Minimum Classification Error)為目標,運用 各種訓練方法,以訓練分類器有能力作出最正確的辨識。鑑別式訓練應用於聲學 模型與語言模型中,都有一定的成效。 就語言模型而言,鑑別式訓練的目標在於調整語言模型中的參數,使得語 言模型可以引導辨識器找出字/詞錯誤率最低的候選詞序列,以作為辨識結果。 例如 1998 年 Rigazio 等人 [Rigazio et al. 1998] 以最小化分類錯誤為目標, 對語言模型機率及語言權重作鑑別式的訓練及調適,其目標在於訓練分類器. (Classifier),使其能從 M 個最佳辨識結果中擇其預期錯誤率(Expected Error Rate) 最小者。語言模型機率代表詞序列在特定語言使用環境下的重要性,而語言權重. (Language Weight)則是代表在辨識系統中,語言模型與聲學模型二者相較之下的 可信賴度(Relative Reliability)。 隔年,Warnke 等人 [Warnke et al. 1999] 提出以最大相互資訊(Maximum. Mutual Information Estimation, MMIE)與最小化分類錯誤(Minimum Classification Error, MCE)來訓練語言模型插補(Language Model Interpolation)的權重。 2002 年,Kuo 等人 [Kuo et al. 2002] 提出以最小分類錯誤為基礎的鑑別式 語言模型訓練,目的在於區分最接近正確辨識結果的候選詞序列與其他候選詞序 列。其方法為比較 N 連詞在正確辨識結果與候選詞序列中的出現情形,以決定 如何增減該候選詞序列之機率值。若一個雙連詞(Bigram) 出現在正確辨識結果 中,但並未出現在候選詞序列裡,則增加語言模型中此雙連詞的機率值;反之, 若該雙連詞並未出現在正確辨識結果中,但卻出現在候選詞序列裡,則降低此雙 連詞在語言模型中的機率值。. 2005 年,Kuo 與 Chen 等人 [Kuo & Chen 2005] 則是以估測語言模型機率的 21.

(36) 方式,最大化訓練語料中詞圖的期望正確率,以期達到最小化詞錯誤 (Minimum. Word Error, MWE)的目標。其方法為以求得最佳詞正確率為目標,透過延伸波式 (Extended Baum-Welch)演算法推得語言模型參數估測之更新公式,透過一次次修 正語言模型機率,以期能夠最大化詞正確率之期望值。. 2007 年,Kuo 等人 [Kuo et al. 2007] 將有線狀態機(Finite-state Machine)的 觀念用於鑑別式訓練,其方法為調整有線狀態圖(Finite-state Decoding Graph)中狀 態之間的轉移權重(Transition-weight),以達到最小化詞錯誤率的目標。 除了運用鑑別式訓練直接調整語言模型參數,近年來亦興起另一種鑑別式訓 練模式,其方法為引進全域線性模型(Global Linear Model)架構以重新衡量基礎辨 識器產生的 M 個最佳辨識結果,並以鑑別式訓練方法調整模型中的參數,使分 類器能對基礎辨識器產生的 M 個最佳辨識結果進行重新排序,以期最接近正確 辨識結果的詞序列能成為最終辨識結果,達到最小化辨識錯誤率的目標。此類型 方法雖與其他鑑別式訓練方法同樣以最小化分類錯誤為目標對分類器進行訓 練,但不像傳統 N 連語言模型是以機率來衡量詞序列之重要性,而是改以全域 線性模型重新衡量各候選詞序列之間的差異,期待能夠成功訓練分類器從中選取 最接近正確轉寫的詞序列。 此類型方法一開始被應用於自然語言處理領域,以全域線性模型重新衡量詞 序列,並利用鑑別式訓練方法對分類器進行訓練,使分類器有能力選取最正確的 詞序列作為輸出結果。例如以 Boosting 演算法訓練分類器在語法剖析(Natural. Language Parsing) [Collins et al. 2000] 的 過 程 中 找 出 最 正 確 詞 序 列 , 或 以 Perceptron 演 算 法 訓 練 分 類 器 進 行 詞 性 標 示 (Part-of-speech Tagging) [Collins 2002]。其中,Boosting 演算法以資料選取方法(Data Selection)選取全域模型參數 並賦予參數適當估測值,而 Perceptron 演算法則是以最小平方誤差 (Minimum. Square Error, MSE)為前提進行全域線性模型的參數估測。. 22.

(37) 其後,Roark 等人[Roark et al. 2004a]採用 Perceptron 演算法進行鑑別式語言 模型訓練。此外[Roark et al. 2004b],又另採用條件隨機域(Conditional Random. Field, CRF)方法進行鑑別式訓練,並以之與 Perceptron 演算法的實驗成果作比較。 隔年,Gao 等人[Gao et al. 2005a]提出以 Minimum Sample Risk 演算法求取 全域線性模型參數,並將其與 Boosting 演算法和 Perceptron 演算法在語言模型調 適上的效果作比較[Gao et al. 2005b]。Minimum Sample Risk 演算法則是將正確辨 識 結 果 與 候 選 詞 序 列 之 間 的 編 輯 距 離 (Edit Distance) 視 為 樣 本 風 險 (Sample. Risk),試圖搜尋出可使訓練語料之樣本風險降至最低的參數,並以此參數對測 試語料作評估。. 2006 年,Zhou 等人 [Zhou et al. 2006] 將 Ranking SVM 方法應用於以全域 線性模型進行鑑別式語言模型訓練中,以進行語言模型調適,並將其與 Perceptron 演算法、Boosting 演算法與 Minimum Sample Risk 演算法的效果作比較。. 2007 年,Gao 等人 [Gao et al. 2007] 提出以最大化熵值(Maximum Entropy, ME)搭配回歸(Logistic Regularization)方法,選擇最佳候選詞序列。同時,還提出 Bossted Lasso (BLasso)演算法,其意在採用 Boosting 演算法搭配回歸(Logistic Regularization)方法,以訓練全域線性模型。此外,亦將上述方法與 Perceptron 演算法、Boosting 演算法的實驗成果作比較。 同年,Roark 等人[Roark et al. 2007] 以有線狀態機(Weighted Finite-state. Automata) 實作全域條件式對數線性模型 (Global Conditional Log-linear Models, GCLM)方法,並以之與 Perceptron 演算法的實驗結果作比較。 其後,Zhou 等人[Zhou et al. 2008]則是利用全域線性模型訓練所得之參數, 對 N 連語言模型之機率值進行調整,形成一個擬傳統的 N 連模型. (Pseudo-conventional N-gram Model),為傳統 N 連語言模型與全域線性模型建立 起一種新的合作關係。 23.

(38) 圖 2-2 為使用鑑別式語言模型進行語言模型調適之架構。下一章將介紹這種 以全域線性模型架構重新衡量基礎辨識結果的鑑別式語言模型,並介紹數種以最 小化分類錯誤為目標進行全域線性模型參數估測之演算法。. 圖 2-2 使用鑑別式語言模型進行語言模型調適之架構 24.

(39) 第三章 使用鑑別式語言模型重新排序辨識結果 3.1 基於歷史資訊之模型與全域線性模型 目 前 常 見 的 N 連 語 言 模 型 是 一 種 基 於 歷 史 資 訊 之 模 型 (History-based. Model),它假設一個詞的出現與先此詞之前出現的歷史詞序列有關。近年來,全 域線性模型(Global Linear Model)提供另一種看待訓練語料的觀點,透過鑑別式訓 練調整全域線性模型之參數值,以此對基於歷史資訊之模型的排序結果作進一步 的調整(Reranking),以期得到更正確的辨識結果。. 3.1.1 基於歷史資訊之模型 基於歷史資訊之模型是以一連串決策的過程來賦予當前事件(Event)一個意 義,每下一個決定,都是根據先前的歷史來作判斷(Decision),每個判斷都有一 個相關的條件機率(Conditional Probability)。 統計式語言模型即是一個基於歷史資訊之模型,它將一個詞序列的機率視 為一連串條件機率的乘積: P (W ) = P( w1 ) P( w2 | w1 ) L P( wn |w 1 , w2 , L , wn −1 ) ,每 一個詞都根據它的歷史詞序列作為條件 (Condition) ,用以決定目前這個詞的機 率,這是一連串的決策過程。而找出對應於一段語音訊號 X 的最佳詞序列 W * 的 方法,便是找出機率值最高的之詞序列。 基於歷史資訊之模型在語言模型中有相當大的重要性,它嘗試去取得語言 的規律性,統計各種歷史詞序列出現的機率,這個方法在實際運用上得到很不錯 的辨識結果。 然而,基於歷史資訊之模型的限制,也正因為它根據歷史以作出決策,早. 25.

(40) 先對某段歷史的估量會影響接下來根據這段歷史所做出的判斷。就語言模型而 言,亦即對一個詞 wk 判斷,會影響其後以 wk 作為歷史詞序列元素的詞之機率如. P ( wi | w1 ,L, wk ,L, wi −1 ) 。假設 wk 本應為「口試」一詞,若統計式語言模型判斷 它是「可是」一詞的機率高於它是「口試」一詞的機率,則接下來原本判斷應. P (如何 | 今天的口試) 的問題,可能就變成了判斷 P(如何 | 今天的可是) 的問題,. 影響到其後的辨識結果。 因此,全域線性模型架構被引進,它保留基礎辨識器產生的多條機率值較 高的候選詞序列,以最小化辨識錯誤為目標對這些候選詞序列進行重新排序,以 修正基於歷史資訊之模型可能產生的排序錯誤。. 3.1.2 全域線性模型 全域線性模型 [Collins 2003] 是以基於歷史資訊之模型的辨識結果作為初 始值,以使用者所定義的特徵(Feature)作為根據,將基於歷史資訊之模型的辨識 結果利用這些特徵的線性組合(Linear Combination)作重新呈現(Representation), 估算出新的分數,以對基於歷史資訊之模型的辨識結果作重新排序。 線性模型的訓練資料為一個輸入/輸出組合所形成的集合 { X , Y R } ,其中 X 為欲辨識之輸入內容, Y R 為正確辨識結果,線性模型的訓練目的在於找出 X 與 Y R 之間的對應(Mapping)關係。其作法為利用歷史模型產生一個集合 GEN ( X ) ,. 此集合中每一個元素,皆為 X 所可能對應之 Y ,即 Y ∈ GEN ( X ) ,而線性模型訓 練,就是為了訓練辨識器將 GEN ( X ) 中的所有元素重新排序,從 GEN ( X ) 找出一 個最接近正確的 Y * ,作為辨識結果。 全域線性模型的主角為特徵(Feature),在全域線性模型中有一組全域的特徵 (Global Features),用來描述我們想要從訓練或測試資料中獲取的資訊。特徵是可. 以自由定義的,例如 N 連詞、詞性…等,皆可定義為特徵。每一個 Y 的內容都根 26.

(41) 據其特徵,被重新表示為一個特徵向量(Feature Vector)。 另外,全域線性模型定義了一個誤差方程式(Loss Function),用以估計訓練 過程中, Y 與正確辨識結果 Y R 之間的誤差程度,以最小化誤差為目標,找出一 個能使誤差最小的 Y * ,作為辨識結果。 對於線性模型的訓練,主要是調整對應於特徵向量 f (W ) 的特徵權重(Weight) 向量 λ ,此權重根據訓練階段分數最高的候選辨識結果詞序列與實際上最正確的 辨識結果詞序列之間特徵向量的差距來作出調整。特徵向量與特徵權重向量將每 一個候選詞序列對應至一個實數值分數,以此分數對 GEN ( X ) 作重新排序。 調整權重的目的是為了使實際上最正確的辨識結果能夠順利在測試階段得 到最高的分數,成為最終產出的辨識結果,降低因基於歷史資訊之模型的限制而 形成的排序誤差。 特徵向量與特徵權重向量相對應(Mapping),意即特徵向量的第 d 維,對應 至特徵權重向量的第 d 維。以下用 f d (W ) 代表特徵向量的第 d 維,以 λ d 代表特 徵權重向量 λ 的第 d 維元素。 f d (W ) 記錄第 d 維特徵之值,而相對應之特徵權重. λ d 表示該特徵之重要性。 特 徵 向 量 f (W ) 與 特 徵 權 重 向 量 λ 由 線 性 鑑 別 式 (Linear Discriminant Function)作結合。一個線性鑑別式可以表示如下 [Duda et al. 2001]: D. g (Y ) = λo f 0 (Y ) + ∑ λ d f d (Y ). (3.1.2.1). d =1. 其中 f 0 (Y ) 為一偏差值(Bias),為模型提供給候選辨識結果 Y 的初始分數, f i (Y ) 為 特徵向量的某一維, λi 則為特徵向量所對應之特徵權重,其中 i 的值介於 0 到 D 之間。. 27.

(42) f 0 (Y ). λ0. f1 (Y ). f 2 (Y ). λ1 λ2. 累加器. g (Y ). λd f d (Y ). 圖 3-1 線性鑑別式示意圖. 根據方程式 3.1.2.1,線性鑑別式 g (Y ) 將候選辨識結果 Y 之特徵向量 f (W ) 與 特徵權重向量 λ 這兩個向量作內積(Inner Product)運算,得到一個實數值,圖 3-1 為其示意圖。此實數值代表全域線性模型賦予候選辨識結果 Y 的分數,線性模型 便是根據此實數分數對候選詞序列集合 GEN ( X ) 中所有的候選詞序列 Y 作重新 排序。在訓練階段,訓練此模型有能力提供一個正確的評分環境,在輸入訓練語 R * 的詞序列 Ytrain 最高分 料 X train 的情況下,希望模型可以賦予最接近正確答案 Ytrain. 數;在測試階段,則是依此訓練好的模型,對測試語料 X test 所對應的候選詞序列 * 便成為 集合 GEN ( X test ) 中所有候選詞序列 Ytest 作出評分,得分最高之詞序列 Ytest. 輸出結果。. 28.

(43) 3.2 鑑別式語言模型訓練之定義 鑑別式 N 連語言模型(Discriminative N-gram Language Modeling)針對基礎辨 識器(Baseline Recognizer)所產生的多個分數較高之詞序列作訓練。有別於最大相 似度估計(Maximum Likelihood Estimation, MLE)方法旨在找出與訓練資料最相 近的語言模型,鑑別式訓練方法著眼於如何降低辨識的錯誤率。 鑑別式訓練對基礎辨識器(Baseline Recognizer)所產生的 M 個最佳辨識結果 (M-best Recognition Hypotheses)作重新排序,以期較正確的辨識結果可有較高的. 排序,其對問題的定義如下[Gao et al. 2005]: z. 將訓練語料視為 { Ai ,Wi R } 的組合, 其中 i 的值在 1 到 L 之間,其中 Ai 代 表一段語音訊號,Wi R 為此段語音訊號所對應之正確詞序列,L 為訓練 資料筆數。. z. 定義 GEN ( A) 為基礎辨識器對於一段語音訊號 A 所產生的 M 條候選詞 序列之集合。. z. 定義一組 D + 1 維的特徵向量 f d (W ) ,其中 d 的值在 0 到 D 之間,其中 f 0 (W ) 為三連 (Trigram) 語言模型所賦予詞序列 W 的機率之對數,即 log PTrigram (W ) ;而其他每一維度 d ,則是記錄 W 中特定 N 連詞的出現. 次數,即 f d (W ) 。 z. 此外,定義一個 D + 1 維的參數向量 λ = [λ0 ., λ1 , L , λD ],參數向量的第 d 維對應至特徵向量之第 d 維,其中 d 的值在 0 到 D 之間。. 詞序列 W 所得到的分數可寫成:. 29.

(44) D. Score(W , λ ) = λf (W ) = ∑ λd f d (W ). (3.2.1). d =0. 而辨識的目標則在於找出得分最高的詞序列 W * ,亦即:. W * ( A, λ ) = arg max Score(W , λ ). (3.2.2). W∈GEN ( A ). 若要順利得到最正確的辨識結果,則必須先為鑑別式訓練求得一組最合適 之參數。鑑別式訓練求得最正確辨識結果的方法,就是取得最佳參數解,使得辨 識錯誤最小。以 Er (W R ,W ) 表示某一候選詞序列與正確辨識答案之間的誤差,而 SR (Sample Risk)表示所有訓練語料的辨識誤差總和,則鑑別式訓練的目的在於. 求得參數之最佳解:. λ* = arg min SR (λ ) = arg min λ. λ. ∑ Er (W. i =1LM. i. R. ,Wi ( Ai , λ )). (3.2.3). 能夠使得辨識結果 W 與正確辨識答案 W R 之間的誤差最小之參數,即為鑑別式訓 練所冀望求得之最佳參數解。 特徵向量與特徵權重向量如圖 3-2 所示。每一維特徵可能是一個單連詞,或 是一個雙連詞,特徵向量記錄此項特徵在某一個候選詞序列中的出現次數,其相 對應的特徵權重向量則是模型經過訓練後所得到的數據,其更新(Update)權重的 依據是該候選詞序列 W 與正確參照轉寫 W R 之間的差距,例如 Boosting 演算法是 以二者間 N 連語言模型所賦予該詞序列的機率對數的差距(Margin)為依據,計算 出現在該詞序列之特徵對辨識誤差所產生的影響,Perceptron 演算法是以二者特 徵向量的差距作為更新特徵權重的依據,而 Minimum Sample Risk 則是透過線性 搜尋找出最佳特徵權重,為使模型能從候選詞序列集合 GEN ( Atrain ) 中找出與正確 R * 編輯距離(Edit Distance)最小的詞序列 Wtrain 。 答案 Wtrain. R 在訓練階段中,模型的訓練目標在於使得最接近正確答案 Wtrain 的詞序列. 30.

(45) D. * Wtrain 能 夠 在 Score(W , λ ) = ∑ λ d f d (W ) 的 評 分 下 得 到 比 候 選 詞 序 列 集 合 d =0. GEN ( Atrain ) 中其他候選詞序列都還要高的分數;在測試階段,則是根據訓練階段. 建立起由特徵權重與特徵向量組成的評分機制,從候選詞序列集合 GEN ( Atest ) 中 * R ,視之為與正確答案 Wtest 最接近的候選詞序列,作為 找出得分最高之詞序列 Wtest. 辨識的輸出結果。. 圖 3-2 特徵向量與特徵權重向量. 31.

(46) 3.3 Boosting 演算法 Boosting 演算法為一種機器學習方法,它以多個分類器(Classifier)組成的投. 票(Voting)機制來決定分類結果,以期最小化分類錯誤。近年來,Boosting 演算 法被應用於鑑別式語言模型訓練。. 3.3.1 Boosting 演算法 Boosting 演算法的設計理念,是結合數個弱勢分類器(Weak Classifier)成為一. 個功能強大的分類機制,以減少單一弱勢分類器所易造成的分類錯誤。 其後,Boosting 演算法被應用在重新排序(Reranking)的議題上[Freund et al. 1998]。像其他 Boosting 方法一樣,RankBoost 是結合數個對於當前訓練資料的. 弱勢排序,成為一個強勢排序。其排序方法是將分類問題設計成將分類對象分為 「喜歡(Prefer)/較不喜歡(Less Prefer)」二類的問題,而受「喜歡」程度較高者, 將得到較高的分數,並取得較領先的排名。 此學習演算法根據答案,試圖找出一個排序方式,使得排序錯誤越少越好, 其目標在於確認排序的相對性,而非分數的差距大小。例如 2 個個體(Instance) A 與 B,此學習者(Learner)要學的是 A 必須排在 B 之前,以及這個證據在排序機制 中應給予它多少的重要性,而非 A 與 B 之間的分數差距有多少。 此外,線性對數模型(Log-linear Model)與 Boosting 演算法在分類問題上的關 聯性亦被提出[Friedman et al. 1998],有助於後繼者將 Boosting 演算法運用於語言 模型或自然語言處理之領域[Collins et al. 2000]。. 32.

(47) 3.3.2 Boosting 演算法於鑑別式語言模型之應用 Boosting 演算法主要意涵,在於認為在一個合理的評分環境下,正確答案 W R 之 得 分 應 高 於 候 選 詞 序 列 集 合 GEN ( A) 中 任 一 個 候 選 詞 序 列 W 之 得 分 (W ≠ W R ) ,否則此評分環境是不合理的,亦即產生排序錯誤(Ranking Error)。 Boosting 演算法[Gao et al. 2005b] 將 (W R , W ) 二者的差數(Margin)定義為:. M (W R ,W ) = Score(W R , λ ) − Score(W , λ ). (3.3.2.1). 而減損函數(Rank Loss Function)則定義為: RLoss (λ ) =. ∑. ∑ I [M (W. i =1LL Wi ∈GEN ( Ai ). i. R. (3.3.2.2). , Wi )]. 其中 I [π ] = 1 if π ≤ 0 , and 0 otherwise. Boosting 演算法試圖找出一組最合適之參數向量 λ ,使得訓練/調適語料的. 減損函數值最小,亦即辨識結果最正確。然而, RLoss 為一階躍函數 (Step Function),無法直接求得其最佳 λ 解,因此 Boosting 演算法將 RLoss 取指數,以. 作為 RLoss 之上限(Upper Bound),即: ExpLoss (λ ) =. ∑. ∑ exp(−M (W. i =1LL Wi ∈GEN ( Ai ). R. i. , Wi )). (3.3.2.3). 由於 ExpLoss 函數為一凸函數(Convex Function) ,因此可對其求得最佳解,亦即 可使辨識錯誤率降至最低之 λ 解。 Boosting 演算法如圖 3-3,它進行的是一個資料選取的過程。除了第 0 維特. 徵外,其餘特徵權重初始值皆預設為 0。在每一回合中,選取一個可使誤差最小 的特徵,更新其特徵權重,可重複選取,因此在進行 T 個回合後,只有小於或等 於 T 維的特徵權重被更新為非 0 值。. 33.

(48) 1. Set λ0 = 1 and λ d = 0 for d = 1L D. 2 3. For t = 1LT Select a feature f d which has largest estimated impact on. 4. reducing ExpLoss Update λ d = λ d + δ d. 圖 3-3 Boosting 演算法. 34.

(49) 3.4 Perceptron 演算法 感知機(Perceptron)為機器學習中的重要議題,以下將簡介感知機並說明它 在鑑別式訓練中的應用。. 3.4.1 感知機 人類發明電子設備的目的,是為了讓電子設備代替人類處理生活中的一些 事務。事實上,人類解決問題最好的工具,就是人類的大腦。因此,在設計電子 設備時,如何使電子設備可以像人類的大腦一樣自動且順利地運作,處理各類外 界事物,就成為一門重要的學問。 隨著醫學發展,人類腦部的運作方式逐漸被瞭解,學者陸續提出類神經元 的運算模型 [McCulloch et al. 1943],以及主張學習現象的發生,乃在於神經元 間的突觸產生某種變化所引起 [Hebb 1949]。 大腦的運作機制隨之逐漸被應用於資訊領域,產生感知機 [Lippman 1987] 的設計,試圖以機器代替人類大腦對某些事件作出判斷與處理。感知機為單一類 神經元(Neuron),具有可調整的鍵結值(Synaptic Weight)以及閥值(Threshold)。這 些參數的設定,使得感知機可以處理分類問題。. 3.4.2 Perceptron 演算法於鑑別式語言模型訓練之應用 Perceptron 演算法則是以最小平方誤差(Minimum Square Error, MSE)的形式. 去估算樣本風險(sample risk) [Mitchell 1997],以求得特徵權重向量 λ 可能的最佳 解。其 MSELoss 方程式定義[Gao et al. 2005b]如下:. 35.

(50) MSELoss (λ ) =. 1 ( Score(Wi R , λ ) − Score(Wi , λ )) 2 ∑ 2 i =1LM. (3.4.2.1). 若 MSELoss 函數對 λ d 做偏微分,則為:. G (λ d ) = =. ∂MSELoss(λ ) ∂λd. ∑ (Score(W. i. i =1LK. R. (3.4.2.2). , λ ) − Score(Wi , λ ))( f d (Wi R ) − f d (Wi )). 上式是對全部 K 句訓練語料而言,換言之,對單一一句訓練語料而言,可寫成: G (λd ) = ( Score(Wi R , λ ) − Score(Wi , λ ))( f d (Wi R ) − f d (Wi )). (3.4.2.3). 因為 MSELoss 有許多局部最佳解,因此 Perceptron 演算法採取隨機(Stochastic)策 略,不再一次對 L 個訓練語句求參數之最佳解,而是改以對一個個單一訓練語料 求最佳解,以用來更新參數:. λ d = λ d + η * G (λ d ). (3.4.2.4). 其 中 η 為 學 習 步 調 大 小 (Learning Step Size) 。 更 新 特 徵 權 重 的 方 程 式 為. λd = λd + η * ( Score(Wi R , λ ) − Score(Wi , λ ))(( f d (Wi R ) − f d (Wi )) ,亦有學者直接 R 以 λd = λd + η * ( f d (Wi ) − f d (Wi )) 方式更新特徵權重。更新動作進行 T 個回合。. 在 Perceptron 演算法中,特徵權重分為區域(Local)特徵權重與全域(Global) 特徵權重兩組,區域特徵權重記錄的是 L 個訓練語句各自獨立計算之權重值,全 域特徵權重則是在更新動作進行 T 個回合後,將 L 個訓練語句的區域特徵權重統 整起來之結果,其式為: L. (λ d ) Global = ∑ (λid ) Local. (3.4.2.5). i =1. 有學者指出[M. Collins 2002],使用 Averaged Perceptron 演算法會得到較佳 36.

(51) 結果,其方法為記錄 T 個回合中 L 個語料各自更新區域特徵權重之結果,最後再 將 T 個回合中 L 個語料的參數全部加總起來取平均數,成為一個平均後的全域特 徵權重: T. (λ d ) avg =. L. (∑∑ (λtd,i ) Local ) t =1 i =1. (3.4.2.6). T *L. 此參數即為 Averaged Perceptron 演算法訓練所得之最佳參數解。 本文採用的 Perceptron 演算法如圖 3-4 所示,就第 i 個訓練語料而言,選擇 GEN ( Ai ) 中能得到最高 Score(Wi , λ ) 值的詞序列 Wi ,用它與最接近正確參照轉寫. 的詞序列 Wi R 之間每一維特徵值的差距 f d (Wi R ) − f d (Wi ) 來更新對應之特徵權重. λd ,希望能以此調整評分機制,使最接近正確參照轉寫的詞序列 Wi R 能成為最終 辨識結果。. 1. Initialize all parameters in the model, i.e. λ0 = 1 and λ d = 0 for d = 1L D. 2. For t = 1LT , where T is Total number of iterations. 3. For each training sample ( Ai ,Wi R ), i = 1L L. 4. Use current model λ to choose the Wi from GEN ( Ai ) with the largest Score(Wi , λ ) value. 5. For d = 1L D. 6. λd = λd + η * ( f d (Wi R ) − f d (Wi )) ,where η is the size of the learning step 圖 3-4 Perceptron 演算法. 37.

(52) 3.5 Minimum Sample Risk 演算法 Minimum Sample Risk 演算法[Gao et al. 2005a]的基本精神與 Boosting 演算. 法 相 近 , 都 是 採 用 資 料 選 取 (Data Selection) 方 法 來 選 出 一 個 特 徵 的 子 集 合 (Subset),這個子集合中的特徵,都對辨識錯誤率的下降有所幫助。. 樣本風險(Sample Risk, SR)指的是對 L 句訓練語料而言,辨識結果詞序列 W 與正確詞序列 WR 之間的編輯距離(Edit Distance)總和。鑑別式訓練的目的,在於 最小化字錯誤率(Character Error Rate),而字錯誤率的計算與編輯距離正相關,若 能使編輯距離變小,則字錯誤率自然會降低,因此,Minimum Sample Risk 演算 法將焦點放在如何使 L 句訓練語料的編輯距離降至最小,也就是使整個訓練語料 的樣本風險降到最低。 格狀線性搜尋(Grid Line Search)在此演算法中扮演重要的角色,如圖 3-5 所. Min SR. 圖 3-5 格狀線性搜尋示意圖. 38.

(53) 示,格狀搜尋之對象為特徵權重 λ d 之值,格狀指的是 λ d 值之調整量。而搜尋的 目標則是能使樣本風險最低的特徵權重。格狀線性搜尋的作法,是一次調整特徵 向量中某一維特徵所對應之特徵權重。就某一維特徵權重而言,必須於某個區段 內,以一個短距離作為單位,一次又一次調整特徵權重之值,並且逐一試算並記 錄其對應之樣本風險。最後,再從所有試算過的特徵權重值中找出能使樣本風險 降至最低者。. 1. Set λ0 = 1 and λ d = 0 for d = 1L D. 2. Rank all features and select the top K features, using the feature subset selection method. For t = 1LT (T = total number of iterations) For each k = 1L K Update the parameter of f k using line search.. 3 4 5. 圖 3-6 Minimum Sample Risk 演算法 Minimum Sample Risk 演算法的流程如上圖所示,需先對 D 維特徵做資料選. 取,只選取 K 個特徵形成特徵子集合,再針對這 K 個特徵所對應之特徵權重做 格狀線性搜尋,以為這 K 個特徵分別找出最佳權重值。 實作步驟依序為: 先以格狀線性搜尋為 D 維特徵分別找出最佳特徵權重,並以此計算每一維 特徵的影響力(Effect),影響程度的計算如下:. E( f d ) =. SR ( f 0 ) − SR ( f 0 + λ d f d ) max ( SR ( f 0 ) − SR ( f 0 + λi f i )). (3.5.1). f i ,i =1LD. SR( f 0 ) 指的是只用第 0 維特徵所取得之辨識結果的樣本風險, SR( f 0 + λ d f d ) 指. 的是使用第 0 維與第 d 維特徵所取得之辨識結果的樣本風險。此式的意義的是加 入第 d 維特徵後,樣本風險的下降幅度。D 維特徵影響程度需由大至小排序,影 39.

(54) 響力最大者,被選為特徵子集合中第 1 個特徵 f1 。 在選擇特徵子集合中第 2 個特徵之前,需依據下式計算剩餘 D-1 維特徵各 自與特徵子集合中第 1 個特徵 f1 之間的交互關係(Cross-correlation): M. ∑x. C (i, j ) =. m =1. M. mi. x mj M. ∑x ∑x m =1. 2 mi. m =1. (3.5.2) 2 mj. xmd 的值為布林(Boolean)值,若 xmd 為 1,表示加入第 d 維特徵可使第 m 句訓練. 語料的編輯距離下降,若 xmd 為 0,表示並未下降 根據下式,選擇特徵子集合之第 2 個特徵: j * = arg max{αE ( f j ) − (1 − α )C (1, j )} j = 2LD. (3.5.3). 其中 α 為一權重。根據待選特徵 f j 的影響力 E ( f j ),以及 f j 與 f1 之間的交互關係 C (1, j ) ,可選出特徵子集合之第 2 個特徵。. 至於特徵子集合之第 k 個特徵, k = 3L K ,則依下式選出: 1 − α k −1 ⎧ ⎫ j * = arg max ⎨αE ( f j ) − C (i, j )⎬ ∑ k − 1 i =1 j ⎩ ⎭. (3.5.4). 此式與選擇特徵子集合之第 2 個特徵的式子不同之處在於,需計算待選特徵 f j 與 特徵子集合中所有已被選取的特徵之間的交互關係。 根據上述四個步驟,可產生一個特徵子集合。最後,再針對特徵子集合中 全部特徵所對應之特徵權重做格狀線性搜尋,便可得到 Minimum Sample Risk 演 算法的訓練結果。 為降低 Minimum Sample Risk 演算法的計算量,因此有三個減少實際計算量 的方法: 40.

參考文獻

相關文件

畫分語言範疇(language categories),分析學者由於對語言的研究,發現

Guiding students to analyse the language features and the rhetorical structure of the text in relation to its purpose along the genre egg model for content

Using a one-factor higher-order item response theory (HO-IRT) model formulation, it is pos- ited that an examinee’s performance in each domain is accounted for by a

One of the technical results of this paper is an identifi- cation of the matrix model couplings ti(/x) corresponding to the Liouville theory coupled to a

O.K., let’s study chiral phase transition. Quark

The Model-Driven Simulation (MDS) derives performance information based on the application model by analyzing the data flow, working set, cache utilization, work- load, degree

For a deep NNet for written character recognition from raw pixels, which type of features are more likely extracted after the first hidden layer.

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..