刁天宸 張俊坤 陳堯 李煒明
摘 要:中文文本情感分類應用是商家面對用戶改進產(chǎn)品的一種重要手段。傳統(tǒng)機器學習中one hot編碼效率低下且向量十分稀疏,維度很高。文章通過詞嵌入(word embedding)和循環(huán)神經(jīng)網(wǎng)絡(RNN),結合精確篩選的數(shù)據(jù)集,構建了針對用戶評論的中文文本情感分類模型,在亞馬孫商品評論數(shù)據(jù)集以及電影數(shù)據(jù)集上實驗結果表明,使用該分類器,實際預測精度達99.32%,能較好地為商家提供用戶情感分類服務,便于商家分析產(chǎn)品反饋。
關鍵詞:循環(huán)神經(jīng)網(wǎng)絡;詞嵌入;情感分類;中文文本
0 引言
中文文本情感分類是自然語言處理領域中一個重要研究方向。隨著信息技術的逐步發(fā)展而帶動的電子商業(yè)的繁榮,面對每天數(shù)百萬級的用戶評論,如何從如此巨大的數(shù)據(jù)集中,準確分類用戶評論情感并提取高價值的信息,成為企業(yè)和商家市場調研以及改進產(chǎn)品過程中極為重要的環(huán)節(jié)[1]。
本文通過詞嵌入(word embedding)和循環(huán)神經(jīng)網(wǎng)絡(RNN)構建模型,會為中文文本返回0-1之間的情感傾向置信度。置信度越接近1,文本為積極情感可能性越高;置信度越接近0,文本為消極情感可能性越高。
1 相關工作
1.1 數(shù)據(jù)清洗
數(shù)據(jù)清洗的根本目的是為了刪除重復信息,糾正存在的錯誤,并保持數(shù)據(jù)一致性。本文采用亞馬遜商城評論數(shù)據(jù)集、online shopping數(shù)據(jù)集、豆瓣電影數(shù)據(jù)集。由于原數(shù)據(jù)集存在較多缺失值和重復內容,為了保證決策數(shù)據(jù)的精準性以及模型的預測和泛化能力,需要將這些重復內容和缺失值除去。
1.2 特征提取
特征提取是深度學習的重要步驟,往往好的特征選擇能達到更高的精度[2]。為了保證更高的精確度,本文通過機器加人工的方式篩選出情感傾向較為明顯的文本作為自定義詞典部分內容。篩選后總文本量為522 948行,篩選后的部分文本如表1所示。
1.3 ?中文詞典的構建
由于中文語意主要由詞語決定而不是單獨的漢字,因此需要對待訓練的中文文本進行分詞處理,并以此構建詞典。
本文字典由數(shù)字、英文字母、待訓練的中文文本構建。
(1)將Python字典中鍵0對應的值設為空字符串。
(2)將常用數(shù)字,英語字母直接添加至Python字典中,如:1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ。
(3)將待訓練的中文文本分詞和去標點。這里使用Python的Jieba中文分詞組件。Jieba分詞組件為開源分詞組件,主要使用動態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻組合的最大切分組合。對未登錄詞組,采用HMM語言模型[3],以修正分詞效果。Jieba分詞有4種分詞模式,本文采用精確模式對清洗過后的數(shù)據(jù)集進行分詞,相關函數(shù)為jieba.cut()。
經(jīng)如上處理,最終得到字典鍵值對261 089對,部分字典內容如表2所示。
1.4 ?中文編碼
由于機器不能識別自然語言而只能將向量(數(shù)字數(shù)組)作為輸入數(shù)據(jù),因此需要對文本進行向量化(將字符串轉為數(shù)字),再將其輸入模型。傳統(tǒng)One-hot的編碼得到的向量是二進的、稀疏的,緯度很高。為了規(guī)避以上問題,本文采用詞嵌入(word embedding)編碼方式,這種編碼較One-hot編碼更加高效且密集,使得相似的詞組具有相似的編碼,且操作人員不必手動指定編碼。
本文編碼內容具體如下:(1)將特征提取后的文本保存為Python列表,部分列表如表3所示。(2)對列表中的句子進行分詞,并查找詞語對應的中文詞典索引,將其保存為NumPy數(shù)組,部分NumPy數(shù)組如表4所示。
2模型構建
本文模型基于循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Networks)所構建,網(wǎng)絡結構如表5所示。
2.1 ?Embedding層
Embedding層是模型的輸入層,是表示一個句子的實數(shù)矩陣。Embedding層中每一行表示一個詞組向量,行數(shù)為一句話中的詞組數(shù)量。通過統(tǒng)計發(fā)現(xiàn),大多數(shù)文本長度未超過400詞(因本文設置基準長度為400),將每一條原文文本表示為400×64的實數(shù)矩陣。
2.2 ?Bidirectional層
為了克服常規(guī)RNN的限制,本文采用雙向神經(jīng)網(wǎng)絡(BRNN)進行訓練。BRNN是將傳統(tǒng)RNN的狀態(tài)神經(jīng)元拆分為兩部分,一部分負責positive time direction(forward states),另一部分負責negative time direction(backward states)。由于Forward states的輸出并不會連接到Backward states的輸入,因此與傳統(tǒng)RNN相比,BRNN的結構提供給了輸出層輸入序列中每一個點的完整的過去和未來的上下文信息,使得在任何時刻都能夠獲取到所有時刻的輸入信息。
3 ? 實驗驗證
3.1 實驗數(shù)據(jù)
本實驗數(shù)據(jù)由亞馬遜商城評論數(shù)據(jù)集,online shopping數(shù)據(jù)集,豆瓣電影數(shù)據(jù)集經(jīng)處理后構成,總計693 573條,其中訓練數(shù)據(jù)集554 858條,測試數(shù)據(jù)集138 715條。
3.2 實驗結果及分析
經(jīng)多次實驗發(fā)現(xiàn),RNN的迭代次數(shù)設置為5輪,模型即可達到最優(yōu)。模型試驗結果如表6所示。
通過表6可以得出,本模型對用戶評論情感分類具有較高精確度,能為企業(yè)和商家分析產(chǎn)品回饋節(jié)約大量時間。
4?結語
中文文本情感分類是在自然領域中很熱門的方向,本文中構建了一種基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的模型,經(jīng)測試能較好地對用戶評論進行情感分析。
[參考文獻]
[1]繆亞林,姬怡純,張順,等.CNN-BiGRU模型在中文短文本情感分析的應用[J].情報科學,2021(3):1-6.
[2]張騰,劉新亮,高彥平.基于卷積神經(jīng)網(wǎng)絡和雙向門控循環(huán)單元網(wǎng)絡注意力機制的情感分析[J].科學技術與工程,2021(1):269-274.
[3]宋祖康,閻瑞霞.基于CNN-BIGRU的中文文本情感分類模型[J].計算機技術與發(fā)展,2020(2):166-170.
(編輯 姚 鑫)