标签搜索

词云制作

yusir
2023-12-26 / 0 评论 / 67 阅读 / 正在检测是否收录...

通过python对qq群友聊天进行词云制作
wordcloud.png
词云是对文本内容进行可视化呈现的一种方式,它会对文本中出现频率较高的词进行视觉上的突出, 词语出现的频率越高,字体就会越大,颜色也会越醒目。通过查看词云图,我们能快速获取文本中的主要内容。(摘抄自 https://cloud.tencent.com/developer/article/2160340)

  1. 首先需要gp的历史发言,使用导出聊天记录可以得到。
  2. 安装所需的pip包

    pip install wordcloud # 主包,会自动安装多个绘图所需的包
    pip install jieba # 汉字分词
  3. 下载中文字体包
    GitHub上已经有人提供了,https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf,可以直接下载
    可以使用wget等下载,如

    wget https://raw.githubusercontent.com/StellarCN/scp_zh/master/fonts/SimHei.ttf
  4. 主程序
    要注意文件的路径,有很多不需要的内容,所以使用了屏蔽词功能。

    import matplotlib.pyplot as plt
    import jieba
    from wordcloud import WordCloud, STOPWORDS
    
    path = r'./gp.txt'
    
    # 读取文本文件
    with open(path, 'r', encoding='utf-8') as f:
     text = f.read()
    
    # 使用jieba进行分词
    wordlist = jieba.cut(text, cut_all=False)
    wl = " ".join(wordlist)
    
    # 增加屏蔽词
    STOPWORDS.update(['吧', '是', '我', '了', '有', '都', '不', '就', '还', '没', '的', '你', '在', '也', '这'])
    
    # 创建WordCloud对象,使用SimHei.ttf中文字体
    wc = WordCloud(font_path='./SimHei.ttf', background_color='white',
                stopwords=STOPWORDS, max_font_size=200,
                max_words=500, width=1920, height=1080)
    
    # 生成词云
    myword = wc.generate(wl)
    
    # 显示词云
    plt.imshow(myword)
    plt.axis("off")
    # plt.show()
    wc.to_file(r'./wordcloud.png')
1

评论 (0)

取消