劉思聰 盧甘霖 崔子良 尹建爍 西北農(nóng)林科技大學信息工程學院
網(wǎng)絡論壇相關技術的發(fā)展,使其能夠承載更多網(wǎng)絡用戶產(chǎn)生的信息。但網(wǎng)絡評論來源的復雜性,造成了網(wǎng)絡論壇中的評論文本質(zhì)量良莠不齊。因此,對網(wǎng)絡評論文本進行實時并且快速的分類成為了當前比較緊迫的商業(yè)需求。
但當前網(wǎng)絡評論文本分類的有關研究還未成熟,其亟待解決的問題可總結(jié)為:文本分類的類別設置不全面;使用的分類算法性能不佳。為解決以上問題,本文建立了一套較為科學的評論文本分類標簽,提出了一套基于XGBoost算法的分類系統(tǒng)。
采用網(wǎng)絡爬蟲抓取網(wǎng)絡論壇上的評論信息,運用NLTK工具集對無關信息進行清洗,建立符合需求的評論文本數(shù)據(jù)集。
使用Jieba進行中文分詞,該工具包實現(xiàn)了高效的詞圖掃描,能找出基于詞頻的最佳切分方式。
通常運用TF-IDF提取文章的特征,具體如下:
該分類算法的基本思想是選擇部分樣本和特征生成一個簡單模型,將其作為基本分類器。在生成新模型時,學習以前模型的殘差最小化目標函數(shù)。重復執(zhí)行,最終產(chǎn)生準確率很高的綜合模型。它的目標函數(shù) Oobj經(jīng)過泰勒公式展開后,最終化簡為
分類系統(tǒng)由文本獲?。ㄊ褂镁W(wǎng)絡爬蟲從網(wǎng)絡論壇抓取文本信息)、文本整理與清洗(剔除文本中的無關信息)、文本分詞(對經(jīng)過預處理的文本進行分詞)、特征提?。▽Ψ衷~后的文本建立特征矩陣)和模型訓練(訓練出XGboost模型)構(gòu)成。
硬件平臺:CPU:Intel i5 7300HQ,內(nèi)存:DDR4 12G,硬盤:260G硬盤;
開發(fā)及運行環(huán)境:操作系統(tǒng) Windows 10 OS, 編程語言:Python 3。
首先,設定體育、健康等12類標簽。其次,在SougoCS數(shù)據(jù)集的基礎上,使用網(wǎng)絡爬蟲和手工標注將訓練集和測試集分別增強到24000條和12000條。
使用準確率,召回率和F1三個指標作為分類器評判標準,定義如下:
為驗證XGBoost的分類準確性,選擇Logistics、隨機森林和樸素貝葉斯三種算法,在100%數(shù)據(jù)量下,進行比較。由表1可知,XGBoost模型的結(jié)果好于其他三種算法。其中,較排名第二的Logistics仍高出8%。
隨機選取20%、40%、60%、80%的數(shù)據(jù)作為訓練集。從折線圖中可以看出,隨著數(shù)據(jù)量的增加,模型的結(jié)果逐步增強,且未出現(xiàn)明顯的下降趨勢。
表2 訓練樣本量對XGBoost算法的影響
圖1 XGBoost在不同數(shù)據(jù)量下測試結(jié)果的變化
(1)針對當下分類標簽設定不科學的問題,可在原有基礎上。根據(jù)實際,設計出更精細的標簽;然后,利用人工標注的方法,逐步增強適用于網(wǎng)絡評論分類的評論語料。
(2)針對準確率的問題,提出了一套基于XGBoost算法的分類方法。通過與其他分類算法的比較可得:XGBoost算法的結(jié)果好于其他算法;通過在不同數(shù)據(jù)量下的測試可得:隨著訓練樣本的增加,準確率保持穩(wěn)定增長,未出現(xiàn)較明顯的下降趨勢。