國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
第二章 方法
2.1 定義與概似函數
首先介紹本論文使用的符號。中文字(character)是中文最基本的單位,令 𝐴 = {𝐴&, 𝐴(, … , 𝐴*}表示所有中文字的集合。一個或數個中文字組成的有意義的序 列為詞彙(word),以𝑊表示詞彙。一篇文章便是由多個詞彙所組成,詞彙數量少 則數十,多則數千數萬計。在文章中沒有被句讀間斷的句子稱為文本,此處以𝑇 表示文本。若斷詞資訊已知時,則文本可表示為詞彙的序列,但若無斷詞資訊,
則文本為中文字的長序列。最後,眾多文本(句子)形成文集,文集以𝐹表示,假 設我們的資料包括由𝐼個文本所形成的文集,即𝐹 = {𝑇&, 𝑇(, … , 𝑇0}。
一般斷詞方法牽涉到詞典,詞典為所有詞彙的集合。不同於其他方法,我們 的方法則考慮所謂的「首詞詞典」。首詞詞典蒐集文集中出現在文本第一個也就 是句首的所有詞彙,此處以𝐷& = {𝑊&, 𝑊(, … , 𝑊2}表示。令詞彙𝑊成為首詞的機率 為𝑃(𝑊) = 𝜃7,則∑2;<&𝜃9: = 1。另一方面,我們的模型中將考慮文本中前後詞 彙的相關性,故考慮任兩詞彙所形成的序列(𝑊;𝑊>),以及所有兩詞彙序列的集 合為𝐷( = {(𝑊&𝑊&), … , (𝑊2𝑊2)}。給定前項詞彙下後項詞彙出現的條件機率設為 𝑃?𝑊>@𝑊;A = 𝛼9:,9C,則必須滿足∑2><&𝛼9:,9C = 1。
以下我們將根據「文字詞典模型」(WDM)[8]建立文集資料的統計機率模型。
已知文集𝐹的機率函數與詞典𝐷 = {𝐷&, 𝐷(}相關,並且為上述𝜃, 𝛼的函數。當𝐹的斷 詞資訊不可得時,假設根據𝐷總共有𝐽種可行、可能的斷詞結果,則𝐹的機率函數 可表示為下式:
𝑃(𝐹|𝐷, 𝜃, 𝛼) = ∑IH<&∑0F<&𝑃(𝑇F, 𝑆H|𝐷, 𝜃, 𝛼), (1) 其中,𝑆H為文集𝐹的第𝑗種可行斷詞資訊。當文本𝑇F採取𝑆H斷詞時,則該文本中的 字將可被區隔為𝐾FH個詞彙且呈現為這些詞彙的序列,則該文本之機率函數為
𝑃?𝑇F, 𝑆H@𝐷, 𝜃, 𝛼A = 𝑃 L𝑊FH,&𝑊FH,(… 𝑊FH,MNOP
‧
們將本方法命名為 SeqWORDS。下一節將介紹 SeqWORDS 斷詞法的細節。2.2 SeqWORDS 斷詞法
SeqWORDS 方法屬於非監督式方法,在沒有詞典的情況下對文本斷詞,我們 將透過首先估計詞典𝐷以及詞典中的詞彙出現機率𝜃′𝑠, 𝛼′𝑠後,根據這些估計結果 對文集中的文本做最適當的斷詞。在估計的步驟中,由於牽涉參數過多,為了降 低計算困難,我們考慮先給定一過於完備的初始詞典𝐷[(\),再以最大概似法 (Maximum Likelihood Estimation, MLE)估計𝜃′𝑠, 𝛼′𝑠,令估計值為𝜃](&)′𝑠, 𝛼^(&)′𝑠。
當某單或雙詞彙對應之𝜃](&), 𝛼^(&)過低時,則將該詞彙或雙詞彙移出𝐷[(\),更新後
‧
統計上的遺失值(missing data, incomplete data)問題,則此時僅依據不完整 文集資料𝐹,未知參數的不完整概似函數(incomplete likelihood)為式(1),並‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
EM 估計式的推導細節可見附錄一。 在 每 次 M 步驟求得?𝜃](bm&), 𝛼^(bm&)A後,我們 依據估計的結果來刪減詞典𝐷[(b) = {𝐷[&(b), 𝐷[((b)}中的詞彙,此步驟稱為 P 步驟 (Prune-step)。若𝜃]9(bm&)C 過 低 , 如 低 於 某 設 定 的𝛿&時 , 表 示 詞 彙𝑊>出 現 在
文 本 的 句 首 機 率 過 低 , 故 將 該 詞 彙 從𝐷&(b)中 移 除 。 另 一 方 面 , 若𝛼^9(bm&):,9C 低 於 某 自 訂𝛿(值 , 表 示𝑊>出 現 在𝑊;之 後 的 條 件 機 率 過 低 , 故 將(𝑊;𝑊>) 從𝐷[((b)中 移 除 。 詞 典 更 新 為𝐷[(bm&) = {𝐷[&(bm&), 𝐷[((bm&)}之後,則 回 到 EM 演 算 法 更 新 機 率 參 數 的 估 計,來 回 重 複 計 算 直 到 收 斂。最 終,SeqWORDS 會 產 生 被 修 減 到 適 當 大 小 的 詞 典𝐷[ = {𝐷[&, 𝐷[(},以及詞典內詞彙的首詞機率與 條件機率的估計值𝜃], 𝛼^。
接著我們根據估計結果對文集𝐹之 文 本 斷 詞 。 令 𝑆H為𝐹之可行斷詞結果之 一,則以 下 的 條件機率式可以用來測量𝐹以𝑆H斷詞的可能性,
𝑃?𝑆H@𝐹; 𝐷[, 𝜃], 𝛼^A = *L𝐹, 𝑆HR𝐷[, 𝜃], 𝛼^P
*L𝐹R𝐷[, 𝜃], 𝛼^P 。
則 SeqWORDS 選用最可能的斷詞方法𝑆∗為目標文集做斷詞,即𝑆∗滿足 𝑆∗ = 𝑎𝑟𝑔𝑚𝑎𝑥{𝑃(𝑆H|𝐹; 𝐷[, 𝜃], 𝛼^)。
以𝑆∗斷詞後,當發現其中有某兩詞彙相對應的𝛼^9:,9C ≥ λ(λ需自訂)時,則𝑊;與 𝑊>可 以 組 合 成 一 個 詞 彙,遂 在𝑊;與𝑊>移 除 斷 詞 間 隔。此種修正可降低單 字詞彙的頻率,避免文本被斷得過分零碎。圖ㄧ是 SeqWORDS 的演算流程圖。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
圖一:SeqWORDS 演算流程
文集 建立過於完備詞典𝐷[(\) = {𝐷[&(\), 𝐷[((\)} 計算𝜃](\)′𝑠, 𝛼^(\)′𝑠
E-step
計算𝑄?𝜃, 𝛼|𝜃](b), 𝛼^(b)A
𝑄 = 𝐸ef𝑙𝑜𝑔𝑃(𝐹, 𝑆|𝐷, 𝜃, 𝛼)|𝐹; 𝐷[(b), 𝜃](b), 𝛼^(b)k
M-step
估計𝜃](bm&)′𝑠, 𝛼^(bm&)′𝑠
?𝜃](bm&), 𝛼^(bm&)A = 𝑎𝑟𝑔𝑚𝑎𝑥(r,s)𝑄?𝜃, 𝛼@𝜃](b), 𝛼^(b)A
P-step 修剪出詞典𝐷[(bm&)
如果𝜃]9(bm&)C < 𝛿&,或 𝛼^9(bm&):,9C < 𝛿(,自𝐷[(bm&)移除
判斷是否成立?
•1 − 𝑃?𝐹@𝐷[(b), 𝜃](b), 𝛼^(b)A
𝑃?𝐹@𝐷[(bm&), 𝜃](bm&), 𝛼^(bm&)A•
≤
𝜀 不成立進行斷詞 成立
‧
‧
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
𝑃?𝑊>A = ∑0F<&𝑢>(𝑇F)
∑2><&∑0F<&𝑢>(𝑇F)
, 其中
𝑢>(𝑇F) = l 𝜌ŠTœ𝐼f?𝑇F[&:ŠT]A = ?𝑊>Ak + 𝑢>(F,ŠT)?𝑇F[ŠT‘]A•
ˆ‰
ŠT<&
。