• 沒有找到結果。

第三章 研究方法

3.3 資料前處理

3.3.3 限制詞字數

相異詞作為訓練分類器特徵。而在此須建立貼文與相異詞之 TD(Term-Document) matrix,如表 3.3,列變量為藍綠粉絲專頁貼文,總數共 n 篇。行變量為貼文中出現知 所有相異詞,總數為 k 個相異詞。在下個小節將說明中針對以相異詞為特徵方法中之

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

三種權重方式。

表 3.3:TD-matrix

word_1 word_2 word_3 word_4 word_5 … word_k post_1

post_2 post_3 post_4 post_5

post_n

3.5.1 TF 權重法

在上述 TD-matrix 中需給予貼文與相異詞之對應數值,其稱為權重。詞頻(Term Frequency)為統計各詞在文本中出現頻率。公式 3.1,假設d 為文本,𝑛𝑖,𝑗為該詞在文本 𝑑𝑗中出現之次數,而分母∑𝑘 𝑛𝑘,𝑗則為在文本𝑑𝑗中所有詞之總和。

𝑡𝑓

𝑖,𝑗

=

∑ 𝑛𝑛𝑖,𝑗

𝑘,𝑗

𝑘

(3.1)

post_1 word_1, word_2, word_5, word_5, word_1, word_1 post_2 word_3, word_3

post_3 word_1, word_1, word_1, word_3

post_4 word_5, word_4, word_4, word_4, word_4, word_4 post_5 word_1, word_77, word_89, word_k

表 3.5:TD-matrix 以詞頻為權重

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

word_1 在文本 post_3 中出現 3 次,而在 post_5 中出現 1 次,其權重比例便差了三倍。

然而文本總詞數也能影響權重,例如 word_1 在文本 post_1 與 post_3 皆出現 3 次,但 總詞數相異也讓兩者權重不同。透過此一特性探討詞在貼文中隱含共現關係與相似度 訓練分類器,以分類貼文政治傾向。

3.5.2 TF-IDF 權重法

TF-IDF 為一種資訊檢索領域常用加權指標,在跨文本情境中利用統計方法評估一 詞在一文本中重要程度。IDF(Inverse Document Frequency)是一個詞重要性的度量。

如公式 3.2,某一特定詞語的

𝑖𝑑𝑓

𝑖,可以由總文本數目除以包含該詞語之文本的數目,

再將得到的商取對數。其中|D|為文本總數,|{𝑗 ∶ 𝑡𝑖 ∈ 𝑑𝑗}|為包含詞語 t𝑖 的文本數目,

如果該詞語不在語料庫中,就會導致分母為零,因此一般情況下使用 1+|{𝑗 ∶ 𝑡𝑖 ∈ 𝑑𝑗}|。

公式 3.3 利用公式 3.1 中

𝑡𝑓

𝑖,𝑗

𝑖𝑑𝑓

𝑖,表達若一詞在單一文本中出現頻率極高,而在 其他文本中出現頻率極低,則可說該詞在一文本中被辨識程度相當強,非常適合被用 來做分類。

𝑖𝑑𝑓

𝑖

= log

|𝐷|

|{𝑗 ∶ 𝑡𝑖 ∈ 𝑑𝑗}| (3.2)

𝑡𝑓𝑖𝑑𝑓

𝑖,𝑗

= 𝑡𝑓

𝑖,𝑗

× 𝑖𝑑𝑓

𝑖 (3.3)

辨識能力。如文本 post_4 中共出現 word_4 與 word_5,若想知道哪一個詞可以使得文 本 post_4 被辨識程度大。透過 IDF 統計 word_4 與 word_5 值各為log𝑛1與log𝑛2,在這一 指標中 word_5 因為共出現在 2 篇文本中,而 word_4 僅出現在 post_4 中,故 IDF 值 word_4 大於 word_5。接著將 IDF 值乘上詞頻指標,詞的重要性隨著它在文本中出現 的次數成正比增加,故將詞出現次數加入權重,word_4 與 word_5 在 post_4 中詞頻依 序為5616,最後 word_4 與 word_5 之 TF-IDF 值分別為,可以得到 word_4 為 post_4 中

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

