• 沒有找到結果。

第二章、 文獻探討

4、 文字分類(Text Classification)

立 政 治 大 學

Na tiona

l Ch engchi University

4、 文字分類(Text Classification)

文字分類的目的在於將事先定義好的類別指派給文件或是檔案,最簡單的例 子就是將新進的新聞自動的根據新聞內容議題,將新聞分成不同的類別(如政治、

運動、科技等類別)(Hotho et al., 2005)。

為了完成分類任務,會使用訓練資料集並利用機器學習演算法建立分類模型,

最後再透過測試資料實證結果,並使用不同的指標來衡量分類的成效。在機器學 習演算法中,常見的有 Naïve Bayes、kNN、SVM、決策樹(Decision Tree)等訓練 資料的分類演算法,以下分別介紹常見的分類演算法:

4.1 簡單貝氏分類器(Naïve Bayes Classifier)

貝式分類法是以統計學機率為基礎的分類方法,主要根據貝式定理(Bayes’

Theorem)中透過事前機率(Prior Probability)及取得實際資訊推得的事後機率 (Posterior Probability),來實現將未知的資料分類給最大機率的類別。假設要計算 某一筆未知類別的資料𝑋是屬於某類別𝐶𝑖的機會可表示成下列式子:

P(𝐶𝑖|𝑋) =𝑃(𝐶𝑖)𝑃(𝑋|𝐶𝑖) 𝑃(𝑋)

其中𝑃(𝐶𝑖)為事前機率,即類別𝐶𝑖發生的機率,而P(𝐶𝑖|𝑋)為事後機率,表示 未知類別的資料𝑋屬於類別𝐶𝑖的機率,假設資料 X 包含𝑎1, 𝑎2, … , 𝑎𝑛個變數(特徵),

應用貝氏分類表示成下列式子:

P(𝐶𝑗|𝑎1, 𝑎2, … , 𝑎𝑛) =𝑃(𝐶𝑗)𝑃(𝑎1, 𝑎2, … , 𝑎𝑛|𝐶𝑗) 𝑃(𝑎1, 𝑎2, … , 𝑎𝑛)

而簡單貝氏分類方法假設所有屬性對其類別具有條件獨立(Conditional Independence)的特性,因此𝑃(𝑎1, 𝑎2, … , 𝑎𝑛|𝐶𝑗) = ∏𝑛𝑖=1𝑃(𝑎𝑖|𝑐𝑗),改寫為以下式子:

P(𝐶𝑖|𝑎1, 𝑎2, … , 𝑎𝑛) =𝑃(𝐶𝑗) ∏𝑛𝑖=1𝑃(𝑎𝑖|𝑐𝑗) 𝑃(𝑎1, 𝑎2, … , 𝑎𝑛)

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

使用簡單貝氏分類器分類資料時,會根據資料屬性值,計算資料被指派到不 同類別的機率。並將資料分給機率最大的類別,以達到分類的效果,如下式子:

𝐶𝑙𝑎𝑠𝑠𝑁𝐵 = max

𝐶𝑗∈𝐶P(𝐶𝑗|𝑎1, 𝑎2, … , 𝑎𝑛) = max

𝐶𝑗∈𝐶𝑃(𝐶𝑗) ∏ 𝑃(𝑎𝑖|𝑐𝑗)

𝑛

𝑖=1

其中𝑃(𝑎1, 𝑎2, … , 𝑎𝑛)為常數略忽

(Srisukha et al., 2008) 將貝式分類運用在泰文網頁的網路爬蟲,除此之外,

Naïve Bayes 被廣泛應用在傳統文字分類的問題中。 (Pang et al., 2002) 使用 Naïve Bayes 將線上電子的評論根據其情感分成正負兩個類別。(Eyheramendy et al., 2003) 使用四種不同的機率分配來完成文字的分類,其中包含了 Naïve Bayes Classifier。(Zheng and Tian, 2010) 使用 Naïve Bayes 來對搜狗新聞網進行中文的 文字分類,並將新聞分類成文化、運動、健康、科技等新聞類別。(Hao and Hao, 2008)結合卡方統計量衡量特徵相關性的特性,提出一個自動化的中文停用字偵 測方法,其中即使用 Naïve Bayes 器來判定是否為停用字,分類的正確率接近 90%。

