日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python删除中文停用词_python词云 wordcloud+jieba生成中文词云图

發布時間:2025/4/16 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python删除中文停用词_python词云 wordcloud+jieba生成中文词云图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

Python+jieba+wordcloud+txt+gif生成動態中文詞云

本文基于爬蟲爬取某微信號三個月的文章為例,展示了生成中文詞云的完整過程。本文需要的兩個核心Python類庫:

  • jieba:中文分詞工具
  • wordcloud:Python下的詞云生成工具

準備

  • anaconda:一個開源的Python發行版本,用于管理Python版本,可以實現管理不同的Python版本(Python2和Python3)
  • Pycharm:Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具。安裝第三方庫很方便。

jieba介紹

import jieba str = "明明知識點都熟記于心,可是在考試的時候腦子一片空白,什么都想不起來了" #使用自定義字典 #Python學習交流群:1004391443 #jieba.load_userdict('dict.txt')ex_list1 = jieba.cut(str) ex_list2 = jieba.cut(str , cut_all= True) ex_list3 = jieba.cut_for_search(str) print("精準模式:"+'/'.join(ex_list1)) print("全模式:"+'/'.join(ex_list2)) print("搜索引擎模式:"+'/'.join(ex_list3))

精準模式:明明/知識點/都/熟記/于心/,/可是/在/考試/的/時候/腦子/一片空白/,/什么/都/想不起來/了

全模式:明明/明知/知識/知識點/都/熟記/于/心///可是/在/考試/的/時候/腦子/一片/一片空白/空白///什么/都/想不起/想不起來/起來/了

搜索引擎模式:明明/知識/知識點/都/熟記/于心/,/可是/在/考試/的/時候/腦子/一片/空白/一片空白/,/什么/都/起來/想不起/想不起來/了

可以看到全模式和搜索引擎模式下分詞分得比精準模式更稀碎。

可以添加上用戶自定義字典。

自定義詞典的格式:一個詞占一行;每一行分三部分,一部分為詞語,另一部分為詞頻,最后為詞性(可省略),用空格隔開

其中dict.txt的內容是:

一片空白 5

考試的時候

可以只有詞語,后面的詞頻和詞性都可以省略。

精準模式:明明/知識點/都/熟記/于心/,/可是/在/考試的時候/腦子/一片空白/,/什么/都/想不起來/了

全模式:明明/明知/知識/知識點/都/熟記/于/心///可是/在/考試/考試的時候/時候/腦子/一片/一片空白/空白///什么/都/想不起/想不起來/起來/了

搜索引擎模式:明明/知識/知識點/都/熟記/于心/,/可是/在/考試/時候/考試的時候/腦子/一片/空白/一片空白/,/什么/都/起來/想不起/想不起來/了

可以看出來在三種模式下,“一片空白”和“考試的時候”都被篩選出來了。

源碼

import jieba # 中文分詞包 from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator from PIL import Image import numpy as np import matplotlib.pyplot as plt from os import path# 定義絕對路徑地址 __file__ = r".bbb" # 把路徑地址字符串轉換為文件路徑 d = path.dirname(__file__) f = path.dirname(r".ccc") jieba.load_userdict("dict.txt") #根據時間生成圖片 for i in range(0,num):#num為文件個數# path.join實現文件地址的鏈接text = open(path.join(d, str(i)+'.txt')).read()chtext = ''with open(path.join(d, str(i)+'.txt'), 'r') as fin:for line in fin.readlines():line = line.strip('n')chtext += ' '.join(jieba.cut(line))# 調用包PIL中的open方法,讀取圖片文件,通過numpy中的array方法生成數組backgroud_Image = np.array(Image.open(path.join(d, "111.jpg")))# 繪制詞云圖wc = WordCloud(background_color='white', # 設置背景顏色,與圖片的背景色相關mask=backgroud_Image, # 設置背景圖片font_path='C:WindowsFontsSTZHONGS.TTF', # 顯示中文,可以更換字體max_words=2000, # 設置最大顯示的字數stopwords={'企業'}, # 設置停用詞,停用詞則不再詞云圖中表示max_font_size=150, # 設置字體最大值random_state=1, # 設置有多少種隨機生成狀態,即有多少種配色方案scale=1 # 設置生成的詞云圖的大小 )# 傳入需畫詞云圖的文本wc.generate(chtext)image_colors = ImageColorGenerator(backgroud_Image)plt.imshow(wc.recolor(color_func=image_colors))# 隱藏圖像坐標軸plt.axis("off")# 展示圖片plt.show()# 按遞增順序保存生成的詞云圖wc.to_file(path.join(f, str(i)+'.jpg'))

當然,在這里還有三點:

png是無損的圖片,用來生成最后的gif文件會清晰,但會很大,用jpg也可以;

本文是要通過繪制第一天、第一天+第二天、然后以此類推,生成的詞云密度會越來越大,但是在wordcloud上設了選詞詞數上限。

可以通過屏蔽某些詞不出現在詞云上。

圖片的像素會對圖片的生成速度產生巨大影響,像素越高生成的圖片越慢,而像素越低,生成的圖片速度越快同時在詞云上掛載的詞越少。

效果

尺寸:400*400的圖片

生成圖片

總結

以上是生活随笔為你收集整理的python删除中文停用词_python词云 wordcloud+jieba生成中文词云图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。