尚永敏,趙榆琴
(大理大學數學與計算機學院,云南大理 671003)
近年來,京東、天貓、小米等網上購物平臺迅速發展,人們越來越偏愛線上購物。平臺商品品類豐富,消費者群體龐大,且消費者在平臺留下大量評論。對于消費者,可通過手動瀏覽評論了解商品,但是對于生產商、分銷商和賣家這類用戶,逐條瀏覽每件商品評論將是一個非常耗時且難于分析的過程,且得出的結論不易理解,也缺乏客觀證明。如果將這些評論信息進行分類、分析和整理,從中挖掘商品的優缺點,且能以快捷、準確、直觀的方式提供給多類用戶,為他們提供選擇或改良商品的參考依據,則問題可有效解決。
情感分類主要有兩種方法:基于機器學習和基于情感詞典的分類。基于機器學習的分類,是有監督的學習,需要人工對語料集進行正負樣本標注,再選用合適的算法去訓練分類器,之后用新的數據訓練模型得到預測的結果,從而計算出每條評論正負情感的概率〔1〕。目前常用的機器學習分類方法有樸素貝葉斯、支持向量機(support vector machines,SVM)和鄰近法等。這些方法都被廣泛應用于文本評論挖掘領域,并取得不錯的效果。基于情感詞典的分類無須人工標注,通過程度副詞、語氣詞等進行正負情感打分,無監督學習得到分類結果。SnowNLP方法情感分析,它基于情感詞典實現,可以方便地處理中文文本內容,所有的算法均為自動實現,并且自帶了一些訓練好的字典〔2-5〕。
LDA(latent dirichlet allocation)〔6〕是一種文檔主題生成模型,也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結構。將分類好的情感視為一篇篇文檔,文檔中的每個詞都以“一定概率選擇了某個主題”。通過LDA模型,以確定的主題找到高概率出現的詞語,則能分析出文檔(包括正面情感集和負面情感集)中潛藏的主題信息,實現對情感的深度分析。
本文從京東采集3款主流筆記本在線評論數據。首先,對數據進行3項預處理:數據清洗、文本分詞和停用詞過濾。然后,分別使用SnowNLP分類方法、機器學習中SVM分類方法和樸素貝葉斯分類方法對預處理過的數據進行情感分類。之后,對3個模型的情感分類效果進行驗證和評估,以確定適合評論數據分類的最優模型。最后,采用LDA主題模型,分主題對評論數據深入挖掘,按權重將情感分類的結果集進行分析和可視化,方案設計見圖1。

圖1 基于機器學習評論情感分析方案圖
2.1 數據獲取“華為榮耀magicbook14”“聯想小新pro13”“惠普暗影精靈5”的銷量和市場份額高,評論數據充足,為數據分析提供數據支持。本文采用八爪魚采集器采集數據。見圖2。

圖2 數據采集流程圖及部分數據獲取結果
2.2 數據清洗從文本分析角度出發,若對不存在價值的文本內容進行文本分析,最終的分析結果必然會受到較大的影響。因此,在進行文本分析之前,先將文本內容進行數據清洗,包括文本去重和短句刪除等過程。本文采用擴展庫Pandas的drop_dupliate函數去除評論中的重復數據,采用conmments_data進行斷句刪除。數據清洗結果見表1。

表1 3種品牌筆記本評論數據清洗結果
2.3 停用詞過濾停用詞是指那些沒有實際意義的詞,如“的”“了”等字眼。這些詞對文本內容本質含義不影響,其信息含量較低,應去除。本文使用“哈工大”停用詞典,以“華為榮耀magicbook14”為例,好評和差評的停用詞過濾后的部分結果見圖3。

圖3 “華為榮耀magicbook14”評論數據停用詞過濾結果
2.4 文本分詞本文選擇在中文分詞中表現非常出色的jieba分詞包〔7〕。以“華為榮耀magicbook14”為例,好評和差評的部分分詞結果見圖4。

圖4 “華為榮耀magicbook14”評論數據分詞結果
3.1 分類方法原理SVM模型〔8〕于1995年提出,它可以進行預測、分類和異常檢驗,對于二元分類、線性不可分和變量的高維性方面具有優勢。該模型主要用于有限的樣本,最終目標是凸二次規劃,通過找到最佳分割表面,對測試數據進行分類。SVM方法的解決過程為:先找到最佳超平面,然后分離待分類的數據,其間通過分類決策面的構建和分離間隔的不斷調整,最終將數據分為兩個最佳部分。
樸素貝葉斯方法是基于單詞和類別之間的聯合概率,基于已知的先驗概率和條件概率來計算后驗概率的分類。公式如下:

