李昌兵,段祺俊,紀聰輝,張婷婷
(重慶郵電大學 a.經濟管理學院;b.計算機科學與技術學院,重慶 400065)
隨著社交網絡以及電子商務的興起,產生了海量的短文本數據。這些短文本直接反映出人們對不同事件的情感和看法,對短文本信息的挖掘和對短文本的分類成為了熱點話題。對短文本的分類研究是自然語言處理的一個重要分支,在搜索引擎、自動問答、輿情分析和情感分析等方面有重要意義[1]。
由于短文本內容短小、口語化嚴重且噪聲大的問題,導致在情感分類的過程中特征極性不顯著[2],對短文本內容精準分類的關鍵是對短文本重要內容的提取。一般通過引入外部語料庫和文本自身的內容特征等方式實現。通過外部語料庫拓展方法的有效性嚴重依賴于語料庫的質量,計算緩慢、效率低下[3]。而基于短文本自身內容特征的方式是充分挖掘文本語義、詞頻等關鍵信息來獲取文本的重要特征,對文本特征提取有較高要求。
本文提出了一種融合卡方統計和TF-IWF算法的特征提取和短文本分類方法,旨在解決TFIDF算法計算特征值權重范圍小的問題,提升短文本分類的準確率。
相比較于長文本,短文本的內容稀疏、信息單元難以準確采集,將傳統的文本分類方法如支持向量機、樸素貝葉斯分類等直接應用于短文本分類難以取得好的效果[4-5]。針對此問題,研究者提出了一系列對短文本進行特征提取的辦法,由此達到提升短文本分類精準率的目的。一部分研究者通過引入外部語料庫來彌補短文本語料集信息密度低的缺點,另一部分研究者通過創造、改進提取短文本關鍵信息的方法使提取的短文本特征更具代表性。
外部語料庫通常指維基百科、知網等含有大量文本內容及語言材料的知識庫,這些外部語料庫可以給予短文本集信息補充,從而增加信息量。范云杰等[6]結合統計學知識和類別信息,通過外部知識庫維基百科來建立語義集合。Hu Xia等[7]把短文本特征種子詞融入建立的層次結構模型,再借助外部語料庫來拓展獲取基于種子詞特征的語義信息。丁連紅等[8]通過知識圖譜計算推理短文本拓展信息,并將其運用于短文本特征。王盛等[9]通過外部數據庫計算短文本中詞語的上下位關系,再把這種關系利用于待測文本的特征,由此提升分類效果。基于外部語料庫的短文本內容拓展方法非常依賴外部語料庫的質量。對于一些涉及專業領域、用詞前衛的文本內容難以起到好的作用,由此考慮借助短文本自身的特征挖掘方法。
在不借用外部語料庫的前提下,分析短文本內容、挖掘短文本潛在的語義關系來構建基于文本的特征集,如何精確的構建這種特征集合是目前研究的熱點。張群等[10]基于Word2Vec訓練詞向量從粒度層面對短文本進行建模,再訓練LDA主題模型完成特征提取的過程。郭東亮等[11]使用Word2vec的Skip-gram模型獲得短文特征,接著送入CNNs中進一步提取高層次特征,最后通過K-max池化操作后放入Softmax分類器得出分類模型。于政[12]綜合現有詞向量模型,提出了基于編碼isA關系的詞向量模型,再將其推廣到長文本領域,構建了短文本集長文本的語義向量表示法。TF-IDF算法[13]計算訓練文本詞語的權重,將權重最大的若干詞語作為特征詞,再通過其權重構建短文本特征組。TF-IDF的優點是算法簡單易實施,但是存在特征詞提取不準確、特征詞權重方差較小,導致文本之間區分度低、分類效果不佳的問題。因此,本文對原有算法進行改進,提出融合卡方統計和TF-IWF算法的特征提取和短文本分類方法來解決上述問題。TF-IWF算法在計算文本詞條權重時更加注重特征詞之間的數量差異引起的特征詞權重的差異。
卡方統計方法(CHI Square,CHI)通常是計算數據的分布和假設分布之間的差異,在此用作衡量某個詞條和其所在類別之間的關聯程度。如果卡方值越大,詞條與類別的關聯程度越大,詞條體現類別的能力越強;卡方值越小,則二者關聯程度越小,詞條體現類別的能力越小[14]。特征詞與類別關系如表1所示。

