摘要:準(zhǔn)備工作抓取數(shù)據(jù)存到文檔中,了解問題分詞分的不太準(zhǔn)確,比如機(jī)器學(xué)習(xí)會被切成機(jī)器和學(xué)習(xí)兩個詞,使用自定義詞典,原本的想法是只切出自定義詞典里的詞,但實(shí)際上不行,所以首先根據(jù)分詞結(jié)果提取出高頻詞并自行添加部分詞作為詞典,切詞完畢只統(tǒng)計(jì)自定義詞典
準(zhǔn)備工作
抓取數(shù)據(jù)存到txt文檔中,了解jieba
問題jieba分詞分的不太準(zhǔn)確,比如機(jī)器學(xué)習(xí)會被切成機(jī)器和學(xué)習(xí)兩個詞,使用自定義詞典,原本的想法是只切出自定義詞典里的詞,但實(shí)際上不行,所以首先根據(jù)jieba分詞結(jié)果提取出高頻詞并自行添加部分詞作為詞典,切詞完畢只統(tǒng)計(jì)自定義詞典里出現(xiàn)過的詞
wordcloud自身不支持中文詞云,需要指定中文字體,并且現(xiàn)在大部分的博客提供的generate_from_frequencies方法的參數(shù)與現(xiàn)在的wordcloud的參數(shù)不同,現(xiàn)在這個方法接收的是dict類型
代碼# -*- coding: utf-8 -*- import jieba import os import codecs from scipy.misc import imread import matplotlib as mpl import matplotlib.pyplot as plt from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator class GetWords(object): def __init__(self, dict_name, file_list , dic_list): self.dict_name = dict_name self.file_list = file_list self.dic_list = dic_list #獲取自定義詞典 def get_dic(self): dic = open(self.dict_name, "r") while 1: line = dic.readline().decode("utf-8").strip() self.dic_list.append(line) if not line: break pass def get_word_to_cloud(self): for file in self.file_list: with codecs.open("../spider/" + file, "r",encoding="utf-8", errors="ignore") as string: string = string.read().upper() res = jieba.cut(string, HMM=False) reslist = list(res) wordDict = {} for i in reslist: if i not in self.dic_list: continue if i in wordDict: wordDict[i]=wordDict[i]+1 else: wordDict[i] = 1 coloring = imread("test.jpeg") wc = WordCloud(font_path="msyh.ttf",mask=coloring, background_color="white", max_words=50, max_font_size=40, random_state=42) wc.generate_from_frequencies(wordDict) wc.to_file("%s.png"%(file)) def set_dic(): _curpath=os.path.normpath( os.path.join( os.getcwd(), os.path.dirname(__file__) )) settings_path = os.environ.get("dict.txt") if settings_path and os.path.exists(settings_path): jieba.set_dictionary(settings_path) elif os.path.exists(os.path.join(_curpath, "data/dict.txt.big")): jieba.set_dictionary("data/dict.txt.big") else: print "Using traditional dictionary!" if __name__ == "__main__": set_dic() file_list = ["data_visualize.txt", "data_dev.txt", "data_mining.txt", "data_arc.txt", "data_analysis.txt"] dic_name = "dict.txt" dic_list = [] getwords = GetWords(dic_name, file_list, dic_list) getwords.get_dic() getwords.get_word_to_cloud()詞云示例
此圖為爬取拉勾網(wǎng)數(shù)據(jù)挖掘工程師崗位需要制作的詞云
github
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/44384.html
摘要:前言今天教大家用模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖效果圖一效果圖二根據(jù)效果圖分析的還是比較準(zhǔn)確的,小說中的主人公就是程理,所以出現(xiàn)次數(shù)最多。 前言 今天教大家用wrodcloud模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖: 效果圖一: showImg(https://segmentfault.com/img/remote/1460000015...
摘要:庫常規(guī)方法方法描述例子向?qū)ο笾屑虞d文本將詞云輸出為圖像文件,或格式應(yīng)用實(shí)例配置對象參數(shù)加載詞云文本輸出詞云文件分隔以空格分隔單詞統(tǒng)計(jì)單詞出現(xiàn)次數(shù)并過濾字體根據(jù)統(tǒng)計(jì)配置字號布局顏色環(huán)境尺寸配置對象參數(shù)參數(shù)參數(shù)描述例子指定詞云對象生成圖片的寬度 wordcloud庫常規(guī)方法 w = wordcloud.WordCloud() 方法 描述 例子 w.generate(txt) 向w...
Python pyecharts作為常用的數(shù)據(jù)可視化軟件,能夠清晰的將海量的數(shù)據(jù),去做一個拆分,要是更直觀的去查看數(shù)據(jù)圖表的話,就需要去制作云圖了?那么,怎么制作云圖呢?下面就給大家詳細(xì)的做個解答?! ≡~云圖 什么是詞云圖,相信大家肯定不會感到陌生,一本書統(tǒng)計(jì)里面出現(xiàn)的詞頻,然后可視化展示,讓讀者快速的了解這個主題綱要,這就是詞云的直接效果?! ≡~云圖系列模板 固定模式詞云圖 修改一些參...
摘要:處理文件最終得到的字符串得到所有的文本之后,使用結(jié)巴分詞,處理成單個的詞語。 文章鏈接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客網(wǎng)站,堅(jiān)持記錄,寫文章,累計(jì)寫了36篇了,從一開始的難以下手,到現(xiàn)在成為一種習(xí)慣,雖然每次寫都會一字一句斟酌,但是每次看到產(chǎn)出,內(nèi)心還是開心的,享受這樣的過...
摘要:準(zhǔn)備把豆瓣上對它的影評短評做一個分析。這樣就得到了最新電影的信息了。例如戰(zhàn)狼的短評網(wǎng)址為其中就是電影的,表示評論的第條評論。如下圖所示好的,至此我們已經(jīng)爬取了豆瓣最近播放電影的評論數(shù)據(jù),接下來就要對數(shù)據(jù)進(jìn)行清洗和詞云顯示了。 簡介 剛接觸python不久,做一個小項(xiàng)目來練練手。前幾天看了《戰(zhàn)狼2》,發(fā)現(xiàn)它在最新上映的電影里面是排行第一的,如下圖所示。準(zhǔn)備把豆瓣上對它的影評(短評)做...
閱讀 3134·2021-09-28 09:42
閱讀 3464·2021-09-22 15:21
閱讀 1136·2021-07-29 13:50
閱讀 3589·2019-08-30 15:56
閱讀 3378·2019-08-30 15:54
閱讀 1205·2019-08-30 13:12
閱讀 1188·2019-08-29 17:03
閱讀 1211·2019-08-29 10:59