尚永敏,趙榆琴
(大理大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院,云南大理 671003)
近年來,京東、天貓、小米等網(wǎng)上購(gòu)物平臺(tái)迅速發(fā)展,人們?cè)絹碓狡珢劬€上購(gòu)物。平臺(tái)商品品類豐富,消費(fèi)者群體龐大,且消費(fèi)者在平臺(tái)留下大量評(píng)論。對(duì)于消費(fèi)者,可通過手動(dòng)瀏覽評(píng)論了解商品,但是對(duì)于生產(chǎn)商、分銷商和賣家這類用戶,逐條瀏覽每件商品評(píng)論將是一個(gè)非常耗時(shí)且難于分析的過程,且得出的結(jié)論不易理解,也缺乏客觀證明。如果將這些評(píng)論信息進(jìn)行分類、分析和整理,從中挖掘商品的優(yōu)缺點(diǎn),且能以快捷、準(zhǔn)確、直觀的方式提供給多類用戶,為他們提供選擇或改良商品的參考依據(jù),則問題可有效解決。
情感分類主要有兩種方法:基于機(jī)器學(xué)習(xí)和基于情感詞典的分類?;跈C(jī)器學(xué)習(xí)的分類,是有監(jiān)督的學(xué)習(xí),需要人工對(duì)語(yǔ)料集進(jìn)行正負(fù)樣本標(biāo)注,再選用合適的算法去訓(xùn)練分類器,之后用新的數(shù)據(jù)訓(xùn)練模型得到預(yù)測(cè)的結(jié)果,從而計(jì)算出每條評(píng)論正負(fù)情感的概率〔1〕。目前常用的機(jī)器學(xué)習(xí)分類方法有樸素貝葉斯、支持向量機(jī)(support vector machines,SVM)和鄰近法等。這些方法都被廣泛應(yīng)用于文本評(píng)論挖掘領(lǐng)域,并取得不錯(cuò)的效果。基于情感詞典的分類無須人工標(biāo)注,通過程度副詞、語(yǔ)氣詞等進(jìn)行正負(fù)情感打分,無監(jiān)督學(xué)習(xí)得到分類結(jié)果。SnowNLP方法情感分析,它基于情感詞典實(shí)現(xiàn),可以方便地處理中文文本內(nèi)容,所有的算法均為自動(dòng)實(shí)現(xiàn),并且自帶了一些訓(xùn)練好的字典〔2-5〕。
LDA(latent dirichlet allocation)〔6〕是一種文檔主題生成模型,也稱為一個(gè)三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu)。將分類好的情感視為一篇篇文檔,文檔中的每個(gè)詞都以“一定概率選擇了某個(gè)主題”。通過LDA模型,以確定的主題找到高概率出現(xiàn)的詞語(yǔ),則能分析出文檔(包括正面情感集和負(fù)面情感集)中潛藏的主題信息,實(shí)現(xiàn)對(duì)情感的深度分析。
本文從京東采集3款主流筆記本在線評(píng)論數(shù)據(jù)。首先,對(duì)數(shù)據(jù)進(jìn)行3項(xiàng)預(yù)處理:數(shù)據(jù)清洗、文本分詞和停用詞過濾。然后,分別使用SnowNLP分類方法、機(jī)器學(xué)習(xí)中SVM分類方法和樸素貝葉斯分類方法對(duì)預(yù)處理過的數(shù)據(jù)進(jìn)行情感分類。之后,對(duì)3個(gè)模型的情感分類效果進(jìn)行驗(yàn)證和評(píng)估,以確定適合評(píng)論數(shù)據(jù)分類的最優(yōu)模型。最后,采用LDA主題模型,分主題對(duì)評(píng)論數(shù)據(jù)深入挖掘,按權(quán)重將情感分類的結(jié)果集進(jìn)行分析和可視化,方案設(shè)計(jì)見圖1。
圖1 基于機(jī)器學(xué)習(xí)評(píng)論情感分析方案圖
2.1 數(shù)據(jù)獲取“華為榮耀magicbook14”“聯(lián)想小新pro13”“惠普暗影精靈5”的銷量和市場(chǎng)份額高,評(píng)論數(shù)據(jù)充足,為數(shù)據(jù)分析提供數(shù)據(jù)支持。本文采用八爪魚采集器采集數(shù)據(jù)。見圖2。
圖2 數(shù)據(jù)采集流程圖及部分?jǐn)?shù)據(jù)獲取結(jié)果
2.2 數(shù)據(jù)清洗從文本分析角度出發(fā),若對(duì)不存在價(jià)值的文本內(nèi)容進(jìn)行文本分析,最終的分析結(jié)果必然會(huì)受到較大的影響。因此,在進(jìn)行文本分析之前,先將文本內(nèi)容進(jìn)行數(shù)據(jù)清洗,包括文本去重和短句刪除等過程。本文采用擴(kuò)展庫(kù)Pandas的drop_dupliate函數(shù)去除評(píng)論中的重復(fù)數(shù)據(jù),采用conmments_data進(jìn)行斷句刪除。數(shù)據(jù)清洗結(jié)果見表1。
表1 3種品牌筆記本評(píng)論數(shù)據(jù)清洗結(jié)果
2.3 停用詞過濾停用詞是指那些沒有實(shí)際意義的詞,如“的”“了”等字眼。這些詞對(duì)文本內(nèi)容本質(zhì)含義不影響,其信息含量較低,應(yīng)去除。本文使用“哈工大”停用詞典,以“華為榮耀magicbook14”為例,好評(píng)和差評(píng)的停用詞過濾后的部分結(jié)果見圖3。
圖3 “華為榮耀magicbook14”評(píng)論數(shù)據(jù)停用詞過濾結(jié)果
2.4 文本分詞本文選擇在中文分詞中表現(xiàn)非常出色的jieba分詞包〔7〕。以“華為榮耀magicbook14”為例,好評(píng)和差評(píng)的部分分詞結(jié)果見圖4。
圖4 “華為榮耀magicbook14”評(píng)論數(shù)據(jù)分詞結(jié)果
3.1 分類方法原理SVM模型〔8〕于1995年提出,它可以進(jìn)行預(yù)測(cè)、分類和異常檢驗(yàn),對(duì)于二元分類、線性不可分和變量的高維性方面具有優(yōu)勢(shì)。該模型主要用于有限的樣本,最終目標(biāo)是凸二次規(guī)劃,通過找到最佳分割表面,對(duì)測(cè)試數(shù)據(jù)進(jìn)行分類。SVM方法的解決過程為:先找到最佳超平面,然后分離待分類的數(shù)據(jù),其間通過分類決策面的構(gòu)建和分離間隔的不斷調(diào)整,最終將數(shù)據(jù)分為兩個(gè)最佳部分。
樸素貝葉斯方法是基于單詞和類別之間的聯(lián)合概率,基于已知的先驗(yàn)概率和條件概率來計(jì)算后驗(yàn)概率的分類。公式如下:
使用樸素貝葉斯和SVM兩種方法都先對(duì)向量進(jìn)行轉(zhuǎn)化,再對(duì)分類器進(jìn)行訓(xùn)練,其中訓(xùn)練集占比80%,測(cè)試集占比20%。最后進(jìn)行預(yù)測(cè)分類。
SnowNLP方法,情感分?jǐn)?shù)值在0~1之間,以0.5分界,大于0.5為正面情感,反之為負(fù)面情感〔9〕。但在本文代碼實(shí)現(xiàn)中,為了使分詞的情感更強(qiáng)烈,所以取0.6作為分界點(diǎn)。將概率大于等于0.6的評(píng)論標(biāo)簽賦值為1,小于0.6的評(píng)論標(biāo)簽賦值為-1,以方便將預(yù)測(cè)標(biāo)簽和實(shí)際標(biāo)簽進(jìn)行比較,相同則判斷正確。
3.2 分類方法實(shí)現(xiàn)及結(jié)果分類完成后,主要查看以下兩個(gè)參數(shù)結(jié)果值〔10-11〕:
(1)宏平均(Macro Average):在計(jì)算均值時(shí)使每個(gè)類別具有相同的權(quán)重,最后結(jié)果是每個(gè)類別指標(biāo)的算術(shù)平均值。
(2)加權(quán)平均(Weighted Average):當(dāng)數(shù)據(jù)集中存在嚴(yán)重類別不平衡的問題時(shí),就不適宜單純使用宏平均,此時(shí)可以采取加權(quán)平均,根據(jù)每個(gè)類的樣本量,給每個(gè)類賦予不同的權(quán)重。
在本文的評(píng)論數(shù)據(jù)集中,好評(píng)的數(shù)量遠(yuǎn)多于差評(píng)的數(shù)量,因此在評(píng)定機(jī)器學(xué)習(xí)分類模型時(shí)采用加權(quán)平均作為評(píng)估指標(biāo)。
另外,采用Python中的第三方模塊Sklearn來計(jì)算準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F值(Fscore)。
以“聯(lián)想小新pro13”為例,3種方法分類效果見圖5。
根據(jù)圖5,SVM方法的分類精確率:正面情感(0.969)高,而負(fù)面情感(0.673)低;樸素貝葉斯方法的分類精確率:負(fù)面情感(1.000)高,而正面情感(0.695)低;SVM方法的準(zhǔn)確率(0.815)比樸素貝葉斯方法的準(zhǔn)確率(0.788)高。SnowNLP方法的正面情感精確率、負(fù)面情感精確率和準(zhǔn)確率達(dá)到了0.908、0.935和0.926。
3.3 最優(yōu)分類方法的選擇如何評(píng)價(jià)分類效果的優(yōu)劣是很重要的,好的評(píng)價(jià)指標(biāo)有利于對(duì)分類方法效果進(jìn)行評(píng)估,且可為模型不斷進(jìn)行優(yōu)化提供依據(jù)。評(píng)估分類器性能,比較常見的指標(biāo)是準(zhǔn)確率、精確率、召回率、F值,3種分類方法的4項(xiàng)指標(biāo)結(jié)果見表2,其中SnowNLP分類方法的4個(gè)指標(biāo)均為最高。因此,分類效果最優(yōu)的是基于情感詞典的SnowNLP分類方法。
表2 3款筆記本3種模型分類指標(biāo)對(duì)比表
LDA主題模型的算法原理可總結(jié)為:在給定一系列文檔后,通過對(duì)文檔進(jìn)行分詞,計(jì)算各個(gè)文檔中每個(gè)單詞的詞頻得到“文檔-詞語(yǔ)”矩陣,通過訓(xùn)練“文檔-詞語(yǔ)”矩陣,得到“主題-詞語(yǔ)”矩陣和“文檔-主題”矩陣,進(jìn)而對(duì)文檔中的主題進(jìn)行分析〔12〕。每個(gè)詞語(yǔ)在文檔中出現(xiàn)的概率表示為:
分別選擇3款筆記本SnowNLP方法情感分類后的好評(píng)集和差評(píng)集的若干個(gè)主題,提取關(guān)鍵詞和每個(gè)關(guān)鍵詞的權(quán)重,更好地挖掘商品的閃光點(diǎn)和問題點(diǎn)。
LDA主題模型分析過程如下:
1)使用上文分類好的好評(píng)集和差評(píng)集。
2)調(diào)用gensim庫(kù),使用corpora模塊,構(gòu)建詞典,建立語(yǔ)料庫(kù)。
3)使用model.LdaModel(nunl_topics)指定主題(topic)數(shù)量,進(jìn)行LDA模型訓(xùn)練。
本文指定LDA主題模型的topic數(shù)量為3,進(jìn)行LDA模型訓(xùn)練。以“聯(lián)想小新pro13”為例,構(gòu)建LDA主題模型,主題輸出結(jié)果見圖6。
圖6 “聯(lián)想小新pro13”主題輸出結(jié)果
將好評(píng)集、差評(píng)集主題分析結(jié)果用柱狀圖顯示,結(jié)果見圖7。分析“聯(lián)想小新pro13”好評(píng)集的LDA主題模型的結(jié)果,在3個(gè)主題中“輕薄”“運(yùn)行”“速度”“屏幕”“外觀”表現(xiàn)較為突出,說明用戶對(duì)它的性能較認(rèn)可,對(duì)該款電腦的整體評(píng)價(jià)是滿意的。分析“聯(lián)想小新pro13”差評(píng)集LDA主題模型的結(jié)果,“屏幕”的權(quán)重是最大的,其次是“電腦”“機(jī)器”“使用”等,反映了用戶對(duì)于該款電腦的屏幕不滿意。經(jīng)過人工查閱“聯(lián)想小新pro13”差評(píng)集,發(fā)現(xiàn)對(duì)于“屏幕”這一關(guān)鍵詞指的是電腦出現(xiàn)黑屏、屏幕不居中、像素不好,藍(lán)光畫質(zhì)不清晰這些問題。
圖7 “聯(lián)想小新pro13”好評(píng)主題和差評(píng)主題柱狀圖結(jié)果
總結(jié)各品牌優(yōu)缺點(diǎn),見表3。
表3 3款筆記本優(yōu)缺點(diǎn)匯總表
根據(jù)各品牌的優(yōu)缺點(diǎn),整理提出商品改進(jìn)的建議,主要有以下幾點(diǎn):
1)提高散熱器和風(fēng)扇的質(zhì)量,解決風(fēng)扇聲音大的問題。
2)提高屏幕顯示器的質(zhì)量。在出廠前應(yīng)做好檢驗(yàn)工作,解決出現(xiàn)黑屏、屏幕不居中、屏幕有劃痕等質(zhì)量問題。
3)降價(jià)問題:商家應(yīng)在商品主頁(yè)面給予一定的解釋,寫明活動(dòng)時(shí)間及做好保價(jià)申請(qǐng)服務(wù)。
本文通過對(duì)在線評(píng)論數(shù)據(jù)選用3種分類方法進(jìn)行情感分析,最終確定最優(yōu)的方法是基于情感詞典的SnowNLP庫(kù)分類模型,其平均準(zhǔn)確率、平均精確率、平均召回率和平均F值均在0.928以上。使用LDA主題模型對(duì)在線評(píng)論按主題情感進(jìn)一步分析,將分析結(jié)果以可視化方式呈現(xiàn)出消費(fèi)者對(duì)商品的關(guān)注點(diǎn),為商家改進(jìn)商品、制定生產(chǎn)和銷售方案提供了有意義的參考和依據(jù)。
SnowNLP分類方法和LDA主題模型的結(jié)合使用,可針對(duì)多類在線評(píng)論數(shù)據(jù)進(jìn)行情感分析,例如:學(xué)生評(píng)教信息、客戶服務(wù)評(píng)價(jià)信息、業(yè)務(wù)員評(píng)價(jià)信息、社區(qū)活動(dòng)民主測(cè)評(píng)信息、病人就醫(yī)評(píng)價(jià)信息、試卷評(píng)價(jià)信息、意見征求信息等等。面對(duì)海量的在線評(píng)論信息,先分類出正面情感與負(fù)面情感,再根據(jù)不同主題細(xì)化分析,從而可以構(gòu)建“至上而下、逐步細(xì)化”的樹形數(shù)據(jù)分類方案,從而為信息收集方提供從大量數(shù)據(jù)中得到的算法最優(yōu)、結(jié)果準(zhǔn)確的數(shù)據(jù)分析結(jié)果提供理論依據(jù)和實(shí)施方案。另外,這些數(shù)據(jù)分析結(jié)果根據(jù)不同用戶的需求以數(shù)據(jù)可視化形式展示出來,用戶能從中獲得信息、分析不足、總結(jié)經(jīng)驗(yàn),以進(jìn)行預(yù)測(cè)和決策。
“互聯(lián)網(wǎng)+”時(shí)代,人們的生活和學(xué)習(xí)已產(chǎn)生大量線上數(shù)據(jù),評(píng)論信息只是海量數(shù)據(jù)中的一類,如何將基于機(jī)器學(xué)習(xí)的“SnowNLP+LDA”在線情感分析方案應(yīng)用到其他行業(yè),需要未來繼續(xù)探索和實(shí)踐。