第三章 研究方法
第四節 監督式學習方法介紹
Sentiment Analysis based on Supervised Learning Method Topic-relevant Document
Retrieval Documents
CKIP word segmentation
system
Feature Selection Extract phrase patterns as feature
from topic-relevant
document of training data Identity topic-relevant
document by SVM
Topic-relevant documents
Topic seed words
Output the polarity of each document
圖六 以監督式學習分析部落格文章意見傾向架構圖
Training Data Preprocessing 1. Word segmentation
2. POS tagging 3. Eliminating stop
words
4. Post processing for segmented words Data Preprocessing
NTUSD
Keenage- sentiment vocabulary
Classify the polarity of sentences that contain topic-relevant terms and sentiment words in each document by
SVM
Extract specific polarity terms as
features from training data Extract terms by
specific frequency condition as training terms
Modify sentiment lexicon by supervised
adjustment method
27
一、 以監督式學習分析部落格文章意見傾向架構圖說明
本研究選擇以 SVM 分類主題相關文章的意見傾向作為監督式學習方法,在 擷取主題相關文章的方法中,本研究比較不同訓練詞彙挑選(Feature Selection)的 方法,並且以監 督式 方法擷取能夠代 表文 章與主題相關的 詞彙 組合 (Phrase
Patterns)作為特徵值。
而主題相關文章意見傾向分析的方法中,本研究以特定頻率條件(Specific
Frequency Condition)挑選訓練詞彙,再以特殊條件下可以代表特定極性的詞彙 (Specific Polarity Terms)和以監督式方法修改情感辭典(Modify Sentiment Lexicon by Supervised Adjustment Method)作為特徵值進行文章意見傾向分類。
本論文所提的監督式學習方法架構圖如圖六所示。各模組之運作說明請見以 下各小節。
二、 LibSVM 分類
在監督式方法的部分,本研究選擇使用 LibSVM 進行分類,參數只能以嘗試 錯誤的方式(try and error),盡可能找出適合分類的最佳參數,通常是調整 SVM 的 在分類錯誤時的懲罰參數 C,加重分類誤差的權重,或者選擇不同的核心函數,
例如:Linear、Polynomial、Radial Basis function 或 sigmoid。而本研究所使用的 SVM kernel 以及其他參數設定如表七所示。
28
表七 SVM 參數設定
項目 設定
type of SVM C-SVC
type of kernel function Radial Basis function set gamma in kernel function 1/特徵個數
the parameter C of type of SVM 1
本研究在擷取主題相關文章的部分將採用 10-fold Cross-Validation 驗證所提 出方法之有效性,該方法是將資料集隨機分成十份,其中一份為測試用資料集,
其他九份為訓練用資料集。因此,每項資料集將進行十次實驗,由於本研究的實 驗資料無法切成十等分,所以前九份資料集共有 191 篇文章,剩下一份資料集則 有 190 篇文章。而主題相關文章意見傾向分析的部分,因為實驗的文件數減少,
所以採用 3-fold Cross-Validation。
三、 擷取主題相關文章
(一) 特徵選取
Yang 和 Pedersen (1997)比較了五種特徵選取的方法,分別為 document frequency (DF)、information gain (IG)、mutual information (MI)、Chi-square test (CHI) 和 term strength (TS),他們發現 IG 和 CHI 在實驗中,是表現最好的方法,而本研 究在擷取主題相關文章實驗中,希望能尋找和主題關聯的名詞,所以本研究嘗試 使用 CHI 公式,期望改善效能及分類結果。CHI 公式如(6)所示。
29
30
另 外 , 本 研 究 也 嘗 試 使 用 term frequency–inverse document frequency
(TF-IDF),選擇對文章分類有所助益的特徵,TF-IDF 公式如(7)所示。
i 接受的檔案格式,格式為[label] [index1]:[value1] [index2]:[value2] ...,詳細檔案格 式描述如表九所示。
31 的 Pointwise Mutual Information(PMI)值、該詞彙在文件集中的頻率、詞彙的
Information Gain(IG)值以及該詞彙是否為主題種子詞彙。而訓練資料和測試資料 的 PMI 值與詞頻率,則有不同的計算方式。
32
33
另外,本研究增加 rule pattern 的判斷,方法是從訓練資料中找出時常在主題 相關的文章中出現的詞彙組合,首先利用 CHI 公式(6)計算訓練資料的辭彙和類別 為相關的分數,並擷取排序前 20 個詞彙,列出以兩個、三個詞彙為一組各種不 同順序的組合(即從 20 個詞彙中取出 2 個詞彙及 3 個詞彙的排列數),總共 7220 個組合,計算所有詞彙組合在分類為相關及不相關的數量,詞彙組合挑選條件為:
1. 存在分類為相關的文件數量比不相關的文件數量多。
2. 由於本研究使用 Cross-Validation 實驗,詞彙必須存在每份資料集中。
3. 詞彙組合中的詞彙之間行距不得超過 5 行。
其中,馬英九主題較為特殊,該主題能夠以文章中是否包含該單一詞彙分辨 主題是否相關,其他主題則需要以兩個或三個詞彙一組判斷。詳細的 rule pattern 內容如表十所示。
詞彙組合中的詞彙之間行距若超過 5 行,則代表文章內容與主題不相關,文 中雖然提到詞彙組合中的詞彙,但是有可能不同段落敘述不同的主題,以下列文 章為例:
蘇格拉底拒絕了他的學生安排他逃亡的計畫,平靜地接受了他的判決,
飲下毒藥而死。蘇格拉底拒絕逃跑,因為他了解到他必須遵守法律,否 則便會違反他與這個城邦的「契約」,這將違背自己提倡的原則。蘇格 拉底一生拒絕進入政界;他指出他不可能干涉或指揮其他人要如何生 活,因為他根本就還沒有徹底了解他自己。哲學家只是愛智者,不是真
34
的具有智慧。林義雄先生作態絕食後,25 名中研院士連署發表聲明,
建議盡快透過公投尋求共識,再決定核四是否續建及運轉。引來 5 月 6 日中國時報的時論「與中研院士商榷核四」,濮勵志、江仁台、鄒成虎、
張枝峰四位作者皆為核能相關專家,針對聲明中質疑處作專業澄清。同 日中國時報時論中央研究院院士李太楓,則呼籲不宜全面封殺核能的研 發。一片肅殺反核聲中,稍有異聲即被譏不是人,被指控不愛台灣,難 怪物理學家也怯於表態支持核四,院士們也噤聲不語或隨波逐流!為此 我更佩服唐湘龍先生的勇於表態了!文中所提到 2008 年中研院「環境 與能源小組」發表的「能源政策建言」。這和院士群今日的聲明內容判 若雲泥,令人感嘆這群科學家們的真理好比月亮,初一十五都不一樣,
更印證了核四議題已被非理性政治化。但堂堂中央研究院院士,國家授 予榮譽的高級知識份子,面對民粹掛帥的反核行動,他們對核能問題的 立場,竟可以在幾年內如此反覆!我感嘆:智者何在?若蘇格拉底要在 台灣尋找愛智慧的哲學家,到南港大概找不到了!”
在上述例子中,依照本研究定義句子以句號、問號和驚嘆號為一行,“學生”
在第一行,“指揮”在第三行,“國家”在第十一行,雖然文中包含學運主題的 rule
pattern 詞彙組合“學生”、“指揮”和“國家”,但是這篇文章並非談論學運學生佔領 立法院是指揮國家、指揮總統的行為,與學運主題不相關,系統則可以依照本論 文的方法判斷“國家”和另外兩個詞彙的行距超過 5 行,分類該文章與學運主題不
35
36
表示式。
表十一 主題相關實驗所使用的向量表示式描述
格式 描述
label 以二元值呈現。該詞彙在訓練資料中被分類為相關或不相關,如 果在訓練資料中,文件包含該詞彙被分類為相關的數量多於分類 為不相關的數量,則判斷該詞彙 label 為 1,否則 label 為 0。而 在測試資料中,此欄位則標示為本研究猜測的類別。
PMI 以實數呈現。計算該詞彙與主題種子詞彙之間的關聯度,訓練資 料以公式(4)(5)計算,測試資料以公式(9)計算。
詞頻率 以實數呈現。計算詞彙在文件中的頻率,訓練資料以公式(10)計 算,測試資料以公式(11)計算。
IG 以實數呈現。計算特徵的重要度,公式如(8)所示。
是否為主題 種子詞彙
以二元值呈現。判斷該詞彙是否為主題種子詞彙,如果是主題種 子詞彙,則此欄位標示為 1,否則為 0。
是否為 rule pattern 詞彙
以二元值呈現。判斷該詞彙是否可以和文中其他詞彙組成 rule pattern 中的詞彙,如果是,則此欄位標示為 1,否則為 0。
圖七依照向量表示式,特徵值以編號排列,例如:PMI 編號為 1,詞頻率編 號為 2,實驗主題為馬英九主題,並且以詞彙“馬英九”為例。
圖七 以詞彙“馬英九”為例的向量表示式 1 1:1.0 2:0.0787 3:0.9308 4:1 5:0
37
圖七的 1 表示在訓練資料中,包含“馬英九”的文件大多數被分類為主題相 關,1:1.0 代表“政府”與主題種子詞彙的 PMI 值為 1.0,在訓練資料中的詞頻率為
0.0787,IG 值為 0.9308,由於“馬英九”為主題種子詞彙,所以該欄位為 1,但是“馬 英九”並非 rule pattern 中的詞彙,該欄位為 0,在 LibSVM 中可以不紀錄。
圖八 以詞彙“小馬”為例的向量表示式
再舉一個屬於馬英九主題的 rule pattern 詞彙的例子“小馬”如圖八,最左端的
1 表示在訓練資料中,包含“小馬”的文件大多數被分類為主題相關,1:0 代表“小 馬”與主題種子詞彙的 PMI 值為 0,也就是包含“小馬”的文章中沒有其他主題種子 詞彙,另外,“小馬”在訓練資料中的詞頻率為 0.0026,IG 值為 0.9978,4:0 是因 為“小馬”非主題種子詞彙,所以該欄位為 0,最後“小馬”為 rule pattern 中的詞彙,
所以該欄位為 1。
由於馬英九與學運的主題涉及了主題詞交集的問題,本研究的解決方法為增 加 PMI 的特徵,所以在該主題使用的特徵共有表十一提到的詞頻率、IG、是否為 主題種子詞彙、是否為 rule pattern 詞彙、馬英九主題的 PMI 值和與學運主題的
PMI 值,並且將訓練資料增加詞彙四種情況,如表十二所示,✓代表訓練的詞彙 和該主題種子詞彙共同出現在文章中,X 則代表未共同出現。
1 1:0 2:0.0026 3:0.9978 4:0 5:1
38
表十二 馬英九與學運訓練資料詞彙的四種情況
情況一 情況二 情況三 情況四
與馬英九主題 的 PMI 值
✓ X ✓ X
與學運主題的 PMI 值
X ✓ ✓ X
因為在測試文章中,可能只出現馬英九主題種子詞彙,或是只出現學運主題 種子詞彙,如情況一、二。一般而言,馬英九與學運的主題會包含兩個主題的種 子詞彙,如果把與兩個主題種子詞彙的 PMI 值合併紀錄於同一欄位,會無法分類 出測試文章是否真的有兩個主題的交集,但是如果該詞彙為主題種子詞彙,則不 會有情況四。所以本研究的訓練資料中紀錄了每個詞彙的四種情況,例如在文章 中包含馬英九主題種子詞彙,但是不包含學運主題種子詞彙,可填入與馬英九主 題的 PMI 值,與學運主題的 PMI 值則為零。除此之外,本研究重新記錄詞彙在 四種情況下的 Label,也就是分別計算兩個主題種子詞彙的出現與否,文章被標 記為相關或不相關的個數,並且重新記錄詞彙在四種情況下的特徵值。完整的向
因為在測試文章中,可能只出現馬英九主題種子詞彙,或是只出現學運主題 種子詞彙,如情況一、二。一般而言,馬英九與學運的主題會包含兩個主題的種 子詞彙,如果把與兩個主題種子詞彙的 PMI 值合併紀錄於同一欄位,會無法分類 出測試文章是否真的有兩個主題的交集,但是如果該詞彙為主題種子詞彙,則不 會有情況四。所以本研究的訓練資料中紀錄了每個詞彙的四種情況,例如在文章 中包含馬英九主題種子詞彙,但是不包含學運主題種子詞彙,可填入與馬英九主 題的 PMI 值,與學運主題的 PMI 值則為零。除此之外,本研究重新記錄詞彙在 四種情況下的 Label,也就是分別計算兩個主題種子詞彙的出現與否,文章被標 記為相關或不相關的個數,並且重新記錄詞彙在四種情況下的特徵值。完整的向