python畫詞雲圖(電商評論資料)

來源:互聯網
上載者:User

最近採集了天貓上搜尋網頁面關於風衣的寶貝資訊以及14676條評論資料。於是就想著做個關於評論資料的詞雲圖看看
先來看看效果圖:


從上圖可以看出衣服、好、品質、不錯、喜歡等關鍵詞的較大,說明這些寶貝在天貓上應該是賣的比較好的。下面記錄具體的實現過程。
[TOC] 資料預覽:


python版本3.4.4;分詞庫:jieba;詞雲圖庫:pytagcloud 資料預先處理:資料讀入、分詞

import pandas as pdfrom pandas import DataFrame,Seriesimport numpy as npimport jiebafrom ciyuntu_class import ciyuntu_classcyt = ciyuntu_class()from pytagcloud import make_tags,create_tag_imagefrom random import samplecomment = pd.read_csv('電商評論資料.csv',encoding='gbk')應為有1W多條評論資料,全部分詞的話需要耗費許多時間,於是在全部評論資料中隨機抽取了5000條評論資料進comment = comment.drop(['Unnamed: 0'],axis=1)# df_comment = comment[['評價內容']].ix[0:30]index_5000 = sample(list(comment.index),5000)df_comment = comment[['評價內容']].ix[index_5000]df_comment.index = range(df_comment.shape[0])
分詞
# 分詞df_freq = cyt.fenci(df_comment.ix[0][0])# 轉換成資料框df_freq = cyt.sta_list(df_freq)for i in range(df_comment.shape[0])[1:]:    print(i)    try:        df_freq0 = cyt.fenci(df_comment.ix[i][0])        df_freq0 = cyt.sta_list(df_freq0)        # 合并資料框        df_freq = cyt.bind_df(df_freq,df_freq0)    except:        print(df_comment.ix[i][0])        pass
畫詞雲圖
# 畫詞雲圖tuple_list = cyt.df2tuple_list(df_freq)tags = make_tags(tuple_list,maxsize=80)create_tag_image(tags,'comment_cloud.png',size=(900,600),fontname='simhei')
總結:

先是選取了1000條評論資料,畫出詞雲圖後:
可以看出一些中性詞,像:很、的、都、了、買、也,這些詞不能體現出評論人的態度,但是它們的詞頻卻比較大,對結果有幹擾,於是在分詞的過程中將這些詞進行剔除,下面是剔除後的效果圖:
可以看出,剔除後的詞雲圖的主題以及評論的態度資訊都比較好的顯示在了圖中。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.