李蘭友,陸金桂,張建德
(1.南京工業大學 機械與動力工程學院,南京 211800;2. 南京工程學院 計算機工程學院,南京 211167)
互聯網的快速發展,催生了“互聯網+”的產品設計新理念,那就是必須要傾聽用戶的心聲。而以論壇、微博等網絡平臺產生的海量評論文本,是商家獲取用戶體驗的重要源泉。利用詞云可視化技術和潛在狄利克雷分布(Latent Dirichlet Allocation,LDA)主題模型等情感分析方法,能自動化地進行情感分析,為企業提供精準的用戶群體特征、全面的評價對象屬性和有效的產品特征識別,有助于企業優化產品設計,為生產企業的商業決策提供數據支撐,便于破壞性創新。
隨著汽車行業的快速發展,汽車產業的競爭日益激烈,而汽車外觀是消費者的第一印象,獲取汽車外觀的評論文本,進行挖掘分析,有助于汽車企業了解用戶的審美意向和情感狀態,進而開發設計出受市場歡迎的汽車產品。本文將詞云可視化技術和LDA主題模型相結合,以SUV車型的太平洋汽車網論壇[1]的68 216×20的原始評論數據為語料來源,構建了情感分析模型,實現對文本評論的傾向性判斷和隱藏信息挖掘,給出了情感傾向性分析結果。
情感分析(Sentiment Analysis)[2-3]又稱情感挖掘(Sentiment Mining)、傾向性分析(Tendentious Analysis)等,是使用自然語言處理、語言學和機器學習等技術進行主觀性意見相關的信息挖掘,并嘗試用這些來計算文本文檔所表示的積極、消極或中性等情感極性的過程,更深層次的,還可以分析文檔中復雜的情緒,例如悲傷、快樂和諷刺語義等。
主流的情感分析方法[4]主要有以下4種:關鍵詞識別、詞匯關聯、概念級技術和統計方法。關鍵詞識別是利用文本中出現的清楚定義的影響詞來影響分類。詞匯關聯除了偵查影響詞以外,還賦予詞匯一個和某項情緒的“關聯”值。概念級的算法思路權衡了知識表達的元素,比如知識本體、語義網絡等,它能探查到文字間比較微妙的情緒表達。統計方法通過調控機器學習中的元素,嘗試用機器學習的方法進行情感分類,常見的統計方法如潛在語意分析法(Latent Semantic Analysis)、SVM法(Support Vector Machines)、詞袋法(Bag of Words)等。
情感分析根據分析載體的不同會涉及到很多不同的主題,像電影評論、輿情分析和產品評論等,研究的目的主要集中在識別給定的文本實體的主客觀分析以及識別主觀文本的極性。姜霖等[5]以豆瓣網站的電影評論為語料庫,利用評論挖掘技術發掘用戶的偏好,實現有效推薦決策。CHEN Kun等[6]運用LDA主題提取,采用TOPSIS方法對手機評論進行可視化分析,得到了市場布局圖形化呈現效果。李昊璇等[7]以圖書購物網站的書籍評論為語料庫,提出了一種基于詞向量和卷積神經網絡的書籍評論情感分類方法。黃磊等[8]以美食、酒店、電影、休閑娛樂、結婚、家裝等6個細分領域的評論為語料庫,提出了一種融合群稀疏與排他性稀疏正則項的神經網絡壓縮情感分析方法。王偉等[9]針對數碼相機評論、影評、手機評論等7類語料來源,采用詞頻統計方法,以SVM法等6種算法進行產品特征和觀點的抽取,得出不同領域下的特征抽取難度是存在差異的結論。李晉源等[10]以京東商城的商品評論為語料庫,提出一種面向方面深度記憶網絡模型的細粒度情感分析方法。趙志濱等[11]使用規則法抽取產品評論中所描述的維度信息,然后分別針對各個維度計算維度情感分析。梁斌等[12]給出了一個多注意力卷積神經網絡的特定目標情感分析方法,并在SemEval2014數據集和汽車領域數據集ADD上進行了試驗,取得了較好的效果。尤天慧等[13]以汽車之家網站的在線評論信息為語料,提出了一種基于情感分析和證據理論的多屬性在線評論決策方法。小鵬汽車創始人何小鵬在Rebuild2020科技全明星峰會上指出未來“好車”的定義是首先要好看,其次就是要展示自我個性,第三點就是車要很智能。從中可以看出“好車”設計的前兩點都和外觀相關,外觀既要好看又要個性,但如何通過產品造型設計表達出來,這是汽車設計師亟待解決的難題。常用的方法之一是通過構建感性意象詞匯空間,建立感性意象詞匯和產品造型之間的映射模型,以達到“好看個性”的感性期望[14]。而汽車外觀評論情感分析則是獲取感性意象詞匯的重要手段,也是評價汽車外觀造型美學的重要方法,具備較高的實用價值。本文將以SUV車型外觀評論語料為基礎,給出一個情感分析的模型和方法。
LDA是由BLEI等[15]于2003年提出的,它假設文檔中主題的先驗分布和主題中詞的先驗分布都遵循了貝葉斯統計基礎理論,而服從狄利克雷分布。LDA包含隱含變量,根據詞的共現信息的分析,擬合出詞(w)、文檔(d)、主題(z)的分布,進而將詞、文本都映射到第一個語義空間中,并采用了詞袋技術的關鍵詞提取模型。令詞表大小為L,一個L維向量(1,0,…,0,0)表示一個詞。由N個詞構成的評論記為d=(w1,w2,…,wN)。假設某一商品的評論集D由M篇評論構成,記為D=(d1,d2,…,dM)。M篇評論分布著K個主題,記為zi(i=1,2, …,K)。記α和β為狄利克雷函數(Dir)的先驗參數,θ為主題在文檔中的多項分布(Multi)的參數,其服從超參數為α的狄利克雷先驗分布,φ為詞在主題中的多項式分布參數,其服從超參數β的狄利克雷先驗分布,LDA模型如圖1所示[16]。