使用樸素貝葉斯和SVM兩種方法都先對向量進行轉化,再對分類器進行訓練,其中訓練集占比80%,測試集占比20%。最后進行預測分類。
SnowNLP方法,情感分數值在0~1之間,以0.5分界,大于0.5為正面情感,反之為負面情感〔9〕。但在本文代碼實現中,為了使分詞的情感更強烈,所以取0.6作為分界點。將概率大于等于0.6的評論標簽賦值為1,小于0.6的評論標簽賦值為-1,以方便將預測標簽和實際標簽進行比較,相同則判斷正確。
3.2 分類方法實現及結果分類完成后,主要查看以下兩個參數結果值〔10-11〕:
(1)宏平均(Macro Average):在計算均值時使每個類別具有相同的權重,最后結果是每個類別指標的算術平均值。
(2)加權平均(Weighted Average):當數據集中存在嚴重類別不平衡的問題時,就不適宜單純使用宏平均,此時可以采取加權平均,根據每個類的樣本量,給每個類賦予不同的權重。
在本文的評論數據集中,好評的數量遠多于差評的數量,因此在評定機器學習分類模型時采用加權平均作為評估指標。
另外,采用Python中的第三方模塊Sklearn來計算準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F值(Fscore)。
以“聯想小新pro13”為例,3種方法分類效果見圖5。
根據圖5,SVM方法的分類精確率:正面情感(0.969)高,而負面情感(0.673)低;樸素貝葉斯方法的分類精確率:負面情感(1.000)高,而正面情感(0.695)低;SVM方法的準確率(0.815)比樸素貝葉斯方法的準確率(0.788)高。SnowNLP方法的正面情感精確率、負面情感精確率和準確率達到了0.908、0.935和0.926。
3.3 最優分類方法的選擇如何評價分類效果的優劣是很重要的,好的評價指標有利于對分類方法效果進行評估,且可為模型不斷進行優化提供依據。評估分類器性能,比較常見的指標是準確率、精確率、召回率、F值,3種分類方法的4項指標結果見表2,其中SnowNLP分類方法的4個指標均為最高。因此,分類效果最優的是基于情感詞典的SnowNLP分類方法。

表2 3款筆記本3種模型分類指標對比表
LDA主題模型的算法原理可總結為:在給定一系列文檔后,通過對文檔進行分詞,計算各個文檔中每個單詞的詞頻得到“文檔-詞語”矩陣,通過訓練“文檔-詞語”矩陣,得到“主題-詞語”矩陣和“文檔-主題”矩陣,進而對文檔中的主題進行分析〔12〕。每個詞語在文檔中出現的概率表示為:

分別選擇3款筆記本SnowNLP方法情感分類后的好評集和差評集的若干個主題,提取關鍵詞和每個關鍵詞的權重,更好地挖掘商品的閃光點和問題點。
LDA主題模型分析過程如下:
1)使用上文分類好的好評集和差評集。
2)調用gensim庫,使用corpora模塊,構建詞典,建立語料庫。
3)使用model.LdaModel(nunl_topics)指定主題(topic)數量,進行LDA模型訓練。
本文指定LDA主題模型的topic數量為3,進行LDA模型訓練。以“聯想小新pro13”為例,構建LDA主題模型,主題輸出結果見圖6。

圖6 “聯想小新pro13”主題輸出結果
將好評集、差評集主題分析結果用柱狀圖顯示,結果見圖7。分析“聯想小新pro13”好評集的LDA主題模型的結果,在3個主題中“輕薄”“運行”“速度”“屏幕”“外觀”表現較為突出,說明用戶對它的性能較認可,對該款電腦的整體評價是滿意的。分析“聯想小新pro13”差評集LDA主題模型的結果,“屏幕”的權重是最大的,其次是“電腦”“機器”“使用”等,反映了用戶對于該款電腦的屏幕不滿意。經過人工查閱“聯想小新pro13”差評集,發現對于“屏幕”這一關鍵詞指的是電腦出現黑屏、屏幕不居中、像素不好,藍光畫質不清晰這些問題。

圖7 “聯想小新pro13”好評主題和差評主題柱狀圖結果
總結各品牌優缺點,見表3。

表3 3款筆記本優缺點匯總表
根據各品牌的優缺點,整理提出商品改進的建議,主要有以下幾點:
1)提高散熱器和風扇的質量,解決風扇聲音大的問題。
2)提高屏幕顯示器的質量。在出廠前應做好檢驗工作,解決出現黑屏、屏幕不居中、屏幕有劃痕等質量問題。
3)降價問題:商家應在商品主頁面給予一定的解釋,寫明活動時間及做好保價申請服務。
本文通過對在線評論數據選用3種分類方法進行情感分析,最終確定最優的方法是基于情感詞典的SnowNLP庫分類模型,其平均準確率、平均精確率、平均召回率和平均F值均在0.928以上。使用LDA主題模型對在線評論按主題情感進一步分析,將分析結果以可視化方式呈現出消費者對商品的關注點,為商家改進商品、制定生產和銷售方案提供了有意義的參考和依據。
SnowNLP分類方法和LDA主題模型的結合使用,可針對多類在線評論數據進行情感分析,例如:學生評教信息、客戶服務評價信息、業務員評價信息、社區活動民主測評信息、病人就醫評價信息、試卷評價信息、意見征求信息等等。面對海量的在線評論信息,先分類出正面情感與負面情感,再根據不同主題細化分析,從而可以構建“至上而下、逐步細化”的樹形數據分類方案,從而為信息收集方提供從大量數據中得到的算法最優、結果準確的數據分析結果提供理論依據和實施方案。另外,這些數據分析結果根據不同用戶的需求以數據可視化形式展示出來,用戶能從中獲得信息、分析不足、總結經驗,以進行預測和決策。
“互聯網+”時代,人們的生活和學習已產生大量線上數據,評論信息只是海量數據中的一類,如何將基于機器學習的“SnowNLP+LDA”在線情感分析方案應用到其他行業,需要未來繼續探索和實踐。