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