張 麗,馬 靜
(南京航空航天大學經(jīng)濟與管理學院,江蘇 南京211106)
文本分類是文本挖掘的關鍵技術之一,其最直觀的作用是將文本進行歸類,使得復雜錯亂的海量文本能夠分門別類地進行存儲、查找,在此基礎之上,通過對特定領域語料的分析,也能夠獲得更加深入的文本語義信息。因此,文本分類具有很大的研究價值。
向量空間模型VSM(Vector Space Model)[1]文本表示法是典型的基于統(tǒng)計的方法之一。基于VSM的分類方法,以特征項作為文本表示的基本單位,用特征項及相應權(quán)重來代表特征信息,通常利用TF-IDF(Term Frequency-Inverse Document Frequency)方法計算特征項權(quán)重,將特征項表示為向量,權(quán)值大小代表了這個特征項能在多大程度上將其表示的文本與其他文本區(qū)分開來,最終文本被表示為多維向量空間中的一個向量,通過計算向量夾角大小來衡量文本相似度,如KNN(K-Nearest Neighbor)、SVM (Support Vector Machine)等,進而對文本分類。該類方法操作性強,計算簡單高效,但這種方法基于詞袋法思想,假設特征詞之間相互獨立,從而忽略了詞語之間的語義關系和詞語在文本中的上下文結(jié)構(gòu)信息[2]。并且,向量空間模型在處理海量數(shù)據(jù)時,特征維度會非常高,因此易產(chǎn)生向量空間高維性問題。因此,目前亟需解決的問題就是向量空間的維數(shù)災難和語義缺失,從而進一步提高海量文本分類的效果。裴頌文等[3]針對TF-IDF中存在的不足,提出一種動態(tài)自適應特征權(quán)重計算方法,不僅考慮了特征項詞頻和逆文檔頻率,并且還考慮了文本動態(tài)變化情況下特征項的分散度和特征向量梯度差,對特征項權(quán)重進行動態(tài)調(diào)整,有效提高了文本分類的性能。路永和等[4]引入詞性改進特征權(quán)重計算方法,采用粒子群優(yōu)化算法迭代計算最優(yōu)詞性權(quán)重,與傳統(tǒng)的TF-IDF方法相比分類準確率提高了2~6個百分點。
另外,基于文本復雜網(wǎng)絡的分類方法,在實現(xiàn)特征提取之后,利用特征詞網(wǎng)絡的最大公共子圖計算文本相似度,進而分類。該方法保留了較多的語義信息和文本結(jié)構(gòu)信息,但該方法計算較為復雜,分類效率和準確率有進一步提升的空間。一些學者利用復雜網(wǎng)絡節(jié)點信息改進特征權(quán)重計算。杜坤等[5]以維基百科知識庫為數(shù)據(jù)源,考慮特征項之間的語義關聯(lián)構(gòu)造文本復雜網(wǎng)絡,構(gòu)造評估函數(shù)來評價網(wǎng)絡節(jié)點重要程度,引入特征項在文本中的綜合特征指數(shù)及類別區(qū)分度改進TF-IDF,提高了文本相似度計算的準確率。
針對TF-IDF方法的不足,本文首先利用文獻[6]的方法,結(jié)合共現(xiàn)關系和依存句法關系構(gòu)建文本復雜網(wǎng)絡,在保留語義信息的同時降低節(jié)點冗余。在此基礎上,基于文本復雜網(wǎng)絡中網(wǎng)絡節(jié)點統(tǒng)計特征改進TF-IDF方法,除詞頻外,保留特征詞之間的句法關系、語義信息和結(jié)構(gòu)信息。并將特征向量和通過LSTM(Long Short-Term Memory)算法得到的語義向量融合,使得文本表示向量特征信息更為豐富,文本向量化的結(jié)果更精確,進而達到提升文本分類準確率的目標。最終實驗結(jié)果表明,本文提出的分類方法準確率更高。
傳統(tǒng)的特征權(quán)重計算方法主要有二分類法、詞頻TF(Term Frequency)法、逆文檔詞頻IDF(Inverse Document Frequency)法、TF-IDF法,其中,TF-IDF法被廣泛應用于文本相似度的計算。利用VSM對一篇包含n個特征詞的文本進行表示,文本dj(t1,t2,t3,…,ti,…,tn)最終可以被表示為一個n維向量dj=((t1,W1),(t2,W2),…,(ti,Wi),…,(tn,Wn)),其中ti表示文本的第i個特征詞,Wi表示第i個特征詞的權(quán)重,權(quán)值越大,其文本表示能力越強。
(1)二分類法。若某特征詞在文本中出現(xiàn),則其權(quán)重即為1;不出現(xiàn),則其權(quán)重即為0。這種方法將所有特征詞同等看待,既不突出也不抑制任何一個特征[7]。其權(quán)重計算公式如式(1)所示:
(1)
(2)詞頻TF法。TF反映特征詞在文檔內(nèi)部的分布情況,是指特征詞在文檔中出現(xiàn)的次數(shù)與文檔中所有詞語數(shù)量的比例。這種方法認為特征詞在文檔中出現(xiàn)的次數(shù)越多,其表征文檔的能力越強。其權(quán)重(特征詞ti在文本dj中出現(xiàn)的頻率)計算公式如式(2)所示:
(2)
其中,ni,j是特征詞ti在文本dj中出現(xiàn)的次數(shù),∑knk,j表示文檔dj中的詞語數(shù)量。
(3)逆文檔頻率IDF法。IDF反映特征詞在文檔集中的分布情況,這種方法認為只在小部分文本中出現(xiàn)的特征詞比在大多數(shù)文本中都出現(xiàn)的特征詞能更好地表征文本類別信息。其權(quán)重計算公式如式(3)所示:
(3)
其中,|D|表示語料庫中的文件總數(shù),|{j:ti∈dj}|表示包含特征詞ti的文檔數(shù)目。
(4)TF-IDF法。同時考慮TF與IDF,并將向量進行歸一化,特征詞的權(quán)重計算公式如式(4)所示:
TFIDFi,j=
(4)
TF-IDF通過TF來反映文本內(nèi)部特征,單純使用詞頻作為衡量詞語重要性的依據(jù),不夠全面,因為有些重要詞語出現(xiàn)的次數(shù)并不多,詞語的位置信息、詞性、詞語間的語義聯(lián)系、詞語在局部及全局的影響力等都是詞的重要特征,該方法無法利用這些信息,其權(quán)重計算結(jié)果很可能不準確。
Figure 2 Construction method of text complex network圖2 文本復雜網(wǎng)絡構(gòu)建方法
長短期記憶LSTM神經(jīng)網(wǎng)絡模型[8,9]是循環(huán)神經(jīng)網(wǎng)絡RNN(Recurrent Neural Network)模型[10]的一個變種,是一種循環(huán)神經(jīng)網(wǎng)絡。LSTM學習的過程是對序列化輸入的文本信息進行由左到右的學習,這也符合人類讀取文本的過程。在文本分類研究中,一般會取RNN或者LSTM最后一個節(jié)點的輸出作為文本表示,然后結(jié)合Softmax和交叉熵損失函數(shù)來進行文本分類模型的訓練。然而,RNN在訓練過程中會出現(xiàn)梯度彌散或者梯度爆炸等現(xiàn)象,并且當句子較長時,隨著記憶單元的傳遞,對一開始的輸入信息會有較多的遺忘。LSTM通過門控機制可以很好地避免記憶衰減,其隱藏層到隱藏層的權(quán)重是網(wǎng)絡記憶的控制者,實現(xiàn)對文本的長期依賴進行學習,所以本文選擇LSTM捕捉序列信息。LSTM通過“門”結(jié)構(gòu)從細胞狀態(tài)去除信息或向細胞狀態(tài)增加信息,由記憶單元、輸入門、遺忘門和輸出門4個主要元素組成,如圖1所示。
Figure 1 Structure of LSTM cell圖1 LSTM單元結(jié)構(gòu)
LSTM單元在t時刻更新的公式如式(5)~式(10)所示:
ft=σ(Wf[ht-1,xt]+bf)
(5)
it=σ[Wi[ht-1,xt]+bi]
(6)
(7)
(8)
Ot=σ(Wo[ht-1,xt]+bo)
(9)
ht=Ot⊙tanh(Ct)
(10)
本文構(gòu)建的特征降維文本復雜網(wǎng)絡采取文獻[6]的方法,結(jié)合詞語間共現(xiàn)關系和依存關系,文獻[6]驗證了該方法能在表達文本語義的同時實現(xiàn)降維,有助于提升文本分類效果。構(gòu)建方法如圖2所示,其中共現(xiàn)詞對集依據(jù)共現(xiàn)關系抽取,出現(xiàn)在同一個句子中且跨度不大于2的詞語之間存在共現(xiàn)關系。依存詞對集依據(jù)句法依存關系抽取,詞語之間的句法關系主要包括主謂關系(SBV)、動賓關系(VOB)、定中關系(ATT)、介賓關系(POB)等14種關系類型。分別抽取高于共現(xiàn)概率閾值Tm和依存概率閾值Tr的詞對組成二級特征詞條,以依存詞對豐富共現(xiàn)詞對的語義信息,獲得三級特征詞條,最后生成文本復雜網(wǎng)絡。通過對所有包含其一條邊的兩端節(jié)點表示的詞的詞條的權(quán)重求和,計算出這一條邊的權(quán)重。文本集中的文本dj就抽象為無向圖G=(N,E,W),其中,N、E、W分別表示該文本中的節(jié)點、邊和邊的權(quán)重。
特征提取分為特征選擇和特征權(quán)重計算2個步驟,本文基于復雜網(wǎng)絡利用主成分分析PCA(Principal Component Analysis)和TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution)方法實現(xiàn)特征選擇,結(jié)合復雜網(wǎng)絡節(jié)點統(tǒng)計特征改進TF-IDF權(quán)重計算方法。
(1)PCA方法確定節(jié)點評價指標權(quán)重。
本文選取8個指標:度、聚類系數(shù)、加權(quán)度[11]、加權(quán)聚類系數(shù)[12]、介數(shù)中心度[13]、度中心性[14]、接近中心性[15]和PageRank值,較為全面地評價節(jié)點重要性。利用PCA方法進行降維,確定各個指標的權(quán)重。
PCA方法通過對數(shù)據(jù)進行降維,提高計算效率。以本文為例,用于節(jié)點重要性評價的p個指標組成指標集x1,x2,x3,…,xp,r個節(jié)點的指標構(gòu)成了原始數(shù)據(jù)矩陣X=[xij]r×p,(i=1,2,…,r;j=1,2,…,p),其中xij表示第i個節(jié)點在第j項指標上的數(shù)據(jù)。主成分分析法將標準化后的原始數(shù)據(jù)矩陣進行線性計算,求得協(xié)方差矩陣,即原始數(shù)據(jù)的相關矩陣R。并求解得到特征值λ1≥λ2≥…≥λp≥0,以及特征向量u1,u2,u3,…,up。u1,u2,u3,…,up分別是x1,x2,x3,…,xp的第1,第2,…,第p個主成分。u1,u2,u3,…,up互不相關且方差遞減。前i個主成分在總方差中的主成分貢獻率為αi,累計貢獻率為E。選取的主成分數(shù)量越多,使得對應的累計貢獻率越高,丟失的數(shù)據(jù)信息就越少,但是后續(xù)處理的運算量也就越大,一般情況下選取累計貢獻率E≥85%的最小整數(shù),以達到對節(jié)點評價指標降維的目的。
(2)TOPSIS方法評價節(jié)點重要性。
本文擬采用TOPSIS方法[16],利用降維后網(wǎng)絡統(tǒng)計的指標對各個節(jié)點重要性進行評價。TOPSIS的基本原理是通過計算評價對象與最優(yōu)解、最劣解的相對距離來排序?;赥OPSIS方法利用m個統(tǒng)計指標對一個包含r個節(jié)點的網(wǎng)絡評價節(jié)點重要性,具體步驟[16]如下所示:
(3)特征權(quán)重計算。
為了準確計算文本間的相似度,在確定文本特征之后,需要對每個文本的所有特征項賦予一定的權(quán)重。本文基于前文構(gòu)建的特征降維文本復雜網(wǎng)絡,利用多個節(jié)點統(tǒng)計指標,考慮了詞語在全文及局部的影響力、與其他詞語的關聯(lián)程度,綜合考量了特征項的語義信息和統(tǒng)計信息提取特征詞。因此,利用基于前文構(gòu)建的特征降維文本復雜網(wǎng)絡節(jié)點統(tǒng)計指標評價的節(jié)點重要性結(jié)果,改進IF公式,計算文本特征權(quán)重,能在文本轉(zhuǎn)換為向量的過程中保留一定語義內(nèi)容。本文的特征權(quán)重Wij計算公式如式(11)所示,其中,IDFi表示特征詞ti的逆文檔頻率,計算方法如式(3)所示。IMDij表示特征詞ti在文本dj中的重要度,計算方法如式(12)所示,其中,Cij是上文依據(jù)TOPSIS方法得到的文本ti在文本dj中的重要性系數(shù)。
Wij=IMDij*IDFi
(11)
(12)
LSTM用來處理具有序列關系的數(shù)據(jù)。首先需要構(gòu)建LSTM輸入詞向量矩陣,本文采用文本分析領域常用的word2vec方法[17],把文本中的每個詞都表示成一定維度的詞向量形式。本文采用自身語料集作為訓練集,得到詞向量,具體操作細節(jié)為:將word2vec訓練出來的結(jié)果作為詞向量矩陣的初始值,每條文本在輸入到模型之前都會進行一個查表操作,查找出每個詞語對應的詞向量,而該詞向量矩陣在訓練模型的過程中會作為網(wǎng)絡參數(shù)進行進一步微調(diào),以達到更好的訓練效果。通過將詞向量矩陣輸入LSTM模型,可以獲得相應的用于表示文本的文本向量,代表的是整個文本的語義信息。
Figure 3 Flow chart of text classification method combining word statistical features and semantic information圖3 融合詞語統(tǒng)計特征和語義信息的文本分類方法整體流程示意圖
為了豐富文本表示向量包含的文本信息,本文將上文LSTM模型中提取的語義向量和基于特征降維文本復雜網(wǎng)絡提取得到的特征向量相結(jié)合,從2個維度來表征文本信息,使新的文本表示向量信息量更豐富、區(qū)分度更高。對2種特征先分別進行歸一化,然后再進行組合,從而構(gòu)建出新的文本特征表示,最終文本表示向量如式(13)所示。
(13)
其中,zj為文本dj的LSTM文本向量表示,而θj則為基于特征降維文本復雜網(wǎng)絡提取的文本dj的特征向量,vj為組合后的語義特征表示向量,T則表示對矩陣的轉(zhuǎn)置操作,‖·‖2表示2-范數(shù),用來對zj和θj進行歸一化處理。
最后,將融合后的文本表示向量送入Softmax分類器,實現(xiàn)文本分類。
本文首先構(gòu)建一種特征降維文本復雜網(wǎng)絡進行文本表示,然后基于文本復雜網(wǎng)絡實現(xiàn)文本特征提取,將特征向量化,接著利用LSTM深度學習算法直接提取文本向量,然后將特征向量與LSTM提取的文本向量相融合,再送入Softmax分類器實現(xiàn)文本分類。方法整體流程示意圖如圖3所示。
該文本分類方法的整體步驟如下所示:
步驟1對原始文本語料進行清洗、分詞和去停用詞等預處理工作;
步驟2對預處理后的文本基于特征降維文本復雜網(wǎng)絡進行表示;
步驟3依據(jù)網(wǎng)絡節(jié)點統(tǒng)計指標實現(xiàn)文本特征提取,并計算特征權(quán)重,將文本特征向量化,得到文本的特征向量;
步驟4進行word2vec學習,將語料中的每條文本表示為詞向量矩陣;
步驟5將步驟4得到的詞向量矩陣作為輸入,進行LSTM模型訓練,最終得到代表原文本詞向量層面信息的文本向量;
步驟6將步驟5得到的文本向量與步驟3得到的特征向量相結(jié)合來最終表示文本信息,并進行Softmax文本分類。
(1)數(shù)據(jù)存儲。
本文的實驗語料來源于搜狗實驗室發(fā)布的2012年6月和7月期間,國內(nèi)若干新聞站點中國際、體育、社會和娛樂等18個頻道的新聞數(shù)據(jù),數(shù)據(jù)內(nèi)容包括URL、ID、新聞標題、新聞正文和作者等字段。人工篩選刪去少量無關新聞、重復新聞和字數(shù)較少新聞,最終用于實驗的文本數(shù)是8 000條,其中財經(jīng)類、健康類、教育類、軍事類、旅游類、汽車類、體育類和娛樂類各1 000條。本文根據(jù)實驗需要將文本數(shù)據(jù)標識號、類別標識、分詞后文本、二級特征詞、依存詞對、三級特征詞和權(quán)重信息等存入MySQL數(shù)據(jù)庫中。
(2)數(shù)據(jù)清洗。
網(wǎng)絡新聞文本數(shù)據(jù)相較于微博、論壇和評論數(shù)據(jù),更加規(guī)范,但是仍然存在著一些臟數(shù)據(jù),例如:
①圖片過多而字數(shù)過少的新聞文本:例如一些旅游類的新聞,其中大多是一些風景照,字數(shù)過少,包含的信息過少,本文將長度小于20個字符的新聞文本數(shù)據(jù)直接刪除;
②重復出現(xiàn)的新聞文本:熱點新聞文本可能出現(xiàn)多次;
③包含跳轉(zhuǎn)鏈接的新聞文本:一些熱點新聞,可能出現(xiàn)多家媒體進行轉(zhuǎn)載的情況,這類新聞的末尾通常含有原網(wǎng)頁鏈接,如一篇轉(zhuǎn)載自光明網(wǎng)的新聞,在末尾可能包含URL字符串:“http://www.gmw.cn/…”,本文利用正則表達式直接將文本中所有URL字符去除;
④編輯名字、記者名字、雜志社名稱:新聞文本經(jīng)常在開頭或者末尾出現(xiàn)編輯名字與記者名字,這不屬于文本的語義信息,例如,作者:張三,編輯:李四,本文利用正則表達式直接將這些無用信息去除;
⑤去除新聞文本中的英文信息:本文研究不涉及雙語文本的分類,只關注中文文本的分類方法,因此將過濾掉英文信息。
本文實驗主要參數(shù)設置如表1所示,特征詞數(shù)量s將通過多次實驗對比確定最優(yōu)值。
Table 1 Main parameter setting
為了與本文方法進行對比,本文設計了對比實驗,求出各個分類方法在同一數(shù)據(jù)集中上分類表現(xiàn),6個對比方法具體如下所示:
(1)方法1:使用傳統(tǒng)的TF-IDF方法實現(xiàn)特征提取和權(quán)重計算,最終得到文本表示向量,再結(jié)合KNN算法實現(xiàn)文本分類。
(2)方法2:使用傳統(tǒng)的TF-IDF方法實現(xiàn)特征提取和權(quán)重計算,最終得到文本表示向量,再結(jié)合SVM算法實現(xiàn)文本分類。
(3)方法3:利用本文設計的基于文本復雜網(wǎng)絡的特征提取結(jié)果,并使用改進TF-IDF實現(xiàn)特征向量化,再結(jié)合KNN算法實現(xiàn)文本分類。
(4)方法4:利用本文設計的基于文本復雜網(wǎng)絡的特征提取結(jié)果,并使用改進TF-IDF實現(xiàn)特征向量化,再結(jié)合SVM算法實現(xiàn)文本分類。
(5)方法5:使用LSTM模型提取文本向量,送入Softmax實現(xiàn)文本分類。
(6)方法6:使用本文提出的特征提取算法和特征權(quán)重計算方法提取特征向量,并使用LSTM模型提取文本向量,再將特征向量和文本向量相融合,最后送入Softmax分類器實現(xiàn)文本分類。
(1)特征詞數(shù)量。
本文以評價指標準確率precision、召回率recall和F1-score值為依據(jù),不斷更改特征詞數(shù)量s的取值進行多次實驗,計算出了不同特征詞數(shù)量取值下的準確率、召回率和F1值的變化,實驗結(jié)果如圖4所示。由圖4可知,隨著特征詞數(shù)量的不斷增加,準確率、召回率和F1值均在不斷提高,反映出文本分類效果的提升。但是,由于隨著特征詞數(shù)量的增加,方法的運行時間會顯著增加。當閾值設定為15時,分類效果提升最明顯;當閾值設定為20時,準確率、召回率和F1值提升效果不明顯,且此時特征詞較多會增加方法運行時間,所以本文選擇將文本特征提取中特征詞數(shù)量s設置為15,此時文本分類效果較好且運行時間較短,便于后續(xù)實驗的進行。
Figure 4 Influence of number of characteristic words on the evaluation index圖4 特征詞數(shù)量對評價指標的影響
(2)分類效果。
通過方法構(gòu)建和實驗驗證能夠獲得各組實驗結(jié)果,實驗結(jié)果記錄如表2所示,6組實驗結(jié)果平均F1值對比如圖5所示。從表2和圖5可以看出,傳統(tǒng)的分類器KNN的分類效果最差,本文提出的結(jié)合復雜網(wǎng)絡統(tǒng)計特征的文本分類方法效果最好。具體分析如下:
Table 2 Evaluation index values of text classification of each method
Figure 5 F1-score of six methods 圖5 6組方法的F1值
方法1與方法2相比、方法3與方法4相比,方法2和方法4效果較好,說明在該語料庫中SVM分類器的表現(xiàn)好于KNN的。方法1與方法3相比、方法2與方法4相比,方法3和方法4效果更好,使用文本復雜網(wǎng)絡進行特征提取結(jié)合KNN或SVM進行分類,分類效果有所提升,說明向量空間模型在進行文本表示時受限于獨立性假設,不利于引入語義信息,本文設計的基于特征降維文本復雜網(wǎng)絡的特征提取方法能夠有效獲取文本語義信息?;贚STM的文本分類實驗中,結(jié)合文本復雜網(wǎng)絡和LSTM的方法,分類準確率達到92.02%,比基于LSTM的方法高了2.8%,比基于文本復雜網(wǎng)絡和KNN的方法高了4%,比KNN高了14%,說明LSTM方法相比傳統(tǒng)機器學習方法在文本分類上有明顯的優(yōu)勢,并且在LSTM抽取出的語義信息中加入基于文本復雜網(wǎng)絡的特征信息能夠有效提高文本的分類效果。
實驗驗證了本文設計的融合詞語統(tǒng)計特征和語義信息的文本分類方法確實進一步提升了文本分類的準確率。
為了解決處理海量文本語料時,傳統(tǒng)方法帶來的維數(shù)災難和語義缺失,從而導致分類不準確的問題,本文首先基于文本復雜網(wǎng)絡節(jié)點統(tǒng)計特征改進TF-IDF方法得到特征向量,在特征表示中融合了詞語的句法關系、詞性、結(jié)構(gòu)信息和詞頻計算特征權(quán)重,彌補了“詞袋”模型的缺點;接著基于LSTM提取的語義向量,將特征向量與語義向量相融合,使新的文本表示向量信息量更豐富、區(qū)分度更高,使最終的文本分類效果更好。本文方法仍存在巨大的探索空間,向量融合方式較為粗糙,僅將特征向量和文本向量分別歸一化后相組合,在維度相差較大時,分類效果不穩(wěn)定。下一步考慮將此分類方法運用到短文本分類和輿情分析中。