3.5.3 BTO 權重法

從 BTO(Binary Term Occurrence)的角度給予 TD-matrix 權重,其不考慮詞出現次數,

亦不考慮詞在跨文本中之表現,僅著重在詞的出現之有無。此一權重方式給予權重方 法單純,若詞有出現在文本中,便給予 1,若無則給予 0。

以表 3.4 為例,搭配 BTO 權重法,產出 TD-matrix 如表 3.7。在 TD-matrix 中,僅 儲存二元碼。利用詞出現與否探討詞共現關係,讓其在計算貼文相似度時顯得更寬鬆。

例如 word_1 在文本 post_1 中出現 3 次與 word_1 在文本 post_5 中出現 1 次之權重皆相 同為 1。而 word_1 出現在幾篇文本也將不影響每一文本之權重。故利用 BTO 此一特 性訓練分類器,以分類貼文政治傾向。

表 3.7:TD-matrix 以 BTO 為權重

word_1 word_2 word_3 word_4 word_5 word_k

post_1 1 1 0 0 1 0

post_2 0 0 1 0 0 0

post_3 1 0 1 0 0 0

post_4 0 0 0 1 1 0

post_5 1 0 0 0 0 1

post_n 0 0 0 0 0 0

2 正規化(Normalization):將原始按讚、回應、分享數值正規化,使之值域介於 0~1 之間。如公式 3.5,假設x = (x1, . . . , xn)共有 n 個數, 𝑧𝑖為第i 個正規化之數。

𝑧

𝑖

=

xi−min(x)

𝑚𝑎𝑥(x)−𝑚𝑖𝑛(x) (3.5)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

3 標準化(Standardization):數值標準化是為了消除不同屬性或樣本間的不齊性,使 樣本內的值域縮小或是限制數據的取值範圍。假設μ為平均數,σ為變異數,令 x 集合的標準化為𝑧,則標準化如公式 3.6 。

𝑧 =

x−μσ (3.6)

4 相似度計算(Similarity):將藍綠原始按讚、回應、分享數值分別取平均數,當成黨 派代表數,並將所有貼文按讚、回應、分享數值個別與藍綠黨派代表數做相似度 計算。其相似度將使用 Camberra distance[27]其定義如下公式 3.7,假設 p 與 q 皆 為自然數,計算 p 與 q 之間的相似度,其為數值型計算相似度之演算法,相似度 值域將介於 0~1 之間。

𝑑(𝑝, 𝑞) =

|𝑝|+|𝑞||𝑝−𝑞| (3.7)

圖 3.3:互動特徵值域散佈圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

(y) 計算原始分享數值與藍平均數值相似度 (z) 計算原始分享數值與綠平均數值相似度

Id 與貼文相關互動結構,如按讚、回應、分享、型態、發布時間。post_text 如表 4.2 則儲存貼文文字訊息,由於臉書貼文訊息可能儲存在 name 與 message 欄位中,依照 粉絲專頁經營者習慣而有所不同,故將其分開儲存。

表 4.1:post_text 資料表

欄位名稱 type and size 代表意義

[FanPageId] [varchar](100) 粉絲團 id [Id] [varchar](100) 貼文 id [Name] [nvarchar](max) 貼文名稱 [Message] [nvarchar](max) 貼文內容

[FanPageId] [varchar](100) 粉絲團 id [Id] [varchar](100) 貼文 id

[LikeCount] [int] 按讚數

[CommentCount] [int] 回應數

[ShareCount] [int] 分享數

[CreatedTime] [datetime] 貼文建立時間 [Type] [varchar](100) 貼文型態

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

表 4.3:國民黨貼文資料

國民黨政治人物 抓取貼文時間(年.月.日)至(年.月.日) 貼文數量 馬英九 2011.1.28~2015.3.25 1337 胡志強 2014.1.12~2015.5.27 696 連勝文 2014.4.3~2015.5.10 317 蔡正元 2014.3.19~2015.5.27 243 楊秋興 2010.6.10~2015.5.13 512 洪秀柱 2015.4.6~2015.6.16 198