圖1 LDA主題模型結構
LDA模型實際訓練過程中對參數θ、φ的近似估計通常使用馬爾科夫鏈蒙特卡洛算法中的一個特例吉布斯(Gibbs)抽樣。據此,其訓練步驟如下:
(1)隨機初始化,對語料中每篇文檔中的每個詞w,隨機地賦予一個主題編號z。
(2)重新掃描語料庫,對每個詞w按照吉布斯采樣公式重新采樣它的主題,在語料中更新。
(3)重復以上語料庫的重新采樣過程直到吉布斯采樣收斂。
(4)統計語料庫的主題詞共現頻率矩陣,該矩陣就是LDA的模型。
語義網絡模型最先由西蒙(R. F. Simon)于20世紀70年代提出[17],是自然語言理解及認知科學領域研究中的一個概念,用來表達復雜的概念及其相互之間的關系,是一個有向圖,其頂點表示概念,而邊則表示這些概念間的語義關系,從而形成一個由節點和弧組成的語義網絡描述圖。
同時,要想對中文評論文本進行整體結構情感分析,首先就得進行分詞處理,以完成情感信息的抽取工作,而情感信息的分類工作則通過LDA模型以統計學的方式來完成,但這也產生了一個問題,分詞打亂了整個評論文本的結構,從而導致無法全面獲取文本的語義。這就需要采用語義網絡模型將這種原本已凌亂的關系重新進行整合,進而清晰地還原出原始評論文本中所蘊含的語義內容。這是情感分析建模的重要環節,通過詞云可視化分析以及LDA主題模型分析,將評論數據抽取成正面、負面、中性等3個方面,然后對正面、負面兩組數據進行語義網絡重構,在此進行交互診斷,以借助重構的可視化網絡圖,來完成判斷特定產品的優缺點、抽取消費者的興趣點等工作。
本文的分析過程如圖2所示。主要步驟如下:
(1)利用八爪魚爬蟲工具對太平洋汽車網點評頻道進行SUV車型樣本評論文本采集,完成數據采集工作。
(2)通過文本去重、空行刪除、機械壓縮、專用詞典構建、文本分詞、停用詞去除以及關鍵詞提取等操作,完成文本數據的預處理工作。
(3)利用詞云可視化技術、LDA主題分析模型以及情感傾向分析等方法對評論文本數據進行多方面的分析診斷。
(4)獲取用戶情感傾向分析結果,并挖掘出特定SUV車型外觀的優缺點。

