Wordcloud,也叫做文字云或词云,是一种可视化展示文本数据的方式,在绘制过程中将文本中出现频率较高的单词以较大的字号呈现,而出现频率较低的单词会以较小的字号呈现,并使用不同的颜色、形状等进行美化渲染,让整个图像更具有美感和易读性。
Wordcloud的制作过程涵盖以下几个步骤:
-
准备文本数据。需要从相关数据源中获取相应的文本内容。
-
进行文本分词。根据具体的分词需求,将文本内容分割为单独的词语,可采用自然语言处理工具包中的分词功能。
-
剔除停用词。对于一些常见但对于文本主题来说无意义的词语,我们需要将其从文本数据中删除,比如“的”、“是”等词语。
-
计算词频。统计每个单词在文本中出现的频率。
-
设计布局。根据计算得到的词频信息,使用词云生成工具进行可视化呈现。
下面通过两个示例来进一步说明Wordcloud的制作过程。
示例1:制作一份Python词云
-
准备文本数据。从某个Python教程文本中获取相应的文本内容。
-
进行文本分词。使用Python中的分词库jieba对文本进行分词。
import jieba
text = "Python是一门十分易学的编程语言,尤其适合新手学习。它使用一些简单但强大的语法,能够快速编写出高效的程序。"
words_list = jieba.lcut(text, cut_all=False)
- 剔除停用词。使用Python中的stopwords库剔除停用词。
from stopwordsiso import stopwords
stop_words = set(stopwords(["zh"]))
filtered_words = [word for word in words_list if word not in stop_words]
- 计算词频。使用Python中的Counter模块统计每个单词在文本中出现的频率。
from collections import Counter
word_counts = Counter(filtered_words)
- 设计布局。使用Python中的wordcloud库,设定好字体、背景颜色等参数,最终生成一份Python词云。
from wordcloud import WordCloud
wc = WordCloud(width=500, height=500, background_color="white", font_path="./STHeiti Light.ttc")
wc.generate_from_frequencies(word_counts)
wc.to_image()
示例2:制作一份某本小说的词云
-
准备文本数据。从某本小说txt文件中获取相应的文本内容。
-
进行文本分词。使用Python中的jieba库对文本进行分词。
import jieba
with open("novel.txt", "r", encoding="utf-8") as f:
text = f.read()
words_list = jieba.lcut(text, cut_all=False)
- 剔除停用词。使用Python中的stopwords库剔除停用词。
from stopwordsiso import stopwords
stop_words = set(stopwords(["zh"]))
filtered_words = [word for word in words_list if word not in stop_words]
- 计算词频。使用Python中的Counter模块统计每个单词在文本中出现的频率。
from collections import Counter
word_counts = Counter(filtered_words)
- 设计布局。使用Python中的wordcloud库,设定好字体、背景颜色等参数,最终生成一份小说词云。
from wordcloud import WordCloud, ImageColorGenerator
import matplotlib.pyplot as plt
from PIL import Image
mask = np.array(Image.open("mask.jpg"))
wc = WordCloud(width=800, height=800, background_color="white", font_path="./STHeiti Light.ttc", mask=mask)
wc.generate_from_frequencies(word_counts)
image_colors = ImageColorGenerator(mask)
plt.imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")
plt.axis("off")
plt.show()
以上就是Wordcloud制作的完整攻略,通过上述示例,我们可以尝试使用Python编程语言来制作出自己喜欢的词云。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:wordcloud是什么? - Python技术站