雖然 Naïve Bayes 被廣泛應用在不同的文字分類問題上,但是其分類效果卻不如 其他的分類方法突出,故有研究針對 Naïve Bayes 方法來改進(Kim et al., 2006)。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

4.2 kNN(k- Nearest Neighbor)

kNN 演算法是透過計算相似度(Similarity)與距離(Distance)的方法來將資料 分類。其中 k 是指第 k 筆最相近的資料,因此當 k=1 時,會挑出 1 個最相近的資 料,並將新資料與最相近的資料分到同個類別。

在給定一個包含資料𝑥𝑖與類別𝑦𝑖的訓練資料集{(𝑥𝑖, 𝑦𝑖), (𝑥𝑖, 𝑦𝑖), … , (𝑥𝑖, 𝑦𝑖)},其 中𝑥𝑖包含𝑎1, 𝑎2, … , 𝑎𝑛個變數(特徵),亦可表達成

{(𝑎1, 𝑎2, … , 𝑎𝑛, 𝑦𝑖), (𝑎1, 𝑎2, … , 𝑎𝑛, 𝑦𝑖), … , (𝑎1, 𝑎2, … , 𝑎𝑛, 𝑦𝑖)}。當一筆新資料d𝑖根據 kNN 分類法,如下列式子表示:

y(d𝑖) = max

𝑥𝑖∈𝑘𝑁𝑁y(𝑥𝑖, 𝑐𝑘)

其中d𝑖為一筆未分類的新資料,𝑥𝑖是在訓練資料集中一個鄰近資料,kNN 會 從挑出來的 k 個鄰近資料中,將新資料給予出現最多次的資料類別。

在 kNN 常使用的距離計算方法為歐幾里得距離(Euclidean Distance),另外也 會使用餘弦相似度(Cosine Similarity)等相似度計算方法來取代簡單的距離計算,

以提高 kNN 的分類效果(Han et al., 2001;Qamar et al., 2008; Erkan et al., 2011;

Farhoodi and Yari, 2010)。在使用相似度計算的 kNN 如下列式子表示:

𝑦(d𝑖) = ∑ 𝑆𝑖𝑚(𝑑𝑖, 𝑥𝑖)

𝑥𝑖∈𝑘𝑁𝑁

𝑦(𝑥𝑖, 𝑐𝑘)

其中𝑆𝑖𝑚(𝑑𝑖, 𝑥𝑖)為未分類資料d𝑖和訓練資料集內的資料𝑥𝑖的相似度,而 𝑦(𝑥𝑖, 𝑐𝑘) ∈ {0,1}指當資料𝑥𝑖屬於類別𝑐𝑘時為 1,不是為 0。透過計算與各個類別的 最近相似度來判斷新資料的類別。

Negative Example H2 H2

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

空間,因而可省去特徵詞選取的階段,且和其他分類演算法相比,SVM 平均可 以達到較佳的文字分類正確率(Joachims, 1998)。

(Drucker et al., 1999) 在電子郵件的垃圾信件偵測問題上, SVM 與決策樹在 較低維度 (1000 個特徵) 與高維度 (超過 7000 個維徵) 兩種資料的向量表達方 式皆有不錯的表現,但是 SVM 的訓練時間明顯的比較少。(Wei et al., 2013) 詳 述說明了針對使用 SVM 來完成文字分類研究的每一個詳細流程。(Farhoodi and Yari, 2010)在波斯語文字分類的問題上比較了五種 SVM 的 Kernel Function,分別 為 Linear、Polynomial、RBF、Quadratic 和 Mlp。其中 Polynomial 的 Precision 和 F-measure 為五者最高。(Soliman et al., 2012) 分析手機品牌 Nokia 的線上顧客的 評論,並根據研究中所定義的產品特性 (電池、銀幕、相機、價格、Wifi) ,使 用 SVM 進行線上顧客評論分類。