圖2 情感分析流程
試驗的硬件平臺為一臺計算機,處理器為Intel(R) Core(TM) i7-6700HQ@2.60 GHz,內存8 G,硬盤容量600 G。Python開發環境在各具體開源庫之間進行了兼容性測試,將不兼容的庫剔除,并替換成最優的相互兼容集成的庫,具體見表1。
自行采集的數據語料庫為60款不同SUV樣本的車主點評頻道評論信息,包括頁面網址、客戶、發表時間、購買車型、購買時間、購買地點、裸車價格、平均油耗、行駛里程、評分、優點、缺點、外觀、內飾、空間、配置、動力、越野、油耗、舒適性等20個維度,從2019年6月13日下午16:30開始至2019年6月19日凌晨3:12結束采集,共整理得到68 216×20的原始文本數據矩陣,采集得到的某款SUV車型的評論文本信息部分維度示例見表2。由于本文重點關注外觀維度的評論語料信息,所以通過Python語言的pandas包專門抽取“外觀”這一個維度的評論信息,組成外觀評論匯總數據集,共68 008條(將外觀這一維度的空數據去除)。

表1 試驗開發運行環境表

表2 文本語料示例表
從語料庫中獲取的評論文本信息含有大量的空格、空行、以及價值低甚至無價值的評論冗余信息,這些信息會對情感分析造成干擾,所以通過文本去重、空行刪除、機械壓縮、停用詞去除等操作來降低噪聲。此外,SUV車型評論會涉及到汽車行業專用詞匯,所以需要構建專用詞典,最后通過文本分詞和關鍵詞提取為后續的情感模型分析奠定數據基礎。
3.3.1 文本去重
針對外觀維度的評論信息如果出現兩條一模一樣的評論,很大的概率就是后一個用戶復制粘貼前一個用戶的,這對情感分析來說,沒有太多價值,還會對詞頻分析造成干擾。所以利用最基礎的比較刪除法來去重,就是兩兩比較,完全相同的就去除,如果有空行的也一并刪除。利用pandas包的unique()函數完成此項操作,共刪除重復數據25 333條。
3.3.2 空行刪除
經過文本去重后,還要判斷讀取的數據是否存在缺失值,可以使用pandas庫中的isnull()函數判斷是否含有空數據。如果文本中還有空行的情況,就利用strip()函數,傳遞“ ”參數實現空行刪除的效果。如果沒有空行,說明沒有缺失值,可以繼續分析。
3.3.3 機械壓縮
機械壓縮操作解決的是評論文本中存在的許多無實際意義的重復詞匯,當讀取的字符與第1個列表的第1個字符相同時,則觸發壓縮判斷,若得出重復,則進行壓縮去除,清空第2個列表,并針對文本開頭及連續重復的語料進行壓縮去詞,例如:
“大氣!大氣??!大氣!??!就是她的大氣吸引我去駕馭她的。”
壓縮后成為:
“大氣?。。【褪撬拇髿馕胰ヱ{馭她的?!?/p>
實際壓縮試驗后,數據由壓縮前的4 386 kB縮小到4 382 kB。
3.3.4 專用詞構建
因本文著重研究汽車外觀文本評論,對于汽車行業的專用詞匯需要進行構建,以防分詞工具誤將專業詞匯拆分。根據網絡擴展語境,通過百度百科等高級搜索工具對一些流行的網絡評價詞匯給予收錄。據此,構建jieba分詞工具的分詞詞典。分詞詞典的格式為一個詞占一行,每一行分為詞語、詞頻(可省略)、詞性(可省略)三部分,用空格隔開,順序不可逆,詞典文本采用utf-8編碼。這里,分詞詞典的詞頻越高,成詞的概率就越大,詞性中“nz”代表其他專有名詞,見表3。

表3 專用詞典示例表
3.3.5 文本分詞
詞在語言理解中是最小的能夠獨立活動的有意義的語言成分,和印歐體系大不相同,中文必須進行分詞處理,才能將句子轉化為詞的表示,通過計算機自動識別出句子的詞,在詞間加入邊界標記符,分隔出各個詞匯,這個切詞的處理過程就是中文分詞。分詞結果的準確性對后續文本情感分析有著很大的影響,如果分詞效果不佳,即使后續算法優秀,也難以實現理想的效果。本文采用Python的中文分詞包“jieba”(結巴分詞)進行分詞,它結合了基于規則和基于統計的這兩類的方法,并且具有豐富的功能和高漲的活躍度,使用簡單,而且Python語言包也豐富,提供了分詞、詞性標注、未登錄詞識別、用戶詞典和停用詞詞典過濾等功能。本次采用結巴分詞庫的精確模式即參數“cut_all=False”。
3.3.6 停用詞去除
在文本分詞中,將對文本含義無貢獻的詞語刪除,以消除對文本情感分析的影響。主要有兩方面特征,一是詞頻高,總量大;二是包含信息量低,對文本情感分析無實際意義。例如“的”“地”“著”等助詞,“哈”“啊”等擬聲詞等,不過在停用詞的去除中,需要保留否定詞。具體采用停用詞表的方式進行過濾,將分詞結果與停用詞表中的詞語進行匹配,若匹配成功,則進行刪除處理。
3.3.7 關鍵詞提取
關鍵詞提取就是根據文本分詞的結果,將詞頻最高的那一部分分詞列出,構建評論文本的關鍵詞列表,同時為繪制詞云圖做好前期準備。采用兩種算法分別進行關鍵詞提取操作,第1種是基于TFIDF算法的關鍵詞抽取,調用的函數為jieba.analyse.extract_tags(),其基本思想是計算出文檔中每個詞的TF-IDF值,然后按降序排列,排在最前面的詞即為關鍵詞;第2種是基于TextRank算法的關鍵詞抽取,調用的函數為jieba.analyse.textrank(),其基本思想是將待抽取關鍵詞的文本進行分詞,然后以固定窗口大小統計詞之間的共現關系,來構建無向帶權圖,進而計算圖中節點的PageRank,最后提取關鍵詞。提取關鍵詞的過程中,獲取文本的純詞頻統計數據。兩種算法的前15個關鍵詞及其詞頻和權重見表4。由表可知,TextRank與TF-IDF這兩種算法均嚴重依賴于分詞結果,但是提取的權重前15個關鍵詞并不完全相同;TextRank算法的效果并不優于TF-IDF算法;TextRank雖然考慮到了詞之間的關系,但是仍然傾向于將高頻詞作為關鍵詞。

表4 關鍵詞及其詞頻和權重示例表
分詞和詞頻都準備好后,就可以制作詞云了。取詞頻最高的前100個分詞為素材,通過Python中的wordcloud庫進行詞云的繪制。繪制詞云一般有兩種方式:一種是采用“/”將詞分開的形式;一種是采用制定詞語頻率字典的形式。本文采用字典的形式進行繪制,并調用了一張SUV車型的背景圖片進行mask,繪制的詞云圖如圖3所示。

圖3 情感分析詞云圖
在外觀評論情感分析中,應用LDA主題生成模型時[18],評論中的特征詞是模型中的可觀測變量,而主題就是每篇文檔的潛在中心思想。主題模型自動分析每個文檔,統計文檔內的詞語,根據統計的信息來斷定當前文檔含有哪些主題,以及每個主題所占的比例各為多少。試驗中,考慮到文本的正面評價和負面評價混淆在一起進行主題分析可能會產生令人困惑的情況,就對文本進行情感極性分析,主要通過以下步驟:
(1)空行刪除、ANSI格式轉換等數據預處理工作。
(2)利用ROSTCM6軟件進行情感傾向性分析,產生正面評價文本、負面評價文本和中性評價文本三大類情感文本結果。
(3)對以上步驟中產生的分類結果數據進行UTF-8格式轉換,去掉情感極性值,只留評論文本。
(4)抽取正面評價文本和負面評價文本,進行分詞和停用詞過濾處理,以及LDA主題分析。
(5)對正面評價文本和負面評價文本進行語義網絡分析,并將LDA主題分析的結果融合到語義網絡中進行綜合診斷。
在進行情感傾向性分析時,采用了武漢大學沈陽教授團隊[19]開發的ROSTCM6軟件,通過此軟件,可以生成“正面情感結果”、“負面情感結果”以及“中性情感結果”,還能進行社會網絡和語義網絡分析,舍棄“中性情感結果”,分別對“正面情感結果”和“負面情感結果”文本進行LDA分析,分析時的效果圖如圖4所示。

圖4 情感分析效果圖
以哈弗H6為特定SUV樣本進行LDA主題分析,在選擇主題個數時,參考了文獻[20]中的困惑度方差指標法(Perplexity-Var)進行了最優主題數目K的確定試驗,最終確定選擇了3個主題聚類,每個聚類產生了10個代表性關鍵詞及其相應的概率值,其正面評價文本潛在主題見表5,負面評價文本潛在主題見表6。

表5 哈弗H6正面評價潛在主題展示表

表6 哈弗H6負面評價潛在主題展示表
在語義網絡分析時,選擇經過ROSTCM6軟件分析得出的正面情感結果和負面情感結果作為輸入文本,進行社會網絡和語義網絡分析,通過軟件的“提取高頻詞”,“過濾無意義詞”,“提取行特征”,“構建網絡”等步驟,得到語義網絡矩陣,并啟動NetDraw語義網絡可視化軟件,得到的語義網絡正面分析結果和負面分析結果如圖5所示。

圖5 語義網絡分析效果圖
由表5可知,對哈弗H6外觀正面評價的主題1的高頻詞為外觀、喜歡、大氣、上檔次、高端、滿意、回頭率和霸氣等,主要反映哈弗H6外觀高端大氣上檔次、用戶喜歡滿意、回頭率高等;主題2的高頻詞關注點是和合資車相比較,不失霸氣的設計,尤其是運動版較為滿意;主題3中的高頻特征詞關注點主要是喜歡、滿意、感覺漂亮等,主要反映哈弗H6外觀漂亮,車主喜歡等。
由表6可知,對哈弗H6外觀負面評價的主題1的高頻詞為外觀、設計、前臉、不好等,即主題1反映的是哈弗H6的前臉設計不好;主題2的高頻特征詞主要是內飾、整體、感覺等,反映的是哈弗H6的內飾給人的整體感覺不好;主題3的關注點主要是升級版、運動版、比較和屁股等,反映的是哈弗H6的升級版、運動版和老版系列比較時,其車尾(屁股)設計有待改進等。
綜合表5、表6、圖5可以看出,哈弗H6外觀設計的優勢主要體現在高端、大氣、霸氣和漂亮等,反映的是車型的整體感性特征是大氣的、用戶喜歡的;而外觀設計的吐槽點主要表現在內飾材料使用方面不滿意、前臉和車尾設計難看、做工粗糙等。對哈弗H6后續換代設計的建議是在保持高端、大氣的感性設計理念不變的基礎上,對前臉和車尾要升級優化,并對內飾設計進行改進,主要改變內飾的使用材料或者增添內飾的高科技元素,提升內飾的檔次和品位。
本文給出了一個針對汽車外觀評論文本進行情感分析的算法和試驗案例,并能針對某SUV車型的用戶情感傾向挖掘出該車型外觀的優點與不足,對于汽車企業獲取用戶心聲,改進設計和決策提供了一種解決方案。后續的拓展主要是訓練文本極性分析的機器學習模型,本文中的ROSTCM6軟件雖然分析效率較高,但是針對帶否定詞如“沒的說”、“不用說”、“不錯”、“不輸給”等的判斷有一定誤差,會將這些雖然帶有否定詞但是具有正面評價的文本判定為負面。