胡龍茂,胡戴新
(1.合肥工業大學 計算機與信息學院,合肥 230601;2.安徽財貿職業學院,合肥 230601)
隨著網購市場交易規模不斷增長,消費者發表的購后評論也越來越多。海量的評論信息無論對消費者還是企業來說都是可以開發和利用的寶貴資源。對于企業來說,消費者對產品以及產品具體特征的評價,往往隱含消費者對產品特征的某種偏好。在競爭日趨激烈的環境下,只有掌握消費者具體偏好哪些特征,企業才能制定相應的差異化營銷策略,從而提升產品的辨識度及競爭力。
目前,很多學者采用自然語言處理技術對產品評論進行細粒度挖掘,利用各種方法從評論中抽取“產品特征─評價短語”對(也稱評價單元)。Hu等人[1]首次提出應用關聯規則方法提取英文評論中的產品特征,并將產品特征附近的形容詞作為評價詞。后續研究者結合詞性、語法及句法提煉抽取規則,識別評論中的評價單元[2-4]。由于受制于評論的口語化及隨意性,上述基于規則的方法的抽取精度很難得到進一步提升,不少學者嘗試使用監督方法進行抽取。學者們大多從詞、詞性、語法及語義等角度提取特征,利用條件隨機場(CRF)抽取評價單元[5-7]。胡新明[8]在利用模板抽取評價單元的基礎上,進一步利用情感詞典計算偏好程度,構建了用戶偏好矩陣,實驗結果表明,由偏好矩陣計算出的偏好值和用戶評分之間沒有顯著差異。
現有研究主要集中于評價單元的抽取,針對消費者偏好的研究極少,且文獻[8]用產品特征的評價均值來度量消費者偏好的方法和我們的觀察不符。如有以下用戶評論:
例1電池中度使用也可以用一天半左右,就是有點發熱!值得購買!4.0分
例2機子是個裸機,是低端版的,價錢稍貴。電池不怎么耐用,一天要充兩回電。好在機子速度不錯,也是正品,贊!5.0分
在例1中可以抽取的產品特征、評價短語及評價值(量化為1~5分)為<電池,一天半左右,4><發熱,有點,2>,按照文獻[8]的方法,用戶評論的評分應為3分,而實際上用戶給出的評分為4分。在例2中,可抽取<價錢,稍貴 2><電池,不怎么耐用,2><速度,不錯 4>,按照文獻[8]的方法,用戶評論的評分應為3分,但用戶評分為5分。分析以上兩個例子,我們發現,用戶并不會同等看待所有產品特征,而是對某些特征有所偏好,從而對產品進行總體評分時會將偏好的特征賦予較大的權重。如例1的用戶偏好“電池”;例2的用戶明顯偏好“速度”。因此,提出一種新的方法從產品評論中挖掘消費者偏好。首先,從產品評論中挖掘產品特征、特征評價值及消費者信息。然后,利用Logistic回歸構建消費者偏好模型,并實證考察不同消費人群的偏好信息。
通過網絡爬蟲從B2C電子商務網站中抓取某種產品的所有評論信息,從評論中挖掘出產品特征、產品特征評價值(通過將特征對應的觀點及強度轉化為具體的數值得到)以及消費者的信息,最后利用二元Logistics回歸分析確定不同類別消費者關于產品特征的偏好。系統的總體框架如圖1所示。

