当前位置:   article > 正文

python词云图使用停用词_词云图停用词

词云图停用词

词云图介绍

词云图(Word Cloud)是一种文本数据的可视化表示形式,它通过字体大小、颜色、布局等视觉元素来展示文本中不同词汇的频率或重要性。词云图中,出现频率高的词汇会被赋予较大的字体,从而突出显示;而频率较低的词汇则使用较小的字体。这种可视化方式有助于快速识别文本中的关键信息,发现文本的主题或热点

wordcloud介绍

wordcloud 是一个用于生成词云图的 Python 库。它基于 PIL(Python Imaging Library)和 NumPy 库,提供了丰富的功能和灵活的参数设置,使得用户可以轻松地生成各种风格的词云图。

停用词介绍

词云图中的停用词(Stopwords)指的是在文本处理中经常出现,但通常没有实际分析价值的词汇。这些词汇通常包括虚词、助词、介词、连词等,例如“的”、“是”、“在”、“和”等中文词汇,以及“the”、“a”、“an”、“and”等英文词汇。这些词汇在文本中的频率很高,但对于理解文本的主题或情感往往没有太大的帮助。

导入停用词参数

with open("常用停用词.txt", 'r', encoding='utf-8') as f:
    stop_words = set(f.read().splitlines())
# 创建词云对象,设置词云的一些属性
wordcloud = WordCloud(font_path=font_path,  # 设置字体文件路径,确保支持中文
                      stopwords=stop_words,
                      background_color="white",  # 设置背景颜色
                      max_words=200,  # 最多显示的词数
                      max_font_size=100,  # 字体最大值
                      random_state=42,  # 设置随机种子以获得可重复的结果
                      width=800, height=800,  # 设置图片的尺寸
                      margin=2  # 设置词与词之间的距离
                      ).generate(words)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

导入停用词前后对比

导入前:
在这里插入图片描述

导入后:
在这里插入图片描述

代码

# 导入必要的库
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
import numpy as np
from PIL import Image
# 假设你的文本文件名为 'text.txt',并且位于当前工作目录下
file_name = '三国演义.txt'

# 读取文件内容
with open(file_name, 'r', encoding='utf-8') as file:
    text = file.read()

# 使用jieba进行中文分词
seg_list = jieba.cut(text, cut_all=False)
words = " ".join(seg_list)

# 设置字体文件路径(确保支持中文)
font_path = 'simhei.ttf'  # 你需要指定一个支持中文的字体文件路径
with open("常用停用词.txt", 'r', encoding='utf-8') as f:
    stop_words = set(f.read().splitlines())
# 创建词云对象,设置词云的一些属性
wordcloud = WordCloud(font_path=font_path,  # 设置字体文件路径,确保支持中文
                      stopwords=stop_words,
                      background_color="white",  # 设置背景颜色
                      max_words=200,  # 最多显示的词数
                      max_font_size=100,  # 字体最大值
                      random_state=42,  # 设置随机种子以获得可重复的结果
                      width=800, height=800,  # 设置图片的尺寸
                      margin=2  # 设置词与词之间的距离
                      ).generate(words)

# 使用matplotlib显示词云图
plt.figure(figsize=(8, 8), facecolor=None)  # 创建一个8x8的绘图对象
plt.imshow(wordcloud)
plt.axis("off")  # 不显示坐标轴
plt.tight_layout(pad=0)  # 调整子图参数,使之填充整个图像区域
plt.show()  # 显示图像
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/804720
推荐阅读
相关标签
  

闽ICP备14008679号