• 沒有找到結果。

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

演算法 4.2 尋找上位詞

find_hypenyms(f, fpkeeped, fpabandoned) {透過 WordNet 將 f 所有上位詞找出}

{ch 表示候選上位詞}

ch = find_canditante_hynernyms(f)

{檢查所有上位詞是否在 fpkeeped和 fpabandoned} {若不存在則視為是新的特徵}

for all h∈ ch do

if (h̸∈ fpkeeped∨ h ̸∈ fpabandoned) then hypernyms← h

end if end for

{回傳所有新增上位詞}

return hypernyms

表 4.9: 階層式選擇範例: 簡化語料庫案例

案例編號 同義詞集至根節點路徑

VP1 {S1} − {S3} − {S4}

VP2 {S2} − {S3} − {S4}

VP3 {S5} − {S5} − {S7} − {S4}

第 0 個世代被視為是初始的世代,首先我們會挑出所有案例最底層的同義詞集並 且放到特徵池,第一次被選上的同義詞集有 S1、S2 和 S5,再以二元法量化,結果如 表 4.10。透過 4.2.2節特徵篩選條件過濾後,假設 S1 與 S5 是這個世代被選出需要淘汰 的特徵,那麼我們就會挑選 S1 的上位詞 S3 和 S5 的上位詞 S6 補上。此時 S3同時也是 S2 的上位詞,因此對於 VP2 的案例而言,VP2 多出一個新的參選特徵。接著再重新量 化新選出的特徵參選下一個世代選擇,結果如表 4.11。接著在第二代參選中,如果我們 再淘汰 S3,就會再以 S4補上如表 4.12所示,那對於 VP2 這個案例 S3 就會被視為是不 存在。在第三代的參選中淘汰 S2 則應補上 S4,但 S4 已經存在,所以這個世代特徵只 會減少不會新增,如表 4.13。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

表 4.10: 階層式選擇範例: 第 0 世代 編號 S1 S2 S5

VP1 1 0 0

VP2 0 1 0

VP3 0 0 1

表 4.11: 階層式選擇範例: 第 1 世代 編號 S3 S2 S6

VP1 1 0 0

VP2 1 1 0

VP3 0 0 1

表 4.12: 階層式選擇範例: 第 2 世代 編號 S4 S2 S6

VP1 1 0 0

VP2 1 1 0

VP3 1 0 1

表 4.13: 階層式選擇範例: 第 3 世代

編號 S4 S6

VP1 1 0

VP2 1 0

VP3 1 1

4.2.2

篩選條件

篩 選 條 件 的 方 式 可 以 分 為 三 種:(一)以 計 算 該 特 徵 使 用 的 頻 率 並 過 濾 低 頻 的 部 分,(二)計算熵比例(gain ratio)並且過濾熵比例等於 0 的特徵,(三)計算共現

(collocation)同義詞集。被過濾的同義詞集表示其抽象化的程度不夠因此不具代表性,

所以我們將其再度抽象化並以上位詞取代。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

詞頻

在我們特徵選擇方法中,假設越抽象化的同義詞集應該是越重要且越常被使用。因此我 們統計每個世代的特徵在案例中出現在的次數,將該回合的特徵的頻率依多寡排列並 設二個門檻值,當特徵頻率低於 10 或門檻值時就會被過濾。

熵比例

熵比例是我們用來計算該特徵代表性的方法之一,以{entity} 為例子,{entity} 這個特 徵是名詞的同義詞集最抽象化的概念,所有的名詞的根節點一定是{entity},因此當這 個同義詞集被選上做為特徵後,語料庫中的所有案例都會有{entity} 這個特徵,雖然 它是詞頻最高的特徵,但因為它高到每個案例都有,因此這個特徵的重要性反而大大降 低,所以我們透過熵比例把計算為 0 的特徵過濾。

共現同義詞集

除了單個同義詞集的頻率外,我們也統計了共現同義詞集頻率,也就是在這回合作的同 義詞集中,任二個同義詞集一起出現的頻率。由於我們是將動詞、名詞一與名詞二的同 義詞集混合在一起組合成最後的特徵,所以再我們統計共現同義詞集時,我們定了一些 規則,將較不合理的狀況去除。不合理的組合如下:

• 動詞 + 動詞

• 名詞一 + 名詞一

• 名詞二 + 名詞二

另外,我們大膽假設了一些情況,如果名詞二與名詞一或名詞二與動詞的關聯性 較強,那麼我們也把動詞 + 名詞一的組合刪除。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

• 動詞 + 名詞一

透過上面的規則,我們希望可以再減少一些不具代性的特徵。

4.3

模型建構

