高潔云,趙逢禹,劉 亞
(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
文本分類(lèi)是基于文本的內(nèi)容將文本分配給一個(gè)或多個(gè)預(yù)定義類(lèi)別[1]。傳統(tǒng)上,文本分類(lèi)是基于詞的向量空間模型,每個(gè)文本被表示為高維空間中的向量,文本之間的相似性是基于詞匹配計(jì)算的,即取決于文本之間詞特征的共現(xiàn)率。因此,Salton等人[2]提出的矢量空間模型,也稱(chēng)為特征向量模型,有助于在二維空間中用詞頻建模來(lái)表示文本。通常,文本表示包括特征提取和特征加權(quán)兩個(gè)步驟,特征提取可捕獲文本上下文的重要特征,特征加權(quán)是各特征的賦予不同的權(quán)重值,表明其在該特定文本以及整個(gè)語(yǔ)料庫(kù)中的重要性。詞袋(BOW)[2]模型是把文本中的詞與詞頻抽取出來(lái),構(gòu)成詞袋,形成文本的特征空間,但是文本特征空間的大小隨文本大小增加而變得極度稀疏,并且沒(méi)有考慮詞間的語(yǔ)義。
基于語(yǔ)義分析的技術(shù)可用于文本分類(lèi)過(guò)程以提高性能和準(zhǔn)確性。但是,大多數(shù)現(xiàn)有的文本分類(lèi)方法都使用統(tǒng)計(jì)加權(quán)方法來(lái)計(jì)算特征加權(quán)。Deerwester等[3]提出了一種稱(chēng)為潛在語(yǔ)義分析(LSA)的純統(tǒng)計(jì)技術(shù),通過(guò)合并與具有相似含義的詞相關(guān)聯(lián)的維度來(lái)很好地解決同義詞問(wèn)題,但是多義性問(wèn)題仍沒(méi)有很好地解決。Gabrilovich和Markovitch[4]提出了一種顯式語(yǔ)義分析(ESA)技術(shù),利用維基百科中的概念將自然語(yǔ)言文本表示成細(xì)粒度的語(yǔ)義概念,對(duì)自然語(yǔ)言處理的研究發(fā)現(xiàn),ESA在文本分類(lèi)方面是成功的。然而,ESA算法在很大程度上依賴(lài)于維基百科的現(xiàn)有知識(shí),這非常耗時(shí)。Banik等人[5]已經(jīng)提出了類(lèi)似的方法,其目的在于開(kāi)發(fā)概念本體,其中從維基百科提取的背景知識(shí)用作語(yǔ)義核以改進(jìn)文檔表示。但是,基于詞特征空間的文檔表示有時(shí)不能很好地反映文檔之間的語(yǔ)義相關(guān)性。
在Google推出詞向量word2vec[6]后,出現(xiàn)了一種新的文檔表示方法,陳磊等人[7]通過(guò)word2vec詞向量特征選擇的方法來(lái)創(chuàng)建分類(lèi)特征。詞向量是一種分布式表示,其中詞以低維和實(shí)值向量表示,在向量空間中,語(yǔ)義上相似的詞往往具有相似的向量。最近的研究已經(jīng)應(yīng)用詞向量來(lái)提高文本分類(lèi)任務(wù)的性能[8]。
為了更進(jìn)一步優(yōu)化文本分類(lèi)性能并提高準(zhǔn)確性,針對(duì)海量文本數(shù)據(jù),該文提出了一種新的混合特征選擇技術(shù)(hybrid feature selection,HFS),對(duì)海量文本使用HFS技術(shù)刪除不相關(guān)且冗余的文本特征,通過(guò)去除不必要的特征來(lái)減少數(shù)據(jù)維度。由于word2vec會(huì)忽略詞內(nèi)部的形態(tài)特征這一問(wèn)題,在應(yīng)用混合特征選擇之后,提出使用預(yù)訓(xùn)練的fastText詞向量技術(shù)用于發(fā)現(xiàn)語(yǔ)義上相似的特征,以增強(qiáng)原始特征集,并應(yīng)用這種增強(qiáng)的特征集進(jìn)行分類(lèi)。該文把增強(qiáng)特征方法(enhanced hybrid feature selection,EHFS)與兩種特征選擇方法(AC和MAD)以及著名的文本分類(lèi)算法LSTM一起使用,并通過(guò)實(shí)驗(yàn)驗(yàn)證了EHFS對(duì)文本分類(lèi)的有效性。
word2vec[9-10]從輸入中構(gòu)建詞匯表,然后學(xué)習(xí)詞的向量表示為每個(gè)詞生成一個(gè)向量。但它忽略了詞內(nèi)部的形態(tài)特征,比如:“文本數(shù)據(jù)”和“文本”,這兩個(gè)詞有公共字符“文本”,即它們的內(nèi)部形態(tài)類(lèi)似,但是在傳統(tǒng)word2vec中,這種詞內(nèi)部形態(tài)信息因?yàn)楸晦D(zhuǎn)換成不同的詞向量而被忽略。為了克服這個(gè)問(wèn)題,該文引入了fastText,它可以計(jì)算兩個(gè)向量在語(yǔ)義上的相似度,對(duì)相似特征進(jìn)行語(yǔ)義上的增強(qiáng)。
Facebook于2016年推出的fastText是一個(gè)開(kāi)源的詞向量計(jì)算和文本分類(lèi)工具[11-12]。在fastText模型中,字符級(jí)別的n-gram信息和詞內(nèi)部順序的隱藏信息可以用于詞表示,對(duì)于“文本數(shù)據(jù)”這個(gè)詞,假設(shè)n的取值為3,則它的trigram有:“<文本”,“文本數(shù)”,“本數(shù)據(jù)”,“數(shù)據(jù)>”。其中,<表示前綴,>表示后綴,于是,可以用這些trigram來(lái)表示“文本數(shù)據(jù)”這個(gè)詞,進(jìn)一步,“文本數(shù)據(jù)”的詞向量可以用這4個(gè)trigram的向量疊加來(lái)表示。對(duì)于未登錄詞的詞向量可以使用詞典中相應(yīng)的子詞向量之和的平均來(lái)進(jìn)行表示。
fastText還可以計(jì)算兩個(gè)向量在語(yǔ)義上的相似度。首先從輸入中構(gòu)建詞匯表,然后學(xué)習(xí)詞的向量表示。對(duì)于兩個(gè)詞向量,使用余弦相似度值確定它們的相似度,該值越大,兩個(gè)向量在語(yǔ)義上就越接近,這些詞向量可以用作分類(lèi)問(wèn)題中的特征。
LSTM是由Hochreiter&Schmidhuber在1997年提出的[13],它是RNN的一種特殊類(lèi)型,可以學(xué)習(xí)長(zhǎng)期依賴(lài)關(guān)系[14]。LSTM結(jié)構(gòu)如圖1所示。

