張 陽,王小寧,2*
(1.中國傳媒大學(xué)數(shù)據(jù)科學(xué)與智能媒體學(xué)院,北京 100024;2.媒體融合與傳播國家重點(diǎn)實(shí)驗室(中國傳媒大學(xué)),北京 100024)
互聯(lián)網(wǎng)的海量數(shù)據(jù)中,很大一部分是以文本形式儲存,通過文本數(shù)據(jù)挖掘可以將海量數(shù)據(jù)轉(zhuǎn)換成最具價值的信息,在情感分析、輿情監(jiān)測、信息檢索和個性化推薦等諸多方面有著廣泛應(yīng)用,而文本分類是面對海量數(shù)據(jù)分析的關(guān)鍵技術(shù),指根據(jù)確定好的類別對文本進(jìn)行主題相似性判斷。由于文本數(shù)據(jù)轉(zhuǎn)換為特征向量通常具有高維性和稀疏性的問題,特征選擇是一種衡量特征重要性的方法,在高維特征中選擇最有價值的向量不僅可以降低計算開銷節(jié)省時間,并且將冗余特征剔除而獲得更加高效準(zhǔn)確的分類結(jié)果,因此特征選擇是影響文本分類性能好壞的重要環(huán)節(jié)。針對現(xiàn)有特征選擇方法分類效果欠佳的問題,本文提出了一種基于Word2Vec詞嵌入和高維生物基因選擇遺傳算法(Genetic AlgoRithm for Biomarker selection in high-dimensional Omics,GARBO)的文本特征選擇方法,并且通過與基于卡方分布和詞頻統(tǒng)計類方法的對比驗證得出,本文所提出的方法在文本特征選擇上可有效降低特征維度,提高文本分類效率。
文本分類是自然語言處理的關(guān)鍵技術(shù),在情感分析、主題分類、郵件過濾等諸多領(lǐng)域有大量應(yīng)用,特征選擇作為文本數(shù)據(jù)挖掘的重要組成部分[1],文本分類的好壞和特征選擇有著密不可分的關(guān)系,通常文本轉(zhuǎn)換后的特征都伴有高維度和稀疏性問題,因此特征選擇對于文本分類的結(jié)果有直接影響。文本特征選擇的常見方法包括使用主成分分析(Principal Component Analysis,PCA)和優(yōu)劣解距離(Technique for Order Preference by Similarity to Ideal Solution,TOPSIS)算法對文本復(fù)雜網(wǎng)絡(luò)進(jìn)行降維[2]結(jié)合加權(quán)的Word2Vec 進(jìn)行文本分類[3]。在基于語料和術(shù)語關(guān)系的變量選擇上,文獻(xiàn)[4]針對語料庫特征選擇的缺陷提出了引入命名、類內(nèi)頻率和類內(nèi)方差三種指標(biāo),克服了卡方分布算法不能區(qū)分在一個類別內(nèi)具有不同頻率分布的特征的缺陷,實(shí)驗結(jié)果表明這種方法對于多種分類器和語料庫都有一定效果。文獻(xiàn)[5]針對沒有考慮術(shù)語之間的語義關(guān)系而導(dǎo)致的分類準(zhǔn)確率低的問題,提出了利用統(tǒng)計派生的概念索引來替換各個術(shù)語根據(jù)語義索引在術(shù)語之間構(gòu)造一個新的語義空間。文獻(xiàn)[6]對詞頻逆向文件頻率(Term Frequency-Inverse Document Frequency,TF-IDF)算法進(jìn)行改進(jìn),提出了改進(jìn)的TF-IDF 和卡方(Improved TF-IDF-CHI,Imp TF-IDF-CHI)的混合特征選擇方法。文獻(xiàn)[7]和文獻(xiàn)[8]分別將權(quán)重修正函數(shù)和特征選擇引入到文本向量研究中,改進(jìn)得到了權(quán)重修正函數(shù)和TH-IDF融合的方法。文獻(xiàn)[9]發(fā)現(xiàn)當(dāng)新的特征與單個特征結(jié)合使用時,歧義和噪聲會減小,在多種場景中為后續(xù)分類的性能有較大提升。文獻(xiàn)[10]利用顯著性綜合評估(Comprehensive Measurement For Significance,CMFS)特征選擇算法在文本分類中不影響分類效果的同時降低維度,在多種數(shù)據(jù)集上測試,相同數(shù)據(jù)情況下,文獻(xiàn)[10]所提算法準(zhǔn)確率高于信息增益(Information Gain,IG)和卡方統(tǒng)計(CHI statistic,CHI)算法。文獻(xiàn)[11]通過構(gòu)建倒排文本空間索引樹分裂聚類多目標(biāo)模型,并對非支配排序遺傳算法進(jìn)行改進(jìn)提出了基于先驗初始特征集策略的非支配排序遺傳算法,使得文本空間索引平均查詢時間減少,準(zhǔn)確率提升。
遺傳算法(Genetic Algorithm,GA)是一種仿生型優(yōu)化算法。此算法與傳統(tǒng)優(yōu)化算法從單個初始值開始迭代不同,此遺傳算法從全局角度出發(fā),覆蓋面大,利于全局擇優(yōu),并且具有可拓展性,易與其他算法結(jié)合。傳統(tǒng)GA如圖1所示。
圖1 傳統(tǒng)遺傳算法流程Fig.1 Flow chart of traditional genetic algorithm
其中:G表示迭代次數(shù),輸入的初始化特征數(shù)據(jù)經(jīng)過個體的選擇、交叉和變異得到高質(zhì)量的特征集;GEN為迭代次數(shù)的閾值,達(dá)到設(shè)置的閾值后輸出結(jié)果。在利用遺傳算法進(jìn)行過變量選擇方面,文獻(xiàn)[12]采用互信息最大化(Mutual Information Maximization,MIM)與自適應(yīng)遺傳算法(Adaptive Genetic Algorithm,AGA),在高維特征陣列數(shù)據(jù)實(shí)驗上與傳統(tǒng)特征選擇算法相比達(dá)到最高分類準(zhǔn)確率。文獻(xiàn)[13]提出了面向遺傳算法的潛在語義特征(Genetic Algorithm oriented Latent Semantic Features,GALSF),該方法包括特征選擇和特征轉(zhuǎn)換,實(shí)驗結(jié)果表明此方法優(yōu)于過濾式特征選擇方法。在實(shí)際應(yīng)用中,文獻(xiàn)[14]為了解決多變量選擇和評估開發(fā)了一款高效算法包。文獻(xiàn)[15]結(jié)合了過濾器特征選擇方法和改進(jìn)后的遺傳算法,此混合方法在準(zhǔn)確率上優(yōu)于單一算法。
綜上所述,國內(nèi)外學(xué)者主要針對具有較高維度特征的文本分類和遺傳算法進(jìn)行建模,在特征選擇和分類準(zhǔn)確率上有了一定成果,但這些研究仍然存在一些不足之處,改進(jìn)的模型算法在降維與準(zhǔn)確度上有提升改進(jìn)空間,同時沒有考慮到是否存在多個詞間的復(fù)雜關(guān)系,在特征選擇環(huán)節(jié)不夠準(zhǔn)確。本文提出了一種適用于文本特征選擇的遺傳算法,并以公開的酒店評論文本數(shù)據(jù)作為研究對象,使用隨機(jī)森林作為分類器,準(zhǔn)確率達(dá)到88%,與其他文本分類算法相比,本文方法在特征維度數(shù)較少的情況下進(jìn)行文本分類的準(zhǔn)確率具有明顯優(yōu)勢。
GARBO[16]是基于遺傳算法(GA)改進(jìn)的一種算法,使用方差分析(ANalysis Of VAriance,ANOVA)的F 檢驗得到特征權(quán)重信息,以指導(dǎo)遺傳算子的大小。在保持變量維度可變的情況下,通過基于隨機(jī)森林分類器作為適應(yīng)度函數(shù)對文本特征質(zhì)量進(jìn)行評估。與傳統(tǒng)遺傳算法不同,變量維度(或選擇特征數(shù)量的多少)的優(yōu)化是通過交叉和突變算子來確保的,后者由插入、刪除和替換構(gòu)成。這些運(yùn)算符由模糊邏輯控制器(Fuzzy Logic Controller,F(xiàn)LC)動態(tài)指導(dǎo),每次GA 迭代時進(jìn)行編譯,以便動態(tài)調(diào)整執(zhí)行交叉和變異算子的可能性。此外,會定期計算特征組特征集中每個特征貢獻(xiàn)的度量,F(xiàn)LC 使用該度量來更新其特征排名并確定要傳播到下一代的可能性,整體算法流程如圖2所示。
圖2 改進(jìn)的自適應(yīng)遺傳算法流程Fig.2 Flow chart of improved adaptive genetic algorithm
本文在文本信息預(yù)處理后,加入詞嵌入步驟,從而形成初始特征集,區(qū)別于其他遺傳算法的地方在于FLCs模塊可通過pi(插入概率)、pd(刪除概率)、ps(替換概率)、pc(交叉概率)、pm(突變概率)參數(shù)及時調(diào)整特征集的特征選擇。其中將某個特征維度看作獨(dú)立的基因,而多個特征維度組成染色體,更進(jìn)一步,多個染色體的集合組成特征集,在小于設(shè)定迭代次數(shù)時,經(jīng)過選擇、交叉和突變步驟進(jìn)行特征的優(yōu)化。
為了表示當(dāng)前特征信息的重要程度,首先使用方差分析(ANOVA)來量化每個特征與目標(biāo)向量之間的關(guān)聯(lián)并計算權(quán)重,生成范圍在0.2~0.8 的權(quán)重值,通過過去幾次循環(huán)調(diào)整中特征出現(xiàn)的頻率和包含給定特征時變量比不包含特征時變量表現(xiàn)出更好的概率來更新特征權(quán)重,在每次迭代中計算并保存變量的適應(yīng)度評估值,經(jīng)過FLC 系統(tǒng)后決定權(quán)重值的增加或減小。
相較于傳統(tǒng)的固定長度二進(jìn)制表示的特征組,不定長特征組的方案在某些領(lǐng)域得到了更優(yōu)秀的表現(xiàn),其主要思想是將每個特征組編碼為選定的特征,而不是特征是否存在。此方法在面對高維特征時不會因特征數(shù)量過多而導(dǎo)致進(jìn)化效率低以及進(jìn)化過程中所產(chǎn)生的計算資源的限制。輸入帶有特征權(quán)重的不定長變量,特征權(quán)重會指導(dǎo)變量在迭代過程中生成二進(jìn)制掩碼以指示變量添加或保留到整體特征中。
適應(yīng)度函數(shù)在特征選擇的迭代過程中起著重要的評估作用,根據(jù)計算來衡量個體的優(yōu)劣,數(shù)值越大越優(yōu)秀,反之亦然。適應(yīng)度高的優(yōu)良個體越容易保留來進(jìn)行種族的繁衍。在本文中,采用隨機(jī)森林算法來對數(shù)據(jù)進(jìn)行分類,每個特征組適應(yīng)度值對應(yīng)于每次循環(huán)中計算分類準(zhǔn)確度的平均值。隨機(jī)森林(Random Forest,RF)是由Breiman[17]提出的一個集成學(xué)習(xí)算法框架,主要是隨機(jī)選擇樣本和選擇特征,采用Bootstrap重抽樣技術(shù)從原始樣本中隨機(jī)抽取等量數(shù)據(jù)作為訓(xùn)練樣本,并且隨機(jī)地選擇部分特征來建立決策樹。其實(shí)質(zhì)是由多棵決策樹組成的集成分類器,由各個子分類器來共同決定其分類結(jié)果。
交叉算子遵循保留父母雙方高質(zhì)量特征的原則,如圖3所示。特征集中對兩個特征組使用特征權(quán)重對其進(jìn)行排序,然后按照規(guī)則使用二進(jìn)制掩碼來表示,如果父母特征組長度不同,則使較短的特征組與另一條特征組對齊,確保至少有一個特征耦合,并且對二進(jìn)制的編碼特征遵循以下操作:1)如果編碼為1-0,則保留第一個父代的特征,并排除第二個父代的特征;2)如果編碼為0-1,則排除第一個父代的特征,并保留第二個父代的特征;3)如果編碼為1-1,則保留兩個特征;4)如果編碼為0-0,則以0.5的概率交換特征。
圖3 交叉算子的繼承特點(diǎn)Fig.3 Inheritance characteristics of crossover operator
為了消除或代替某些表現(xiàn)較差的特征,同時隨機(jī)地引入其他特征來保持種族的多樣性,變異算子使用替換、插入和刪除三個算子來進(jìn)行突變,是否進(jìn)行變異取決于對應(yīng)特征位置的二進(jìn)制編碼,對于特征權(quán)重編碼為1 的可認(rèn)為是優(yōu)質(zhì)特征,不對其進(jìn)行變異操作,而對于特征權(quán)重編碼為0 的位置按照三種變異的概率進(jìn)行相應(yīng)的變異操作,其概率分別為ps、pi、pd。上述特征變異過程如圖4所示。
圖4 變異過程Fig.4 Process of mutation
其中,替換過程是將編碼為0 的弱權(quán)重特征隨機(jī)替換為編碼為1 的強(qiáng)權(quán)重特征;插入過程則在特征集尾部插入強(qiáng)權(quán)重特征;刪除操作即刪除弱權(quán)重特征。
FLC 是使用Mamdani 模型框架實(shí)現(xiàn)的[18],它由規(guī)則的條件部分和后繼執(zhí)行部分組成,十分適合多輸入單輸出問題,
標(biāo)準(zhǔn)的遺傳算法趨向收斂于單個解決方案,但這可能不是最優(yōu)的,如果群體內(nèi)的特征組都十分相似,則交叉算子的作用就非常小,突變則起到較大作用,為了適應(yīng)這一動態(tài)變化的情況,GARBO 使用FLC 來動態(tài)調(diào)整一下控制參數(shù)pc(交叉概率)、pm(突變概率)、ps(替換概率)、pi(插入概率)、pd(刪除概率),F(xiàn)LC 推理引擎可以根據(jù)數(shù)據(jù)輸入和規(guī)則設(shè)定進(jìn)行推理操作,最終輸出確定值。FLC 規(guī)則設(shè)定的基本思想是在不降低分類精度的前提下保持刪除算子較大的概率,算子參數(shù)影響如圖5所示。
圖5 算子參數(shù)傳遞Fig.5 Operator parameter passing
適應(yīng)度函數(shù)最大值為fmax(t),適應(yīng)度平均值為fave(t),平均特征組大小為mlc(t),文本特征集相似度為ss(t),其中最大適應(yīng)度距離FV和兩代之間的平均適應(yīng)度之差FT,從fave(t)和fmax(t)以及mlc(t)得出,如式(1)、(2)所示:
交叉和突變遵循以下準(zhǔn)則:
1)當(dāng)fave(t)接近fmax(t)時表示特征組整體質(zhì)量較高,接近同質(zhì)化,所以pc應(yīng)為低,但如果fave(t)和fmax(t)之間存在較大的差值,則pc應(yīng)為高。
2)當(dāng)fave(t-1)接近fave(t)時,表示連續(xù)兩代生成的適應(yīng)度變化很小,因此將pm設(shè)置為較高。
3)當(dāng)fave(t-1)和fave(t)之間存在較大差異,則意味著連續(xù)兩代的適應(yīng)性變化非常大,在之后的迭代遺傳中特征組的質(zhì)量不高,因此降低pm以避免在突變過程中丟失優(yōu)秀的特征組。
4)當(dāng)mlc(t)高時表明此時特征數(shù)過多,則將pc和pm設(shè)置為低。
5)插入和刪除則通過FLC 考慮指標(biāo)pc和mlc(t)的值,當(dāng)群體中的相似特征組較少并且特征組長度的平均值也低時,則設(shè)置pi高而pd低。
6)替換概率則根據(jù)ps=1-(pd+pi)。當(dāng)pi和pd達(dá)到最高概率值(即0.4)時,結(jié)果ps等于0.2;相反地,當(dāng)pi和pd達(dá)到最低概率值(即0.1)時,結(jié)果ps等于0.8。
特征集相對獨(dú)立地進(jìn)行各自的迭代變換,但可以通過偶爾的遷移來進(jìn)行特征集的交換更新,可以設(shè)置參數(shù)每隔x次循環(huán)后對優(yōu)秀特征集進(jìn)行復(fù)制遷移,并且允許遷移特征集中最多25%的優(yōu)秀特征組,同時接收這些遷移特征的特征集會消滅自身最底層的25%特征組以吸收新的特征組,這也會導(dǎo)致那些優(yōu)秀特征獲得更多的留存機(jī)會,提升整體特征集的質(zhì)量。
實(shí)驗采用的數(shù)據(jù)是Tan 等[19]搜集的酒店評論情感分析語料,總數(shù)為10000條,其中積極的語料為3000條,消極的語料為7000 條,為減少數(shù)據(jù)的不均衡性給分類帶來的影響,在此采用積極和消極各2000 條數(shù)據(jù)作為訓(xùn)練集,積極和消極各100 條作為測試集,實(shí)驗文本長度介于27~723,全文采用utf-8編碼。
實(shí)驗環(huán)境為python3.7,實(shí)驗設(shè)備為MacBookPro,處理器為2.6 GHz 六核Intel Core i7。適應(yīng)度評估函數(shù)使用隨機(jī)森林,它屬于Bagging類型,通過組合多個弱分類器,最終結(jié)果通過投票或取均值,使得整體模型的結(jié)果具有較高的精確度和泛化性能。具體參數(shù)如表1所示。
表1 參數(shù)設(shè)置Tab.1 Parameter setting
首先使用Wiki 中文語料庫進(jìn)行Word2Vec 模型構(gòu)建,使用jieba 分詞,經(jīng)過去停用詞和標(biāo)點(diǎn)符號等操作得到整理后的文檔,將文檔輸入創(chuàng)建設(shè)置為300 維詞向量的Word2Vec 模型中,訓(xùn)練得到模型生成的詞向量,作為后續(xù)情感分析模型提取特征詞的數(shù)據(jù)輸入。
使用正確率(Accuracy)對實(shí)驗結(jié)果進(jìn)行評價,其計算式如下:
其中:TP(True Positive)代表真陽性;TN(True Negative)代表真陰性;FP(False Positive)代表假陽性;FN(False Negative)代表假陰性。
圖6 為文本特征集進(jìn)化的過程顯示,其中黑色折線表示特征集中所有個體的適應(yīng)度均值隨迭代次數(shù)的變化,灰色折線表示特征集中存在的最優(yōu)適應(yīng)度數(shù)值隨迭代次數(shù)的變化,可以發(fā)現(xiàn),不論是最優(yōu)值還是均值,在遺傳算法的前期都有上升的趨勢,表明特征在以提高適應(yīng)度為目標(biāo)不斷調(diào)整參數(shù),后期達(dá)到算法上限逐漸趨于平穩(wěn)。圖7 為特征經(jīng)過適應(yīng)度函數(shù)評估得到的適應(yīng)度數(shù)值隨迭代次數(shù)的變化過程,其中適應(yīng)度比值=(最高適應(yīng)度-平均適應(yīng)度)/最高適應(yīng)度,在前期適應(yīng)度波動較大,經(jīng)過多次迭代后適應(yīng)度波動降低并趨于穩(wěn)定,平均特征適應(yīng)度趨于較高水平。同樣,圖8 則顯示了在迭代過程中最優(yōu)個體適應(yīng)度值和平均適應(yīng)度值分別與平均特征組長度的比值,整體函數(shù)呈上升趨勢,表明被篩選的單個特征質(zhì)量逐步增高。圖9 表明隨迭代次數(shù)增加,此算法不斷篩選出高質(zhì)量特征,維度逐漸降低,結(jié)合圖6 所示,經(jīng)過遺傳算法篩選得到的特征集準(zhǔn)確率仍保持在較高水平。
圖6 特征平均準(zhǔn)確率與最大準(zhǔn)確率隨迭代次數(shù)變化Fig.6 Feature average accuracy and maximum accuracy varying with number of iterations
圖7 特征適應(yīng)度隨迭代次數(shù)變化Fig.7 Feature fitness varying with number of iterations
圖8 特征最大準(zhǔn)確率和平均準(zhǔn)確率分別與特征維度的比值隨迭代次數(shù)變化Fig.8 Ratios of feature maximum accuracy and average accuracy to feature dimension varying with number of iterations
圖9 特征維度隨迭代次數(shù)變化Fig.9 Feature dimension varying with number of iterations
表2 為不同方法在htl-2000 酒店評論數(shù)據(jù)集上準(zhǔn)確率指標(biāo)比較結(jié)果。TF-IDF 作為傳統(tǒng)的統(tǒng)計學(xué)方法,優(yōu)點(diǎn)是簡單快速,但同時缺點(diǎn)也很明顯,精度不高,嚴(yán)重依賴語料庫,僅依賴詞頻度量詞的重要性,在用于空間向量計算文本相似度時可以取得比較好的效果,但文本分類中單純使用TF-IDF 來判斷特征是否有區(qū)分度是不夠的。卡方分布方法只統(tǒng)計特征是否出現(xiàn),而不統(tǒng)計出現(xiàn)了幾次,對低頻特征有所偏袒,所以在特征選擇中產(chǎn)生偏差。而傳統(tǒng)的遺傳算法沒能根據(jù)每次迭代的反饋靈活調(diào)整特征變化的參數(shù)導(dǎo)致每次迭代的效率較低,沒能達(dá)到最佳特征組合。結(jié)果顯示本文方法在特征維度低的情況下準(zhǔn)確率較GA 提高了2.4 個百分點(diǎn),F(xiàn)1 值較卡方統(tǒng)計(CHI)高了0.45個百分點(diǎn)。實(shí)驗結(jié)果表明本文提出的方法具有較好的降維能力和良好的分類性能。
表2 不同方法的實(shí)驗結(jié)果比較Tab.2 Experimental result comparison of different methods
針對中文文本分類任務(wù),特別針對文本表示和特征選取部分,本文借鑒生物遺傳算法[20],將文本轉(zhuǎn)化為基因片段處理,通過不斷經(jīng)過交叉、變異、選擇等操作后通過隨機(jī)森林適應(yīng)度評估函數(shù),在不斷迭代后最終得到更加準(zhǔn)確的特征。實(shí)驗結(jié)果表明,與其他文本特征選擇算法相比,本文提出的基于Word2Vec 詞嵌入和高維生物基因選擇遺傳算法的文本特征選擇方法,在有效降低文本特征維度的同時也取得了較好的分類效果。
本文所提方法在控制特征維度數(shù)的同時有較高準(zhǔn)確率,但也有明顯缺陷,例如計算成本高、計算效率較低,如何縮短迭代時間將作為下一步研究方向。