730 likes | 875 Views
計算語言學概論. Ch4 詞法分析 楊允言. 4.1 概論. 音節 語詞語句 語詞是 ùi 無意義 ê 聲音 k àu 有意義 ê 語音 ê 關鍵過渡 語言學對詞 ê 定義:會 tàng 獨立運用,有意義 ê siong 細 ê 語法單位. 4.1 概論 -2. 漢字 ê 例 簡體字 ê「 后 」對應繁體字 ê「 後 面、皇 后 」,若是 ti 字 ê 基礎轉換有困難, ti 詞 ê 基礎做轉換 to 有可能 文字校對系統,「羅馬 子 (字)」(拼音 ê 輸入法)、「 于 (干)涉」(字形 ê 輸入法),利用詞 ê 基礎來檢查, chiah 檢查會出來
E N D
計算語言學概論 Ch4 詞法分析 楊允言
4.1 概論 • 音節語詞語句 • 語詞是ùi無意義ê聲音kàu有意義ê語音ê關鍵過渡 • 語言學對詞ê定義:會tàng獨立運用,有意義ê siong細ê語法單位
4.1 概論-2 • 漢字ê例 • 簡體字ê「后」對應繁體字ê「後面、皇后」,若是ti字ê基礎轉換有困難,ti詞ê基礎做轉換to有可能 • 文字校對系統,「羅馬子(字)」(拼音ê輸入法)、「于(干)涉」(字形ê輸入法),利用詞ê基礎來檢查,chiah檢查會出來 • 語詞檢索「人為」,若是語料庫無經過斷詞處理,有可能會chhe出「以人為本…」、「人為按怎beh活leh」等無適合ê例句
4.1 概論-3 • 詞法分析第一個任務 • Ùi話句內底ka詞chhe出來(tokenization) • 若有需要,koh分析組成這個詞ê語素成分(lemmatization / morphological analysis) • 詞法分析第二個任務 • 做Part of Speech iah是 Word Sense Tagging • 這句話ê三個翻譯(n)lóng翻譯(v)了têng-tân去
4.1 概論-4 • 詞法分析ê困難點 • 理論上 • 詞ê 定義? • 詞ê 意思beh按怎確認? • 實作上 • Beh按怎真緊ka詞chhe出來? • 斷詞beh按怎做disambiguity? • 詞類beh按怎做disambiguity?
4.2 詞ê判別 • 英文ê詞 (Tokenization) • White Space / 標點 隔開 • 有ê詞用標點隔開 eg “I’ll” “can’t” • 有ê縮寫詞有句點 eg “U.S” • 有ê詞有非字母 eg “AT&T” “Micro$oft” • 數字 eg “123,456.789” “23.5%” “2005/12/21” • 會sái用Regular expression表示,用Finite State Machine處理
4.2 詞ê判別-2 • 英文ê詞形分析 (Lemmatization) • Prefix + Word Stem(詞根) + Suffix + Inflection(型態變化) • eg possible impossible impossiblyhappy happinesslady ladiescheck checkedmake makerstrong strongest…
4.2 詞ê判別-3 • 台文ê tokenization:做Word Segmentation • 漢羅台文,需要先切做一個一個ê音節(全漢字to無需要) • 查辭典,用siong大比對 (Maximal Matching)eg : 台語文|計算|語言學|是|三|學分|ê|課 • 問題:ambiguityeg : 看台語故事 (X)看台|語|故事 (O) 看|台語|故事 (Backward Maximal Match thang解決)
4.2 詞ê判別-4 • 台文ê例eg : 真正常用 …(O) 真正|常用 …(O) 真|正常|用 … • 華文ê例eg : 結合成分子時 (FMM/BMM)(X)結合|成分|子時(O)結合|成|分子|時
4.2 詞ê判別-5 • Ambiguity分兩種 • 交chhap型AmbiguityABC AB | C / A | BCeg 野球場 ( 野球|場 / 野|球場 ) • 組合型AmbiguityAB AB / A|Beg 個人 (我|個人…/三|個|人…) • 組合型Ambiguity無法度用siong大比對解決
4.2 詞ê判別-6 • 利用規則來解決組合型Ambiguity • if ( IsNumber ( LeftWord (“個人”) ) )then “個|人”else “個人” • 利用MM + Feedback來解決交chhap型Ambiguity • 學歷史智識 (FMM) 學歷|史(辭典無)|智識 學|歷史|智識
4.2 詞ê判別-7 • Siong大機率分詞(統計方法,針對交chhap型Ambiguity) • eg : 0看1台2語3故4事5FMM 看台|語|故事 0 -- 2 -- 3 -- 5 BMM 看|台語|故事 0 -- 1 -- 3 – 5 • 查詞頻資料 • 看台 9 0.0002% • 語 2,787 0.0688% • 看 14,566 0.3595% • 台語 5,549 0.1370% • P(看台) × P(語) < P(看) × P(台語) 選BMM ê結果
4.2 詞ê判別-8 • 演算法 • 將無kâng分詞結果排序w1, w2, …, wn • Ùi辭典查出P(wi),並且紀錄倒pêng相óa ê詞(LAW) • P’(wi) = P’(wi-1) ×P(wi),比較得著siong好ê LAW (BLAW) • 一直算kàu P’(wn) • wn開始,ùi正pêng kàu倒pêng將 BLAW印出來,to是結果
4.2 詞ê判別-9 • eg : 0-1(看),0-2(看台),1-3(台語),2-3(語),3-5(故事) • P’(看)=P(看),無LAW • P’(看台)=P(看台),無LAW • P’(台語)=P’(看)×P(台語),“台語” ê BLAW是“看” • P’(語)=P’(看台)×P(語),“語” ê BLAW是“看台” • P’(台語) > P’(語) • “故事”是siong尾詞,結束 • “故事” ê BLAW是“台語”, “台語” ê BLAW是“看” 看|台語|故事
4.2 詞ê判別-10 • Siong大機率分詞演算法無法度處理組合型Ambiguity • eg(華語ê例) P(才能) > P(才)×P(能)(X)做完|作業|才能|看|電視 • 交chhap型Ambiguity若tú著詞頻特別kôan ê詞ma有可能出chhê • eg (華語ê例) (X) 這|事|的|確定|不|下來(O) 這|事|的確|定|不|下來
4.2 詞ê判別-11 • 其它ê問題(辭典無收ê詞) • 定量詞eg 三張紙、二十五個人、… • 定量詞若無處理,會影響台語變調結果 • 複合詞問題 eg 國中小、上下班、… • Prefix/Suffix eg 正確性、相關性、… • 重thah詞 eg 歡歡喜喜、輕輕鬆鬆、… • 人名、地名 eg 陳水扁、舞鶴、… • 組織名、商品名 eg 台大資訊系、可口可樂、… • 新名詞、簡省詞 eg E世代、A菜、資工、… • 術語(Term)
4.3 詞性標注 • 前提:斷詞愛正確 • 詞類ê Sequence ma有可能倒頭來檢查斷詞ê正確性 • 英文,雖然語詞有型態變化,詞類kang款有Ambiguity • eg : Time/n-v flies/v-n like/p-v an/det arrow/n.p : preposition(介詞) det:冠詞
4.3 詞性標注-2 • 華文ê例 • eg : 把/q-p-v-n這/r 篇/q 報導/v-n 編輯/v-n 一/m-c 下/f-q-vr:代名詞 q:量詞 m:數詞 c:連詞 f:方位詞 • Unknown Word ma愛去ioh伊ê詞類 • 詞性有Ambiguity ê詞,叫做兼類詞,伊ê詞性ê數量叫做兼類數
4.3 詞性標注-3 • 中國ê統計,兼類詞所佔ê 比例兼類數 兼類詞數 百分比 舉例 5 3 0.01% 和 c-n-p-q-v 4 20 0.04% 光 a-d-n-v 3 126 0.23% 画 n-q-v 2 1,475 2.67% 鎖 n-v
4.3 詞性標注-4 • 中國ê統計,兼兩類ê兼類詞兼類 詞數 % 例詞n-v 613 42% 愛好 把握 報導a-n 74 5% 本分 標準 典型a-v 217 15% 安慰 保守 抽象b-d 103 7% 長期 成批 初步n-q 64 4% 筆 刀 口a-d 30 2% 大 老 真Lóng總 1,101 75%
4.3 詞性標注-5 • 華語兼類詞 • Word types ê角度,兼類詞比例真chió • Word tokens ê角度,兼類詞比例真kôan(詞頻kôan ê詞兼類ê比例真kôan) • 大部分兼類詞所兼ê詞類是頻率kôan ê主要詞類
4.3 詞性標注-6 • HMM(Hidden Markov Model)詞性標注 • 背景說明eg : 把/q-p-v-n這/r 篇/q 報導/v-n 編輯/v-n 一/m-c 下/f-q-v所有可能ê詞類Sequence 有4×1×1×2×2×2×3 = 96 種情形 • 統計方法to是chhe出Sequence內底機率siong kôan ê hit個Sequcene
4.3 詞性標注-7 • HMM λ= (S, V, A, B, π) • S = { 1,2,3,…,N }是一組狀態ê集合(詞類數) • V = { v1, v2, …, vm }是一組會tàng觀察ê符號ê集合(語詞) • A=[aij]nn , aij = P(qt+1=j | qt=i), 1≦ i ,j ≦N (目前詞類是i ê情形下,下一個詞類是 j ê機率) • B={ bj(k) }, bj(k) = P(vk|j), 1 ≦k ≦M, 1 ≦j ≦N • π是開始狀態ê機率分佈
4.3 詞性標注-8 • 詞類Sequence to是 HMM內底am-khàm ê狀態Sequence,ma是咱beh算ê • 詞串是會tàng觀察ê符號 • 詞類集是確定ê (HMM狀態數是確定ê) • 每一個詞類所對應ê 詞是確定ê (倒頭講,辭典內底每一個詞有至少一個詞類)
4.3 詞性標注-9 • 已經有HMM ê參數λ(透過訓練資料算出來ê),ho.你Word Sequence W= w1 w2 w3 …,beh算 T = t1 t2 t3 …, T 有幾lo個,beh chhe siong好ê T’T’ = argmax P ( T | W,λ )P( T | W,λ ) = P( T, W |λ ) / P( W |λ ) • 因為所有ê情形λ lóng kang款,會sái簡省掉
4.3 詞性標注-10 • 根據Bayes定理,P( T | W ) = P( T, W) / P( W) = P( T) P( W | T ) / P( W) • 對所有ê標記結果,P( W) lóng kang款,會sái簡省掉T’ = argmax P ( T | W,λ ) = argmax P ( T ) × P ( W | T )
4.3 詞性標注-11 • P(T) = P(t1|t0) P(t2|t1,t0) … P(ti|ti-1,ti-2,…)假設詞類標記kan-na受頭前一個標記ê影響 • P(T) = P(t1|t0) P(t2|t1) … P(ti|ti-1) • P(ti|ti-1) = Freq(ti-1ti) / Freq(ti-1)
4.3 詞性標注-12 • P(W|T) = P(w1|t1) P(w2|t2,t1,w2,w1) … P(wi|ti,ti-1,…, t1, wi,wi-1,…,w1)Kang款ê假設,kan-na kah頭前一個有關係 • P(W|T) = P(w1|t1) P(w2|t2) … P(wi|ti) • P(wi|ti) = Freq(wi 標記作 ti) / Freq(ti) • Siong bái ê情形,m個詞,每一個詞lóng有n個詞類,O(nm)
4.3 詞性標注-13 • Viterbi : 利用動態規劃 ê 觀念 • 假設每一個詞lóng有n個詞類標記,wm kàu wm+1 ê j-th標記,有n個可能ê路徑,假設機率siong kôan ê是 ti tj這個路徑 • Ùi wm ê每一個詞類標記kàu wm+1 ê每一個詞類標記移轉ê機率,記做 aijaij = P(tj | ti)1≦ i ,j ≦N
4.3 詞性標注-14 • w1 頭前無詞, w1ê每一個詞類ma符合一定ê 機率分佈,記做 πi • wm每一個詞類標記選wm ê 條件機率記做 bi(wm)bi(wm) = P(wm|ti ) 1≦ i ≦N
4.3 詞性標注-15 • Ùi w1 kàuwm ê i-th詞類標記各種可能路徑,有一條是機率siong大ê,用一個變量(variant)來記錄,叫做 Viterbi變量,記做 δm(i)δm(i) = max t1,t2,…,tm-1[ P(t1,t2,…,tm= i ,w1,w2,…,wm|λ) ] , 1≦ m ≦ M & 1≦ i ≦N
4.3 詞性標注-16 • HMM ùi wm移轉kàu wm+1,kui個路徑ê機率,會tàng ùi HMM ti前一個狀態(wm) ê時siong大ê機率算出來。意思to是,Viterbi變量會tàng recurrsive計算δm+1(j) = [ max 1≦ i ≦N δm(i)aij] × bj(wm+1) , 1≦ m ≦ M & 1≦ j ≦N
4.3 詞性標注-17 • Ùi wm移轉kàu wm+1,需要一個變量紀錄行過ê路徑內底,tó一個是siong好ê路徑,記錄這個路徑siong好ê詞類標記,記做 Δm(i) Δm(i) = arg max 1≦ j≦N[δm-1(j)aji] × bi(wm) , 2≦ m ≦ M & 1≦ i ≦N
4.3 詞性標注-18 • Viterbi 演算法: • δ1(i) = πibi(w1) , 1≦ i ≦N ; Δ1(i) = 0 • Recursively計算行向每一個詞wmê每一個詞類標記tiê siong好ê路徑δm(i) = [ max1≦j≦N δm-1(j)aij] × bi(wm+1) , 2≦ m ≦ M & 1≦ j ≦N Δm(i) = arg max 1≦ j≦N[δm-1(j)aji] × bi(wm) , 2≦ m ≦ M & 1≦ i ≦N
4.3 詞性標注-19 • Viterbi 演算法: • Kàu siong尾一個詞wM,計算wMê siong好 ê 詞類標記 P* =max 1≦ i≦N[δM(i) ] tM* = argmax 1≦ i≦N[δM(i) ]
4.3 詞性標注-20 • Viterbi 演算法: • Ùi siong尾一個詞siong好 ê 詞類標記開始,倒退chhe每一個詞siong好 ê 詞類標記tm* = Δm+1 (tm+1* ) m= M-1, M-2, …, 1 • O ( N2× M ) (N個詞類,M個詞)
4.3 詞性標注-21 • 利用Span ê概念增加效率:假使其中一個詞kan-na一個詞類,to會tàng減少詞串ê長度 • Unknown Word主要是名詞 (siong choe) kah 動詞,會sái ka當做是兼類詞(n/v)落去算
4.3 詞性標注-22 • 機器學習規則ê詞類標記方法 • M是用人工chhe規則,是用機器chhe出修改ê規則 • 轉換規則ê形式 • 改寫規則 ( rewriting rule ) eg : 將 v 改做 n • 激發環境 ( triggering environment )eg : 這個詞倒pêng ê詞是量詞,koh倒pêng ê詞是數詞
4.3 詞性標注-23 • eg : 伊/pro寫/v一/m篇/q報告/v利用頂面ê規則改做伊/pro寫/v一/m篇/q報告/v • 轉換規則模版,激發環境ê部分 • 目前這個詞ê頭前(後壁)一個詞ê詞類標記是z • 目前這個詞ê頭前(後壁)第二個詞ê詞類標記是z • 目前這個詞ê頭前(後壁)二個詞其中一個ê詞類標記是z
4.3 詞性標注-24 • 機器學習規則:根據模版去比對(不管用什麼方法ê )標記結果kah訓練資料無kâng ê所在,chhe出幾lo條 ê轉換規則 ( ti tó一個激發環境下,愛用tó一個改寫規則 ) • Chia ê轉換規則,有ê真oh chhe出合理ê語言學解說 • 一pái kan-na 用一條規則,規則有順序 • 轉換規則可能有Side effect
4.3 詞性標注-25 • 機器學習規則ê工作流程 • 愛先chhôan好詞類標記集 kah轉換規則ê模版 • 達kàu一定規模、標記好詞類ê語料庫 C0 (訓練語料),kah 語料庫iah未做標記ê版本 C0_raw • 開始ê詞類標注器 (initial tagger) ( 會sái用HMM/Viterbi,ma會sái針對兼類詞kan-na揀頻率siong kôan ê )
4.3 詞性標注-26 • 機器學習規則演算法 • 用Initial Tagger對C0_raw做標記,得著帶詞類標記ê語料 C1 • Theh C1kah 訓練語料 C0 相比較,算出標記錯誤ê數量
4.3 詞性標注-27 • 機器學習規則演算法 • 照順序ùi候選規則內底chhe一條規則 Ti ( i = 1,2, …),每用一條規則對 Ciê詞類標注做修改,to會得著一個新ê版本Ci+1m( m = 1,2, …),ka每一個 Ci+1mkah C0 做比較,會tàng算出內底詞類標記錯誤ê數量,liah錯誤siong chió hit個當做 Ci+1
4.3 詞性標注-28 • 機器學習規則演算法 • 重複step3,得著一系列ê標記語料庫C2k, C3l , C4m ,每一個lóng愛比前一個錯誤khah chió,每一pái lóng學著一條改進錯誤siong choe ê轉換規則。一直做kàu無法度koh減chió 標記錯誤數量。
4.3 詞性標注-29 eg : C0_raw -- Initial Tagger C1(Er=5100) C1– T1 C21 (Er=5100)– T2 C22 (Er=3145) C2 = C22– T3 C23 (Er=3910)– T4 C24 (Er=6300)
4.3 詞性標注-30 C2– T1 C31 (Er=3310)– T2 C32 (Er=2210) – T3 C33 (Er=1231) C3 = C33– T4 C34 (Er=4255)
4.3 詞性標注-31 C3– T1 C41 (Er=1410)– T2 C42 (Er=1251) – T3 C43 (Er=1231) – T4 C44 (Er=1231) C0_raw -- Initial Tagger C1(Er=5100) – T2 C2(Er=3145) – T3 C3(Er=1231)
4.4詞義標注 • Word Sense Tagging / Disambiguation (WSD) • Beh處理多義詞,先愛對這個詞ê每一個意義做區別 • 技術上,ti具體語境內底,ho.多義詞一個確定ê意義
4.4詞義標注-2 • WSD ê基礎資源 • 傳統ê語文辭典(每一個entry列出這個語詞無kâng ê意思) • 義類辭典iah是kang義詞辭典 • 標住好義項ê語料庫(多義詞ê義項lóng kah確定ê語境有關係)
4.4詞義標注-3 • WSD可能用ê方法 • Kah 訓練語料做比對(統計方法) • 規則方法 • 利用辭典、百科全書提供ê智識 • Sizeof (詞義) >> Sizeof (詞類)( beh用統計方法做,看起來不止仔困難 )