圖1 LSTM結(jié)構(gòu)
RNN是具有內(nèi)部存儲(chǔ)器的網(wǎng)絡(luò),可高效地預(yù)測(cè)時(shí)間序列[15]。在RNN中,信息從每個(gè)神經(jīng)元流到其同層中的其他每個(gè)神經(jīng)元。LSTM是RNN單元的擴(kuò)展[16],它克服了RNN單元的缺點(diǎn)。與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)相比,LSTM仍然是基于xt和ht-1來(lái)計(jì)算ht,只不過(guò)內(nèi)部的結(jié)構(gòu)加入了輸入門(mén)、遺忘門(mén)以及輸出門(mén)三個(gè)門(mén)和一個(gè)內(nèi)部記憶單元ct[17]。輸入門(mén)確定何時(shí)將當(dāng)前計(jì)算的新?tīng)顟B(tài)更新到記憶單元中;遺忘門(mén)確定何時(shí)將前一步記憶單元中的信息遺忘掉;輸出門(mén)確定何時(shí)將當(dāng)前的記憶單元輸出。
文本經(jīng)過(guò)預(yù)處理后一般含有數(shù)以萬(wàn)計(jì)個(gè)不同的詞組,這些詞組所構(gòu)成的向量規(guī)模同樣也很龐大,計(jì)算機(jī)運(yùn)算成本就比較高,因此進(jìn)行特征選擇,對(duì)文本分類(lèi)具有重要的意義。該文采用改進(jìn)的混合特征選擇方法,從全局特征中提取最具區(qū)分度和較多文檔中出現(xiàn)的特征[18]。由于相似特征對(duì)分類(lèi)價(jià)值不大,該文采用基于特征向量的絕對(duì)余弦(AC)相似度,去除部分相似的冗余特征。然后采用基于詞頻(term frequency,TF)的平均絕對(duì)差值(MAD)與基于詞文檔頻率(document frequency,DF)的平均絕對(duì)差值(MAD)相結(jié)合的方法選擇特征。
絕對(duì)余弦(AC)基于相似性得分去除冗余特征,將兩個(gè)詞經(jīng)過(guò)預(yù)訓(xùn)練好的fastText模型轉(zhuǎn)成詞向量,計(jì)算余弦相似度,如果相似度得分過(guò)高,則刪除其中之一。特征的絕對(duì)余弦相似度可以通過(guò)式(1)計(jì)算,其中wi和wt是詞,v(wi)與v(wt)是對(duì)應(yīng)的詞向量。
(1)

