成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python使用jieba進(jìn)行中文分詞wordcloud制作詞云

yvonne / 2989人閱讀

摘要:準(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

相關(guān)文章

  • Python如何生成詞云(詳解)

    摘要:前言今天教大家用模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖效果圖一效果圖二根據(jù)效果圖分析的還是比較準(zhǔn)確的,小說中的主人公就是程理,所以出現(xiàn)次數(shù)最多。 前言 今天教大家用wrodcloud模塊來生成詞云,我讀取了一篇小說并生成了詞云,先看一下效果圖: 效果圖一: showImg(https://segmentfault.com/img/remote/1460000015...

    Juven 評論0 收藏0
  • Python wordcloud庫學(xué)習(xí)小結(jié)

    摘要:庫常規(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...

    Jokcy 評論0 收藏0
  • Python pyecharts如何繪制云圖呢?下面就給大家詳解解答

      Python pyecharts作為常用的數(shù)據(jù)可視化軟件,能夠清晰的將海量的數(shù)據(jù),去做一個拆分,要是更直觀的去查看數(shù)據(jù)圖表的話,就需要去制作云圖了?那么,怎么制作云圖呢?下面就給大家詳細(xì)的做個解答?! ≡~云圖  什么是詞云圖,相信大家肯定不會感到陌生,一本書統(tǒng)計(jì)里面出現(xiàn)的詞頻,然后可視化展示,讓讀者快速的了解這個主題綱要,這就是詞云的直接效果?! ≡~云圖系列模板  固定模式詞云圖  修改一些參...

    89542767 評論0 收藏0
  • python 生成18年寫過的博客詞云

    摘要:處理文件最終得到的字符串得到所有的文本之后,使用結(jié)巴分詞,處理成單個的詞語。 文章鏈接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客網(wǎng)站,堅(jiān)持記錄,寫文章,累計(jì)寫了36篇了,從一開始的難以下手,到現(xiàn)在成為一種習(xí)慣,雖然每次寫都會一字一句斟酌,但是每次看到產(chǎn)出,內(nèi)心還是開心的,享受這樣的過...

    xi4oh4o 評論0 收藏0
  • python爬蟲實(shí)戰(zhàn)一:分析豆瓣中最新電影的影評

    摘要:準(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)備把豆瓣上對它的影評(短評)做...

    BearyChat 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<