Python實(shí)現(xiàn)爬取并分析電商評(píng)論
現(xiàn)如今各種APP、微信訂閱號(hào)、微博、購(gòu)物網(wǎng)站等網(wǎng)站都允許用戶發(fā)表一些個(gè)人看法、意見、態(tài)度、評(píng)價(jià)、立場(chǎng)等信息。針對(duì)這些數(shù)據(jù),我們可以利用情感分析技術(shù)對(duì)其進(jìn)行分析,總結(jié)出大量的有價(jià)值信息。例如對(duì)商品評(píng)論的分析,可以了解用戶對(duì)商品的滿意度,進(jìn)而改進(jìn)產(chǎn)品;通過(guò)對(duì)一個(gè)人分布內(nèi)容的分析,了解他的情緒變化,哪種情緒多,哪種情緒少,進(jìn)而分析他的性格。怎樣知道哪些評(píng)論是正面的,哪些評(píng)論是負(fù)面的呢?正面評(píng)價(jià)的概率是多少呢?
利用python的第三方模塊SnowNLP可以實(shí)現(xiàn)對(duì)評(píng)論內(nèi)容的情感分析預(yù)測(cè),SnowNLP可以方便的處理中文文本內(nèi)容,如中文分詞、詞性標(biāo)注、情感分析、文本分類、提取文本關(guān)鍵詞、文本相似度計(jì)算等。大概大于等于0.5,可以判斷為正面評(píng)價(jià)——積極情感,小于0.5,可以判斷為負(fù)面評(píng)價(jià)——消極情感。
下面分析一組京東上某產(chǎn)品的評(píng)論數(shù)據(jù)并生成折線圖:
部分源數(shù)據(jù):
實(shí)現(xiàn)過(guò)程:
#加載情感分析模塊from snownlp import SnowNLP#from snownlp import sentimentimport pandas as pdimport matplotlib.pyplot as plt#導(dǎo)入樣例數(shù)據(jù)aa =’F:python入門python編程錦囊Code(實(shí)例源碼及使用說(shuō)明)Code(實(shí)例源碼及使用說(shuō)明)Code(實(shí)例源碼及使用說(shuō)明)09data京東評(píng)論.xls’#讀取文本數(shù)據(jù)df=pd.read_excel(aa)#提取所有數(shù)據(jù)df1=df.iloc[:,3]print(’將提取的數(shù)據(jù)打印出來(lái):n’,df1)#遍歷每條評(píng)論進(jìn)行預(yù)測(cè)values=[SnowNLP(i).sentiments for i in df1]#輸出積極的概率,大于0.5積極的,小于0.5消極的#myval保存預(yù)測(cè)值myval=[]good=0bad=0for i in values: if (i>=0.5): myval.append('正面') good=good+1 else: myval.append('負(fù)面') bad=bad+1df[’預(yù)測(cè)值’]=valuesdf[’評(píng)價(jià)類別’]=myval#將結(jié)果輸出到Exceldf.to_excel(’F:python入門python編程錦囊Code(實(shí)例源碼及使用說(shuō)明)Code(實(shí)例源碼及使用說(shuō)明)Code(實(shí)例源碼及使用說(shuō)明)09dataresult2.xls’)rate=good/(good+bad)print(’好評(píng)率’,’%.f%%’ % (rate * 100)) #格式化為百分比#作圖y=valuesplt.rc(’font’, family=’SimHei’, size=10)plt.plot(y, marker=’o’, mec=’r’, mfc=’w’,label=u’評(píng)價(jià)分值’)plt.xlabel(’用戶’)plt.ylabel(’評(píng)價(jià)分值’)# 讓圖例生效plt.legend()#添加標(biāo)題plt.title(’京東評(píng)論情感分析’,family=’SimHei’,size=14,color=’blue’)plt.show()
Excel結(jié)果:
作圖的結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. java實(shí)現(xiàn)2048小游戲(含注釋)2. 詳解CSS偽元素的妙用單標(biāo)簽之美3. CSS自定義滾動(dòng)條樣式案例詳解4. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)5. Java Spring WEB應(yīng)用實(shí)例化如何實(shí)現(xiàn)6. UDDI FAQs7. PHP 面向?qū)ο蟪绦蛟O(shè)計(jì)之類屬性與類常量實(shí)現(xiàn)方法分析8. HTML <!DOCTYPE> 標(biāo)簽9. python 批量下載bilibili視頻的gui程序10. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法