(2)
(3)

(4)
(5)
為了得到對(duì)文本分類(lèi)重要的特征,該文提出了一個(gè)混合特征選擇方法HFS,獲取最具區(qū)分度和較多文檔中出現(xiàn)的特征。算法1給出了HFS算法的描述。
算法1:混合特征選擇HFS。
輸入:經(jīng)過(guò)數(shù)據(jù)預(yù)處理后的文本特征集T={t1,t2,…,tf}。
輸出:特征子集featuresHFS。
(1)在文本特征集T中,用絕對(duì)余弦AC進(jìn)行特征選擇去除冗余特征獲取特征子集FS1。
(2)在FS1中,用基于詞頻的平均絕對(duì)差值MAD進(jìn)行特征選擇獲得MAD值較大的特征子集FS2。
(3)在FS1中,用基于詞文檔頻率的平均絕對(duì)差值MAD進(jìn)行特征選擇獲得MAD值較大的特征子集FS3。
(4)選取FS2∪FS3特征子集作為featuresHFS。
通過(guò)混合特征選擇方法HFS獲取的特征子集featuresHFS并未考慮低頻且對(duì)分類(lèi)有重要價(jià)值的特征,由于這類(lèi)特征出現(xiàn)的頻率低,在分類(lèi)訓(xùn)練算法中的作用常被忽略。為了解決這一問(wèn)題,該文使用特征增強(qiáng)方法對(duì)這類(lèi)特征在語(yǔ)義上進(jìn)行增強(qiáng)。算法2給出了EHFS算法的描述。
算法2:特征增強(qiáng)方法EHFS。
輸入:經(jīng)過(guò)數(shù)據(jù)預(yù)處理后的文本特征集T={t1,t2,…,tf}。
特征子集featuresHFS。
輸出:特征子集featuresenhanced。
(1)在混合特征選擇方法HFS的基礎(chǔ)上,選擇MAD值較高但是詞頻較低的部分特征。
(2)使用預(yù)訓(xùn)練好的fastText模型計(jì)算每個(gè)特征f與未標(biāo)記數(shù)據(jù)集的其他所有特征之間的余弦相似度得分。
(3)選擇每個(gè)特征語(yǔ)義上最相似的前k個(gè)特征,如果這k個(gè)特征在T中,且不在特征子集featuresHFS中,則將其添加到最終的特征集featuresenhanced中。
為了評(píng)估針對(duì)文本分類(lèi)提出的增強(qiáng)混合特征選擇方法EHFS的性能,該文將分類(lèi)算法LSTM應(yīng)用于使用該算法生成的最終文本向量上得到分類(lèi)模型,然后驗(yàn)證模型的正確性。圖2描述了文本分類(lèi)流程。