表 4.4:民進黨貼文資料

民進黨政治人物 抓取貼文時間(年.月.日)至(年.月.日) 貼文數量 蔡英文 2010.12.7~2015.5.1 2009 游錫堃 2010.11.18~2015.5.25 1664 陳菊 2010.1.6~2015.10.1 4355 賴清德 2010.8.21~2015.9.30 2374 林佳龍 2011.2.19~2015.10.2 4095 鄭文燦 2014.5.28~2015.10.1 1009

資料儲存 Microsoft SQL Server 2008 MySQL 5.6.20 實驗平台 RapidMiner Studio 6.5.001

斷詞系統 CKIP 中研院斷詞系統

1. Naive Bayes[28]:機率基底,運用貝氏定理計算,並假設特徵之間為獨立,利用 已知的事件發生之機率來推測未知資料的類別。

2. KNN(k-nearest neighbor classification)[29] :為一種基於實例之機器學習,給定 K 個鄰居。當新實例進來時,利用相似度計算與新實例最相近之 K 個鄰居,並參考

kernel type linear radial

kernel cache 200 200

C 5.0 0.5

convergence epsilon 0.001 0.001

max iterations 10000 100000

gamma 5 15

4. Decision tree[31]:使用以 gain ratio 方法建立之決策樹作為預測模型來預測樣本的 類別,葉子節點給出類別而內部節點代表某個屬性。

表 4.7:Decision tree 實驗參數

參數名稱 以文字互動特徵_參數值

criterion gain ratio

maximal depth 20

confidence 0.5

minimal gain 0.001

minimal leaf size 2 皆搭配 10 fold validation 加以實驗,擷取 sample set 以隨機方式選取。而在實驗表現 上使用 macro average method 來表現不同特徵組合下,分類器的整體效果。

𝑚𝑎𝑐𝑟𝑜 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑏𝑙𝑢𝑒 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑔𝑟𝑒𝑒𝑛 𝑝𝑟𝑒𝑐𝑖𝑠𝑜𝑛 2

𝑚𝑎𝑐𝑟𝑜 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑟𝑒𝑐𝑎𝑙𝑙 = 𝑏𝑙𝑢𝑒 𝑟𝑒𝑐𝑎𝑙𝑙 + 𝑔𝑟𝑒𝑒𝑛 𝑟𝑒𝑐𝑎𝑙𝑙 2

為實驗以相異詞特徵方法,須建立餵入分類器之 TD-matrix。如表 4.6,此矩陣大 小為總貼文數 18813 乘相異詞數量 59957。此外,在最後一欄標記貼文所屬政黨,以

post_3302 blue

post_3303 green

green

post_18813 green

4.4.2 以相異詞為特徵實驗結果

實驗結果如圖 4.1、4.2、4.3、4.4,在精確度、召回率、F1、準確度表現上,naïve Bayes 分類器皆高於 SVM 分類器。由於 SVM 為一種將特徵投射到更高維度的空間中,

ll

會顯得較不理想。然而,在不同權重方面,可以發現到在權重 BTO 方法下,naïve Bayes 與 SVM 表現上差距較 TF 與 TFIDF 要來的小。試著理解原因,由於 BTO 不計算詞頻

TF TFIDF BTO

TF TFIDF BTO

71.40

TF TFIDF BTO

Adaboost 為一種將弱學習演算法疊代融合成強演算法之方式,透過實驗 adaboost 分類器以探討是否改善原始弱分類器,並選擇 naïve Bayes 與 SVM 作為 adaboost 中的

TF TFIDF BTO

Bayes Ada_Bayes SVM Ada_SVM

Precision

TF TFIDF BTO

75.18 76.63

Bayes Ada_Bayes SVM Ada_SVM

Recall

TF TFIDF BTO

Bayes Ada_Bayes SVM Ada_SVM

F1-score

TF TFIDF BTO

78.72

Bayes Ada_Bayes SVM Ada_SVM

Accuracy

TF TFIDF BTO