(Hao et al., 2009) 結合 Naïve Bayes 和 SVM 提出了一個基於 Naïve Bayes 的 SVM 分類方法,在整體分類的 F Measure 指標中,比起傳統的 SVM 提高約 3%,

且速類的速度更快。因為傳統的 SVM 方法只能用在二元的分類問題,因為也有 不同的研究目的在於將 SVM 用於多類別分類的問題,並作持續改善(Sun et al., 2011)。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

4.4 不同分類方法的比較

在不同的分類方法的分類準確率比較,應用 SVM 於情感傾向分類的研究,

大多都比其他的演算法效果更佳。 (Soliman et al., 2012)針對 Nokia 手機的線上 評論,從不同的產品特性(手機、電池、銀幕等)與各個特性所達表出來的正負面 情感傾向作整合性的情感分析,並使用 SVM 建立產品特性的分類。

(Sui et al.,2013)針對中文部落格進行情感分析的研究,其中比較了 SVM 和 KNN(k=7)兩種方法,SVM 所判斷情感傾向的正確率優於 KNN。(Pang and Lee, 2002)則比較了三種監督式分類演算法,分別是 Naïve Bayes、Maximum Entropy 和 SVM 來分類電影評論的情感傾向,其中 SVM 在三種方法所得到的正確率為 三者最佳。(Wang et al., 2006) 使用了四種分類方法,分別為決策樹、貝氏分類、

kNN 和 SVM,其中 SVM 在兩個不同的資料集中,在四種分類方法中得到最佳 的分類效果。(Farhoodi and Yari, 2010)針對波斯語的文字分類問題上,使用 kNN 與 SVM 方法並測試兩種演算法中的不同核心函數來自動化分類文件檔案。在分 類效果上針對 Precision 指標來看兩種方法效果皆達到不錯的效果,而以弦餘相 似度為核心的 kNN(k=3)演算法達到接近 98%的 Precision。(Joachims, 1998)比較 貝氏分類、Rocchio 分類法、C4.5、kNN(K=30)和以 Polynomial 和 RBF 為核心的 SVM。其中 SVM 方法一致性的在文字分類上達到好的表現。(Lewis et al., 2004) 將資料集標記成不同的類別,並將 SVM、kNN 和 Rocchio 應用在資料分類,SVM 的平均正確率皆超過 80%。

有不同的研究針對 kNN 分類方法進行改良以提升 kNN 演算法分類的正確率。

其中(Han et al., 2001) 分別使用了 C4.5 與 kNN 和許多採用不同權重的變化 kNN 演算法,該研究提出的權重調整 kNN (Weight Adjusted k-Nearest Neighbor,

WAKNN) 得到較高的分類正確率,亦優於傳統的 C4.5 分類法。(Erkan et al., 2011) 則使用了許多在資訊檢索 (Information Retrieval) 領域的相似度計算方法來改善

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

類,並且可以和 SVM 的效果相差不遠。

除了基本常被廣泛使用的分類方法外,(Xu et al., 2012)根據新聞報導來預測 企業未來的財務表現中,使用貝氏語言模型(Bayesian Language Model, BLM)與相 似度為基礎的語言模型(Similarity-based Language Model, SLM)等方法與 SVM 和 貝氏分類。其中 BLM 雖然在高維度的空間分類正確率有下降的趨勢,但是在實 驗結果中分類效果仍然為最佳。

(Faguo et al., 2010) 提出一個類別規則產生的演算法 (Category Rules

Generation Algorithm) ,並和傳統的分類方法如相似度計算、kNN、簡單貝氏分 類法來比較文字短句的分類效果。其中共選擇了十個不同類別的短句文章 (如交 通、旅遊、教育等) 來測試分類成效。雖然可提升 Recall 指標,但整體的 Precision 值下降。缺點仍然需要人為的參與,無法完成全自動化的文章分類。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University