劉高軍,王小賓
(北方工業(yè)大學(xué) 信息學(xué)院,北京 100144)
近年來,許多公司宣傳自己的產(chǎn)品使用了一種新型營銷方式-營銷新聞,營銷媒介經(jīng)過多年的演化之后形成了營銷新聞。營銷新聞同新聞一樣從多方面多角度給用戶灌輸產(chǎn)品信息、產(chǎn)品理念等,通過傳播產(chǎn)品資訊信息來引導(dǎo)消費者購買。但是隨著信息技術(shù)和互聯(lián)網(wǎng)的迅猛發(fā)展,千人千面的信息推薦方式給億萬網(wǎng)民的閱讀帶來了便利,但同時營銷、低俗、標題黨等低質(zhì)量新聞的摻雜也給用戶帶來了不同程度上的困擾。為了給用戶更好的閱讀體驗,需要識別出有營銷意圖的新聞,因此文本挖掘技術(shù)的研究變得越來越重要。文本分類作為高效的挖掘技術(shù)和信息檢索,對文本數(shù)據(jù)的管理有著重要的作用,目前已經(jīng)廣泛應(yīng)用于垃圾郵件檢測[1]、輿情分析[2]和新聞分類[3]推薦等場景。文本分類使用傳統(tǒng)機器學(xué)習(xí),自然語言處理和深度學(xué)習(xí)技術(shù)來有效地分類和發(fā)現(xiàn)不同類型的文本。如何從這些龐大的文本中提取有價值的信息并自動檢索,分類和匯總,是文本挖掘的重要目標,因此利用文本分類技術(shù)對營銷新聞進行分類識別近年來成為一個值得研究的課題。
文本分類是數(shù)據(jù)挖掘的重要組成部分,它對大量文本的分類和挖掘具有重要的理論和應(yīng)用價值,它的主要任務(wù)是將給定的文本集劃分為幾種已知的類型集合,例如將新聞文本分為帶有營銷意圖的垃圾新聞和普通的新聞,又比如分辨一個文本是人類作者還是機器自動生成的等等。目前文本分類任務(wù)已經(jīng)應(yīng)用到了許多領(lǐng)域,如主題分類、垃圾郵件檢測、情感分析等。要解決這些問題,研究者需要對數(shù)據(jù)進行獲取分析、挖掘、歸類,幫助人們提高信息檢索的效率。該文的主要工作是融合CNN和引入注意力機制的LSTM模型解決營銷新聞文本識別分類的問題。
文本分類技術(shù)是自然語言處理領(lǐng)域中的重要應(yīng)用,它將文本分類為預(yù)定義的類別,在當今的網(wǎng)絡(luò)時代,文本數(shù)據(jù)已成為最常見的數(shù)據(jù)形式之一,例如:用戶評論[4]、新聞、電子郵件等。文本分類的基本過程通常包括:文本預(yù)處理[5],特征提取[6],文本表示[7]和分類器訓(xùn)練[8]。傳統(tǒng)的特征表示方法通常會忽略上下文。對于捕獲單詞的語義,文本中信息的順序仍然不能令人滿意。同時,特征提取的方法存在數(shù)據(jù)稀疏、維度爆炸等問題,降低了訓(xùn)練模型的泛化能力。
深度學(xué)習(xí)在圖像處理和語音識別等研究領(lǐng)域取得了令人矚目的成就,在自然語言處理中也發(fā)展迅猛。深度學(xué)習(xí)技術(shù)已逐漸取代傳統(tǒng)的機器學(xué)習(xí)方法,并已成為文本分類中的主流技術(shù)。深度學(xué)習(xí)可以更準確地表達對象,并且可以從海量數(shù)據(jù)中自動獲取對象的特征?;诖祟惞δ軐傩缘纳疃葘W(xué)習(xí)模型包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)[9]和遞歸神經(jīng)網(wǎng)絡(luò)[10]。
如何對這些海量文本數(shù)據(jù)進行有效的分類受到了極大的關(guān)注。2013年崔建明等人提出基于支持向量機的文本分類[11],使用支持向量機(SVM)算法優(yōu)化文本分類器的參數(shù),從而提高了文本分類器的分類精度。2017年武永亮等人提出基于TF-IDF和余弦相似度的文本分類方法[12],傳統(tǒng)的機器學(xué)習(xí)方法被用于分類。TF-IDF模型用于提取類別關(guān)鍵字,并通過這些類別關(guān)鍵字和需要分類的文本關(guān)鍵字進行余弦相似度計算。2011年姚全珠等人提出基于LDA的文本分類研究[13],提到基于隱式Dirichlet分布的LDA模型和SVM算法的文本分類,但是在大量的短文本中,有短文本長度和過多的噪聲,分類效果不好。2017年夏從零等人提出了基于事件卷積特征的新聞文本分類[14],通過卷積神經(jīng)網(wǎng)絡(luò)從新聞文本中提取特征文本,以對文本進行分類,但是,盡管這種方法可以很好地提取特征,但是通常會忽略上下文并且文本語義不夠準確。
基于以上考慮,該文擬結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(CNN)和引入注意力機制的長短時記憶網(wǎng)絡(luò)結(jié)構(gòu)(LSTMAttention)來解決營銷新聞文本分類的問題,提出一種新的新聞營銷文本分類的訓(xùn)練模型CNN-LSTMAttention,以提高新聞營銷文本分類的準確率。實驗是使用搜狐新聞給出的數(shù)據(jù)集進行訓(xùn)練和測試的,并使用單個基模型進行了比較。結(jié)果表明,與其他單個模型相比,該融合方法對營銷新聞分類具有一定的提升。
本節(jié)將描述神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)的組件(層),并且逐層介紹使用地神經(jīng)網(wǎng)絡(luò)中的神經(jīng)層。
之前Santos和Zadroznw,Chiu和Nichols的研究表明[15],CNN是一種有效的方法,可以從單詞的字符中提取形態(tài)信息,并將其編碼為神經(jīng)表示。圖1顯示了用于提取單詞的字符級表示的CNN。CNN與Chiu and Nichols中的CNN相似,不同之處在于該文使用了字符嵌入作為CNN的輸入,而沒有字符類型特征。在將字符嵌入輸入到CNN之前添加dropout layer。

