施瑞朗
(杭州電子科技大學(xué) 計算機學(xué)院, 浙江 杭州 310018)
文本分類是在預(yù)定義的分類體系下,根據(jù)文本的特征(內(nèi)容或?qū)傩?,將給定文本與一個或多個類別相關(guān)聯(lián)的過程。文本分類是文本挖掘、機器學(xué)習(xí)、自然語言處理等諸多領(lǐng)域的子問題之一,在垃圾郵件識別[1],語義分析[2-4]等諸多應(yīng)用中都有出現(xiàn)。如何將短文本數(shù)據(jù)進行分類以及提取出每個類中的具有代表性的詞語對社交平臺的數(shù)據(jù)挖掘和熱點分析[4-5]具有重要意義。
目前,由于社交網(wǎng)站的數(shù)據(jù)更新周期快,數(shù)據(jù)收集困難,所以很少有針對社交網(wǎng)站數(shù)據(jù)的文本分類算法研究。機器學(xué)習(xí)是近年來興起的新興領(lǐng)域,由于其相關(guān)算法有深厚的理論基礎(chǔ),已經(jīng)被廣泛應(yīng)用于各個領(lǐng)域[6-7]。本文采用支持向量機、樸素貝葉斯、K近鄰和決策樹共4種常用于文本分類的機器學(xué)習(xí)算法對收集到的社交平臺數(shù)據(jù)集進行模型訓(xùn)練,然后通過精確率、召回率等機器學(xué)習(xí)常用的評估指標(biāo)對模型進行評估,最后采用TF-IDF算法[8]統(tǒng)計出每個類別中的代表性詞語。
支持向量機(Support Vector Machine,SVM)算法[9-10]對于兩個種類的分類問題,尋找一個超平面作為兩類訓(xùn)練樣本點的分割,以保證最小的分類錯誤率。在線性可分的情況下,存在一個或多個超平面使得訓(xùn)練樣本完全分開,SVM的目標(biāo)是找到其中的最優(yōu)超平面,最優(yōu)超平面是使得每一類數(shù)據(jù)與超平面距離最近的向量與超平面之間的距離最大的這樣的平面;對于線性不可分的情況,通過使用核函數(shù)(一種非線性映射算法)將低維輸入空間線性不可分的樣本轉(zhuǎn)化為高維特征空間使其線性可分。由于SVM背后涉及的數(shù)學(xué)原理過于復(fù)雜,本文就不詳盡描述其原理,只關(guān)注SVM的實踐過程[11-12]。
K近鄰(K Nearest Neighbor,KNN)算法[10-13]是給定一個訓(xùn)練數(shù)據(jù)集,對新的輸入實例,在訓(xùn)練數(shù)據(jù)集中找到與該實例最鄰近的K個實例, 這K個實例的多數(shù)屬于哪個類,就把該輸入實例分類到這個類中。
決策樹(Decision Tree,DT)算法[14-15]是在已知各種情況發(fā)生概率的基礎(chǔ)上,通過構(gòu)成決策樹來求取現(xiàn)值的期望值大于等于零的概率,是直觀運用概率分析的一種圖解法。由于這種決策分支畫成圖形很像一棵樹的枝干,故稱決策樹。其中每個內(nèi)部節(jié)點表示一個屬性上的測試,每個分支代表一個測試輸出,每個葉節(jié)點代表一種類別。
TF-IDF(Term Frequency-Inverse Document Frequency)是一種常用于信息檢索與數(shù)據(jù)挖掘的常用加權(quán)技術(shù),用于評估一個詞對于某類文檔的重要程度。TF為詞頻,代表某個詞在一篇文檔中出現(xiàn)的頻率;IDF為逆文檔頻率,主要思想是:如果包含某個詞的文檔越少,則IDF越大,則說明該詞具有很好的類別區(qū)分能力。最終每個詞的得分為其TF值乘以IDF值,得分高說明該詞是某類文檔的特征詞。
本文不討論社交平臺數(shù)據(jù)收集的方式,只關(guān)注對數(shù)據(jù)的預(yù)處理,實驗過程和結(jié)果展示。
本文的目的是研究社交平臺上短文本的文本分類的問題,Twitter上的數(shù)據(jù)由于文本短和數(shù)量多的特性,很適合作為本研究的數(shù)據(jù)集。再者,Twitter是著名的社交網(wǎng)絡(luò)平臺之一,對于每個主題文本都可以收集到很多數(shù)據(jù),為了確保實驗結(jié)果的穩(wěn)定性,對多個種類的文本收集了500條相關(guān)的數(shù)據(jù),最終選擇了“天氣”和“食物”這2個類別的數(shù)據(jù),基本的數(shù)據(jù)預(yù)處理步驟主要是使用分詞工具去除停用詞,然后提取出詞干信息。
表1 數(shù)據(jù)集的結(jié)構(gòu)
可見數(shù)據(jù)集的統(tǒng)計值比正常的文本分類數(shù)據(jù)集統(tǒng)計值小,表中展示了“天氣”類數(shù)據(jù)集的文本行數(shù)均值為3.3行,對應(yīng)的每篇文本字符平均數(shù)量為67.8,單詞平均數(shù)量為15;而“食物”類數(shù)據(jù)集的文本行數(shù)2.7,對應(yīng)的每篇文本字符平均數(shù)量為57.7,單詞平均數(shù)量為13.15。可見2個種類的數(shù)據(jù)集和整體數(shù)據(jù)集的統(tǒng)計信息相差不大。
這部分將討論實驗的細節(jié)和分析實驗結(jié)果。本研究將通過4種文本分類算法對之前一節(jié)獲取的數(shù)據(jù)進行結(jié)果比較,這4種算法分別是:支持向量機(SVM),樸素貝葉斯(NB),K近鄰(KNN)和決策樹(DT)。除了K-近鄰算法,其它3種算法都在文本分類問題上有較好的表現(xiàn)[1],之所以添加K近鄰算法是因為其在高維文本分類問題上有高敏感度和高稀疏性的特性。
接著把數(shù)據(jù)集劃分為訓(xùn)練集和測試集,其中訓(xùn)練集占2/3的比例,測試集占1/3的比例,訓(xùn)練集用于訓(xùn)練算法模型,測試集用于驗證模型的泛化能力。為了衡量分類結(jié)果的性能,采用了業(yè)界普遍認(rèn)可的4個指標(biāo):精確率、召回率、F1值和準(zhǔn)確度。為了說明這些指標(biāo)的作用,把模型檢測出的二分類分為“正相關(guān)”(TP)和“負(fù)相關(guān)”(FP),分別表示正類被模型判定為正類,負(fù)類被模型判定為正類;對應(yīng)的模型未檢測出的二分類分為FN和TN,分別表示正類被判定為負(fù)類,負(fù)類被判定為負(fù)類。則可得:
由圖1可得,在各項指標(biāo)上,支持向量機(SVM)算法的表現(xiàn)都優(yōu)于其它幾種算法,樸素貝葉斯(NB)次之,KNN算法雖然有自己的特性,但是總體的表現(xiàn)較其它3種算法來說還是較差的。
圖1 數(shù)據(jù)集上4種分類算法的各項評估指標(biāo)
在分好類后,最后再使用TF-IDF算法計算每類文本的特征詞,由表2得“天氣”類文本最常出現(xiàn)的詞語分別是:旅游,出行和交通;“食物”類文本最常出現(xiàn)的詞語分別是:好看、美味、吃。
表2 兩類文本對應(yīng)的排名前3的特征詞
本文聚焦于社交平臺上的短文本分類問題,抓取了Twitter上的文本數(shù)據(jù),然后對比了4種不同機器學(xué)習(xí)算法在該文本數(shù)據(jù)上的表現(xiàn),其中支持向量機算法在各項評估指標(biāo)上表現(xiàn)最優(yōu)。根據(jù)TF-IDF算法提取出對應(yīng)的代表性詞匯,實驗結(jié)果具有很好的參考意義。對于未來的工作,希望能在更多的類別,更大的數(shù)據(jù)規(guī)模和更多的語言的背景下取得理想的實驗結(jié)果。