圖2 基于語(yǔ)義分析的文本分類(lèi)流程
為了更好地驗(yàn)證增強(qiáng)的混合特征選擇EHFS算法對(duì)文本分類(lèi)的作用,構(gòu)建了一個(gè)實(shí)驗(yàn)。該實(shí)驗(yàn)首先抓取不同類(lèi)型的文本數(shù)據(jù),構(gòu)建文本數(shù)據(jù)集,然后進(jìn)行數(shù)據(jù)預(yù)處理并采用增強(qiáng)混合特征選擇方法進(jìn)行特征選取,最后采用LSTM模型對(duì)文本分類(lèi),并基于分類(lèi)結(jié)果驗(yàn)證該方法的性能與效率。
使用python抓取工具scrapy收集了來(lái)自新浪、今日頭條、騰訊、百度、人民網(wǎng)五個(gè)熱門(mén)站點(diǎn)共71 825個(gè)文本數(shù)據(jù),數(shù)據(jù)收集自過(guò)去3年到2019年12月之間。類(lèi)別和文本數(shù)量如下:文化(6 024),經(jīng)濟(jì)(13 167),科技(7 580),法律(4 122),教育(9 809),軍事(2 675),旅游(8 352),娛樂(lè)(1 954),歷史(5 124),體育(13 018)。由于來(lái)自所有網(wǎng)站的合并數(shù)據(jù)集并未將數(shù)據(jù)公平地分布在所有類(lèi)別中,因此該研究?jī)H限于十個(gè)類(lèi)別。
4.2.1 文本詞頻
該文用python編寫(xiě)了對(duì)各類(lèi)別中每個(gè)文本處理程序,提取詞干,統(tǒng)計(jì)每個(gè)類(lèi)別對(duì)應(yīng)的詞干和詞頻,然后在數(shù)據(jù)庫(kù)中構(gòu)建文本詞頻表,表的字段有文本文檔、詞干、詞頻,以法律文本law0.txt為例,law0.txt、訴訟、13。
4.2.2 文本的詞文檔頻率
根據(jù)文本詞頻的統(tǒng)計(jì),統(tǒng)計(jì)每個(gè)詞的詞文檔頻率DF。以每個(gè)類(lèi)別的文本特征為例,針對(duì)每個(gè)詞干計(jì)算被多少個(gè)文本所覆蓋,將結(jié)果插入到詞文檔頻率表中,表的字段有詞干、詞文檔頻率,以法律詞干“訴訟”為例,訴訟、217。
在獲取每個(gè)類(lèi)別每個(gè)文本的特征后(包括詞干與詞頻),通過(guò)merge_stem函數(shù)可以將每個(gè)類(lèi)別的文本進(jìn)行詞干合并,最后得到該類(lèi)別所有詞干集合all_features。以法律為例,將law0.txt、law1.txt…law4122.txt的特征合并到law.txt文本中。
4.3.1 詞干去冗余
根據(jù)類(lèi)別得到合并后的文本,然后計(jì)算任意兩個(gè)詞之間的的絕對(duì)余弦AC值,這里詞的特征向量通過(guò)fastText計(jì)算。如果特征相似度得分超過(guò)設(shè)置的0.8,就認(rèn)為這兩個(gè)特征是冗余關(guān)系,可去掉其中DF值低的詞。本文通過(guò)調(diào)用removed_redundancy(all_features)程序獲得去冗余后的數(shù)據(jù)集FS1。
4.3.2 提取重要特征FS2
本實(shí)驗(yàn)提供mad_tf程序,該程序基于每個(gè)類(lèi)別特征子集FS1中各類(lèi)別詞頻的平均絕對(duì)差值獲取每個(gè)類(lèi)別的特征子集FS2。該程序的處理方法是:(1)計(jì)算FS1中所有詞的詞頻均值(合并文本時(shí),將相同的詞干,所對(duì)應(yīng)的詞頻相加);(2)根據(jù)每個(gè)詞干Ti的詞頻,計(jì)算MADtfi;(3)將詞干的MADtf由大到小排序,取前60%的詞干加入到特征子集FS2中,獲得的特征子集FS2的信息(文本文檔、詞干、詞頻、詞頻的平均絕對(duì)差值MADtf)放在數(shù)據(jù)庫(kù)的表1中。

表1 詞頻的平均絕對(duì)差值
4.3.3 提取重要特征FS3
本實(shí)驗(yàn)提供mad_df程序,該程序基于每個(gè)類(lèi)別特征子集FS1中各類(lèi)別詞文檔頻率DF的平均絕對(duì)差值獲取每個(gè)類(lèi)別的特征子集FS3。該程序的處理方法是:(1)計(jì)算所有詞文檔頻率的均值;(2)根據(jù)每個(gè)詞干Ti的詞文檔頻率,計(jì)算MADdfi;(3)將詞干的MADdf由大到小排序,取前60%的詞干加入到特征子集FS3中,獲得的特征子集FS3的信息(詞干、詞文檔頻率、詞文檔頻率的平均絕對(duì)差值MADdf)放在數(shù)據(jù)庫(kù)的表2中。