圖1 用于提取單詞字符級表示的卷積神經(jīng)網(wǎng)絡(luò)
2.2.1 LSTM單元
Hochreiter和Schmidhuber[16]在1997年提出了LSTM的網(wǎng)絡(luò)結(jié)構(gòu),引入CEC單元解決了RNN的梯度爆炸和梯度消失的問題。LSTM由輸入層、隱藏層和輸出層構(gòu)成。LSTM區(qū)別于RNN的地方在于,它在算法中加入了一個判斷信息有用與否的“處理器”——cell,一個cell當中被放置了三扇門,分別叫做:輸入門it、遺忘門ft、輸出門ot,LSTM還有一個記憶單元ct,這些結(jié)合起來能夠提高LSTM處理長序列數(shù)據(jù)的能力。圖2給出了LSTM單元的基本構(gòu)圖。

圖2 LSTM單元示意圖
在時間t更新的時候,LSTM單元的公式為:
ft=σ(Wf·[ht-1,xt]+bf)
it=σ(Wi·[ht-1,xt]+bi)
ot=σ(Wo·[ht-1,xt]+bo)
mt=tanh(Wm·[ht-1,xt]+bm)
ct=ft*ct-1+it*mt
ht=ot*tanh(ct)
其中,it、ot和ft分別為輸入門、輸出門和遺忘門,W和b是模型的參數(shù),σ表示sigmoid函數(shù),輸出在0,1之間,tanh表示雙曲正切函數(shù),輸出在-1,1之間,mt是當前節(jié)點的輸入數(shù)據(jù),Ct-1是上一個LSTM節(jié)點的輸出信息。
2.2.2 注意力層
注意力機制(attention mechanism)源于對人類視覺的研究。因此注意力機制最早是應(yīng)用在圖像領(lǐng)域的。在自然語言處理領(lǐng)域,注意力機制最成功的應(yīng)用是機器翻譯。基于神經(jīng)網(wǎng)絡(luò)的機器翻譯模型也叫神經(jīng)機器翻譯(neural machine translation,NMT)。一般的神經(jīng)機器翻譯模型采用“編碼-解碼(encoder to decoder)”的方式進行序列到序列的轉(zhuǎn)換。通過注意力機制直接從源語言的信息中選擇相關(guān)的信息作為輔助,可以有效地解決編碼向量的容量瓶頸問題和長距離依賴問題,無需讓所有源語言信息都通過編碼向量進行傳遞,在解碼的每一步都可以直接訪問源語言的所有位置上的信息,同時源語言的信息可以直接傳遞到解碼過程中的每一步,縮短了信息傳遞的距離。因此在傳統(tǒng)機器學(xué)習(xí)模型中引入注意力機制會有效地提升模型的實用效果。該文對LSTM模型進行改進,將注意力機制引入LSTM模型當中。

圖3 引入注意力機制示意圖
圖3所示輸入層中的詞向量X1,X2,…,Xn,通過輸入到上層的LSTM單元層中,在隱藏層輸出的過程中,引入注意力機制,分配各個輸入的注意力概率的分布值A(chǔ)0,A1,…,An,之后加和求平均到V。
分配權(quán)重公式為:

最后,文本通過將引入注意力機制的LSTM加權(quán)求平均之后,輸出給softmax層,從而進行全連接操作,最后得到預(yù)測分類結(jié)果Y,從而構(gòu)建整個神經(jīng)網(wǎng)絡(luò)模型。圖4為神經(jīng)網(wǎng)絡(luò)主要架構(gòu)。