利用實驗方式找出最佳取詞數目。將以各區間取詞數搭配 decision tree 分類器實驗評 估效能,以 F1-score 為評判標準。由圖 4.9 與表 4.9 可以看出當取詞數從 100 至 1000

top100 top500 top1000 top5000

F score

取詞數

典型字個數

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

4.5.2 互動特徵值域分布

將 3.6.2 節中對互動特徵做五種值域轉型,實驗結果如圖 4.10 至 4.15。查看原始 值域如圖 4.10,縱軸為值域,橫軸為藍綠貼文編號。可以觀察到互動特徵值域的分布 範圍廣大,尤其以按讚特別顯著。在這樣的值域分布使部分分類器的演算法運算式中 含有平方或相乘等,恐將造成值域範圍更加擴大,並影響最後分類器判斷類別的效果。

因此,利用統計方法,將原始值域做四種轉型。第一種為將原始值域取對數,如圖 4.11 可以明顯觀察到值域在取完對數後,縱軸分布範圍僅有在 0~6 之間。第二種如圖 4.12,

將原始資料進行正規化,強迫值域分布介於 0~1 之間,使互動特徵數值差距不超過 1。

第三種方法如圖 4.13,將原始值域標準化,值域分布範圍從 0~70 之間,也使得按讚 特徵從原始資料分布差距大與波動大變為差距較均勻且波動較小,甚至小於其他兩種 互動特徵。第四種方法,分別計算藍綠原始值域之平均值,並針對藍平均數與綠平均 數與原始值域做相似度計算,使用推疊折線圖如 4.14 與 4.15,值域越小代表越相似,

越大則反之,圖 4.14 在與藍平均數計算相似度中可以明顯看到按讚、分享在前 3302 篇貼文值域較小,也代表兩者越相似。相反的,在貼文編號大於 3302 之綠營貼文特徵 值域就明顯變大,也就是與藍互動特徵較不相似。而圖 4.15 計算與綠平均數之相似度 中也可以看到此一現象,便可以推算出,藍綠兩黨之互動特徵確實有值域上分布之差 異,下一小節將實驗互動特徵四種值域轉型並比較原始值域。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 4.10:原始互動特徵值域分布折線圖

圖 4.11:互動特徵取對數值域分布折線圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 4.12:正規化互動特徵值域分布折線圖

圖 4.13:互動特徵標準化值域分布折線圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 4.14:互動特徵與藍平均之相似度值域分布堆疊折線圖

圖 4.15:互動特徵與綠平均之相似度值域分布堆疊折線圖

式,各取 3000 則貼文並使用 10 fold cross validation 進行訓練與測試,在特徵上選擇黨 派典型字來進行實驗。表 4.10 至 4.13 為利用黨派典型字特徵實驗原始貼文數與平衡 後貼文數之實驗結果。若以 F1-score 當作評判標準,如圖 4.15 可知在本研究模型中藍 綠貼文資料筆數大約在 1:5 的情況下,並不會對分類效果造成明顯差異。反之在 naïve Bayes 與 decision tree 分類器結果顯示在資料不平衡狀況下還會使分類效果較佳。兩者 間在不同分類器有不同的結果,而差距皆在合理誤差範圍內。然而,對於資料不平衡

Bayes KNN SVM Decision tree

原始貼文數 0.71 0.66 0.7 0.73

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

4.5.4 特徵組合實驗

將 3.6 節所擷取出來的文字與互動特徵做組合實驗,以探討不同特徵之分類效果 與影響分類程度。本節模型將有別於前一模型,希望特徵越單純越簡單。然而,由於 特徵組合數目多,此節將從下列(1)~(4)選出效果較佳之文字特徵,並與互動特徵搭配 實驗已達特徵簡潔效果。以下列出不同特徵實驗組合:

(1) 黨派典型字:僅含藍綠黨派典型字特徵。

(2) 黨派人物情緒 i:藍綠人物字典與 NTUSD 情緒字典。

(3) 黨派人物情緒 ii:藍綠人物字典與廣義知網情緒字典。

(3) 黨派人物情緒 ii:藍綠人物字典與廣義知網情緒字典。

相關文件