• 沒有找到結果。

第三章 研究方法

3.5 以相異詞為特徵之預測方法

3.5.3 BTO 權重法

立 政 治 大 學

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:藍綠人物字典與廣義知網情緒字典。

(4) 黨派人物情緒 iii:藍綠人物字典與 NTUSD+廣義知網情緒字典。

(5) 黨派互動 i:藍綠黨派典型字搭配原始互動特徵。

(6) 黨派互動 ii:藍綠黨派典型字搭配取對數互動特徵。

(7) 黨派互動 iii:藍綠黨派典型字搭配正規化互動特徵。

(8) 黨派互動 iv:藍綠黨派典型字搭配標準化互動特徵。

(9) 黨派互動 v:藍綠黨派典型字搭配藍相似度互動特徵。

(10) 黨派互動 vi:藍綠黨派典型字搭配綠相似度互動特徵。

Precision Recall F1 Accuracy 黨派典型字 0.8447 0.6111 0.7091 0.8569

Precision Recall F1 Accuracy 黨派典型字 0.701 0.6295 0.6633 0.8317

Precision Recall F1 Accuracy 黨派典型字 0.8163 0.6062 0.6957 0.8526

(四)、Decision tree 實驗結果

表 4.17:Decision tree組合實驗結果

Precision Recall F1 Accuracy 黨派典型字 0.8463 0.6355 0.7259 0.8637 黨派人物情緒 i 0.8437 0.6322 0.7228 0.8625 黨派人物情緒 ii 0.8414 0.6339 0.7231 0.8626

Precision Recall F1 Accuracy 黨派典型字 0.8366 0.6339 0.7213 0.8621

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

從實驗(一)至實驗(五)先初步比較文字特徵中黨派典型字與人物情緒的效果,如圖 4.17 結果顯示在黨派人物情緒的三種特徵組合在五種分類器中 F1-score 皆低於黨派典 型字,此一現象表示在黨派人物字典搭配情緒的特徵並未有明顯的使特徵更為顯著。

因此在互動特徵實驗中將以黨派典型字做搭配。在情緒字典的變換中,首先圖 4.17 可 以看出廣義知網字典在我們的模型中效果會比 NTUSD 表現較好。進一步將兩本字典 結合卻未能有效改善效果,在 KNN 與 naïve Bayes 演算法中有效提升準確度,但在 SVM 與 decision tree 卻反而效果下降,因此黨派人物搭配兩本情緒字典僅限於特定分類器,

才能顯示出其效果,反映出不同情緒字典對不同分類演算法有著不同的效果。

圖 4.17:文字特徵 F1 score 實驗圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 4.18 互動特徵組合的實驗結果中可以明顯觀察到將互動特徵的值域做轉換後,

效果提升以 SVM 與 KNN 分類器最為顯著,轉換過後的值域大幅提升 F1-score,可以 解讀為 SVM 與 KNN 在訓練過大的特徵值域確實會造成效果不良。反之在 decision tree 與 naïve Bayes 在經過值域轉換後卻僅維持相同效果,甚至在 naïve Bayes 取 log 方法中 還降低效果,可以說明 naïve Bayes 與 decision tree 在設計中並不受到特徵值域所影響。

然而,可以明顯觀察到對互動特徵計算相似度的轉換方法在所有演算法中皆導致效果 比原始值域還要不理想,因此從結果可以推斷此一方法對本模型無法做出分類的貢

然而,可以明顯觀察到對互動特徵計算相似度的轉換方法在所有演算法中皆導致效果 比原始值域還要不理想,因此從結果可以推斷此一方法對本模型無法做出分類的貢

相關文件