圖4 神經(jīng)網(wǎng)絡(luò)主要架構(gòu)
對于每個單詞,有字符嵌入作為輸入,由圖1中的CNN計算出字符級表示。然后將字符級表示向量與單詞嵌入向量連接起來,以輸入到LSTM層,在LSTM的隱藏層上引入不同權(quán)重的注意力機制分配,最后加權(quán)求平均,經(jīng)過softmax全連接得到分類結(jié)果。
softmax得到預(yù)測分類結(jié)果Y,公式為:
Y=softmax(Wvv+bv)
本次實驗是在Linux系統(tǒng)下進行的,使用GPU是Cuda -v 9.0,實驗編程語言為Python3.6,使用到的深度學(xué)習(xí)框架為PyTorch 0.4.0。實驗數(shù)據(jù)集的來源為搜狐新聞數(shù)據(jù),從中提取出用于訓(xùn)練詞向量的新聞文本語料,大約40 000條左右,根據(jù)有標注的訓(xùn)練集,分為0:無營銷新聞,1:部分營銷新聞,2:全營銷新聞,利用沒有經(jīng)過訓(xùn)練的測試集文本數(shù)據(jù)去評估模型的分類效果。
本次實驗使用三個評價指標來衡量模型的效果,包括準確率(precision)、召回率(recall)和F1值:
本次實驗針對新聞?wù)Z料數(shù)據(jù)集,使用CNN模型、LSTM模型、LSTMAttention模型和CNN+LSTMAttention融合模型對新聞進行分類。
CNN模型:輸入卷積神經(jīng)網(wǎng)絡(luò)的是經(jīng)過word2vec訓(xùn)練后的詞向量形成的矩陣,從而進行分類。
LSTM模型:輸入長短期記憶神經(jīng)網(wǎng)絡(luò)的是經(jīng)過word2vec訓(xùn)練后的詞向量形成的矩陣,從而進行分類。
LSTMAttention模型:經(jīng)過word2vec后得到的詞向量矩陣輸入到引入注意力機制的LSTM模型中。
CNN+LSTMAttention融合模型:使用word2vec訓(xùn)練后的詞向量矩陣作為輸入,CNN計算出字符級表示。然后將字符級表示向量與單詞嵌入向量連接起來,以輸入到LSTM層。
通過以上三個評價指標對本次實驗的分類結(jié)果進行衡量。為了說明本次實驗當中引入注意力機制的LSTM模型,再融入CNN模型中對分類結(jié)果的影響,使用對比實驗的方式將CNN+LSTMAttention融合模型與CNN模型,經(jīng)典的LSTM模型,LSTMAttention模型的分類結(jié)果進行對比。通過相同數(shù)據(jù)集上對比實驗結(jié)果說明本次融合實驗的優(yōu)勢,實驗結(jié)果如表1所示。

表1 不同分類模型的分類結(jié)果比較
從表1可以看出,在相同數(shù)據(jù)集的基礎(chǔ)上,CNN模型的分類效果略次于LSTM模型,而通過引入注意力機制的LSTMAttention模型要表現(xiàn)的比LSTM好,因為在特征提取的過程中,LSTMAttention模型會更多地關(guān)注句子中更加重要的詞語信息,進而減少那些不重要的信息帶來的干擾。該文提出的CNN+LSTMAttention將CNN和LSTMAttention相結(jié)合,能夠更好地完成分類任務(wù)。
此外,本次還設(shè)計了顯著性檢驗實驗,在搜狐新聞數(shù)據(jù)集上使用準確率、召回率、F1值進行評價,從而進一步驗證CNN+LSTMAttention模型與其他神經(jīng)網(wǎng)絡(luò)模型CNN、LSTM以及引入注意力機制的LSTMAttention模型的比較結(jié)果,如圖5~圖7所示。

圖5 模型的準確率評估對比

圖6 模型的召回率評估對比

圖7 模型的F1值評估對比
從圖5~圖7可以看出,在準確率、召回率和F1值的評估中,對于相同的搜狐新聞?wù)Z料數(shù)據(jù)庫,CNN+LSTMAttention模型在三個評估指標大多分布在其他三個模型之上,評估指標準確率基本在0.72左右,F(xiàn)1值也明顯高于其他三個模型。因此該文提出的CNN+LSTMAttention融合模型的分類效果要優(yōu)于CNN模型,LSTM模型和引入注意力機制的LSTM模型。
提出了一種融合CNN和LSTMAttention的營銷新聞分類,首先將大量的營銷新聞?wù)Z料使用word2vec來訓(xùn)練,然后再從這些訓(xùn)練的新聞文本信息中提取出新聞的文本特征表達-詞向量,與其他用于提取特征值的深度學(xué)習(xí)方法相比較,word2vec可以高效地對大流量本文數(shù)據(jù)進行分析,將文本word映射到數(shù)值空間,進行特征提取,再用提取好的新聞特征向量輸入到預(yù)先準備的分類模型中,最后使用softmax分離器構(gòu)建分類模型。根據(jù)實驗,可以看出提出的CNN+LSTMAttention模型對于營銷新聞的分類效果相對于CNN模型和引入注意力機制的LSTM模型都有了一定的提升,但是,實驗只用了中文新聞?wù)Z料,沒有使用英文新聞?wù)Z料。下一步的研究工作可以嘗試使用該模型對英文新聞?wù)Z料進行分類,而且可以嘗試不用Pytorch深度學(xué)習(xí)框架改用tensorflow深度學(xué)習(xí)框架進行自然語言處理。