章蓬偉,賈鈺峰,邵小青,拜爾娜·木沙,趙裕峰
(1.新疆科技學院信息科學與工程學院,新疆庫爾勒841000;2.新疆科技學院工商管理系,新疆庫爾勒841000;3.遼寧生態(tài)工程職業(yè)學院電氣工程學院,沈陽110122)
隨著電子商務的普及與發(fā)展,海量評論數(shù)據(jù)爆炸式增長,對電商評論大數(shù)據(jù)做情感分析研究,不僅有助于消費者及時掌握產(chǎn)品口碑以決定購買意向,對于商家根據(jù)產(chǎn)品營銷反饋結(jié)果及時調(diào)整產(chǎn)品服務質(zhì)量也同樣至關(guān)重要。如何從具有數(shù)據(jù)量大、非結(jié)構(gòu)化、含有特定網(wǎng)絡(luò)用語等特點的電商在線評論進行情感分類、挖掘有意義的信息,已經(jīng)成為大數(shù)據(jù)、人工智能、機器學習等交叉領(lǐng)域研究的熱點。
文本情感分析也叫情感傾向性分析,是對帶有情感傾向的主觀性文本進行分析、處理、歸納、推理的過程[1]。情感分析的方法一般有兩種,一種是通過機器學習的方法,把情感分析當成分類問題來解決,要求有分好類的訓練數(shù)據(jù)集,一般是有監(jiān)督學習;另一種是基于情感詞典的方法,計算句子的情感得分,推測出情感狀態(tài),多用于無監(jiān)督學習的問題?;谠~典的方法需要大量標注,基于機器學習的方法在選擇帶有特點語義信息的分類問題上表現(xiàn)更好,但機器學習在特征研究方面泛化能力較差,數(shù)據(jù)訓練不足可能導致分類器失衡[2]。從已有研究看,通過電商評論的文本情感分析取得了一定成效。如HU 等[3]通過情感分析挖掘出用戶對產(chǎn)品的情感傾向;Dasgupta等[4]在2016 年通過對三星手機用戶評論的情感分析,得到消費者對手機信息特征的反饋;李琴等[5]在2018 年基于情感詞典對在線景區(qū)評論進行情感分析得到情感類別傾向性與門票波動之間客觀存在的聯(lián)系。
基于現(xiàn)有研究成果,在此采用基于情感詞典的方法對新疆特產(chǎn)若羌紅棗的評論信息進行情感分析,對數(shù)據(jù)進行挖掘,客觀反映消費者的評價信息和關(guān)注點,并采用SnowNLP 庫對評論數(shù)據(jù)進行情感分數(shù)可視化。
要對電商平臺在線評論數(shù)據(jù)進行情感分析與數(shù)據(jù)挖掘,首先需要爬取相應的評論數(shù)據(jù)??删帉懪老x腳本或采用常用的數(shù)據(jù)采集工具,比如火車采集器、京東智商、生意參謀、八爪魚、淘數(shù)據(jù)等。
逐一試用各種網(wǎng)絡(luò)爬蟲工具,通過實際對比,發(fā)現(xiàn)八爪魚采集器具有更優(yōu)良的方便易用性,能用來模擬真正用戶行為進行數(shù)據(jù)采集。因此實驗采用八爪魚采集器來爬取京東電商平臺下的若羌紅棗在線評論數(shù)據(jù)。
爬取到的電商評論數(shù)據(jù)集存在很多無意義或重復的數(shù)據(jù),如果不進行數(shù)據(jù)清洗預處理,把這些數(shù)據(jù)進行分詞、詞頻統(tǒng)計及情感分析等,會增加很大工作量,甚至影響實驗結(jié)果的準確性。因此首先需要對原始數(shù)據(jù)進行去重、機械壓縮去詞、短句刪除等預處理。
2.3.1 分詞與高頻詞統(tǒng)計
將一個漢字序列按照規(guī)范切割成一個一個單獨的詞語進行中文分詞。中文分詞難度要比英文大得多。在特征選擇過程中,不同的分詞效果直接影響著詞語在文本中的權(quán)重,從而影響數(shù)據(jù)挖掘的效果。此處采用簡單且高效的中文分詞包Jieba 分詞,分詞后去除停用詞,采用哈工大停用詞表、四川大學機器智能實驗室停用詞庫、百度停用詞表等,最終進行詞頻統(tǒng)計,獲得關(guān)鍵詞匯和高頻情感詞匯。實驗具體步驟如圖1 所示。
圖1 分詞統(tǒng)計流程圖
Jieba 分詞有三種模式:全模式(Full Mode)、精準模式(Default Mode)、搜索引擎模式(Search Mode)。全模式分詞試圖把句子中所有可以組成詞的詞語都拆分再組合起來,但結(jié)果有可能重疊,不能解決歧義問題;精準模式分詞試圖將語句最精確地分開,結(jié)果無重疊詞匯,適合做文本情感分析;搜索引擎模式在精準模式的基礎(chǔ)上,把長詞進行再分詞,適用于搜索引擎分詞。此處采用Jieba 分詞的精準模式,調(diào)用cut方法,能較準確地實現(xiàn)評論語句的分詞,但對于一些新興的隨意的網(wǎng)絡(luò)用語進行分詞會存在誤差。比如商品評論信息“若羌紅棗再一次來盤他”,用三種模型的分詞結(jié)果是:
全模式:若羌/紅棗/再一/一次/來/盤/他;
精準模式:若羌/紅棗/再/一次/來盤/他;
搜索引擎模式:若羌/紅棗/再/一次/來盤/他。
發(fā)現(xiàn)每一種分詞都沒有準確識別出2020 年新興的網(wǎng)絡(luò)用語“盤他”這個詞,準確的劃分應該是:若羌/紅棗/再/一次/來/盤他,表示喜愛紅棗。從這條評論語句中得知消費者是回頭客,又一次購買了紅棗。統(tǒng)計的高頻詞匯生成圖云和關(guān)鍵詞柱形圖能更直觀反映出京東平臺消費者對紅棗最關(guān)注的問題。根據(jù)整體詞云進行分析,高頻詞匯有:味道、物流、個頭、衛(wèi)生、京東、包裝等?;乜丛u論數(shù)據(jù)發(fā)現(xiàn),消費者的關(guān)注點集中在3 個方面:1) 對若羌紅棗的味道、包裝、物流非常滿意,給出好評;2) 對紅棗的衛(wèi)生情況總體情感值是積極的;3) 對紅棗的個頭大小不滿意,表現(xiàn)消極情緒。
采用Python 類庫對高頻詞可視化展示處理,得到的高頻詞云如圖2 所示,高頻詞統(tǒng)計柱形圖如圖3 所示。處理程序的核心代碼如下:
圖3 關(guān)鍵詞頻統(tǒng)計柱形圖
2.3.2 基礎(chǔ)詞典整合
情感詞典是標注了帶有感情強度的詞或短語的集合,這些詞語的詞性不限,可以是名詞、動詞或形容詞等。情感詞通常會帶有感情極性,一般分為積極情感詞和消極情感詞。比如詞語“喜愛”的情感傾向是積極的,詞語“厭惡”的情感傾向是消極的。目前大部分的通用情感詞典是通過人工構(gòu)建的。人工構(gòu)建方法主要是通過閱讀大量相關(guān)語料或借助現(xiàn)有詞典,人工總結(jié)出具有情感傾向的詞,標注其情感極性或強度,構(gòu)成詞典[6]。電商產(chǎn)品評論中的情感極性經(jīng)常以短語和網(wǎng)絡(luò)化用語形式存在,因此基礎(chǔ)詞典不能滿足需求,還需特定的領(lǐng)域詞典。在本次實驗中,情感詞典整合了臺灣大學NTUSD 簡體中文情感詞典,知網(wǎng)HowNet 情感詞典,清華大學李軍中文褒貶義詞典TSING,并加入從網(wǎng)上搜集的電商評論相關(guān)的情感詞語集合。HowNet 詞典由情感詞語和評價詞語組成,其中情感詞語由836 個積極情感詞和1254 個消極情感詞組成,評價詞語由3730個積極評價詞和3116 個消極評價詞組成。NTUSD詞典由2810 個積極情感詞和8276 個消極情感詞組成。TSING 詞典由5568 個褒義詞和4470 個貶義詞組成。將這三部分詞典和電商評論相關(guān)詞語情感集合整合去重后,得到新的基礎(chǔ)情感詞典,其中正向情感詞級性為1,負向情感詞級性為-1。通過程序來統(tǒng)計積極、消極詞匯個數(shù),部分代碼如下:
2.3.3 否定詞構(gòu)建
一條語句否定詞的出現(xiàn)往往會改變情感傾向,因此需要構(gòu)建否定詞庫。對評論語句進行情感分析是根據(jù)情感詞前面的否定詞個數(shù),如果是奇數(shù),將情感詞的強度乘以-1,如果是偶數(shù),乘以1。整合常用的否定詞如下表所示。比如“我不喜歡紅棗的包裝”,喜歡是積極情感詞,情感詞前面有一個否定詞“不”,因此整體極性相反,變成了消極情緒。常用的否定詞歸納為表1。
表1 常用否定詞表
2.3.4 程度副詞構(gòu)建
句子中的程度副詞能影響情感的強度。比如“紅棗味道特別好”,“特別”是程度副詞,加強了喜愛情感的程度。本實驗中對程度副詞采用HowNet 程度副詞表,該表中含有219 個程度級別詞語。程度副詞分成5 個級別,代表著情感程度的強弱。根據(jù)具體情況按照梯度下降公式分別對每一級別賦予不同的權(quán)重值[7]。梯度下降公式為:
式中,k=1,2,3,4,5,T1為第一級別程度副詞的權(quán)重值;常數(shù)為梯度的下降率。
2.3.5 算法規(guī)則構(gòu)建
使用整合后的情感詞典,經(jīng)過分詞處理,計算評論句子的情感得分,采用如下方法:使用Python 對情感詞典、否定詞表和程度副詞庫進行讀取。遍歷每一條評論,對于情感詞匯并沒有為每個詞采取加權(quán)處理,分詞后比對整合的情感詞典,如果是積極詞,分值為1,如果是消極詞匯,分值為-1。如果句子中出現(xiàn)程度副詞,分數(shù)乘以權(quán)值指標。對于出現(xiàn)否定詞,采取偶數(shù)得分乘以1,奇數(shù)得分乘以-1。具體算法模型如圖4。
圖4 情感得分算法圖
按照如圖4 的算法模型,經(jīng)實驗,基于情感詞典的情感分析最終準確率為0.785。
NLP(Natural Language Processing)自然語言處理算法可以通過傳統(tǒng)模型、樸素貝葉斯、神經(jīng)網(wǎng)絡(luò)、SVM 等來實現(xiàn)。實驗采用簡單易用的SnowNLP 進行數(shù)據(jù)的初步分析研究。SnowNLP 是Python 的第三方庫。對其調(diào)用進行情感分析時,SnowNLP 有如下情感判斷過程:首先,讀取已分好類的文本negt.txt和pos.txt,再對所有文本進行分詞、去停用詞,從而計算每個詞出現(xiàn)的頻數(shù)[8],最后采用貝葉斯定理計算出概率較大的情感類別。
使用Python 調(diào)用 sentiment 下的情感分類方法,可以對文本情感進行評分,得到的情感分值在0到1 之間,分值大于0.5,情感較為積極;當分值小于0.5,情感較為消極;越接近0,情感越消極。SnowNLP庫中訓練好的模型是基于電商產(chǎn)品評論的數(shù)據(jù),本次研究調(diào)用SnowNLP 庫進行情感分析并沒有重新訓練模型。SnowNLP 情感分析部分代碼如下:
用Matplotlib 生成情感分值分布柱狀圖,實現(xiàn)情感分數(shù)可視化,實驗結(jié)果如圖5 所示。
圖5 情感分值分布柱狀圖
采用八爪魚數(shù)據(jù)采集器爬取數(shù)據(jù),采取Python語言對評論數(shù)據(jù)進行分析,其中采用了基于情感詞典和運用SnowNLP 的方法對若羌紅棗評論數(shù)據(jù)進行了情感分析,獲取排前10 位的高頻詞匯,并把關(guān)鍵詞語進行可視化展示。
通過高頻詞語分析發(fā)現(xiàn),消費者對若羌紅棗的評論還是比較積極的,最關(guān)注的是味道、包裝、京東、物流、衛(wèi)生等,都給出了積極的情感評價,而對于紅棗的個頭偏小,部分評價消極。針對反饋的問題商家可以繼續(xù)在紅棗的味道、包裝質(zhì)量、物流的滿意度上保持優(yōu)勢;針對消費者對紅棗個頭的差評,商家需要改進紅棗的大小不一的情況,比如進一步加強紅棗分級分類,提高產(chǎn)品質(zhì)量,打造過硬的品牌形象。
基于詞典的情感分析結(jié)果準確度偏低,分析原因及改進思路如下:
1)情感詞典的準確度有待進提高,對于情感詞匯應該采取加權(quán)訓練,而不是同等對待,并在此基礎(chǔ)上針對電商產(chǎn)品領(lǐng)域詞匯進行優(yōu)化訓練。
2)句子情感分析的算法有待進一步提高,需要增加語氣助詞的權(quán)值。
3)只單純依靠基礎(chǔ)詞典來判斷情感是不夠的,具體的應用環(huán)境需專業(yè)領(lǐng)域詞典的同時,還需要考慮文本上下文的聯(lián)系。
Python 運用SnowNLP 庫進行情感分析中準確率只有0.728,準確度偏低。原因是沒有采用訓練詞庫。后續(xù)研究可以對SnowNLP 進行優(yōu)化,采用Jieba分詞替換SnowNLP 的分詞方法,設(shè)置自定義詞庫,提高情感分類的準確性。也可增設(shè)精準率、準確率、召回率等準確的指標衡量情感分析的結(jié)果。
研究通過匹配情感詞典,對情感詞、程度副詞、否定詞進行遍歷,計算評論語句的情感值,用SnowNLP 庫進行情感分析,以柱狀圖直觀展示語句情感分數(shù)分布情況,并對實驗進行了初步驗證。人類情感是一個微妙又復雜的帶有主觀意愿的客體,目前計算機進行的文本情感分析,只是從數(shù)學統(tǒng)計學的角度融合機器學習等自然語言匹配的規(guī)則進行的情感分類。機器通過算法用量化標準去區(qū)分情感極性,很難準確把握住隱含的情感。通過大數(shù)據(jù)機器學習等方法能夠不斷提高識別分析的準確度,但是如何訓練讓機器能像人類一樣思維,能區(qū)分并把握住人類細膩多變的情感,任重而道遠。