王 銳,鄭新章,宗國浩,王 迪,王永勝,賈 楠,胡 斌,馮偉華
中國煙草總公司鄭州煙草研究院,鄭州高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)楓楊街2 號 450001
情感分類是對帶有感情色彩的文本進(jìn)行分析、推理的過程,通過分析人的情感傾向可幫助用戶準(zhǔn)確定位所需信息。隨著互聯(lián)網(wǎng)和移動通信技術(shù)的快速發(fā)展,通過獲取用戶評論數(shù)據(jù)并對其情感傾向進(jìn)行挖掘和分析,對于開展經(jīng)濟(jì)活動預(yù)測、輿情監(jiān)控等研究具有重要意義。何炎祥等[1]利用深度學(xué)習(xí)模型研究了中文微博的情感分類。林明明等[2]結(jié)合HowNet 方法和Google 相似距離方法對消費(fèi)數(shù)據(jù)情感分類進(jìn)行了分析。劉一伊等[3]提出了基于詞嵌入與記憶網(wǎng)絡(luò)的情感分類算法。劉定一等[4]建立了融合微博熱點(diǎn)分析和長短期記憶神經(jīng)網(wǎng)絡(luò)的輿情預(yù)測方法。近年來煙草行業(yè)也開展了較多卷煙消費(fèi)者評價(jià)的情感分類研究,幫助煙草工商企業(yè)精準(zhǔn)感知消費(fèi)者的需求,對產(chǎn)品規(guī)格進(jìn)行有效整合。蔡波等[5]將消費(fèi)者評價(jià)中的感官描述詞與中式卷煙消費(fèi)體驗(yàn)感官評價(jià)指標(biāo)詞相匹配,驗(yàn)證了中式卷煙消費(fèi)體驗(yàn)感官評價(jià)指標(biāo)的實(shí)用性和適用性,并得到消費(fèi)者較為關(guān)注的感官評價(jià)指標(biāo);楊春曉等[6]通過人工篩選出卷煙在線評論中的常用情感詞匯,構(gòu)建了卷煙在線評論情感詞典,并建立了卷煙評價(jià)文本情感分析模型,以考察卷煙在線評論中的情感表達(dá);蘇凱等[7]利用統(tǒng)計(jì)學(xué)方法和關(guān)聯(lián)規(guī)則挖掘算法,分析了消費(fèi)者對斗煙的產(chǎn)品品牌、香味類型、配方類型及配方組成的偏好性。由于缺少帶標(biāo)注的消費(fèi)者評價(jià)數(shù)據(jù)集,上述研究普遍采用基于詞典和規(guī)則的無監(jiān)督學(xué)習(xí)方法構(gòu)建模型,難以量化評價(jià)情感分析結(jié)果的準(zhǔn)確性。此外,由于中文語法復(fù)雜且表達(dá)方法的多樣性,依靠人工構(gòu)建的情感詞典進(jìn)行情感詞匹配,存在無法識別領(lǐng)域新詞、難以顧及上下文語義關(guān)系等問題,特別是在句子結(jié)構(gòu)復(fù)雜、無情感詞出現(xiàn)等情況下,無法有效識別情感傾向。而采用復(fù)雜機(jī)器學(xué)習(xí)或深度學(xué)習(xí)方法,通過深層次的特征學(xué)習(xí)可以提高情感分析的準(zhǔn)確性。雙向長短期記憶神經(jīng)網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)采用雙向門函數(shù)解決長距離依賴問題,適用于對包含時(shí)序信息的數(shù)據(jù)建模,在圖像識別[8]、新詞發(fā)現(xiàn)[9]、文本分類[10]等方面應(yīng)用效果良好。而注意力機(jī)制[11]可以使模型更加關(guān)注關(guān)鍵特征,已廣泛應(yīng)用于圖像分類[11]、機(jī)器翻譯[12]等領(lǐng)域。為此,通過構(gòu)建有標(biāo)注的消費(fèi)者評價(jià)數(shù)據(jù)集,基于BiLSTM和注意力機(jī)制建立卷煙消費(fèi)者評價(jià)情感分類模型,旨在準(zhǔn)確分析消費(fèi)者對卷煙產(chǎn)品的情感傾向,為卷煙產(chǎn)品研發(fā)和精準(zhǔn)營銷提供支持。
使用Python的BeautifulSoup庫采集并解析了煙悅網(wǎng)、中國香煙網(wǎng)等平臺上2 066 個(gè)國內(nèi)卷煙品牌規(guī)格2006—2021 年的消費(fèi)者評價(jià)數(shù)據(jù),共114 214條。運(yùn)用正則表達(dá)式匹配、字符串匹配等方法去除廣告、重復(fù)評論、網(wǎng)頁標(biāo)簽以及只包含數(shù)字或特殊字符等無效數(shù)據(jù),通過大小寫轉(zhuǎn)換、簡繁體轉(zhuǎn)換、數(shù)字歸一化等方法完成數(shù)據(jù)清洗,并按正向、中性、負(fù)向3 種情感傾向?qū)υu價(jià)數(shù)據(jù)進(jìn)行人工標(biāo)注,構(gòu)建了包含78 226 條數(shù)據(jù)的卷煙消費(fèi)者評價(jià)數(shù)據(jù)集,將數(shù)據(jù)集按4∶1 的比例隨機(jī)劃分為訓(xùn)練集和測試集。各情感類別的樣本數(shù)量分布見表1。
表1 各情感類別的樣本數(shù)量分布Tab.1 Sample quantity distribution of each emotion category
由于中文語境下詞與詞之間無明顯邊界,因此如何分詞對文本分析的準(zhǔn)確性影響較大,通用分詞工具應(yīng)用于特定領(lǐng)域往往因缺少領(lǐng)域未登錄詞而難以取得理想效果[13-15]。因不同地區(qū)、不同消費(fèi)者群體對同一種卷煙產(chǎn)品有不同的稱呼,卷煙消費(fèi)者評價(jià)中存在大量煙草領(lǐng)域約定俗成的短語,如產(chǎn)品名、產(chǎn)品別名、抽吸感受等。本研究中綜合考慮了詞的內(nèi)部聚合程度以及所處語境的豐富程度,利用詞頻、點(diǎn)間互信息(Pointwise Mutual Information,PMI)[16]和左右信息熵提取煙草領(lǐng)域的專有詞匯,建立分詞補(bǔ)充詞典,以提高文本分詞的準(zhǔn)確性。點(diǎn)間互信息體現(xiàn)了詞與詞之間的相互依賴程度,PMI值越高,詞與詞之間的相關(guān)性越高,共同組成短語的可能性越大。PMI計(jì)算公式為:
式中:P(X)和P(Y)分別代表詞X和詞Y出現(xiàn)的概率;P(X,Y)代表詞X與詞Y共同出現(xiàn)的概率。
信息熵是衡量信息不確定程度的指標(biāo),左右信息熵代表了一個(gè)詞左右可搭配詞的多樣性,計(jì)算公式為:
式中:A為詞X的左鄰字集合;B為詞X的右鄰字集合。取左右信息熵中的較小值min(EL(X),ER(X))代表詞X的自由程度,該值越大,說明該詞周圍可搭配的詞越豐富,獨(dú)立成詞的可能性也越大。
提取語料庫中所有長度為7 位及以下的字符串作為候選詞,計(jì)算各候選詞的詞頻、點(diǎn)間互信息和自由程度,綜合考慮提取的時(shí)間復(fù)雜度和準(zhǔn)確性,最終將詞頻的閾值設(shè)為4,點(diǎn)間互信息的閾值設(shè)為10,自由程度的閾值設(shè)為4。提取能夠同時(shí)滿足各閾值要求的候選詞作為領(lǐng)域?qū)S性~匯,人工篩選出軟云、軟玉、黃芙、軟藍(lán)樓等詞語構(gòu)建卷煙產(chǎn)品別名表,見表2。將提取出的領(lǐng)域?qū)S性~匯作為分詞補(bǔ)充詞典,采用jieba分詞工具對消費(fèi)者評價(jià)數(shù)據(jù)進(jìn)行分詞。基于構(gòu)建的卷煙產(chǎn)品別名表,統(tǒng)一評價(jià)數(shù)據(jù)中產(chǎn)品名稱的不同表述方式。
表2 部分卷煙產(chǎn)品別名表Tab.2 Aliases of some cigarette products
基于雙向長短時(shí)記憶神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制構(gòu)建BiLSTM-Att情感分類模型。模型由輸入層、詞嵌入層、BiLSTM 層、注意力層以及輸出層構(gòu)成,架構(gòu)見圖1。
圖1 情感分類模型架構(gòu)圖Fig.1 Architecture diagram of emotion classification model
1.3.1 輸入層和詞嵌入層
因分詞后的文本序列長度不一致,需要對序列長度進(jìn)行統(tǒng)一。假設(shè)文本序列最大長度為L,對低于最大長度的序列在其前方用0 補(bǔ)齊,以此統(tǒng)一輸入序列長度。根據(jù)數(shù)據(jù)集特征,將L設(shè)置為200。對于預(yù)處理后的文本序列,采用word2vec[17]的CBOW算法進(jìn)行詞嵌入,將詞匯轉(zhuǎn)換成向量形式。
1.3.2 BiLSTM層
長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[18]是在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,通過設(shè)置遺忘門、輸入門和輸出門,選擇性地遺忘過去無意義的信息,保留新的有用信息。相較于循環(huán)神經(jīng)網(wǎng)絡(luò),LSTM 可以更好地捕捉較長距離的依賴關(guān)系。LSTM的網(wǎng)絡(luò)更新規(guī)則[18]見公式(4)~(9),根據(jù)輸入數(shù)據(jù)xt和t-1 時(shí)刻記憶單元的輸出ht-1,遺忘門ft控制要丟棄的狀態(tài)信息,輸入門it控制要保留的輸入信息,通過tanh層得到候選記憶單元t;在遺忘門、輸入門的共同作用下,得到當(dāng)前單元的狀態(tài)Ct;最后由輸出門ot和單元狀態(tài)Ct得到當(dāng)前記憶單元的輸出ht。
式中:Wf、Wi、WC、Wo分別為遺忘門、輸入門、控制門和輸出門的權(quán)重矩陣;bf、bi、bC、bo分別為對應(yīng)的偏置矩陣;σ(·)為sigmoid 激活函數(shù);tanh 為雙曲正切函數(shù);*為哈達(dá)瑪乘積。
LSTM可以根據(jù)之前時(shí)刻的信息預(yù)測下一時(shí)刻的輸出,但在文本數(shù)據(jù)中一個(gè)詞通常由上下文環(huán)境共同決定,特別是卷煙評價(jià)數(shù)據(jù)中存在情感詞、程度副詞、否定詞之間的交互。例如,“有蘇煙的味道。香得很??!”中“很”用于修飾情感詞“香”的程度;“之前的口糧,勁道還是可以的,現(xiàn)在感覺抽完嘴干得不行”中“不行”用于表達(dá)情感詞“干”的程度。BiLSTM 由正向LSTM 與反向LSTM 組合而成,可以較好地捕捉這種雙向語義。BiLSTM 的網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,將詞嵌入向量分別傳入正向LSTM和反向LSTM,通過拼接正向LSTM產(chǎn)生的隱向量與反向LSTM 產(chǎn)生的隱向量htR,得到句子的編碼向量ht=]。
圖2 BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Structure of BiLSTM network
1.3.3 注意力層和輸出層
由于句子中的每個(gè)詞對評論情感的判斷貢獻(xiàn)不同,在BiLSTM模塊中引入注意力機(jī)制,以減少或忽略無關(guān)信息,突出評論中與情緒相關(guān)的特征,進(jìn)一步提升情感分類的準(zhǔn)確性。將BiLSTM的編碼結(jié)果h=(h1,h2,……,hn)作為注意力層的輸入,根據(jù)公式(10)和(11)計(jì)算不同特征的權(quán)重系數(shù)和注意力值[11],對輸入信息加權(quán)求和,得到目標(biāo)詞的上下文特征。輸出層的激活函數(shù)采用softmax,針對三分類問題,輸出層設(shè)置3個(gè)神經(jīng)元。
采用Python 語言編程,使用Tensorflow GPU
2.5.0 和keras 2.5.0 構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,顯卡采用NVIDIA GeForce RTX 3090。使 用Gensim 中 的word2vec 訓(xùn)練詞向量,訓(xùn)練窗口大小為5,詞向量維度為300。通過網(wǎng)格搜索確定優(yōu)化器Adam 的學(xué)習(xí)率為0.000 2。批樣本大小為64,采用Dropout在訓(xùn)練過程中隨機(jī)忽略20%的特征檢測器,提高模型泛化性能,防止模型過擬合,損失函數(shù)為交叉熵?fù)p失函數(shù)。
將BiLSTM-Att模型與基于情感詞典方法[19]、傳統(tǒng)機(jī)器學(xué)習(xí)方法(使用tfidf 構(gòu)造特征的SVM[20]和使用詞向量構(gòu)造特征的SVM[21])、通用文本情感分析工具(調(diào)用百度AI 開放平臺中的情感傾向分析接口)、LSTM[18]、BiLSTM 進(jìn)行對比,通過優(yōu)化參數(shù)使各方法達(dá)到最佳效果,并采用精確率(Precision)、召回率(Recall)和F1值評價(jià)分類結(jié)果的準(zhǔn)確性。
統(tǒng)一產(chǎn)品名稱和未統(tǒng)一產(chǎn)品名稱的情感傾向三分類結(jié)果見表3??梢?,統(tǒng)一產(chǎn)品名稱后模型的精確率、召回率和F1 值分別提高1.88、1.70、1.78 百分點(diǎn),分類準(zhǔn)確性顯著提升。
表3 統(tǒng)一產(chǎn)品名稱對模型的影響Tab.3 Influence of product alias unifying (%)
情感傾向二分類(正向、負(fù)向)和三分類(正向、中性、負(fù)向)結(jié)果見表4??梢姡c其他方法相比,BiLSTM-Att 的分類準(zhǔn)確性均有一定提升。在二分類中,BiLSTM-Att的F1值比LSTM和BiLSTM分別提高3.20 和1.51 百分點(diǎn);在三分類中,BiLSTM-Att的F1 值比LSTM 和BiLSTM 分別提高2.22 和0.71百分點(diǎn),表明本研究中建立的方法具有有效性。對于較易區(qū)分的二分類問題,基于詞典方法的F1值為89.08%,優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)方法,接近百度AI 和LSTM,說明在有明顯區(qū)別特征情況下,通過足夠多的規(guī)則匹配可以取得較好分類效果。由于中性情感的文本處于兩極分類的邊緣地帶,區(qū)分難度大,因此在三分類問題中各方法的準(zhǔn)確性均有下降?;谠~典方法和百度AI 的準(zhǔn)確性下降明顯,F(xiàn)1 值分別為72.46%和64.08%,說明這兩種方法無法有效識別煙草領(lǐng)域評論的復(fù)雜情感。兩種SVM 方法中,使用tfidf提取文本特征的SVM分類準(zhǔn)確性較高。
表4 情感傾向二分類和三分類結(jié)果對比Tab.4 Comparison of results of binary and ternary emotion classification (%)
根據(jù)情感分類結(jié)果分別繪制正向、中性、負(fù)向評價(jià)的詞云圖,見圖3??梢姡頍熛M(fèi)者的關(guān)注重點(diǎn)是產(chǎn)品的口味、價(jià)格和包裝。正向評價(jià)中“喜歡”“口糧”“適合”“值得”“好看”“飽滿”等關(guān)鍵詞的出現(xiàn)頻率較高,負(fù)向評價(jià)中“不值”“假煙”“惡心”“不行”“垃圾”“炒作”等關(guān)鍵詞的出現(xiàn)頻率較高,中性評價(jià)中的情感詞相對較少。不同類別評價(jià)的關(guān)鍵詞與所表達(dá)的情感一致,再次驗(yàn)證了本研究方法的有效性。
圖3 不同情感類別評價(jià)詞云圖Fig.3 Word cloud map of comments in different emotion categories
基于2006—2021 年2 066 個(gè)卷煙品牌規(guī)格消費(fèi)者評價(jià)數(shù)據(jù),建立了融合雙向長短時(shí)記憶網(wǎng)絡(luò)和注意力機(jī)制的BiLSTM-Att 情感分類模型,并與基于詞典方法、傳統(tǒng)機(jī)器學(xué)習(xí)方法、通用文本情感分析工具、LSTM、BiLSTM 進(jìn)行分類效果對比,結(jié)果表明:①BiLSTM-Att在卷煙消費(fèi)者評價(jià)情感分類中具有較高準(zhǔn)確性。二分類中,F(xiàn)1 值達(dá)到92.89%,比BiLSTM、LSTM和基于詞典方法分別提高1.51、3.20和3.81 百分點(diǎn);三分類中,F(xiàn)1 值達(dá)到80.12%,比BiLSTM、LSTM和基于詞典方法分別提高0.71、2.22和7.66百分點(diǎn)。②在三分類中統(tǒng)一產(chǎn)品名稱可使模型的F1 值提高1.78 百分點(diǎn)。未來將進(jìn)一步開展細(xì)粒度的情感分析研究,以更好地掌握消費(fèi)者對卷煙產(chǎn)品口味、價(jià)格、包裝等方面的需求。