張鵬 張?jiān)佘S
摘 要:文本分類是自然語言處理中的一項(xiàng)重要基礎(chǔ)任務(wù),指對文本集按照一定的分類體系或標(biāo)準(zhǔn)進(jìn)行自動分類標(biāo)記。目前網(wǎng)絡(luò)文化監(jiān)督力度不夠、不當(dāng)言論不受限制,導(dǎo)致垃圾評論影響用戶體驗(yàn)。因此提出一種基于注意力機(jī)制的CLSTM混合神經(jīng)網(wǎng)絡(luò)模型,該模型可以快速有效地區(qū)分正常評論與垃圾評論。將傳統(tǒng)機(jī)器學(xué)習(xí)SVM模型和深度學(xué)習(xí)LSTM模型進(jìn)行對比實(shí)驗(yàn),結(jié)果發(fā)現(xiàn),混合模型可在時(shí)間復(fù)雜度上選擇最短時(shí)間,同時(shí)引入相當(dāng)少的噪聲,最大化地提取上下文信息,大幅提高評論短文本分類效率。對比單模型分類結(jié)果,基于注意力機(jī)制的CLSTM混合神經(jīng)網(wǎng)絡(luò)模型在準(zhǔn)確率和召回率上均有提高。
關(guān)鍵詞:文本分類;深度學(xué)習(xí);注意力機(jī)制;CLSTM
DOI:10. 11907/rjdk. 191506 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP301文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2020)002-0084-04
英標(biāo):Classification of Commodity Reviews Based on Attention-CLSTM Model
英作:ZHANG Peng,ZHANG Zai-yue
英單:(School of Computer Science and Engineering, Jiangsu University of Science and Technology, Zhenjiang 212003, China)
Abstract: Text classification is an important basic task in natural language processing, which automatically classifies text sets according to certain classification systems or standards. Problems prevail because of current lack of supervision of the network culture and restriction of improper comments, which leads to the problem of spam comments affecting the user experience. In this paper, a CLSTM hybrid neural network model based on attention mechanism is used to classify commodity reviews, which can quickly and effectively distinguish normal comments from spam comments. At the same time, compared with the traditional machine learning SVM model and the deep learning LSTM model, it is found that the hybrid model can select the shortest time in time complexity, introduce relatively little noise, and maximize the extraction of context information in the comments. The effect of short text classification has been significantly improved. Compared with the single model classification results, the CLSTM used in this paper has improved both accuracy and recall rate.
Key Words: text classification; deep learning;attention mechanism; CLSTM
0 引言
隨著電商網(wǎng)站的興起,網(wǎng)上購物用戶數(shù)量急劇增長,購物網(wǎng)站及各種購物APP也針對用戶開放評論功能。這些評論一方面有助于為用戶提供更好的購物體驗(yàn),另一方面也有助于商家更好地搜集信息,但是由于網(wǎng)絡(luò)開放性及用戶言論自由,有些用戶給出垃圾評論,對其他用戶構(gòu)成誤導(dǎo),不僅不利于系統(tǒng)維護(hù)與完善,也造成了極大的信息資源浪費(fèi)。通過對商品進(jìn)行評論短文本分類,可有效區(qū)分垃圾評論與正常評論,從而凈化網(wǎng)絡(luò)、為消費(fèi)者提供可靠信息依據(jù)。
目前垃圾評論識別研究成為研究熱點(diǎn)。垃圾評論的形式不斷變化,每個(gè)時(shí)間段呈現(xiàn)的主要形式各不相同。該類評論內(nèi)容沒有明顯規(guī)律,而且評論中主題相關(guān)信息也較少,特征較為稀疏。
本文將垃圾評論分為3類:①和主題不相關(guān),主要表現(xiàn)為評論者出于情緒發(fā)泄而隨手發(fā)布的無意義文本,其中可能包含謾罵、色情、人身攻擊等信息內(nèi)容,與產(chǎn)品毫不相干,該類評論用戶體驗(yàn)極差,甚至使用戶產(chǎn)生厭惡情緒;②客觀性商品咨詢文本,僅將商品介紹的一些參數(shù)和性能指標(biāo)復(fù)制粘貼到評論中,不涉及對產(chǎn)品的評價(jià)內(nèi)容,用戶不能從中獲取任何有用價(jià)值;③通過圖片、鏈接等形式推銷產(chǎn)品及發(fā)布一些黃色或病毒網(wǎng)頁鏈接。垃圾評論特點(diǎn)包括:評論太短或過長、主觀意向較重、口語化用詞較多,受當(dāng)時(shí)熱點(diǎn)話題影響,含有超鏈接、圖片評論、特殊字體。
20世紀(jì)90年代以來,基于機(jī)器學(xué)習(xí)的分類算法模型[1]被應(yīng)用到文本分類中,如支持向量機(jī)SVM[2-3]、決策樹[4]、樸素貝葉斯[5]等,賦予了文本分類較高的實(shí)用價(jià)值。在實(shí)現(xiàn)文本分類的算法中,傳統(tǒng)機(jī)器學(xué)習(xí)在進(jìn)行文本分類時(shí)需要進(jìn)行特征工程[6]。如甘立國[7]指出隨著機(jī)器學(xué)習(xí)的發(fā)展,機(jī)器學(xué)習(xí)方法將逐漸取代傳統(tǒng)知識工程構(gòu)建方法,但也會存在一些問題,例如在文本表示方法上存在維度災(zāi)難,不能有效提取文本深層次的語義關(guān)系。近年來,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)[8-9]在特征自動獲取中發(fā)揮著越來越重要的作用,給研究者們帶來了很大便捷。如Kim等[10]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在文本分類任務(wù)上,將向量化后的文本使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行提取特征信息,最后使用Softmax分類器對提取的特征進(jìn)行分類。它能夠最大程度池化所獲特征,但由于卷積器大小固定,所以對參數(shù)空間調(diào)節(jié)和信息存儲大小有很大限制。同時(shí),也有學(xué)者[11]通過LSTM模型進(jìn)行文本分類,LSTM模型可在更復(fù)雜的任務(wù)上表征或模擬人類行為和認(rèn)知能力,但在訓(xùn)練時(shí)長及對抗梯度爆炸等方面需進(jìn)一步改善。CNN[12-13]在文本中的不同位置使用相同的卷積核進(jìn)行卷積,可以很好地提取n-gram 特征,通過池化學(xué)習(xí)文本短期和長期關(guān)系。LSTM可以用來處理任意長度的序列,并發(fā)現(xiàn)其長期依賴性??偟膩碚f,CNN從時(shí)間或空間數(shù)據(jù)中學(xué)習(xí)局部響應(yīng),但缺少學(xué)習(xí)序列相關(guān)性能力,而LSTM 用于序列建模,但不能并行地進(jìn)行特征提取。本文結(jié)合CNN與LSTM 兩種模型的優(yōu)點(diǎn),充分利用CNN識別局部特征與LSTM利用文本序列的能力,最大化提取上下文信息以實(shí)現(xiàn)對評論文本的有效分類,提出一種基于注意力機(jī)制的深度學(xué)習(xí)CLSTM混合模型算法。
1 文本分類相關(guān)工作
1.1 深度學(xué)習(xí)
傳統(tǒng)機(jī)器學(xué)習(xí)在進(jìn)行文本分類時(shí)會出現(xiàn)文本表示高緯度、高稀疏的問題,同時(shí),特征表達(dá)能力很弱,需要人工進(jìn)行特征工程,成本很高。而深度學(xué)習(xí)之所以在圖像與語音處理方面取得巨大成功,一個(gè)很重要的原因是圖像和語音原始數(shù)據(jù)是連續(xù)、稠密的,有局部相關(guān)性。應(yīng)用深度學(xué)習(xí)解決大規(guī)模文本分類問題的關(guān)鍵是解決文本表示,再利用深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)自動獲取特征表達(dá)能力,去掉繁雜的人工特征工程,端到端地解決問題。
1.2 文本分類
本文對商品評論短文本通過語義進(jìn)行分類,處理流程包括:文本預(yù)處理、詞向量訓(xùn)練、訓(xùn)練模型以及分類效果評估4部分。首先,對收集的評論短文本進(jìn)行預(yù)處理工作;再通過Word2Vec模型[14-15]對評論短文本進(jìn)行詞向量訓(xùn)練;然后,采用混合深度神經(jīng)網(wǎng)絡(luò)模型CLSTM進(jìn)行特征提取學(xué)習(xí),通過引入Attention注意力機(jī)制[16]獲取文本特征表示;最后通過Softmax分類器對評論短文本進(jìn)行最終分類。其流程如圖1所示。
1.3 文本預(yù)處理
文本預(yù)處理過程指在文本中提取關(guān)鍵詞表示文本的過程。不是所有商品文本數(shù)據(jù)均對研究有實(shí)際作用,且部分?jǐn)?shù)據(jù)往往帶有大量噪聲,對于這些無關(guān)數(shù)據(jù),例如不規(guī)范的字符、符號等,應(yīng)進(jìn)行有效過濾以排除對文本數(shù)據(jù)信息挖掘的干擾,所以在文本分類前首先需預(yù)處理數(shù)據(jù)集。
中文不像英文那樣具有天然的分隔符,所以一般情況下,中文分詞[17-18]的第一步是對語料進(jìn)行分詞處理。近年來隨著機(jī)器學(xué)習(xí)研究的深入,可以選擇的分詞算法工具也越來越多,常見分詞工具有Stanford NLP、ICTClAS分詞系統(tǒng)、jieba、FudanNLP等。本文選擇Python編寫的jieba開源庫對文本進(jìn)行分詞,以行為單位,將文本保存到輸出文件。中文停用詞對文本研究沒有太大價(jià)值,故需將文本中介詞、代詞、虛詞等停用詞以及特殊符號去除。
1.4 詞向量訓(xùn)練
本文采用Word2Vec技術(shù)生成詞向量,可以實(shí)現(xiàn)將語義信息相近的詞語映射到相近的低維度向量空間中。為了減少后期計(jì)算復(fù)雜度,通常詞向量維度設(shè)置在100~300維度之間。
本文采用Skip-Gram模型[19-20]進(jìn)行詞向量訓(xùn)練,Skip-Gram通過給定輸入單詞預(yù)測上下文。該模型包含輸入層、投影層和輸出層3個(gè)層面,如圖2所示。
將Skip-Gram模型得到的詞向量存儲在一個(gè)詞嵌入矩陣M中,現(xiàn)假設(shè)一條評論T里面包含[n]個(gè)單詞,每個(gè)單詞在M中有唯一的索引[k],則一句話中第[i]個(gè)單詞可表示為[ti=Mbk],其中[bk]為二值向量。則一條評論可用矩陣向量T表示,公式如下:
最后,在語料中用特殊標(biāo)記“[]”對每一句話的結(jié)尾進(jìn)行標(biāo)記。
2 基于注意力機(jī)制的CLSTM混合模型與文本分類
為了提高商品評論中垃圾評論文本分類的精確率,結(jié)合CNN和LSTM兩種結(jié)構(gòu)優(yōu)點(diǎn),本文提出一種基于注意力機(jī)制的CLSTM混合神經(jīng)網(wǎng)絡(luò)模型,再通過引入Attention機(jī)制計(jì)算注意力概率分布,獲得文本特征表示,從而提高模型文本分類精確率。模型結(jié)構(gòu)如圖3所示。
該混合模型由4個(gè)部分組成:首先CNN提取短語特征序列,主要使用一維卷積提取詞向量特征,按順序移動計(jì)算前后單詞對當(dāng)前狀態(tài)下單詞的影響,生成短語特征表示;其次提取評論中的文本特征,該部分使用LSTM處理短文本特征序列,逐步合成文本向量特征表示;然后采用Attention機(jī)制計(jì)算各個(gè)輸入分配的注意力概率分布,生成含有注意力概率分布的文本語義特征表示;最后引入分類器,主要由dropout技術(shù)防止過擬合,用Softmax分類器預(yù)測文本類別。
在CNN提取短文本特征時(shí),本文采用一維卷積核在文本不同位置滑動以提取詞語上下文信息,生成短語的特征表示。通常,通過卷積操作提取短語特征后,會進(jìn)一步執(zhí)行池化操作,但是,文本分類是利用現(xiàn)有信息進(jìn)行預(yù)測,強(qiáng)調(diào)特征序列連續(xù)性,而池化操作會破壞特征序列連續(xù)性。因此,本文在CNN卷積層之后直接采用LSTM模型。
CNN從時(shí)間或空間數(shù)據(jù)中學(xué)習(xí)局部響應(yīng),但缺少學(xué)習(xí)序列相關(guān)性能力,沒有考慮詞語間的相互關(guān)聯(lián)。在文本分類過程中LSTM模型可用來處理任意長度的序列,并且具有長期依賴性。假設(shè)在某一時(shí)刻,LSTM某一重復(fù)模塊的輸入包括上一時(shí)刻歷史隱藏狀態(tài)[ht-1]和當(dāng)前輸入[xt],其輸出包含3個(gè)門(forget gate、input gate、output gate),可控制信息并將信息傳遞給下一時(shí)刻。LSTM變換函數(shù)定義如下:
其中,將Input Gate、Output Gate、Forget Gate表示為:[it][ot][ft],當(dāng)前時(shí)刻的記憶單元為[ct],[W∈RH?E],[ht]為LSTM單元最終輸出,使用Sigmoid函數(shù)作為激活函數(shù),[b∈R]為LSTM權(quán)重矩陣與偏置量。
由LSTM得到對應(yīng)隱藏層的輸出[h0],[h1],[h2],…,[ht]。通過在隱藏層引入注意力機(jī)制,生成含有注意力概率分布的文本語義特征,計(jì)算各個(gè)輸入分配的注意力概率分布[α0],[α1],[α2],…,[αt],引入注意力機(jī)制可極大提高模型分類準(zhǔn)確性。[us]是一種語義表示,是一個(gè)隨機(jī)初始化的上下文向量。引入注意力機(jī)制后,文本特征表示計(jì)算過程為:
其中[ht]是由LSTM學(xué)習(xí)得到的[t]時(shí)刻的特征表示;[ut]為[ht]通過一個(gè)簡單神經(jīng)網(wǎng)絡(luò)層得到的隱層表示;[t]為[ut]通過[Softmax]函數(shù)歸一化得到的重要性權(quán)重;[v]是最終文本信息的特征向量。
為防止模型在訓(xùn)練時(shí)出現(xiàn)過擬合現(xiàn)象,本文引入dropout技術(shù)。最后,本文采用Softmax分類器對獲得的文本特征進(jìn)行分類處理。
[y]是函數(shù)計(jì)算后得到的預(yù)算類別。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 數(shù)據(jù)集
本文使用的數(shù)據(jù)集來源于從京東商城上爬取的評論語料庫,包含電腦評論、手機(jī)評論、圖書評論、鮮花評論等6個(gè)種類的消費(fèi)者評論,共計(jì)27萬余條。在數(shù)據(jù)集中,每條評論獨(dú)占一行,每條評論后面給出類別標(biāo)注。本文選取3個(gè)種類的評論數(shù)據(jù)集進(jìn)行訓(xùn)練,分別是手機(jī)評論、圖書評論、鮮花評論,每種類型的評論數(shù)量如表1所示,其它3類可用于后備工作。在實(shí)驗(yàn)中,每種類型使用80%的評論數(shù)據(jù)進(jìn)行訓(xùn)練,使用20%的數(shù)據(jù)集作為測試集。
本文所有實(shí)驗(yàn)均基于Tensorflow[21]平臺庫實(shí)現(xiàn)。實(shí)驗(yàn)使用的GPU為NVIDIA GTX1080處理器。
3.2 評價(jià)指標(biāo)
本文討論的分類類別是二分類問題,因此將樣本標(biāo)簽記為正、負(fù)兩種樣本,根據(jù)實(shí)驗(yàn)結(jié)果建立二分類結(jié)果混合矩陣,如表2所示。
本文通過采用準(zhǔn)確率P([precision])、R召回率([recall])、F1值3個(gè)標(biāo)準(zhǔn)作為模型性能評價(jià)指標(biāo),根據(jù)表2得到計(jì)算公式為:
3.3 實(shí)驗(yàn)結(jié)果
為了證明本文混合神經(jīng)網(wǎng)絡(luò)模型算法的優(yōu)越性,同時(shí)進(jìn)行兩組實(shí)驗(yàn)對比。第1個(gè)實(shí)驗(yàn)采用常見的機(jī)器學(xué)習(xí)SVM模型算法進(jìn)行文本分類,第2個(gè)實(shí)驗(yàn)采用深度學(xué)習(xí)LSTM模型算法進(jìn)行文本分類。將數(shù)據(jù)集的20%作為測試集放入已經(jīng)訓(xùn)練好的模型中,通過給定的3個(gè)標(biāo)準(zhǔn)性能評價(jià)指標(biāo),比較測試結(jié)果并計(jì)算分類結(jié)果。不同模型生成的結(jié)果對比如表3-表5所示。
從表格中可以看出,3種分類算法在進(jìn)行評論文本分類時(shí)均可達(dá)到較好的效果。其中深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法分類效果優(yōu)于機(jī)器學(xué)習(xí)SVM分類算法;在經(jīng)過一系列調(diào)參后,針對3種商品種類的評論實(shí)驗(yàn),可以發(fā)現(xiàn)基于注意力機(jī)制的CLSTM混合神經(jīng)網(wǎng)絡(luò)模型方法在準(zhǔn)確率、召回率和F1值3個(gè)方面均比單模型深度學(xué)習(xí)方法的分類識別效果更好。
4 結(jié)語
本文采用的混合模型算法充分利用了?CNN識別局部特征與 LSTM利用文本序列的能力,可在時(shí)間復(fù)雜度上選擇最短時(shí)間,同時(shí)引入相當(dāng)少的噪聲,最大化地提取上下文信息,大幅提升評論短文本分類效率。深度神經(jīng)網(wǎng)絡(luò)可以處理多分類問題,但會增加訓(xùn)練難度。本文可以為后續(xù)文本特征多分類研究提供參考。
參考文獻(xiàn):
[1] 王靜. 基于機(jī)器學(xué)習(xí)的文本分類算法研究與應(yīng)用[D]. 成都:電子科技大學(xué), 2015.
[2] JOACHIMS T. Text categorization with support vector machines: learning with many relevant features[C]. Proceedings of Conference on Machine Learning, 1998:137-142.
[3] 孫晉文, 肖建國. 基于SVM的中文文本分類反饋學(xué)習(xí)技術(shù)的研究[J]. 控制與決策, 2004, 19(8):927-930.
[4] 田苗苗. 基于決策樹的文本分類研究[J]. 吉林師范大學(xué)學(xué)報(bào), 2008, 29(1):54-56.
[5] 邸鵬, 段利國. 一種新型樸素貝葉斯文本分類算法[J]. 數(shù)據(jù)采集與處理, 2014, 29(1):71-75.
[6] 姜百寧. 機(jī)器學(xué)習(xí)中的特征選擇算法研究[D]. 青島:中國海洋大學(xué), 2009.
[7] 胡侯立, 魏維, 胡蒙娜. 深度學(xué)習(xí)算法的原理及應(yīng)用[J]. 信息技術(shù), 2015(2):175-177.
[8] 郭元祥. 深度學(xué)習(xí):本質(zhì)與理念[J]. 新教師, 2017(7):11-14.
[9] 甘立國. 中文文本分類系統(tǒng)的研究與實(shí)現(xiàn)[D]. 北京:北京化工大學(xué), 2006.
[10] KIM Y. Convolutional neural networks for sentence classification[DB/OL]. https://arxiv.org/pdf/1408.5882.pdf.
[11] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8):1735-1780.
[12] GOODFELLOW I, BENGIO Y, COURVILLE A, et al. Deep learning[M]. Cambridge:MIT press,2016.
[13] 陳先昌. 基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法與應(yīng)用研究[D]. 杭州:浙江工商大學(xué), 2014.
[14] 周練. Word2vec的工作原理及應(yīng)用探究[J]. 圖書情報(bào)導(dǎo)刊, 2015(2):145-148.
[15] 熊富林, 鄧怡豪, 唐曉晟. Word2vec的核心架構(gòu)及其應(yīng)用[J]. 南京師范大學(xué)學(xué)報(bào):工程技術(shù)版, 2015(1):43-48.
[16] 趙勤魯, 蔡曉東, 李波,等. 基于LSTM-Attention神經(jīng)網(wǎng)絡(luò)的文本特征提取方法[J]. 現(xiàn)代電子技術(shù), 2018, 41(8):167-170.
[17] 王威. 基于統(tǒng)計(jì)學(xué)習(xí)的中文分詞方法的研究[D].沈陽:東北大學(xué),2015.
[18] 韓冬煦,常寶寶. 中文分詞模型的領(lǐng)域適應(yīng)性方法[J].計(jì)算機(jī)學(xué)報(bào),2015,38(2):272-281.
[19] 黃聰. 基于詞向量的標(biāo)簽語義推薦算法研究[D]. 廣州:廣東工業(yè)大學(xué), 2015.
[20] 李曉軍. 基于語義相似度的中文文本分類研究[D]. 西安:西安電子科技大學(xué), 2017.
[21] HELCL J, LIBOVICKYA A J. Neural monkey: an open-source tool for sequence learning[J]. Prague Bulletin of Mathematical Linguistics,2017, 107(1):5-17.
(責(zé)任編輯:江 艷)