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