表1 特征詞與類別關系
基于特征詞t的計算方法如式(1)~(4)所示:

根據卡方檢測公式計算特征詞t與類別的關聯度如式(5)所示:

同理求出D12、D21、D22,代入并求解特征詞t和ci的χ2值如式(6)所示:

由式(6)可知,詞語t與類別ci具有較低相關性時,χ2值越接近0。特征詞t與ci類別具有較強相關性時,χ2值越大。
卡方統計方選取特征詞步驟:
①在ci類 別 中 列 出 所 有 詞 語ti,1、ti,2、ti,3、…、ti,j。
②計算每個詞語tk與類別ci的Ai,k、Bi,k、Ci,k、Di,k。
③計算詞語tk和類別ci的χ2(tk,ci)值。
④取χ2值最大的m個詞語作為特征詞。
2.2.1 TF-IDF算法
TF-IDF(term frequency-inverse document frequency)是用來衡量一個詞條能體現其所在文本多大的程度的算法。
詞頻(term frequency,TF)是衡量某個詞ti在文檔dj中出現的頻繁與否指標,出現的越頻繁則詞頻值越高,如式(7)所示:

式中:ni,j表示此ti在文檔dj中出現的次數;表示文檔dj中所有k個詞條出現的總數。
逆文檔頻率(inverse document frequency,IDF)是指包含詞ti的文檔數占文檔總數D的比重的對數。IDF的作用是避免高頻但對文檔作用小的詞匯獲得較高的權重。如式(8)所示:

TF-IDF值由tfij值和IDFi值相乘得到,用si,j表示,其計算公式為

2.2.2 改進的TF-IDF算法——TF-IWF介紹
逆文檔頻率(inverse document frequency,IDF)只關注了文檔個數之間的差異,忽視了詞條在不同文檔中數量的差異導致的詞條逆文檔頻率權重的差異。
TF-IWF(term frequency-inverse word frequency)是用來評估一個詞能體現出所在語料多大程度的算法。
詞頻(term frequency,TF)是衡量某個詞ti在文檔dj中出現的頻繁與否指標,出現的越頻繁則詞頻值越高,如式(10)所示:

式中:ni,j表示詞條ti在文檔dj中出現的次數;表示文本dj中所有詞條出現的總次數。
逆特征頻率(inverse word frequency,IWF)是指詞的總數占總文檔數D的比重的倒數。IWF的作用是避免高頻但對文檔作用小的詞匯獲得較高的權重。如式(11)所示:

TF-IWF值由tfij值和IWFi值相乘得到,用wi,j表示,如式(12)所示:

TF-IWF用來過濾常見的詞條,給更能體現語料的詞條賦予更大的權重。如果一個文本內部的高頻詞條在文本集合中呈現低頻狀態,則該詞條的TF-IWF值有高的權重值。
本文特征提取和短文本分類的流程如圖1所示。

圖1 融合卡方統計和TF-IWF算法的特征提取和短文本分類流程
首先進行數據清洗,對待訓練文本進行預處理,包括分詞、去停用詞等。接著提取特征,計算所有出現在文本中的詞條和其所在類別的卡方值,根據卡方值的大小按順序排列各類中的詞條。下一步是計算特征詞的權重,按照上文描述的TFIWF算法分類計算已經提取的特征詞條的權重。最后進入分類器分類,與其他分類系統相比,SVM是一類根據監督學習的方式來實現數據二分類的線性分類器[15-17],故選擇SVM分類器作為分類模型。由短文本特征向量及其類別的標簽訓練SVM分類器。測試過程中對待測文本進行特征提取,再通過訓練完畢的分類器預測待測試文本的所屬類別。
1)實驗平臺
硬件平臺基于Windows 7操作系統,內存為8 GB。算法部分均使用Python3.6語言進行編寫,使用的Python模塊包括自然語言處理庫:Gensim 3.6.0;機器學習庫:Sklearn 0.20.2;數學計算庫:Numpy 1.15.4;進度處理庫tqdm4.43.0。
2)實驗數據集
收集了飛豬網上的酒店評論數據共10 000條,其中好評7 000條,差評3 000條。各類別80%的文本用于訓練,20%的數據用于測試。訓練集與測試集中的數據相互獨立且不存在重復文本。所有數據經過預處理:去除英文文本、去表情符號、去重、去停用詞等,并用結巴分詞對數據進行分詞處理。實驗所使用數據集如表2所示。