表2 詞文檔頻率的平均絕對(duì)差值
4.3.4 獲取增強(qiáng)特征子集featuresenhanced
根據(jù)算法2,該文提供了enhanced_features程序?qū)Φ皖l特征在語(yǔ)義上進(jìn)行增強(qiáng),來(lái)獲取每個(gè)類(lèi)別增強(qiáng)后的特征子集featuresenhanced。
獲得每個(gè)類(lèi)別的特征子集后,使用TensorFlow庫(kù)中的LSTM的實(shí)現(xiàn)類(lèi)BasicLSTMCell用于構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型。LSTM的建模工作是:(1)拆分?jǐn)?shù)據(jù)集為80%訓(xùn)練集和20%驗(yàn)證集;(2)定義一個(gè)LSTM的序列模型,模型的第一層是嵌入層(Embedding),它將上面獲得的每個(gè)類(lèi)別的特征子集features經(jīng)過(guò)fastText模型構(gòu)建的詞向量而形成的矢量矩陣作為模型的輸入;(3)輸出層則為包含10個(gè)分類(lèi)的全連接層。因?yàn)槭嵌喾诸?lèi)問(wèn)題,所以激活函數(shù)設(shè)置為“softmax”,損失函數(shù)為分類(lèi)交叉熵。
基于上面的實(shí)驗(yàn)過(guò)程,構(gòu)建了兩個(gè)實(shí)驗(yàn)。實(shí)驗(yàn)1采用混合特征選擇HFS選擇的特征訓(xùn)練分類(lèi)模型,實(shí)驗(yàn)2采用增強(qiáng)混合特征選擇方法EHFS,在混合特征選擇后對(duì)低頻特征做語(yǔ)義上的增強(qiáng),然后用增強(qiáng)后的特征訓(xùn)練分類(lèi)模型。針對(duì)兩個(gè)實(shí)驗(yàn),從精確率(Precision)、召回率(Recall)、F值(F1-score)[19-21]的得分來(lái)評(píng)判分類(lèi)的效果。
實(shí)驗(yàn)1:混合特征選擇HFS和LSTM模型的評(píng)估。
表3描述了混合特征選擇HFS進(jìn)行特征選擇獲取特征子集,然后將其作為L(zhǎng)STM模型的輸入數(shù)據(jù),進(jìn)行文本分類(lèi),分類(lèi)的實(shí)驗(yàn)結(jié)果中,軍事文本的分類(lèi)精度為96%,經(jīng)濟(jì)文本的分類(lèi)精度為68%。

表3 使用HFS和LSTM的分類(lèi)結(jié)果
表4使用經(jīng)典的算法TF-IDF來(lái)做一組對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)表明HFS方法的分類(lèi)效果優(yōu)于TF-IDF算法。

表4 HFS和經(jīng)典算法TF-IDF的平均實(shí)驗(yàn)結(jié)果對(duì)比
實(shí)驗(yàn)2:增強(qiáng)混合特征選擇方法EHFS和與HFS對(duì)比。
首先使用該文提出的基于語(yǔ)義的增強(qiáng)混合特征選擇方法EHFS獲取特征子集,然后將其作為L(zhǎng)STM模型的輸入數(shù)據(jù),進(jìn)行文本分類(lèi),得到的分類(lèi)結(jié)果見(jiàn)表5。

表5 使用EHFS和LSTM的分類(lèi)結(jié)果

續(xù)表5
從實(shí)驗(yàn)結(jié)果可以得知,考慮了語(yǔ)義的特征選擇實(shí)驗(yàn)2的分類(lèi)效果較實(shí)驗(yàn)1有很大改善。并且實(shí)驗(yàn)2在準(zhǔn)確度上也比實(shí)驗(yàn)1更高一些。實(shí)驗(yàn)的分類(lèi)準(zhǔn)確性如圖3所示。

圖3 實(shí)驗(yàn)1和實(shí)驗(yàn)2的分類(lèi)準(zhǔn)確性與epoch的關(guān)系圖
在混合特征選擇上,提出一種新的增強(qiáng)混合特征選擇方法EHFS。該方法先使用改進(jìn)的混合特征選擇,再使用特征相似分析對(duì)低頻且對(duì)分類(lèi)有重要價(jià)值的特征進(jìn)行語(yǔ)義上的增強(qiáng)。然后將得到的特征向量矩陣作為L(zhǎng)STM模型的輸入進(jìn)行模型的訓(xùn)練。數(shù)據(jù)集來(lái)自五個(gè)熱門(mén)網(wǎng)站的數(shù)據(jù),并將其效果與指標(biāo)進(jìn)行了比較。實(shí)驗(yàn)結(jié)果表明,提出的增強(qiáng)混合特征選擇方法EHFS比不考慮語(yǔ)義只進(jìn)行混合特征選擇HFS,分類(lèi)效果有很好的改善。文本數(shù)據(jù)集被分為十個(gè)不同的類(lèi)別,其中體育的準(zhǔn)確度最高為96%,法律類(lèi)的準(zhǔn)確度為82%。實(shí)驗(yàn)基于相對(duì)較小的數(shù)據(jù)集,還可以獲取更多文本數(shù)據(jù)集來(lái)進(jìn)行改進(jìn)。另外,該文只是基于10類(lèi)文本進(jìn)行分類(lèi),還需要增加數(shù)據(jù)類(lèi)別驗(yàn)證文本分類(lèi)方法的實(shí)用性。