圖1 產品評論中消費者偏好模型構建框架
主流的電商網站有京東、天貓、蘇寧和亞馬遜等,前三家均存在好評返現等情況,評論的可信度不高,而亞馬遜更注重評論的真實性和質量,因而編寫網絡爬蟲從亞馬遜中國網站爬取某熱門手機的評論信息,包括用戶鏈接、評論文本和評分。為識別消費者信息,抽取評論中的用戶鏈接,根據用戶鏈接爬取此用戶發表的所有商品評論信息(包括用戶名以及每條商品評論的商品名、評論標題、評論文本)。由于在后續消費者偏好的挖掘處理中,消費者的性別及產品特征的評價值均通過機器學習得到,故分別抓取同一廠商熱銷的兩款手機評論數據(分別稱為A款和B款),其中A款評論數據用于模型訓練,B款評論數據用于預測。以A款評論數據為例,包括A款手機評論文本、評分及A款手機用戶發表的所有評論信息。
消費者的昵稱、購買的商品名稱、評論標題或文本中指示身份的詞語、評論文本的用詞習慣等都會隱含指示消費者的信息[9]。人工對用戶發表的所有評論進行閱讀,標注性別信息,以文獻[9]中的方法抽取特征,采用最大熵方法建模,然后用模型預測未標注的用戶性別。
1.3.1 評價單元抽取
評價單元的抽取主要包括兩種方法:一是基于規則模板的方法,這種方法無須人工標注數據,但抽取精度不太高;另一種是基于條件隨機場的方法,該方法需要人工標注語料,如果能夠構造好的特征,往往能取得不錯的抽取精度。由于抽取精度是關系到后續偏好識別的關鍵步驟,本文采用CRF方法。對評論文本進行分詞和詞性標注,在特征選取中除采用傳統的詞及詞性特征外,提取相關詞、句首距離、后指轉折詞及前指副詞4種語義特征,并在CRF抽取評價單元的基礎上,對孤立的產品特征采用Stanford NLP依存句法分析,抽取其對應的評價短語。4種語義特征如下所示。
(1)如果中的相關詞一個詞是產品特征詞,則與其相關度高的詞很有可能也是產品特征詞。利用擴展同義詞林計算兩個詞語的相似度[10],再計算詞語的語素相似度[11],將二者結合,形成詞語的相似度,公式如下:
(1)
式中NS(w1,w2)表示兩個詞的相似度,CS(w1,w2)為詞林相似度,MS(w1,w2)為語素相似度。
產品特征主要由名詞和名詞詞組組成,利用相似度計算名詞相關詞的公式如下:
RWlist(w1)={w2|NS(w1,w2)≥λ,
(2)
式中λ代表閾值(通過實驗調整優化,最終設置為0.5)。統計每個名詞在評論中出現的頻次,取相關詞列表中頻次最高的詞為當前詞的相關詞。
(2)句首距離。用戶往往采用開門見山的方式對某個產品特征進行評價[12],這使得在分句句首或離分句句首很近的詞成為產品特征的可能性增大。如分詞后的用戶評論“手機反應還一般吧,外形不錯”中存在“反應”“外形”兩個產品特征,其中“反應”的句首距離為2,“外形”的句首距離為1。
(3)后指轉折詞。轉折詞表明用戶會對某個產品特征持有負面評價。常見的轉折詞有“就是”“只是”等。
(4)前指副詞。“也”“都”“不”“確實”和“真的”等副詞后面往往是評價語,其前面往往是所評價的產品特征。
采用上述特征對CRF模型進行訓練,然后用訓練后的模型對評論進行標注,標注結果中包含產品特征和評價短語。如果產品特征附近有評價短語,則配對成評價單元;否則,產品特征成為孤立產品特征。采用文獻[7]中提出的nsubj關系抽取孤立產品特征對應的評價詞,然后將與評價詞依存關系為advmod和neg的詞抽取作為評價詞的修飾詞,最后將評價詞和修飾詞組成評價短語。
由于用戶評論存在隨意性(如沒有斷句)和口語化現象,一些產品特征未能被CRF模型識別。將CRF模型識別超過一定次數的產品特征作為頻繁特征,在評論文本中進行查找,如果未被CRF模型標注,則進行標注,并按依存關系抽取其后的評價短語,構成遺漏的頻繁評價單元。
經上述抽取過程,我們能夠抽取到顯式的評價單元。然而,用戶評論中還存在一些隱式評價單元,如在評論“便宜,配置不低,細節之處還有提升的空間”中,便宜指的是價格,評論中存在隱式評價單元<價格,便宜>。中文詞語之間存在固定的搭配關系,特定的形容詞往往只會修飾固定的幾個名詞[13],如在手機評論語料中,與形容詞“好”經常搭配的名詞有“手感”“信號”和“質量”。抽取評價短語中的形容詞(即評價詞),將相同評價詞修飾的產品特征歸集到一起,統計出現頻率最高的產品特征,如果頻率超過某個閾值,將此產品特征作為此評價詞默認評價的產品特征。在標注后的評論句中查找評價詞,如果評價詞前面沒有產品特征,則將評價詞前面最近的名詞作為產品特征,然后將評價詞前面的副詞作為評價詞修飾詞,從而形成隱式評價單元。
1.3.2 合并同類產品特征
由于用戶表述習慣不同,相同的產品特征會用不同的詞語表示,如“價格”還會說成“價錢”和“價位”。另外,用戶還會對同類特征的不同方面進行評價,如對于“外觀”,可能的評價有“正面”“背面”或“側面”。為減少特征的稀疏性,需對同類產品特征進行合并。為保證后續偏好分析的精度,采用人工方式對同類產品特征進行合并。
1.3.3 特征評價值
用戶對產品特征的評價不但有極性,還有強度上的差異。極性詞通常為形容詞(如“好”),也包括少數動詞(如“喜歡”)。強度詞通常為程度副詞,如“非常”等。用知網情感詞典和評價詞典標注評價短語中的評價詞,正面評價詞標注為1,負面評價詞標注為-1;對于未出現在知網情感詞典中的評價詞,人工標注其情感傾向。在文獻[14]的基礎上,將情感強度詞設置如表1所示。

表1 情感強度詞
評價短語的情感分計算公式如下所示:
特征評價值=程度級別×極性
(3)
根據式(3)計算得出評價值后,仿照用戶評分,將評價值離散化為5個等級如公式(4)所示。
(4)
式中,score_dfea表示離散化的評價值,scorefea表示未離散化的評價值。
Logistics回歸模型是一種對二分類因變量 (因變量取值有1或0兩種可能) 進行回歸分析時經常采用的非線性分類統計方法[15]。借助該模型能夠分析多個自變量(連續變量或分類變量)與一個二分類因變量變化的依存關系[16]。公式如下所示:
(5)
式中:P為事件(用戶的評分為好評)發生的概率;x1,x2,…,xk為自變量,表示特征評價值(1~5分);β0為截距;β1,β2,…,βk為回歸系數。由于自變量都是同量綱的,回歸系數越大,其對應的自變量對因變量的貢獻越大,故回歸系數可以看成是消費者對產品特征的偏好系數。
為驗證模型的有效性,編寫網絡爬蟲從亞馬遜中國網站爬取某國產手機廠商兩款(分別稱為A款和B款)暢銷產品的用戶評論,并且對于每條用戶評論,爬取此用戶對所購其他產品的評論。評論數據中共包含A款手機評論1 169條(對應爬取此1 169個用戶對于其他產品的評論)。B款手機評論1 033條(對應爬取此1 033個用戶對于其他產品的評論),A款手機評論用于評價單元識別模型的構建;A款手機用戶對其他產品的評論用于性別識別模型的構建,B款手機評論及B款手機用戶對其他產品的評論用于從構建好的模型抽取評價單元及識別用戶性別。
實驗所用編程語言采用python,自然語言處理工具采用Stanford NLP,條件隨機場采用CRF++0.58,Logistics回歸分析采用SPSS 20。
采用A款手機評論數據,按文獻[9]構建最大熵模型,利用此模型識別B款手機評論中1 033個用戶的性別,其中女性用0表示,男性用1表示。
采用A款手機評論數據,構建2.3.1節提出的CRF評價單元識別模型,在B款手機評論中,共識別出評價單元586個。將出現次數超過3次的產品特征作為頻繁特征,再次在評論文本中進行標注和識別,共識別遺漏的評價單元354個。
將上兩步抽取的評價單元中的評價短語分類,統計評價詞對應的產品特征的頻次,表2顯示了出現10個常見評價詞對應的頻率最高的三個產品特征。

表2 評價詞對應的頻率最高的三個產品特征
設置出現頻率超過30%的產品特征為評價詞對應的默認產品特征,如表2中粗體所示。按照默認產品特征,從評論文本中抽取了評價單元137對。
經過上述三個步驟,從評論文本中共獲得評價單元1 077個,其中共評價了102個產品特征。人工識別同類產品特征,共識別為16類,分別為:運行、外觀、電池、屏幕、質量、拍照、性價比、發熱、價格、信號、系統、手感、配置、音質、功能、通話。在人工識別時發現,“系統”存在兩種含義,一種是“操作系統”(評價詞為“人性化”“好用”或其反義詞等),仍將其標識為“系統”;另一種是“運行”(評價詞為“快”“流暢”或其反義詞等),將其重新標識為“運行”。表3顯示了部分同類產品特征。

表3 部分同類產品特征
按照公式(3)計算出產品特征的評價值。統計產品特征出現的次數及評價均值,如圖2所示。

圖2 產品特征出現次數及評價均值
從圖2中可以看出,用戶評價次數最多的產品特征依次為“運行”“外觀”和“電池”,評價次數最少的產品特征依次為“通話”“功能”和“音質”。評價均值較高的產品特征依次為“性價比”“運行”和“手感”,評價均值較低的產品特征依次為“質量”“發熱”和“音質”。用戶的評價值和手機廠商的產品宣傳還是比較一致的,此款手機為華為的千元級智能手機,主打性價比和運行的流暢性,對音質沒有過多的訴求。由于主打性價比,限制了設計和軟硬件成本,質量較難管控,導致用戶對質量評價較低,用戶反映最多的為“黑屏”“死機”和“按鍵失靈”。
從評價單元的抽取結果中可以看出,不少用戶只是對產品給出總體評價而沒有針對具體的產品特征展開評價,還有少數用戶使用混合評價,既對產品特征評價,也對服務(如快遞、電商平臺)展開評價。在這兩種評價中,用戶給出的評分不是(或不純粹是)產品特征評價的綜合,在構建偏好模型時需要丟棄。通過丟棄上述兩種評價,共獲得用于構建偏好模型的有效評論521條,評價單元1 027個。
用戶通常只會評價比較關注的特征,如果某類特征出現次數較少,說明用戶關注度較低,不宜放到偏好模型中。取出現次數超過10%的特征作為常見特征,包含運行、外觀、電池、屏幕、質量、拍照、性價比和發熱共8個特征。觀察發現,即使是用戶關注度較高的8個常見特征,也存在很多缺失值。因此,用戶如果對某個常見特征沒有作出顯式評價,表明其態度為不置可否,由于本文中正面評價取值為1,負面評價值為-1,故可將用戶沒有評價的產品特征的評價值設置為0。補充缺失值后,按照公式(4)將評價值離散化為1~5分。為便于Logistics回歸分析,將用戶評分二值化,參照亞馬遜中國網站的設置,將評分小于等于3分作為差評(用0表示),4分及5分作為好評(用1表示)。用戶性別及評分的統計數據如表4所示。

表4 用戶性別及評分分布
將八個常見產品特征的評價值(分別用x1~x8表示)和用戶性別(x9)作為自變量,將二值化的用戶評分作為因變量,利用SPSS 20進行二元Logistics回歸分析,自變量的加入方式采用向前步進,獲得全體用戶的Logistics模型如式(5)所示:
logit(P)=-25.103+1.136x1+0.839x2+1.264x3+1.197x4+2.959x5+1.321x8,
(5)
從式(5)中可以看出,拍照(x6)、性價比(x7)和性別(x9)在模型中不顯著,而質量(x5)、發熱(x8)和電池(x3)的系數最大。總體而言,用戶最為偏好質量,其次為發熱情況,再次為電池,而拍照、性價比和性別對評分的影響不大。
提取女性用戶的數據,嘗試建立女性用戶的偏好模型。由于女性用戶的差評數據為31條(見表4),而在Logistics回歸模型中,為保證統計意義,每個水平的數據應至少為自變量個數的10倍[17],故選取最常見特征中的3個作為自變量構建模型,結果如式(6)所示:
logit(P)=-14.498+1.789x1+1.120x3+2.281x5,
(6)
類似地,提取男性用戶的數據,將前5個最常見的產品特征作為自變量,構建男性用戶偏好模型如公式(7)所示:
logit(P)=-16.103+1.124x1+1.485x3+3.111x5,
(7)
從式(6)和式(7)可以看出,女性用戶和男性用戶的共同點是最為偏好質量(x5)。其差異為女性用戶除質量外,更為偏好運行(x1),其次才是電池(x3);而男性用戶除質量外,更為偏好電池(x3),其次為運行(x1)。模型的差異反映出女性用戶偏感性,偏好手機運行更加流暢,這也可能是蘋果手機吸引女性用戶的一個主要原因,而男性用戶更看重電池是否耐用,這也可能是與男性用戶出門攜帶物品力求精簡有關。
B款手機的廠家應嚴把質量關,提升品控能力,讓用戶用得放心;另外,廠家還應改進設計,提高手機的散熱效果。分用戶群體來說,此款手機的主要用戶為男性,為提升用戶體驗,應適當提高電池容量或減少系統的耗電量,使得用戶不再為充電而焦慮,將電池性能作為主要賣點著力宣傳;雖然女性群體用戶只占約五分之一,但女性的消費能力強,如果希望獲得女性用戶的青睞,應優化系統設計,使得運行更加流暢,有效宣傳給女性用戶。
本文首先采用CRF模型抽取評價單元、頻繁特征抽取遺漏評價單元、評價詞抽取隱式評價單元3種方法,從評論中抽取評價單元,利用情感詞典計算評價短語的情感分,然后在獲得用戶的所有評論的基礎上構建最大熵模型識別用戶性別,最后以常見產品特征為自變量、用戶評分為因變量,利用Logistics模型分別構建了總體偏好模型及不同性別用戶偏好模型,分析了群體用戶和不同性別用戶的偏好并給出了相應建議。
本文也存在一些不足,主要是評論樣本不夠多,篩選不出足夠的評價多個產品特征的評論文本,使得產品特征評價值矩陣中缺失值過多,雖然采用中性評價值代替缺失值的方法比較合理,但離用戶的真實評價仍會有偏差,勢必會影響后續偏好模型的解釋效果。下一步研究中應選擇評論數量更多的產品進行偏好挖掘,并提高評價單元的抽取精度。