python基于評論情感分析和回歸、arima銷量預(yù)測的購物網(wǎng)站選品
全文鏈接:http://tecdat.cn/?p=31678
原文出處:拓端數(shù)據(jù)部落公眾號
分析師:Ru Bai
網(wǎng)絡(luò)購物模式已成為越來越重要的產(chǎn)品銷售模式,亞馬遜網(wǎng)站早在1995年就開始邀請產(chǎn)品消費者發(fā)表在線評論,此舉帶來了良好的效果,目前幾乎所有的網(wǎng)站都采用了同樣的方式。這是因為在線評論:與該網(wǎng)頁上的產(chǎn)品銷售有著直接相關(guān),便于消費者了解產(chǎn)品信息和服務(wù),并且消費者認(rèn)為評論信息具有更高的可信度;對企業(yè)網(wǎng)絡(luò)購物平臺經(jīng)營決策起作用,利于企業(yè)選擇進入市場的時間,選擇更受消費者青睞的商品,提高效益。
本文旨在為某公司客戶提供線上銷售策略,基于不同于以往的分析方式,分析在線評論內(nèi)部各屬性的特點以及他們之間的關(guān)系,并從動態(tài)的角度探究產(chǎn)品在網(wǎng)絡(luò)平臺上名譽的變化和發(fā)展?jié)摿Γ瑥亩岢鲇兄谔岣咪N量的建議。
解決方案
任務(wù)/目標(biāo)
分析產(chǎn)品口碑的影響因素,從評論情感分析和銷量預(yù)測兩個角度對網(wǎng)站選擇商品和網(wǎng)站運營給出建議。
數(shù)據(jù)源準(zhǔn)備
以在線評論作為基礎(chǔ)數(shù)據(jù)源(來自于亞馬遜網(wǎng)站的)
數(shù)據(jù)預(yù)處理
數(shù)據(jù)處理的目的是為了去除掉數(shù)據(jù)集中的臟數(shù)據(jù),從而確保數(shù)據(jù)質(zhì)量,提高數(shù)據(jù)可用性與使用率,保證分析結(jié)果的準(zhǔn)確性。因此,根據(jù)本文數(shù)據(jù)處理的需要,我們需要對數(shù)據(jù)集進行如下數(shù)據(jù)處理:
a、刪除對應(yīng)產(chǎn)品不屬于我們要研究的品類的數(shù)據(jù)。本文只針對吹風(fēng)機、微波爐、奶嘴,其他產(chǎn)品不具有參考價值。
b、刪除評論星級不屬于[1,5]的數(shù)據(jù)。商品的星級評分在亞馬遜網(wǎng)站上都是1-5范圍內(nèi),但是由于系統(tǒng)bug,會導(dǎo)致出現(xiàn)超出此范圍的評分,超出了正常值域范圍。
c、刪除helpful votes大于total votes的數(shù)據(jù)。認(rèn)為其為錯誤數(shù)據(jù)。
d、刪除review title、review body均為空的數(shù)據(jù)。當(dāng)這兩個均為空時,這條數(shù)據(jù)沒有傳遞任何評論信息,因此根據(jù)數(shù)據(jù)有效性原則。
e、基于本文產(chǎn)品預(yù)測的目標(biāo),我們需要按照時間維度對得到的產(chǎn)品信息進行劃分,并且按照同一產(chǎn)品的ID在時間維度上進行匯總。對于評論總數(shù)小于20的產(chǎn)品、后幾年的評論總數(shù)均為0的產(chǎn)品我們選擇刪除。數(shù)據(jù)顯示為0可能是數(shù)據(jù)儲存失敗、存儲器存在問題等原因,也可能是該產(chǎn)品退出了市場,對產(chǎn)品預(yù)測沒有參考意義。
文本預(yù)處理
a、對評論文本數(shù)據(jù)進行規(guī)范化。瀏覽數(shù)據(jù)集中的評論數(shù)據(jù),我們發(fā)現(xiàn)有很多評論中出現(xiàn)單詞拼寫錯誤、表情符號使用較多以及其他冗余信息,他們不僅不能提供任何有用信息,還會影響模型的運行效率。因此,我們需要過濾掉這些信息:
b、英文分詞。
1)運用python對每一條評論進行英文分詞。
2)去掉標(biāo)點符號和停用詞。冠詞、介詞、副詞、連詞等雖然在評論中出現(xiàn)的頻率較高,但是它們無法表示評論信息的特征。
c、詞性標(biāo)注和詞頻統(tǒng)計。由于我們要對產(chǎn)品設(shè)計提出更好的建議,為了盡量符合消費者的需要,我們需要從評論中提取出相應(yīng)的信息。標(biāo)注產(chǎn)品屬性和消費者情感中涉及到的名詞、形容詞、副詞和否定詞等。
建模
模型一:零膨脹負(fù)二項回歸模型
以信息采納理論和負(fù)面偏差理論為基礎(chǔ),結(jié)合情感分析和零膨脹負(fù)二項回歸方法,從評論者信度、評論信息質(zhì)量、評論極性三個方面探究評論有用性投票影響因素。
分析:
①評論有用性投票是一個計數(shù)變量,且不呈正態(tài)分布,不滿足普通最小二乘回歸模型,且數(shù)據(jù)較為分散,此種情況下采用泊松回歸模型擬合效果不理想,因而采用負(fù)二項回歸模型。
②評論有用性投票零值比例高,是因為消費者并不會瀏覽所有的評論,因此投票的評論為0,并不代表該評論沒有用。建立邏輯回歸模型對因變量中的零值進行解釋。
模型:
邏輯回歸模型(對因變量有用性投票數(shù)為0,做出解釋)
變量類型變量名變量變量解釋自變量評論發(fā)表時間time?評論已經(jīng)發(fā)表的時間(距數(shù)據(jù)最后一天)商品總評論數(shù)reviewtotal?商品銷售排名rank認(rèn)為評論數(shù)反映了銷售量因變量評論有用性投票數(shù)helpfulvotes評論獲得的有用性投票的總數(shù)
????????
負(fù)二項回歸模型
變量類型變量名變量變量解釋自變量評論者有用性reviewer_use評論獲得的有用性投票的數(shù)/得到的總票數(shù)是否為資深評論員vine0:否 1:是購買是否打折discount0:否 1:是評論長度length評論所含單詞的數(shù)量星級極差rateGap星級評分與平均星級差值的絕對值情感指數(shù)emotion_rating評論文本的情感傾向性指數(shù)因變量評論有用性投票數(shù)usefulNum評論獲得的有用性投票的總數(shù)
模型改進?:修正星級
(1)星級評價是一種簡單,易于操作的評價形式,但無法全面展示評論者的情感態(tài)度。例如:A覺得產(chǎn)品毫無瑕疵所以打了5星,B覺得產(chǎn)品有一點缺點,但總體滿意還是打了5星。因此,我們在原有的評分系統(tǒng)上進行改進,依舊采用所有評論者評分均值的方法,但對每一條評論,使用評論情感指數(shù)修正星級評價,增加準(zhǔn)確性。
符號說明:
變量屬性變量名變量變量說明自變量評論星級第i個產(chǎn)品的第j個評論者評論星級 j=0,1…num情感指數(shù)第i個產(chǎn)品的第j個評論者評論文本情感指數(shù)因變量修正評分第i個產(chǎn)品的修正評分
以微波爐的產(chǎn)品為例,將原來的產(chǎn)品總分與修正后的評分做對比:
發(fā)現(xiàn),修正后的模型和原來的分?jǐn)?shù)差距很小,只是將評價等級范圍擴大。但可以很好的刻畫評論者的評論極性和情感強度,能將極斷的情緒放大,情感表達更強烈。同樣修正模型也可以更加完整地展示評論者的態(tài)度。
?
(2)將產(chǎn)品綜合情緒作為自變量,產(chǎn)品的評論總數(shù)作為獨立變量,綜合星級作為因變量,建立如下回歸模型:
通過R語言進行回歸,我們可以得到回歸模型:
此外,rsqure為0.9901,很接近于1,說明回歸效果很好。
?
將產(chǎn)品綜合情緒作為自變量,產(chǎn)品的評論總數(shù)作為獨立變量,綜合星級作為因變量,建立如下回歸模型:
通過R語言進行回歸,我們可以得到回歸模型:
此外,rsquare為0.9901,很接近于1,說明回歸效果很好。
這種給產(chǎn)品打分的模式可以更好的刻畫評論評價中蘊含的情緒,越準(zhǔn)確的打分越能夠了解產(chǎn)品在市場上的口碑以及產(chǎn)品的品質(zhì),從而使得顧客更直接獲得對產(chǎn)品的感知,提高對購物網(wǎng)站的認(rèn)同度。
模型二:網(wǎng)絡(luò)口碑感知的動態(tài)內(nèi)生模型
網(wǎng)絡(luò)口碑量化指標(biāo)的確定。在實際生活中,消費者對網(wǎng)絡(luò)口碑感知是一個階段的過程,是對一個時間段內(nèi)產(chǎn)品的屬性、質(zhì)量、服務(wù)等的總和感知,因此,上訴分析的影響因素對網(wǎng)站口碑感知的印象是存在滯后性的,此時就產(chǎn)生了在線評論和網(wǎng)絡(luò)口碑感知之間的動態(tài)均衡過程。
分析:
自變量:(與評論有關(guān))
①???? 產(chǎn)品綜合星級(
):是消費者對產(chǎn)品感受最直接的反應(yīng),認(rèn)為星級越高,消費者對該產(chǎn)品的評價越好
②??? 在線評論的數(shù)量(cNum):評論數(shù)越多,說明參與評論的人越多,也反應(yīng)出產(chǎn)品銷量高,消費者對該產(chǎn)品的關(guān)注多
③??? 負(fù)面評價在線評價的比例 (nage):負(fù)面評論是影響口碑的重要因素,并且負(fù)面評論降低產(chǎn)品銷量比正面評論所帶來的銷量上升的效果更佳顯著。
④???? 綜合情感指數(shù)(
):由評論文本分析得到的情感指數(shù)可以反映評論者對產(chǎn)品更全面的感知
控制變量:(與評論無關(guān)但可以度量的)
①??? 競爭者的數(shù)量(pnum),?? 還包括降價幅度②產(chǎn)品發(fā)布時間(time)
啞變量:(與評論無關(guān)且不可度量的因素)
①??? ?品牌效應(yīng)(brand):該產(chǎn)品資深評論者的星級評價平均值 ?
模型
基于上述分析的結(jié)果,建立網(wǎng)絡(luò)口碑感知與各變量之間的線性模型來進行估計,為了避免異方差及偏態(tài)性的影響,公式中的部分變量以自然對數(shù)表示:
時間節(jié)點t控制各變量周期的時間節(jié)點控制值A(chǔ),B,C控制各變量是否起作用的布爾值(0或1)各變量系數(shù)
各變量的系數(shù)自變量、控制變量
t時段第i個產(chǎn)品的第j個自變量、控制變量、啞變量產(chǎn)品銷售排名
t時段的產(chǎn)品銷量排名
為了證明在線評論對口碑感知的影響大小,構(gòu)建兩個模型進行對比:
當(dāng)A=0,B=1, C=1,T=4時,得到模型一
當(dāng)A=1,B=1,C=1,T=4時,得到模型二:
通過分析各變量對產(chǎn)品網(wǎng)絡(luò)口碑感知的影響,為了防止出現(xiàn)多重共線性的問題,對相應(yīng)的變量進行了中心化處理,處理之后,所有的方差膨脹因子VIF小于5,說明多重共線性問題被有效規(guī)避。
?
模型三:ARIMA時間序列預(yù)測模型
ARIMA模型是在ARMA模型的基礎(chǔ)上加入了差分處理。模型公式:
ARMA表示時間序列
,是干擾項
與
以及序列值
的線性組合。AR的系數(shù)由模型中的
表示,p表示自回歸階數(shù),一般表示時序數(shù)據(jù)本身的滯后數(shù);MA的系數(shù)由
表示,q表示移動平均階數(shù),一般表示預(yù)測模型中采用的預(yù)測誤差的滯后數(shù)。ARIMA(p,d,q)中d代表差分次數(shù),為了使非平穩(wěn)的序列變得相對平穩(wěn)。
選取了亞馬遜網(wǎng)站上三種商品(吹風(fēng)機、奶嘴、微波爐)的評論數(shù)據(jù)分別進行分析。在數(shù)據(jù)預(yù)處理之后,以奶嘴為例,得到23764條數(shù)據(jù),時間跨度為2003年4月到2015年8月,每款商品的總體銷量范圍在0~833之間,所以本文以月為單位劃分時間進行模型構(gòu)建與驗證,并預(yù)測之后5個月的銷量。
觀察時序圖,可以看出銷量整體走勢是呈上升趨勢的,但不太平穩(wěn),有一定的波動性,所以進行一階差分處理,符合ARIMA模型。
模型一:
采用微波爐所有產(chǎn)品的數(shù)據(jù),其中有用性投票最小為0,最大是814,有用性投票的分布比較離散,約41.14%的有用性投票數(shù)為0,適用于我們建立的模型。結(jié)合回歸分析結(jié)果與描述性統(tǒng)計結(jié)果進行分析。
變量estimateSEZP?值負(fù)二項-???(?Intercept?)-1.065e+006.182e-02-17.223<2e-16reviewer_use2.809e+005.950e-0247.207<2e-16vine4.029e-014.037e-029.981<2e-16discount-1.134e-012.739e-02-4.1393.49e-05review_length3.212e-033.835e-0583.746<2e-16emotion_rating2.719e-011.634e-0216.644<2e-16rate_gap1.915e-011.387e-0213.810<2e-16logistic????(?Intercept?)-3.5832791.436305-2.4950.012603time-0.0067310.001543-4.3631.28e-05rank0.0875400.0519731.6840.092115review_total0.0124040.0034793.5650.000364
結(jié)果表明,評論者有用性,評論信息量,評論回復(fù)數(shù),極端評分,評論文本消極傾向?qū)υu論有用性投票具有積極正向影響,評論者發(fā)表評論數(shù),評論者是否打折購買對評論有用性投票數(shù)有負(fù)面影響?;诖?,建議網(wǎng)站改善評論排序機制和商品推薦機制,方便消費者篩選高質(zhì)量評論,重視負(fù)面評論,在選擇商品時考慮網(wǎng)絡(luò)口碑。
模型二
所建立的網(wǎng)絡(luò)口碑動態(tài)內(nèi)生模型可以展示一個產(chǎn)品隨時間的名譽變化,由此網(wǎng)站可以更好的選擇商品,優(yōu)化網(wǎng)站質(zhì)量。另外,影響口碑的因素還包括產(chǎn)品發(fā)布時間、產(chǎn)品質(zhì)量、服務(wù)質(zhì)量、降價幅度等因素。****
模型三:
a.微波爐各具體產(chǎn)品未來五個月的銷量預(yù)測
由圖可以看出2015年8月到2016年1月銷量最高的是ID為423421857的商品,雖然在2015年9月份有所下降,但10月份又呈上升態(tài)勢。771401205商品的銷量在未來5個月不如其他商品銷量平穩(wěn)。因此優(yōu)先選取423421857產(chǎn)品,其次為523301568產(chǎn)品,544821753產(chǎn)品。
b.吹風(fēng)機各具體產(chǎn)品未來五個月的銷量預(yù)測
未來5個月各產(chǎn)品銷量排名不會改變,雖然732252283商品銷量有所下降,但在9月后又繼續(xù)上升;但486774008和694290590都呈下降趨勢;其他都很平穩(wěn),并無增長的明顯態(tài)勢。因此推薦程度為:732252283>758099411>235105995。
?
b.奶嘴各具體產(chǎn)品未來五個月的銷量預(yù)測
246038397明顯銷量遙遙領(lǐng)先,392768822有很大的增幅后趨于平穩(wěn)并超過其他產(chǎn)品,雖然572944212銷量領(lǐng)先于450475749,但其呈下降趨勢,因此我們選擇推薦:246038397>392768822大于450475749。
關(guān)于作者
在此對Ru Bai對本文所作的貢獻表示誠摯感謝,她擅長數(shù)據(jù)采集,數(shù)學(xué)建模。
最受歡迎的見解
1.Python主題建模LDA模型、t-SNE 降維聚類、詞云可視化文本挖掘新聞組
2.R語言文本挖掘、情感分析和可視化哈利波特小說文本數(shù)據(jù)
3.r語言文本挖掘tf-idf主題建模,情感分析n-gram建模研究
4.游記數(shù)據(jù)感知旅游目的地形象
5.疫情下的新聞數(shù)據(jù)觀察
6.python主題lda建模和t-sne可視化
7.r語言中對文本數(shù)據(jù)進行主題模型topic-modeling分析
8.主題模型:數(shù)據(jù)聆聽人民網(wǎng)留言板的那些“網(wǎng)事”
9.python爬蟲進行web抓取lda主題語義數(shù)據(jù)分析