孫慶陽 劉磊
摘 要 隨著計算機技術(shù)的飛速發(fā)展,自然語言處理在日常生活得到了廣泛應用,同時由于神經(jīng)網(wǎng)絡(luò)地開發(fā)和應用,自然語言處理技術(shù)在電商平臺上大放異彩。實驗內(nèi)容為基于在某電商平臺上獲取的某一書籍商品的評論數(shù)據(jù),從而對該數(shù)據(jù)進行情感分類工作。實驗首先利用雙向LSTM算法對文本數(shù)據(jù)信息進行深層提取,再利用Attention機制將雙向LSTM算法的輸出信息進行整合,最終通過全鏈接層進行分類,從而構(gòu)建了一種準確度更高的分類模型。實驗結(jié)果表明,基于Attention機制處理之后的分類算法取得了96.27%的準確度。
關(guān)鍵詞 自然語言處理;文本分類;LSTM;Attention機制
Sentiment Classification Of Commodity Reviews Based On Neural Network
Sun Qingyang, Liu Lei
Anhui University of Technology, Anhui Maanshang 243000
Abstract With the rapid development of computer technology,natural language processing has been widely used in daily life. At the same time,due to the fast development and application of neutral network,natural language processing technology has been playing an important role in e-commerce platform. This paper is exactly based on an e-commerce platform to obtain a book review data,so as to work on the sentimental classification of it. In this paper,firstly,it used the two-way LSTM algorithm to extract the text information in depth. Then,the output information of the algorithm was integrated by making use of Attention mechanism. Finally,classifing it through the full link layer,this paper constructed a classification model with higher accuracy. Experimental results showed that the classification which is based on Attention mechanism achieved high accuracy up to 96.27%.
Keywords Natural language processing; Text classification; LSTM; Attention mechanism
引言
當下隨著人工智能技術(shù)發(fā)展得火熱,自然語言處理逐漸成為人工智能技術(shù)和計算機技術(shù)最重要的研究方向之一。從計算機問世至今,人類一直希望計算機可以使用人類的語言和人類進行交互,在自然語言處理技術(shù)發(fā)展成熟之前,人們一直難以讓計算機理解人類語言詞語中所包含的深層意思,而現(xiàn)如今,隨著機器學習技術(shù)和自然語言處理技術(shù)地發(fā)展,人們可以使用計算機對語言或者文字信息進行定量化地研究,從而可以使人與計算機之間共同使用語言描繪。
隨著互聯(lián)網(wǎng)技術(shù)地高速發(fā)展,人們的生活與互聯(lián)網(wǎng)緊密聯(lián)系在一起,同時隨著淘寶、天貓、京東商城等一眾互聯(lián)網(wǎng)購物平臺得新興,越來越多的人習慣于在這些電商平臺上購買商品。而眾多買家對商品的評價也成為人們對該商品的評判標準之一,購買過該商品的買家會對該商品的質(zhì)量、使用感受和性價比等要素進行評價。所以對商品評論文本進行情感分析研究具有理論和實際應用價值。
1相關(guān)研究
文本情感分析[1]是指對包含了感情色彩的文本進行分析和處理,從而提取文本所包含的深層的信息因素,而文本情感分析也具有較為廣泛的應用前景,現(xiàn)如今,文本情感分析廣泛地應用于用戶評論分析、市場變化預測和互聯(lián)網(wǎng)輿論分析。
而自然語言處理算法大致包含以下三類:情感字典方法、傳統(tǒng)的機器學習算法、深度學習算法。
情感字典方法就是人為的構(gòu)建情感字典對文本進行情感計算從而對文本進行分類的方法。劉玉嬌[2]等人利用基礎(chǔ)情感字典和基礎(chǔ)詞對不同領(lǐng)域的文本評論進行分析,從而獲得不同領(lǐng)域帶有情感傾向的特征詞,然后利用這些特征詞計算句子的情感傾向,該模型在不同領(lǐng)域都有著較好的表現(xiàn)。
傳統(tǒng)的機器學習方法首先對文本進行特征提取,再將文本特征轉(zhuǎn)換為文本向量,再利用機器學習算法進行分類。常用于文本特征分析的機器學習算法有:樸素貝葉斯、支持向量機、邏輯回歸、隨機森林、最大熵等。陳平平[3]等人使用jieba分詞下的TF-IDF技術(shù)對電影評論文本進行特征提取,再利用多項式貝葉斯算法建立情感分析模型,從而達到了86.2%的準確率。王崢[4]等人利用決策樹、N-gram算法的特征提取方法結(jié)合支持向量機分類器,從而提出了一種情感分析模型,解決了字詞在不同的語境以及表達方式中的多意性問題。
而深度學習方法相較于機器學習方法最主要的是避免了人為構(gòu)造大量的文本特征。最常見的深度學習方法有循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN),RNN算法可以有效聯(lián)系上下文信息,在處理帶有序列化的文本信息問題上有較好的表現(xiàn)。隨著深度學習算法地發(fā)展,由RNN算法所演化的LSTM算法則有效解決了RNN算法天生的梯度消失和梯度爆炸問題。楊云龍[5]等人將門控循環(huán)單元GRU與膠囊特征融合結(jié)合起來建立情感分析模型G-Caps,G-Caps首先通過門控單元捕獲文本的全局特征,再通過初始膠囊層迭代獲取文本向量化信息,最后利用主膠囊曾求得各特征間的組合,因此G-Caps可以有效提升模型的準確率?;羯缙绞褂脦в凶⒁饬C制的雙向LSTM算法對雙語文本進行分析,其首先通過注意力機制對不同詞語賦予不同的權(quán)重,再通過雙向LSTM對新的特征進行分析,可以有效解決雙語文本下的情感分析。
2jieba分詞技術(shù)及原理
在數(shù)據(jù)處理過程中,中文文本語言處理與英文語言處理有著較大的不同。在英文文本中,英文的每一個單詞都自然而然的被空格分隔開,如“Hello word”,而中文文本中每句話的詞語卻天然地結(jié)合在一起,如“你好世界”。所以在中文文本數(shù)據(jù)處理階段分詞技術(shù)是一個重要的步驟。在中文分詞技術(shù)中,jieba分詞有著較高的準確度,也是最為常用的分詞技術(shù)之一。jieba分詞其技術(shù)原理是基于統(tǒng)計字典,首先jieba分詞構(gòu)造一個常用字典,然后再根據(jù)這個字典對輸入的語句進行切分,從而可以得到語句的所有切分可能,根據(jù)不同的切分可能得到有向無環(huán)圖,再通過動態(tài)規(guī)劃算法計算出各種切分可能的概率,從而找出最大概率的切分組合。而對于那些沒有錄入字典的詞語,采用了隱含馬爾可夫模型,并利用維特比算法進行計算和詞性標注。jieba分詞技術(shù)[6]有三種不同的模式:精確模式、全模式和搜索引擎模式。下圖1為jieba分詞技術(shù)路線:
3Bi-LSTM算法
在自然語言處理領(lǐng)域中,RNN算法有著較好的效果,但是RNN算法在訓練過程中會出現(xiàn)長期依賴性的問題,這是由于RNN模型在訓練過程中會出現(xiàn)梯度消失或者梯度爆炸的問題。而對于梯度爆炸問題,一般可以采用梯度修剪解決,但是對于梯度消失問題卻很難解決。所以由RNN模型的變體模型LSTM模型應運而生,LSTM模型可以很好地解決RNN模型中的長期依賴性問題。下圖2為LSTM模型的結(jié)構(gòu):
LSTM模型有兩個傳輸狀態(tài),一個是一個是,其中對于傳輸狀態(tài)改變得會很慢,一般為上個狀態(tài)傳遞來的外加一些數(shù)值,而傳輸狀態(tài)則在不同的節(jié)點下會有較大的區(qū)別。
首先LSTM的當前輸入和上個狀態(tài)傳遞而來的拼接可以得到四個狀態(tài):
其中、、是根據(jù)拼接向量乘以權(quán)重矩陣后,再通過sigmoid函數(shù)激活轉(zhuǎn)換為0到1的數(shù)值,從而可以成為門控狀態(tài)。是通過tanh函數(shù)激活轉(zhuǎn)換為-1到1的數(shù)值。下圖3為四個狀態(tài)在LSTM中的應用情況。
內(nèi)部結(jié)構(gòu)的計算過程如下:
LSTM內(nèi)部有三個階段:
(1)忘記階段。這一階段針對上一節(jié)點傳入進來的輸入選擇忘記。即通過計算得到的來作為門控,可以控制上階段的哪些可以遺忘。
(2)選擇記憶階段。這階段對輸入有選擇地進行記憶。此階段由門控信號控制。
(3)輸出階段。此階段可以決定哪些作為輸出。主要用過控制,并且通過tanh函數(shù)對上一階段的進行了放縮。
普通的RNN和LSTM模型都是只能根據(jù)之前的時序信息來預測下一時刻的輸出,但是在長文本的自然語言處理中,當前的時刻輸出不僅和之前的狀態(tài)相關(guān),也可能與之后時刻的狀態(tài)相關(guān)。所以雙向LSTM可以較好地解決這類問題,雙向LSTM的輸出由前面的輸入與后面的輸入共同決定。下圖4為雙向LSTM的網(wǎng)絡(luò)結(jié)構(gòu)。
上述網(wǎng)絡(luò)結(jié)構(gòu)的計算過程如下:
該模型在Forward曾從1時刻到t時刻正向計算一遍,得到保存每個時間單元前向隱含層的輸出。在Backward層再從t時刻反向到1時刻計算,得到保存每個時間單元后向隱含層的輸出,最終結(jié)合每個時間單元的Forward層和Backward層的輸出得到最終的輸出。
4帶有注意力機制的模型搭建
下圖5為帶有注意力機制的雙向LSTM算法的模型結(jié)構(gòu)。
4.1 Embedding輸入層
在數(shù)據(jù)進入算法層面之前,我們需要把數(shù)據(jù)轉(zhuǎn)化成詞向量的形式,采用word2Vec[7]可以把文本數(shù)據(jù)中的文本序列轉(zhuǎn)換為詞向量,并且Embedding層可以把大型稀疏向量轉(zhuǎn)化為保留語義的低維空間。
4.2 BI-LSTM層
使用雙向LSTM算法[8]對文本進行分類模型的建立。
4.3 Attention機制
注意力機制即attention機制,簡單來說就是模仿人類觀察行為的過程。例如:當人觀看一幅畫的時候,會首先掃描畫的全部內(nèi)容,然后再獲得需要重點關(guān)注的部分,再對這些部分投入更多的注意力資源從而重點關(guān)注。因此,模型會自己去學得在不同時刻不同的權(quán)重系數(shù)。
參數(shù)表示當前時刻,表示序列中的第個元素,表示序列長度,表示對元素的編碼。反映了元素對的重要性。反映了待編碼元素和其他元素的匹配度,當匹配度越高說明該元素對其影響越大。
5實驗
5.1 實驗環(huán)境
本論文的實驗運行環(huán)境為16G內(nèi)存配備intel(R)Core(TM)i5-6300HQ處理器且GTX1060顯存為6G顯卡的個人計算機上。
5.2 實驗數(shù)據(jù)
本論文使用的是從某一電商平臺上爬取的對一本暢銷書籍的評價,其中包含10672個正面的積極性評價和10428個負面的消極性評價。語料的前5條數(shù)據(jù)為圖6,語料中的句子長度分布直方圖和累計分布圖如圖7:
因為LSTM算法接受的序列長度是固定的,所以在數(shù)據(jù)處理中我們需要將句子裁成一樣的長度。根據(jù)預料累計分布情況求得樣本中90%概率的句子長度188作為裁剪后的統(tǒng)一長度。
5.3 語料處理
(1)語料清洗和分詞
首先去除語料中的無效字符對語料進行清刷,然后使用jieba分詞技術(shù)對語料進行分詞,再使用停用詞表去除語料中的停用詞,本文使用的是哈工大停用詞表[9]。
(2)創(chuàng)建詞語字典進行詞向量轉(zhuǎn)化
使用word2vec技術(shù)將已經(jīng)處理好的語料文本轉(zhuǎn)化為詞向量的形式,并且構(gòu)建詞語字典,再使用pd_sequences()對詞向量序列進行填充,將所有句子序列長度統(tǒng)一。并對整個語料進行訓練集和測試集地劃分。
5.4 對比實驗
本文使用以下三種模型與本文的模型進行對比:
(1)樸素貝葉斯模型
樸素貝葉斯模型作為自然語言處理技術(shù)中最為典型的模型,在文本語料處理中一般都會有很好的表現(xiàn)。
(2)支持向量機模型
支持向量機模型作為最具代表性的機器學習模型,其在二分類問題上一般都有著上佳的表現(xiàn)。
(3)LSTM模型
將由嵌入輸出的數(shù)據(jù)經(jīng)過兩層堆疊LSTM模型的處理后,根據(jù)LSTM的輸出值與本文的模型進行對比。
(4)BI-LSTM_Att模型
即本文所提出的含有注意力機制的雙向LSTM模型,為了具有實驗的對比度,該模型也含有兩層堆疊的LSTM。
5.5 評價指標
因為本文是對積極性標簽為1和消極性標簽為0的兩個大類進行分類,是一個二分類問題,并且樣本的兩個標簽數(shù)也比較均衡,所以本實驗指使用準確度作為評價指標。根據(jù)混淆矩陣,準確度precision簡寫為p有以下公式:
混淆矩陣如下表1:
6實驗結(jié)果與分析
6.1 實驗結(jié)果
各個模型的情感分類結(jié)果如下圖所示,可以看出傳統(tǒng)的機器學習算法雖然有著不錯的表現(xiàn),但是深度學習算法表現(xiàn)得更為強力,相對的深度學習算法每輪的收斂時間要達到4分鐘左右。各個算法的結(jié)果和運行時間為下表2。
6.2 結(jié)果分析
從上面結(jié)果可以看出基于統(tǒng)計方法的樸素貝葉斯算法進行訓練,其速度很快,但是模型的表現(xiàn)能力不足,所以其性能不如其他模型。而基于核模型支持向量機模型準確率有了不錯的提升,但是也遠不如深度學習算法。LSTM模型通過神經(jīng)網(wǎng)絡(luò)聯(lián)系上下文的信息,而BI-LSTM_Att模型利用注意力機制提取文本的重要特征,所以BI-LSTM_Att模型比LSTM模型性能要好,同時每輪收斂的時間也要更長。
7結(jié)束語
本文使用的是基于注意力機制的雙向LSTM模型,利用注意力機制提取出文本數(shù)據(jù)中的核心特征,從而使分類的結(jié)果更加準確。實驗結(jié)果表明,添加了注意力機制之后,模型的表現(xiàn)能力得到了不錯地提升,取得了較好的結(jié)果。
本文數(shù)據(jù)采用于電商平臺上的商品評論數(shù)據(jù),這些評論的情感傾向性都比較明顯,所以模型的表現(xiàn)能力都比較好。下一步工作將針對模糊性的語句分類進行深入研究。
參考文獻
[1] 張美頎.基于電商產(chǎn)品評論數(shù)據(jù)的情感分析[J].電子技術(shù)與軟件程,2020(11):186-187.
[2] 劉玉嬌,琚生根,伍少梅,等.基于情感字典與連詞結(jié)合的中文文本情感分類[J].四川大學學報(自然科學版),2015,52(1):57-62.
[3] 陳平平,耿笑冉,鄒敏,等.基于機器學習的文本情感傾向性分析[J].計算機與現(xiàn)代化,2020(3):77-81,92.
[4] 王崢,劉師培,彭艷兵.基于句法決策樹和SVM的短文本語境識別模型[J].計算機與現(xiàn)代化,2017(3):13-17.
[5] 翟社平,楊媛媛,邱程,等.基于注意力機制Bi-LSTM算法的雙語文本情感分析[J].計算機應用與軟件,2019,36(12):251-255.
[6] 曾小芹.基于Python的中文結(jié)巴分詞技術(shù)實現(xiàn)[J].信息與電腦,2019,31(18):38-39,42.
[7] 蔡慶平,馬海群.基于Word2Vec和CNN的產(chǎn)品評論細粒度情感分析模型[J].圖書情報工作,2020,64(6):49-58.
[8] Qianli Ma. The Key Technology on Chinese Word Segmentation Based on Bi-LSTM-CRF Model[D].武漢:華中師范大學,2019.
[9] 崔彩霞.停用詞的選取對文本分類效果的影響研究[J].太原師范學院學報(自然科學版),2008,7(4):91-93.
作者簡介
孫慶陽(1995-),男,安徽蕪湖人;畢業(yè)院校:安徽工業(yè)大學,專業(yè):控制工程,學歷:碩士,現(xiàn)就職單位:安徽工業(yè)大學 電氣與信息工程學院,研究方向:自然語言處理。