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