表2 實驗數據集
1)基于卡方統計的特征選擇模型參數設置
通過Python模擬不同的由卡方統計所得到特征數與文本分類效果的關系如圖2所示,因此選擇準確率收斂于最大值時的特征數400作為卡方統計得到的特征個數。
2)SVM文本分類器參數設置
SVM分類器參數設置如表3所示。

圖2 特征數與測試集準確率的關系曲線

表3 SVM分類器參數
準確率(precision)、召回率(recall)、和F1評分3項評價指標是分類實驗中常用的指標。其中TP表示屬于正類、預測也為正類的樣本數量;FN表示屬于正類、預測為反類的樣本數量;FP表示屬于反類、預測為正類的樣本數量;TN表示屬于反類、預測也為反類的樣本數量。
準確率是指分類結果中被分類正確的樣本數量占所有分類樣本數的比例,如式(13)所示。

召回率是指分類結果中被正確分類的樣本數量與該類的實際文本數的比例,如式(14)所示。

F1評分是融合準確率和召回率的一種綜合性的評價標準,如式(15)所示。

3.4.1 基于特征選擇的有效性驗證
為驗證基于卡方統計的特征選擇的有效性,共設置2組實驗:第一組實驗使用融合卡方統計和TF-IDF特征提取的短文本分類方法,第二組基于TF-IDF特征提取的短文本分類方法,2組實驗均使用SVM模型進行分類,結果如表4所示。

表4 基于特征選擇的對比驗證
融合卡方統計與TF-IDF的特征提取算法與基于TF-IDF的特征提取算法相比,實驗各項指標明顯提升。說明卡方統計提取特征詞更加精準,卡方特征選擇相比于TF-IDF進行特征選擇是一種更好的特征選擇方法。
3.4.2 基于特征提取的有效性驗證
為驗證融合卡方統計和TF-IWF算法的特征提取的有效性,共進行3組實驗:第1組實驗使用Word2vec方法進行特征提取;第2組實驗使用融合卡方統計和TF-IDF算法的特征提取與短文本分類方法;第3組實驗使用融合卡方統計和TFIWF算法的特征提取及短文本分類方法。3組實驗均使用SVM分類器模型進行分類,結果如表5所示。

表5 基于特征提取的對比驗證
實驗結果顯示,與基于未進行任何改進的TFIDF模型的文本分類方法相比,融合卡方統計和TF-IWF模型在正向文本的召回率上下降0.6%;其他分類指標:平均準確率提升2.8%、平均召回率提升4.5%、平均F1值提升3.7%;融合卡方統計和TF-IWF模型相比于Word2vector模型在各類分類指標下均有提升。說明融合卡方統計和TFIWF的模型在短文本特征的選擇上更具有代表性,特征權重的計算更接近真實比重,提高了提取文本關鍵特征的能力。
3.4.3 基于TF-IWF算法的特征提取與短文本分類方法與其他分類方法對比
為對融合卡方統計和TF-IWF算法的特征提取與短文本分類方法的分類效果做出綜合判斷,將該方法與其他文本分類方法進行對比。向量空間模型(vector space model,VSM)作為傳統的文本向量表征方法把文本內容簡化為向量運算;支持向量機(support vector machine,SVM)是經典的按監督學習的方式對數據進行二項分類的分類器;而K近鄰分類算法(K-nearest neighbor,KNN)[18]作為經典的機器學習分類算法具有操作簡單、可解釋性強的特性。因此,使用SVM分類器對VSM模型[19]所表征的文本向量進行分類,實驗結果如表6所示。

表6 基于分類方法的有效性驗證
由表6可知,融合卡方統計和TF-IWF算法的特征提取與短文本分類方法相對于基于VSM模型的短文本分類方法在分類各項傳統指標上均有較大程度的提升。
針對文本分類中傳統的特征提取算法得到特征表征的能力不強的問題,提出了融合卡方統計和TF-IWF的特征提取算法,該算法在一定程度上解決了TF-IDF權值分布集中導致文本區分度低的問題,并構建了融合卡方統計和TF-IWF算法的短文本分類模型,實驗結果表明:該模型文本特征提取的能力有所增強,分類準確率得到提升。