300 likes | 456 Views
計算語言學概論 詞法分析. R94922056 吳憲國 2007/06/21. Introduction. 詞法分析簡介 分詞方式 最大匹配法 最大概率法 詞性的標注 HMM (Hidden Markov Model) 演算法 V iterb i 演算法 詞義的排歧 Bayesian Discrimination. 詞法分析研究的意義與目的. 機器翻譯 ︰ 簡繁轉換 后 面 後 面 , 皇 后 皇 後 松 绑 鬆 綁 , 松 树 鬆 樹 訊息檢索 ︰ 搜尋引擎 開發 土地 開發 ( 開發 票 )
E N D
計算語言學概論 詞法分析 R94922056 吳憲國 2007/06/21
Introduction • 詞法分析簡介 • 分詞方式 • 最大匹配法 • 最大概率法 • 詞性的標注 • HMM (Hidden Markov Model)演算法 • Viterbi演算法 • 詞義的排歧 • Bayesian Discrimination
詞法分析研究的意義與目的 • 機器翻譯︰簡繁轉換 • 后面 後面 , 皇后 皇後 • 松绑 鬆綁 , 松树 鬆樹 • 訊息檢索︰搜尋引擎 • 開發 土地開發(開發票) • 便衣 便衣警察 (簡便衣物) • 文本處理︰拼寫校對 • 繁體子 繁體字 • 于涉 干涉 • 語音處理︰電腦發音、重音復原 • 倒垃圾跌倒
詞法分析研究的意義與目的 • 詞法分析的過程 1.分詞 : 將句子中的單詞切割出來 2.詞性標注 : 決定每個詞的詞性 3.詞義排岐 : 決定每個詞的意義 文章 資料庫 句子 分詞 詞串 詞性標注 詞串 詞義排歧
漢語的分詞方式 • 從句子轉換到詞串,會因為切割方式的不同,而有不同的意義 • 學生會長是誰 • 學生會 / 長 / 是 / 誰 • 學生 / 會長 / 是 / 誰 • 學生 / 會 / 長 / 是 / 誰 • 分詞的基本方法 • 最大匹配法(Maximum Match based approach) • 機率分詞法(Probability approach to Word Segmentation)
最大匹配法 待分割句子S1 輸出詞串S2=“” 最大詞長 MaxLen Y S1是否為空 輸出S2 • 詞典中較長的詞,會被優先取出 • 缺點 • 最大詞長設定 MaxLen • 太小無法切割出長詞 • 太長效率太差 • 正向與反向的分詞差異 • 句子“有意見分歧” 正向匹配有意 / 見 / 分歧 反向匹配有 / 意見 / 分歧 N 從S1左邊取出候選 字串W,長度不超 過Maxlen Y S1=S1 - W S2=S2 + W + ” /” W是否在詞典中 N 去掉W最右邊一個字 Y N W是否長度為1
機率分詞法 • 基本概念 • 一個待切割的字串可能包含多種分詞結果 • 求得其中機率最大的切割方式作為該字串的分詞結果 路徑A: 0 – 1 – 3 – 5 路徑B: 0 – 2 – 3 – 5 哪條路徑的機率較高
機率分詞法 • 字串S =“有意見分歧“ • 詞串W1 =有 / 意見 / 分歧 • 詞串W2 =有意 / 見 / 分歧 Max( P(W1|S), P(W2|S) ) ? (independent) wi在語料庫中出現的次數 語料庫中總詞數
機率分詞法 • 詞串W1 = 有 / 意見 / 分歧 P(W1) = P(有)*P(意見)*P(分歧) • 詞串W2 = 有意 / 見 / 分歧 P(W2) = P(有意)*P(見)*P(分歧) • P(W1) > P(W2) 有意見分歧 有 / 意見 / 分歧
詞性的標注 • 兼類現象 • Time flies like an arrow. n-v v-n p-v det n • 把 這 篇 報導 編輯 一 下 q-p-v-n r q v-n v-n m-c f-q-v
詞性的標注 –兼類現象 北大計算語言所《現代漢語語法訊息詞典》1997年版
p v n n m q r q q n v v c v f 把 這 篇 報導 編輯 一 下 詞性的標注 –尋找最佳路徑 • 把 | 這 | 篇 | 報導 | 編輯 | 一 | 下 q-p-v-n | r | q | v-n | v-n | m-c | f-q-v • 4 X 1 X 1 X 2 X 2 X 2 X 3 = 96 種可能詞性的組合
Hidden Markov Model • 路徑集合T = (t1,t2,t3,………,t96) • 每一步的轉移機率 = 詞性轉移機率 * 單詞出現機率 P(t1|W) = P(q|$) P(把|q) x P(r|q) P(这|r) x …… x P(f|m) P(下|f) P(t2|W) = P(q|$) P(把|q) x P(r|q) P(这|r) x …… x P(q|m) P(下|q) …… P(t96|W) = P(n|$) P(把|n) x P(r|q) P(这|r) x …… x P(v|c) P(下|v) q f n n m p $ r q q n 起始狀態 v v c n v 把 這 篇 報導 編輯 一 下 計算出最大機率路徑
HMM複雜度 • 假定有N個詞性標記,給定的詞串中有M個單詞,考慮最壞的情況下,每個詞都有N個可能的詞性出現,則可能的路徑有NM條,隨著M的增加,需要計算的可能路徑數目以指數模式增長,即演算法時間複雜性成指數成長。 p p p p p p q q q q q q n n n n n n …… v v v v v v N M
Viterbi • Viterbi演算法是dynamic programing的一種 • 假設有N種詞性,在長度為M的詞串中 • 遞迴計算並儲存每個單詞中每種詞性的最佳到達路徑與機率值 • 當到達最後一個單詞時,計算最佳的詞類 • 由最後一個單詞的最佳詞類所儲存的路徑,依序回推前一個的最佳詞性,如此便能找到最佳解 p p 每一個單詞的詞性狀態裡皆紀錄著最佳到達的路徑△及最佳路徑的機率δ q q n n aij v v m m+1
Viterbi複雜度 • 考慮最壞的情況,掃描到每一個單詞時,從前一個單詞的N個詞性標記到當前一個單詞的N個詞性標記,有N2條路經,掃描長度為M的詞串後,計算次數為N2×M次。 • 對於確定的詞性標注系統而言,N是固定的,因此,隨著M長度的增加,計算時間以線性模式增長。也就是說,Viterbi演算法的時間複雜度是線性的。
詞義的排歧(Word Sense Disambiguation) • 詞的多義現象 • 打醬油 打電話 打毛衣 打手勢 打哈欠 • 修門 進門門上有把鎖 • 拍子壞了 打拍子 • 生意很清淡 口味比較清淡 • 我就來 我就是不來 我就記得一句話 • 開車 吃你的車
詞義的排歧 - 多義詞的分類 • 多義詞有兩種 • 不同的詞性,不同的意思 • 編輯n-v • 建議n-v … • 相同的詞性,不同的意思 • 兄弟哥哥或弟弟 or 朋友 • 薄人際關係 or 顏色或氣味的密度 or 物品的厚度
詞義的排歧 • 進行詞義的排歧(WSD)需要的基本資料 • 決定如何判斷一個詞是否為多義詞、如何表示詞的不同意思 • 需要做詞義標注的詞,對詞義必須有清楚的區分標準 • WSD的目的 • 針對目前句子的具體語境,給予多義詞合適的意義
Bayesian Discrimination • 所需要的基本資訊 • 標注好詞義的語料庫(training corpus) • 從標注語料庫訓練“語境”與詞義之間的相依關係,得到“詞義知識庫” • 對於一個輸入句子中的多義詞,根據“詞義知識庫”中的知識,計算它在當前“語境”下,取哪一個義項的可能性最高,就將該義項判定為這個多義詞在當前語境下的意思。
Bayesian Discrimination • 假設語境(句子)C底下的某個多義詞T有si種詞義 • 計算最有可能的詞義s’ s’ = arg max P(si | C) = arg max P(C| si)P(si) / P(C) = arg max P(C| si)P(si) = arg max [logP(C| si) + logP(si)] = arg max [log ΠP(wj | si) + logP(si)] = arg max [Σlog P(wj | si) + logP(si)] 詞義知識庫
Bayesian Discrimination • 我看過由同名武俠小說改編的電影 • Score(看1) = log0.3 + log 0.1 + log 0.27 + log 0.01 • Score(看2) = log0.5 + log 0.25 + log 0.15 + log 0.5 • Score(看3) = log0.2 + log 0.3 + log 0.05 • 看2的詞義較符合這個句子的語境 詞義知識庫
英文的詞彙處裡 • Tokenization:句子 詞串 • I’m a student I’ + m + a + student • Lemmatization:單詞 前綴+詞根+後綴+詞尾 • took take + ed
英文的詞彙處裡 • 數字︰123,456.781,90.7%,3/8,11/20/2000 • 縮寫︰ • 字母+點號+字母︰U.S.,i.e. • 字母開頭,點號結束︰Mr.,eds.,prof. • 包含特殊符號︰AT&T,Micro$oft • 帶破折號的詞串︰three-years-old,one-third,so-called • 帶單引號的詞串︰I'm,can't,dog's,let's • 帶空格的詞串︰"and so on","ad hoc"
英文的詞彙處裡 • 英文的構詞模式 • [前綴 + 詞根 +後綴] + [詞尾] |----------詞幹---------| • boy-s(複數詞尾) • happi-ness(名詞後綴) • im-possible,im-correct(前綴) • re-im-port (多個前綴) • strongest(形容詞最高級詞尾) • housewarmings(複合詞+複數詞尾)