關於python詞雲,python詞雲教程

本文目錄一覽:

如何用Python做詞雲

推薦使用jieba模塊來實現分詞,WordCloud來繪製詞雲。

# -*- coding: utf-8 -*-

from PIL import Image

import numpy as np

import matplotlib.pyplot as plt

import jieba

from wordcloud import WordCloud, STOPWORDS

# Read the whole text.

text = open(‘內容.txt’, ‘r’).read()

text = ” “.join(jieba.cut(text, cut_all=False))

# 愛心.png表示你繪圖模板,就是最後圖片的形狀

alice_mask = np.array(Image.open(‘愛心.png’))

# 中文需要設置字體,songti.ttf代表宋體

wc = WordCloud(font_path=’songti.ttf’, background_color=”white”, mask=alice_mask,

               max_words=2000)

# generate word cloud

wc.generate(text)

# store to file

wc.to_file(‘result.png’)

# show

plt.imshow(wc)

plt.axis(“off”)

# plt.figure()

# plt.imshow(alice_mask, cmap=plt.cm.gray)

# plt.axis(“off”)

plt.show()

python中對已經排好序的詞語怎麼做詞雲

期末複習比較忙過段時間來專門寫scrapy框架使用,今天介紹如何用python生成詞雲,雖然網上有很多詞雲生成工具,不過自己用python來寫是不是更有成就感。

今天要生成的是勵志歌曲的詞雲,百度文庫裏面找了20來首,如《倔強》,海闊天空是,什麼的大家熟悉的。

所要用到的python庫有 jieba(一個中文分詞庫)、wordcould 、matplotlib、PIL、numpy。

首先我們要做的是讀取歌詞。我將歌詞存在了文件目錄下勵志歌曲文本中。

現在來讀取他

12345

#encoding=gbklyric= ”f=open(‘./勵志歌曲歌詞.txt’,’r’)for i in f:  lyric+=f.read()

加入#encoding=gbk是為了防止後面操作報錯SyntaxError: Non-UTF-8 code starting with ‘\xc0’

然後我們用jieba分詞來對歌曲做分詞提取出詞頻高的詞

123456

import jieba.analyseresult=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result:  keywords[i[0]]=i[1]print(keywords)

得到結果:

然後我們就可以通過wrodcloud等庫來生成詞雲了

首先先自己找一張圖片來作為生成詞雲的形狀的圖

12345678910111213

from PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorimage= Image.open(‘./tim.jpg’)graph = np.array(image)wc = WordCloud(font_path=’./fonts/simhei.ttf’,background_color=’White’,max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis(“off”)plt.show()

保存生成圖片

1

wc.to_file(‘dream.png’)

完整代碼:

1234567891011121314151617181920212223242526272829

#encoding=gbkimport jieba.analysefrom PIL import Image,ImageSequenceimport numpy as npimport matplotlib.pyplot as pltfrom wordcloud import WordCloud,ImageColorGeneratorlyric= ”f=open(‘./勵志歌曲歌詞.txt’,’r’)for i in f:  lyric+=f.read()  result=jieba.analyse.textrank(lyric,topK=50,withWeight=True)keywords = dict()for i in result:  keywords[i[0]]=i[1]print(keywords)  image= Image.open(‘./tim.jpg’)graph = np.array(image)wc = WordCloud(font_path=’./fonts/simhei.ttf’,background_color=’White’,max_words=50,mask=graph)wc.generate_from_frequencies(keywords)image_color = ImageColorGenerator(graph)plt.imshow(wc)plt.imshow(wc.recolor(color_func=image_color))plt.axis(“off”)plt.show()wc.to_file(‘dream.png’)

以上這篇python生成詞雲的實現方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

python3.7生成的詞雲,顯示成功,卻沒有圖片?

根據你的代碼,你生成的詞雲圖片文件名字叫做aaaaa.png,打開你存儲python文件的文件夾,在那裏面找到aaaaa.png這個圖片文件,打開就是生成的詞雲了

Python 畫好看的雲詞圖

詞雲圖是數據分析中比較常見的一種可視化手段。詞雲圖,也叫文字雲,是對文本中出現頻率較高的 關鍵詞 予以視覺化的展現,出現越多的詞,在詞雲圖中展示越顯眼。詞雲圖過濾掉大量低頻低質的文本信息,因此只要一眼掃過文本就可 領略文章主旨 。

例如?上面這張圖,看一眼就知道肯定是新華網的新聞。

那生成一張詞雲圖的主要步驟有哪些?這裡使用 Python 來實現,主要分三步:

首先是「結巴」中文分詞 jieba 的安裝。

對於英文文本,word_cloud 可以直接對文本源生成詞雲圖。但是對中文的支持沒有那麼給力,所以需要先使用 jieba 對中文文本進行分詞,把文章變成詞語,然後再生成詞雲圖。例如:

jieba.cut 分詞:方法接受三個輸入參數,sentence 需要分詞的字符串;cut_all 用來控制是否採用全模式;HMM 用來控制是否使用 HMM 模型。

jieba.cut_for_search 分詞:方法接受兩個參數,sentence 需要分詞的字符串;是否使用 HMM 模型。該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細。

jieba.analyse.textrank 使用 TextRank 算法從句子中提取關鍵詞。

然後安裝 wordcloud 詞雲圖庫。

如果執行上面命令後,顯示 success,那麼恭喜你,安裝成功了。

我就遇到了 Failed building wheel for wordcloud 的錯誤。於是先安裝 xcode-select, 再安裝 wordcloud 即可(無需安裝 Xcode)。

wordcloud 庫把詞雲當作一個 WordCloud 對象,wordcloud.WordCloud() 代表一個文本對應的詞雲,可以根據文本中詞語出現的頻率等參數繪製詞雲,繪製詞雲的形狀、尺寸和顏色。

1、首先導入文本數據並進行簡單的文本處理

2、分詞

3、設置遮罩

注意:

1、默認字體不支持中文,如果需要顯示中文,需要設置中文字體,否則會亂碼。

2、設置遮罩時,會自動將圖片非白色部分填充,且圖片越清晰,運行速度越快

其中 WordCloud 是雲詞圖最重要的對象,其主要參數描述如下:

效果如下圖:

上小結是將文章中所有內容進行分詞,輸出了所有詞,但很多時候,我們有進一步的需求。例如:

1、只需要前 100 個關鍵詞就夠了。

2、不需要五顏六色的詞語,應與遮罩圖片顏色一致。

100個關鍵詞,我們在分詞時使用 TextRank 算法從句子中提取關鍵詞。

遮罩顏色可通過設置 WordCloud 的 color_func 屬性。

最終效果如下:

使用python wordcloud庫實現詞雲,教你兩招輕鬆搞定

wordcloud庫簡介

python中的word cloud庫是一個用來製作詞雲的第三方庫

安裝wordcloud 庫

pip install wordcloud123

使用w = wordcloud.WordCloud() 創建一個詞雲對象

2.WordCloud() 參數介紹

3.實現效果

4.問題

並沒有按照詞雲的樣式展示,這裡需要使用 jieba庫進行分詞

安裝jieba庫

pip install jieba

5.使用jieba庫進行分詞

6.效果

將txt文本中的內容生成詞雲

獲取文件中的內容

f = open(‘./xxx.txt’, ‘r’, encoding=’utf-8′)

 text = f.read()

說明

encoding=『utf-8』 這個參數表示 讀取的內容以utf-8的編碼方式讀取文件

如果沒有這個參數,會出現如下的報錯信息

關於python詞雲的頻次統計機制

使用wordcloud庫和jieba庫可以使用圖片上的效果,

這個就是將一個文本先進行分詞,然後再統計每個詞的詞頻,選出詞頻較高的一些詞語,然後按照詞頻的大小設定不同的字體大小,隨機生成顏色,隨後形成圖片。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/190709.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-30 09:05
下一篇 2024-11-30 09:06

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論