曾凡鋒,李玉珂,肖 珂
(北方工業(yè)大學(xué) 信息學(xué)院,北京 100144)
隨著信息時代的到來,人們的信息來源日益廣泛,信息獲取速度越來越快,信息的有效時間也越來越短。新聞閱讀一向是人們獲取信息的重要手段,對人們的生活有著不可替代的意義。然而在信息獲取越來越便利的同時,信息的種類的也日益繁雜,質(zhì)量層次不齊,對于所需信息的準(zhǔn)確定位與獲取也相對變得越來越困難。由于互聯(lián)網(wǎng)新聞數(shù)量巨大,主題多樣,數(shù)據(jù)稀疏,傳統(tǒng)的中文文章分類方法在面對海量的網(wǎng)絡(luò)互聯(lián)網(wǎng)信息時顯得尤為不足。因此,如何對互聯(lián)網(wǎng)上海量的新聞信息進(jìn)行快速準(zhǔn)確的分類一直是一個十分關(guān)鍵的問題。
文本分類本質(zhì)上都是以數(shù)據(jù)特征提和最優(yōu)特征匹配為核心,一般包括數(shù)據(jù)預(yù)處理、文本表示、特征選擇、構(gòu)造并訓(xùn)練分類器、類別預(yù)測這5步。因為中文不能像英文一樣按照空格進(jìn)行分詞,所以在預(yù)處理階段需要使用專門的中文分詞算法對文本進(jìn)行分詞處理,并且需要根據(jù)停用詞表來剔除分詞結(jié)果中的停用詞。在文本表示方面,詞袋模型(bag-of-words)[1]是在文本分類中被廣泛應(yīng)用的表示方法,這種方法不考慮文法和詞的順序,只包含最基礎(chǔ)的詞頻信息。對于特征選擇,比較常用的方法有卡方統(tǒng)計量、信息增益、互信息量、TF-IDF等。構(gòu)造分類器時,常用的傳統(tǒng)機(jī)器學(xué)習(xí)分類方法有支持向量機(jī)(SVM)[2]、樸素貝葉斯分類法(NBC)[3]、K-最近鄰法(KNN)[4]、決策樹法(DT)等。上述方法都是以詞袋模型為基礎(chǔ)的傳統(tǒng)的機(jī)器學(xué)習(xí)方法,有很多難以根除的固有弊端。本文將使用word2vec技術(shù)生成的詞向量來代替?zhèn)鹘y(tǒng)的詞袋模型并借助信息提取技術(shù)和卷積神經(jīng)網(wǎng)絡(luò)來進(jìn)行互聯(lián)網(wǎng)新聞分類,以期獲得更優(yōu)越的性能。
深度學(xué)習(xí)技術(shù)在圖像領(lǐng)域的應(yīng)用已經(jīng)比較普遍,隨著該技術(shù)的進(jìn)一步發(fā)展,其在自然語言處理的領(lǐng)域中也已經(jīng)取得很多優(yōu)秀的成果。
Collobert等[5]提出可以使用目標(biāo)詞的周圍的詞作為神經(jīng)網(wǎng)絡(luò)的輸入,目標(biāo)詞作為輸出期望,按照這個原則訓(xùn)練神經(jīng)網(wǎng)絡(luò)就可以獲得詞向量。首先將詞匯表中的詞進(jìn)行隨機(jī)初始化,然后通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)來不斷的優(yōu)化詞向量,最終使相似的詞的向量表示在向量空間中都處于較近的位置。Mikolov等[6,7]提出了連續(xù)詞袋模型(CBOW)和Skip-gram模型,這是兩種十分簡潔的模型。連續(xù)詞袋模型的輸入是目標(biāo)詞周圍的詞,隱層通過這些詞來預(yù)測目標(biāo)單詞,輸出是目標(biāo)詞的詞向量。Skip-gram模型的結(jié)構(gòu)和連續(xù)詞袋模型互為鏡像,其原理是通過中間詞來預(yù)測周圍的詞。Kim[8]基于語義分析和話題分類任務(wù)對卷積神經(jīng)網(wǎng)絡(luò)在不同數(shù)據(jù)集上進(jìn)行了實驗評估,他使用的是一個結(jié)構(gòu)簡單的卷積神經(jīng)網(wǎng)絡(luò),輸入層是代表文本的矩陣,每行代表一個詞,列數(shù)等于詞向量的維度。Zhang等[9]通過多次實驗對CNN模型在不同參數(shù)下的性能進(jìn)行了對比。
在進(jìn)行語句級的文本分類時,每個語句的長度并不一致,為了保證輸入格式的一致,必須進(jìn)行相應(yīng)的處理。Baotian Hu等[10]在研究卷積神經(jīng)網(wǎng)絡(luò)對英文短句建模的過程中,提出通過設(shè)置最大長度,對較短的句子采用0填充的方式來解決這個問題。
對于互聯(lián)網(wǎng)新聞數(shù)據(jù)來說,其數(shù)量巨大,文本間篇幅差異也較大,直接使用原始數(shù)據(jù)來進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練時間成本高昂,占用計算資源較多,由于原始文本中也含有較多無關(guān)主題的部分和噪音等,最終結(jié)果也差強(qiáng)人意。信息提取是自然語言處理的另一大研究領(lǐng)域,目的是從數(shù)據(jù)中提取到最關(guān)鍵的信息,具體來說就是提取出文本中可以代表文本中心思想的部分。通過信息提取來獲得最能代表文本主題的文本摘要,就能很好解決上述問題。傳統(tǒng)的詞袋模型下的數(shù)據(jù)相較于原始數(shù)據(jù)有較大的信息損失,會使得后續(xù)的文本處理工作變得十分困難。word2vec訓(xùn)練得到的中文詞向量能夠捕捉到詞之間的語義相關(guān)性,從而克服了詞袋模型在這方面的缺點(diǎn),對數(shù)據(jù)有更好的保真度。本文結(jié)合信息提取技術(shù),Wordvec技術(shù)和卷積神經(jīng)網(wǎng)絡(luò)提出了一種準(zhǔn)確高效的互聯(lián)網(wǎng)新聞分類技術(shù),并取得了良好的實驗結(jié)果。
本節(jié)我們提出了一個用于中文新聞分類的方案。首先需要從新聞中提取文本摘要。然后使用外部語料庫訓(xùn)練詞向量模型,基于詞向量將從新聞中提取的文本摘要轉(zhuǎn)換成向量化的表示,再將語句的向量化的表示拼接成整個文本的向量化的表示。最后,對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使用訓(xùn)練好的網(wǎng)絡(luò)模型進(jìn)行新聞的類別預(yù)測。
針對于新聞文本相對于網(wǎng)絡(luò)評論等形式的數(shù)據(jù)普遍偏長,文本間長短的差異也較大,所以在使用前必須對文本進(jìn)行相應(yīng)的處理。通過語句比通過詞語更能準(zhǔn)確把握文本語義,所以我們通過提取文本的文本摘要來解決這個問題。王俊麗等[11]提出了一種基于圖排序的摘要提取算法,但是此方法較為費(fèi)時,TF-IDF算法相對耗時較少,但是對于文本分類來說,傳統(tǒng)TF-IDF算法會丟失一些關(guān)鍵的分類依據(jù),所以最終我們使用改進(jìn)的TF-IDF算法來解決這個問題。之后選取評分最高的前N個句子作為文本的文本摘要,這樣一方面降低了數(shù)據(jù)維度,另一方面也消除了一些噪音。
2.1.1 改進(jìn)TF-IDF算法
TF-IDF將文本集作為整體來考慮,其IDF部分并沒有考慮特征項的類間分布信息[12]。如果詞條ti在某一類Ci有很高的出現(xiàn)頻率,進(jìn)而導(dǎo)致詞條ti在較多的文本中都有出現(xiàn),雖然詞條ti在其它類中出現(xiàn)較少,但根據(jù)IDF算法算出的權(quán)值會偏小,詞條ti就會被誤認(rèn)為是對類別區(qū)分能力不強(qiáng)的詞條,顯然這不符合實際情況,僅僅在某一類或某幾類中頻繁出現(xiàn)的詞恰恰是最具有這一類或幾類的標(biāo)志性詞語,對文本分類有較高的信息價值,所以應(yīng)該賦予較高的權(quán)重。相應(yīng)的,如果詞條ti僅僅出現(xiàn)在少量的文本中,但是在各個類中出現(xiàn)頻率比較均勻,這種其實并不重要的詞就會被IDF算法賦予過高的權(quán)值,所以也不符合實際情況。一般來說,當(dāng)一個詞語在不同主題新聞下的分布情況差異較大,則說明這個詞語對某類或某幾類新聞有較強(qiáng)的代表性,可以作為分類的關(guān)鍵依據(jù)。上述缺陷就是因為傳統(tǒng)TF-IDF算法在沒有考慮詞的類間分布信息,在進(jìn)行文本分類時,顯然會因此損失一部分精度。所以我們通過添加一個類間的離散度系數(shù)Dac來衡量詞的類間分布信息,詳見后續(xù)說明。
2.1.2 文本摘要的評價與選擇
對于文本摘要提取的任務(wù),目標(biāo)是提取文本中最為重要的語句集合。
首先通過改進(jìn)的TF-IDF算法計算詞項的權(quán)值。
假設(shè)D為文本集合。對于文本Dj中任意單詞ti,詞頻表示為
(1)
其中,nij表示單詞ti在文本Dj中的出現(xiàn)次數(shù),m表示字典長度。
逆文檔頻率表示為
(2)
詞的類間離散度表示為
(3)
式(1)、式(2)、式(3)的乘積即為對應(yīng)詞項的TF-IDF-DAC值。
在獲取所有詞項的權(quán)值之后,用語句中詞項權(quán)值的累加來代表語句的重要程度。此外,考慮到語句長短不一的情況,需要再對結(jié)果進(jìn)行相應(yīng)處理以防選擇出的結(jié)果偏向于長語句。對于給定的語句S,可以用S中包含的詞項來表示: S=(W1,W2…Wn), S的重要性定義如下
(4)
最后,為了獲得文本摘要,對文本的所有語句進(jìn)行排名。選取評分前K個語句作為當(dāng)前文本的摘要。
詞的向量化是指將語言中的詞轉(zhuǎn)化成便于計算機(jī)處理的數(shù)字化表示。Bengio提出的NNLM與Hinton等提出Log-Linear模型[13]都是使用神經(jīng)網(wǎng)絡(luò)來獲取詞向量的杰出代表。廣為人知的Word2vec模型就是借鑒于這兩者,是一種更為簡潔高效的詞向量模型。Word2vec技術(shù)是深度學(xué)習(xí)技術(shù)在自言語言處理應(yīng)用上個一個關(guān)鍵突破。
2.2.1 word2vec模型
word2vec模型本質(zhì)上是一種簡單的神經(jīng)網(wǎng)絡(luò)。當(dāng)網(wǎng)絡(luò)訓(xùn)練完成后,輸入層和隱藏層之間的權(quán)重矩陣,就是我們所需的詞向量映射表。一般分為CBOW與Skip-Gram兩種模型。以往的研究表明,CBOW在小規(guī)模語料庫中表現(xiàn)較好,而Skip-Gram更適用于較大的語料庫。本實驗在進(jìn)行詞向量訓(xùn)練時使用的是Skip-Gram模型。
2.2.2 數(shù)據(jù)向量化
在從文本中提取文本摘要之后,根據(jù)單詞向量模型將語句轉(zhuǎn)換為向量。中文維基百科語料庫和word2vec工具用于訓(xùn)練模型。對于語句S=(W1,W2…Wn), 對于其中任意一個詞項Wi=(v1,v2…vd), 其中d代表詞的維度。語句S的向量化表示為S=(W1⊕W2⊕…⊕Wn), 其中⊕是連接運(yùn)算符。因此,語句S被轉(zhuǎn)換為一串由詞向量順序排列而成的向量。同樣,對于每個文本A=(S1⊕S2⊕…⊕SK), 其中K表示語句S的重要程度排序,也就是說Si為文本第i重要的語句。將文本轉(zhuǎn)化為向量形式后,就可以用向量化的數(shù)據(jù)來進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
卷積神經(jīng)網(wǎng)絡(luò)是由卷積層,池化層和全連接層組成。卷積層通過卷積計算來提取數(shù)據(jù)的特征。池化層則從卷積層提供的特征中選取最優(yōu)特征[14],之后輸出給全連接層進(jìn)行處理。圖1是本研究所采用的卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。
圖1 卷積神經(jīng)網(wǎng)絡(luò)模型
(1)輸入層:輸入層的輸入是一個代表文本的矩陣,d代表詞向量的維度,n代表每個數(shù)據(jù)所包含的詞向量的數(shù)量。
(2)卷積層:卷積層涉及卷積核w∈Rhk, h表示卷積窗口大小,k為卷積維度,等于詞向量的維度。一般來說, Wi∶i+h表示單詞Wi,Wi+1…Wi+h。 所以生成一個文本特征的表達(dá)式為C=f(w·Wi∶i+h+b), 其中b為偏置,f為非線性函數(shù)。將此卷積核應(yīng)用于(W1∶h,W2∶h+1…WN-h+1∶N)生成一個特征映射c=(c1,c2…cN-h+1)。
(4)全連接層:將池化層輸出的多個特征向量進(jìn)行拼接并輸入到全連接層的輸入。
(5)輸出層:使用softmax層進(jìn)行輸出,輸出結(jié)果是所有類別的概率分布。
本實驗使用的數(shù)據(jù)來源于搜狗數(shù)據(jù)庫的新浪新聞?wù)Z料,從中選取部分了新聞數(shù)據(jù),涵蓋經(jīng)濟(jì),健康,教育,軍事,體育,旅游6個種類。在數(shù)據(jù)預(yù)處理方面,利用jieba分詞工具對數(shù)據(jù)集進(jìn)行分詞并去除停用詞。之后通過改進(jìn)TF-IDF算法進(jìn)行文本摘要提取,當(dāng)文本和語句出現(xiàn)過長或過短的情況時根據(jù)定長進(jìn)行截斷或用空白數(shù)據(jù)填充。詞向量采用word2vec中的skip-gram模型,使用維基百科中文語料庫訓(xùn)練。
設(shè)計實驗來驗證本文提出的基于卷積神經(jīng)網(wǎng)絡(luò)的語句級新聞分類方案的有效性。為了評價分類方案的效果,將精確率,召回率,F(xiàn)1值作為衡量實驗結(jié)果的指標(biāo)。為了體現(xiàn)方案的優(yōu)越性,在驗證本方案同時,設(shè)置一組以SVM模型進(jìn)行文本分類的實驗作為對照組。另外,為了說明在本方案的信息提取階段使用改進(jìn)TF-IDF算法的優(yōu)勢,在同樣的數(shù)據(jù)集上設(shè)置一組使用TF-IDF算法的對比實驗。
表1是本文提出方案和KNN,SVM兩種傳統(tǒng)分類模型的精確率(Precision),召回率(Recall),F(xiàn)1值的比較結(jié)果。
表1 各類分類方法性能對比
表2是在文本摘要提取時分別選取TF_IDF算法和TF_IDF_DAC算法的卷積神經(jīng)網(wǎng)絡(luò)分類模型在精確率(Precision),召回率(Recall),F(xiàn)1值上的比較結(jié)果。
表2 不同摘要提取策略對于分類結(jié)果的影響
通過表1可以看出,基于卷積神經(jīng)網(wǎng)絡(luò)的新聞分類算法和傳統(tǒng)的SVM和KNN相比,前者不僅準(zhǔn)確率更高,并且更加穩(wěn)定。這是因為一方面卷積神經(jīng)網(wǎng)絡(luò)模型可以通過增加卷積核來提取到更豐富的分類特征,另一方面還可以通過增加卷積層數(shù)來提取相更高層次的分類特征。簡單來說就是卷積神經(jīng)網(wǎng)絡(luò)可以在橫向上提取更為豐富的特征,縱向上提取更多層次的特征,這是傳統(tǒng)機(jī)器學(xué)習(xí)模型無法比擬的。通過表2可以看出,相較于原始的TF-IDF算法和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的方案,改進(jìn)的TF-IDF算法和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的方案的準(zhǔn)確率在整體上更高,并且不同類別的準(zhǔn)確率更加平衡,原始方案中準(zhǔn)確率較高的在新方案中只有些許降低,原始方案中準(zhǔn)確率較低的在新方案中有較大提升。所以通過改進(jìn)TF-IDF算法來捕捉不同詞在類間的分布差異可以進(jìn)一步提升卷積神經(jīng)網(wǎng)絡(luò)在文本分類問題上的準(zhǔn)確率和穩(wěn)定性。
本文在經(jīng)典的TextCNN 分類模型的基礎(chǔ)上,結(jié)合了信息提取技術(shù)來提取新聞?wù)@樣對較長篇幅的文本也非常適用,同時還減輕了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練負(fù)擔(dān),并且通過適當(dāng)改進(jìn)TF-IDF算法來進(jìn)一步提升方案的整體性能。實驗結(jié)果表明,基于卷積神經(jīng)網(wǎng)絡(luò)的新聞分類算法在多個指標(biāo)上都優(yōu)于傳統(tǒng)算法,并且改進(jìn)的TF-IDF算法比原始TF-IDF算法更適合中文新聞分類,一方面整體準(zhǔn)確率有一定的提升,另一方面在各個類別上的準(zhǔn)確率也更加平衡。