Python實現爬取並分析電商評論
阿新 • • 發佈:2020-06-19
現如今各種APP、微信訂閱號、微博、購物網站等網站都允許使用者發表一些個人看法、意見、態度、評價、立場等資訊。針對這些資料,我們可以利用情感分析技術對其進行分析,總結出大量的有價值資訊。例如對商品評論的分析,可以瞭解使用者對商品的滿意度,進而改進產品;通過對一個人分佈內容的分析,瞭解他的情緒變化,哪種情緒多,哪種情緒少,進而分析他的性格。怎樣知道哪些評論是正面的,哪些評論是負面的呢?正面評價的概率是多少呢?
利用python的第三方模組SnowNLP可以實現對評論內容的情感分析預測,SnowNLP可以方便的處理中文文字內容,如中文分詞、詞性標註、情感分析、文字分類、提取文字關鍵詞、文字相似度計算等。大概大於等於0.5,可以判斷為正面評價——積極情感,小於0.5,可以判斷為負面評價——消極情感。
下面分析一組京東上某產品的評論資料並生成折線圖:
部分源資料:
實現過程:
#載入情感分析模組 from snownlp import SnowNLP #from snownlp import sentiment import pandas as pd import matplotlib.pyplot as plt #匯入樣例資料 aa ='F:\\python入門\\python程式設計錦囊\\Code(例項原始碼及使用說明)\\Code(例項原始碼及使用說明)\\Code(例項原始碼及使用說明)\\09\\data\\京東評論.xls' #讀取文字資料 df=pd.read_excel(aa) #提取所有資料 df1=df.iloc[:,3] print('將提取的資料打印出來:\n',df1) #遍歷每條評論進行預測 values=[SnowNLP(i).sentiments for i in df1] #輸出積極的概率,大於0.5積極的,小於0.5消極的 #myval儲存預測值 myval=[] good=0 bad=0 for i in values: if (i>=0.5): myval.append("正面") good=good+1 else: myval.append("負面") bad=bad+1 df['預測值']=values df['評價類別']=myval #將結果輸出到Excel df.to_excel('F:\\python入門\\python程式設計錦囊\\Code(例項原始碼及使用說明)\\Code(例項原始碼及使用說明)\\Code(例項原始碼及使用說明)\\09\\data\\result2.xls') rate=good/(good+bad) print('好評率','%.f%%' % (rate * 100)) #格式化為百分比 #作圖 y=values plt.rc('font',family='SimHei',size=10) plt.plot(y,marker='o',mec='r',mfc='w',label=u'評價分值') plt.xlabel('使用者') plt.ylabel('評價分值') # 讓圖例生效 plt.legend() #新增標題 plt.title('京東評論情感分析',size=14,color='blue') plt.show()
Excel結果:
作圖的結果:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。