特徵選擇後,下一步是使用機器學習的演算法訓練模型,用以決策類別。模型的建構可 分為三個階段:第一階段所建構的模型我們視為是基準模型,也就是模型決策的結果會 被我們視為是基線。第二階段,則是利用較熱門的機器學習演算法建構模型,我們挑選 的演算法有 SVM(Support Vector Machines)、C4.5 和 Naïve Bayes。第三階段是根據第 二階段所產生的模型,再建構一個高階模型(meta learner),高階模型的演算法同樣是 採用 SVM、C4.5 和 Naïve Bayes。

4.3.1

基準模型建構

我們針對介系詞片語定位問題設計了一套類似於 Naïve Bayes 的演算法,在給定特定的 介系詞之下,我們考慮的不再是單一特徵而是動詞、名詞一與名詞二的同義詞集組合。

在考慮同義詞集組合的情況下,我們有機會知道何種組合是較有機會可以解決介系詞 定位問題。

考 慮 動 詞 片 語 的 四 個 中 心 詞,若 限 定 在 特 定 介 系 詞 P 的 情 況 下,則 以 ⃗W = (V, N 1, N 2) 表示一個動詞片語,其中 V 、N 1、N 2 分別表示動詞、名詞一以及名詞 二。若我們想要解決的介系詞片語定位問題 D 是定位修飾動詞或修飾名詞一,則 D = {V P P, NP P } 。更進一步,我們可計算修飾動詞的機率 P r = (D = V P P | ⃗W ) 和修飾名詞的機率 P r = (D = NP P| ⃗W )。透過 WordNet 查詢後,動詞的同義詞集表 示為 V ={sv1, sv2,· · · , svi},名詞一表示為 N1 = {sn11, sn12,· · · , sn1j},名詞二表示為 N 2 ={sn21, sn22,· · · , sn2k}。以 ⃗S = {svi, sn1j, sn2k} 代表 ⃗W 一個可能的同義詞集組合特

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

根據式 (4.6),最後推得的結果中 P r(svi|V )、P (sn1j|N1) 和 P r(sn2k|N2) 項,以 動詞為例,可經由式 (4.7) 而得,其中 W N(S) 表示一個詞彙的其中一個同義詞集經 由 WordNet 查詢得到的頻率。由於某些詞義詞頻可能為零,因此我們使用 Laplace estimator 概念做平滑化(smooth),而式 (4.7) 中|V | 表示 V 的詞義個數。以“eat”為 例,如表 4.14所示。

P r(svi|V ) = W N (svi) + 1 (∑

svm∈V W N (Svm) )

+|V | (4.7) P r(D|svi, sn1j, sn2k) 項,則是在訓練時,經由統計而得。以式 (4.8) 表示。

P r(D|svi, sn1j, sn2k) = |(svi, sn1j, sn2k, D)|

|(svi, sn1j, sn2k)| (4.8)

表 4.14: 以“eat”為例計算 P r(svi|V )

同義編號 頻率 P r(svi|V )

1 61 + 1 (61 + 1)/84

2 13 + 1 (13 + 1)/84

3 4 + 1 (4 + 1)/84

4 0 + 1 (0 + 1)/84

5 0 + 1 (0 + 1)/84

6 0 + 1 (0 + 1)/84

總合 84 1

4.3.2

傳統模型建構

傳統模型表示我們使用現在大家常用的熱門演算法。我們共選了三種 SVM、C4.5 和 Naïve Bayes 演算法,其中 SVM 採用的是 Libsvm-3.111版本,而後二者 C4.5 與 Naïve Bayes 使用的工具是 Weka3-6-62版本。

SVM 是目前受歡迎的演算法之一。它是一種線性的分類器,但可以使用核心方

1http://www.csie.ntu.edu.tw/ cjlin/libsvm/

2http://www.cs.waikato.ac.nz/ml/weka/

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

法(kernel method),將所有資料的點對應到其它維度空間,再用決策邊界(decision boundary)切割二類資料。我們選用的核心方法為 RBF,需要調整參數 γ 和 cost 以使參 數最佳化。使用 grid search 演算法調整參數,利用的工具是 libsvm 的 grid.py。將 x 軸 對應到 cost 參數範圍設為 -5 到 11,步數為 2。而 y 軸對映到 γ 參數範圍設為 -11 到 3,

y 軸步數皆設為 2。再將 x 軸與 y 軸值代入涵數 f (n) = 2n,並測試 f (x) 與 f (y) 分類的 效果。

決策樹(Decision Tree)也是機器學習裡常用的演算法之一,相關的演算法有 ID3、C4.5 和 C5.0 等。我們採用的演算法是 C4.5。C4.5 的演算法需要調整二個參數:

每個節點至少包含的案例數和 confidence factor。參數最佳化的處理是使用 Weka。將節 點數參數設為 x,範圍設為 5 到 50,步數為 5。confidence factor 參數設為 y,範圍設為 0.05 到 0.45,步數為 0.05。最後直接將 x 與 y 值代入演算法測試分類效果。

Naïve Bayes 是一個簡單的機率分類器。它假設了分類器所使用的每一個特徵都是 獨立不相關的,但在現實的情況中不少情況是特徵之間是互相依賴而非完全獨立的。

在 4.3.1節的基準模型建構的基本假設也與 Naïve Bayes 是一樣的,不同之處在於我們同 時考慮的是動詞、名詞一與名詞二等,而 Naïve Bayes 考慮的只有單一一個同義詞集,

可參考圖 4.6的結構。

4.3.3

高階模型建構

在現在許多成功的分類器背後都不單使用一個分類器,而是採用多個分類器整合而成。

這類似於我們將每個模型都視為是一位專家,讓每位專家都發表自己的看法,再經由機 器學習演算法統整各個專家的看法整合成高階模型。這樣做的好處,可以讓我們的每個 不同專長的模型有機會發揮自己的效用。

我們同樣使用第 4.3.2節所提到三種演算法:SVM、C4.5 和 Naïve Bayes 來建構高 階模型。高階模型建構流程圖如 4.8,我們將所有語料分成三份:訓練語料、驗證語料、

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

測試語料,利用訓練語料建立傳統模型,再決策驗證語料的答案,將決策的答案當作高 階模型的訓練資料,用以訓練高階模型,最後把測試語料當作最終上線的測試資料並利 用訓練好的高階模型來做最後決策。

.

利用訓練語料. 建立傳統模型.

利用傳統模型 分類驗證語料

.

利用驗證語料的結 果建立高階模型 圖 4.8: 高階模型建構

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第 5 章 實驗

本章將分析第 4 章建立模型的成效。首先,我們會介紹實驗設計,接著是衡量模型成效 的方法,衡量的方法包含了:精準度(Accuracy)、精確率(Precision)、召回率(recall)

和綜合評量(F1-Measure)。此外,因為 RRR 和 PTB3 語料庫的語料量較少,所以也會 評估個數對於效果(performance)的影響。最後我們將分析介系詞片定位與介系詞推薦 的實驗成果。

5.1

實驗設計

實驗設計包含基準模型的特徵挑選、傳統模型的實驗組合設計與研究方法的比較和高 階模型挑選傳統模型。

5.1.1

基準模型實驗

在我們研究方法裡,我們相信介系詞片語定位與介系詞推薦二個問題,只要動詞、名詞 一與名詞二在很高層的語義層次,就可以使模型成功的分類大多數的案例。因此我們設 計基準模型,利用較高層次的同義詞集做為建構模型的特徵。

我們挑選名詞一與名詞二的同義詞集是從 WordNet 名詞的根節點往下數第三層的 同義詞集,共有 22 個,如表 5.1所示。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

表 5.1: 基準模型所使用得名詞同義詞集 同義詞集

{thing}

{object, physicalobject}

{causalagent, cause, causalagency}

{matter}

{process, physicalprocess}

{substance}

{psychologicalfeature}

{attribute}

{group, grouping}

{relation}

{communication}

{measure, quantity, amount}

{otherworld}

{set}

{change}

{freshener}

{horror}

{jimdandy, jimhickey, crackerjack}

{pacifier}

{securityblanket}

{stinker}

{whacker, whopper}

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

動詞同義詞集不同於名詞是它的樹狀結構深度比較淺。在不包含根節點的動詞同 義詞集結構中,最高層的同義詞集數量非常的多,因此我們改以挑選最高層同義詞集的 種類,這可以使我們的特徵大大地減少。

5.1.2

傳統模型實驗

在介系詞片語定位問題裡,我們特別將傳統模型細分為單一模型與混合資料模型。二者 的差別在於單一模型是給定特定介系詞建構模型,混合資料模型則是將 3.4節所挑選的 6 個具挑戰性介系詞混合一起建構模型,也就是說混合資料模型比起單一模型共多了 6 個介系詞特徵,多出的 6 個介系詞特徵以 0 與 1 表示,1 表示使用的介系詞,反之為 0。

表 5.2是我們根據 4.1.1節、 4.1.2節與 4.2.2節共設計 12 組不同條件組合的實驗,其 中第 11 組與第 12 組實驗特別考慮了共現同義詞集的組合。

表 5.2: 條件組合

條件組合 詞頻 共現 量化方式 加權

條件組合 詞頻 共現 量化方式 加權

相關文件