文章目录

  • 首先导出想要生成词云的聊天记记录(QQ支持)
  • 打开导出的聊天记录查看
  • 净化聊天记录
    • 代码
    • 净化后的文件部分内容显示(text_clean.txt)
  • 分词
    • 代码
    • 分词后文本部分结果print(text_split):
  • 选取图片
    • 代码
    • 图片
  • 选取字体(词云只支持英文 但是通过以下方式可以正常显示中文)
    • 更换字体路径
    • 代码
  • 生成图片并显示
    • 代码
    • 生成的词云图片
  • 全部代码

首先导出想要生成词云的聊天记记录(QQ支持)


打开导出的聊天记录查看

净化聊天记录

代码

#将文本导入到程序中
text=open(r'C:\Users\LIANG\Desktop\java技术交流群.txt',encoding='utf-8')# 提取文本 一行一行选取 存入text_clean.txt文件中
text_clean = open(r'C:\Users\LIANG\Desktop\text_clean.txt','w',encoding="utf-8-sig")
str_s=text.readlines()
for str in str_s:if str.find('[表情]')!=-1:str=str.replace('[表情]','')elif str.find('2019')!=-1 or str.find('2020')!=-1 or str=='' or str.find('[图片]')!=-1:continueelse:text_clean.write(str)

净化后的文件部分内容显示(text_clean.txt)

分词

代码

import jieba # 中文分词组件
#利用jieba模块对聊天记录精确分词
text_clean = open(r'C:\Users\LIANG\Desktop\text_clean.txt','r',encoding="utf-8-sig").read()
text_jieba = jieba.cut(text_clean, cut_all=False)
text_split = " ".join(text_jieba)

分词后文本部分结果print(text_split):

选取图片

代码

#PIL专门处理图像
import numpy as np
from PIL import Image
cloud_mask = np.array(Image.open(r'C:\Users\LIANG\Desktop\云朵.jpg'))

图片

选取字体(词云只支持英文 但是通过以下方式可以正常显示中文)

更换字体路径

我们按照路径"C:\Windows\Fonts"打开文件 我们可以选择 其中任意一种支持中文的字体

比如:选择微软雅黑中的简体字 右键点击属性 复制粘贴到’C:\Windows\Fonts’路径后 改变font属性

代码

font = r'C:\Windows\Fonts\msyh.ttc'

生成图片并显示

代码

#导包
from wordcloud import WordCloud
import matplotlib.pyplot as plt
'''
scale :             按比例放大画布
background_color :  背景颜色
font_path :         字体
width :             宽
height :            高
mask :              nd-array or None类型 通常用于添加图片背景
max_words :         要显示的词的最大个数
更多参数可以去看官方文档
'''
wordcloud = WordCloud( scale=10,background_color='white',width=200,height=200, font_path=font,mask=cloud_mask,max_words=300).generate(text_split)
#interpolation='bilinear',排线方式
plt.imshow(wordcloud,interpolation='bilinear')
#取消显示轴线
plt.axis('off')
#显示图片
plt.show()

生成的词云图片

全部代码

import jieba # 中文分词组件
import numpy as np
from PIL import Image
from wordcloud import WordCloud
import matplotlib.pyplot as plt#步骤一:将文本导入到程序中
text=open(r'C:\Users\LIANG\Desktop\java技术交流群.txt',encoding='utf-8')# 步骤二:净化文本数据
text_clean = open(r'C:\Users\LIANG\Desktop\text_clean.txt','w',encoding="utf-8-sig")
str_s=text.readlines()
for str in str_s:if str.find('[表情]')!=-1:str=str.replace('[表情]','')elif str.find('2019')!=-1 or str.find('2020')!=-1 or str=='' or str.find('[图片]')!=-1:continueelse:text_clean.write(str)
text_clean.close()#步骤四:利用jieba模块对聊天记录精确分词
text_clean = open(r'C:\Users\LIANG\Desktop\text_clean.txt','r',encoding="utf-8-sig").read()
text_jieba = jieba.cut(text_clean, cut_all=False)
text_split = " ".join(text_jieba)
print(text_split)#步骤五:设置背景图 和字体
cloud_mask = np.array(Image.open(r'C:\Users\LIANG\Desktop\云朵.jpg'))
font = r'C:\Windows\Fonts\msyh.ttc'#步骤六:生成词云
'''
scale :             按比例放大画布
background_color :  背景颜色
font_path :         字体
width :             宽
height :            高
mask :              nd-array or None类型 通常用于添加图片背景
max_words :         要显示的词的最大个数
更多参数可以去看官方文档
'''
wordcloud = WordCloud( scale=10,background_color='white',width=200,height=200, font_path=font,mask=cloud_mask,max_words=300).generate(text_split)
#interpolation='bilinear',排线方式
plt.imshow(wordcloud,interpolation='bilinear')
#取消显示轴线
plt.axis('off')
#显示图片
plt.show()

QQ聊天记录生成词云--WordCloud相关推荐

  1. 情人节礼物------用她的照片和我们的聊天记录生成词云~

    用到的知识点 python读写文件 python正则表达式过滤无用信息 jieba分词与自定义字典 停用词筛选.统计词频 调用wordcloud绘制词云 第一步 从电脑版蛐蛐导出聊天记录.(手机一般不 ...

  2. 在Python中自然语言处理生成词云WordCloud

    了解如何在Python中使用WordCloud对自然语言处理执行探索性数据分析. 最近我们被客户要求撰写关于自然语言处理的研究报告,包括一些图形和统计输出. 什么是WordCloud? 很多时候,您可 ...

  3. 用python生成词云wordcloud

    代码如下: import wordcloudimport jiebaexcludes={"将军","却说","二人","不可&qu ...

  4. 用python生成云词汇_用python生成词云wordcloud

    代码如下: import wordcloud import jieba excludes={"将军","却说","二人","不可& ...

  5. java使用wordcloud生成词云

    1.引入maven依赖 <dependency><groupId>com.kennycason</groupId><artifactId>kumo-co ...

  6. 微信聊天记录的词云制作

    微信聊天记录的词云制作 需求 导出微信聊天记录 提取文字聊天记录 生成词云 需求 想把跟朋友的微信聊天记录做个词云 导出微信聊天记录 我的手机是iphone,用旧版的itunes备份手机全部信息 it ...

  7. 如何使用python生成词云并透明背景的词云?

    首先是我们需要用到的两个库,一个是wordcloud用于生成词云,还有一个是jieba(外号:结巴)用于进行中文的分词,如果你制作的图云中不包含中文,那么可以不用下载结巴. 环境报错解决思路 如果你是 ...

  8. 在线词云加载慢,有水印?作为程序员,教你如何使用Java,Python和JS生成词云!

    声明:本文转载huaairen作者一文<制作词云库图片>,如有侵权,请联系删除. 前言 某天心血来潮,想搞搞词云这玩意,网上很多在线生成词云的网站,但是加载都比较慢,或者有水印,再或者是无 ...

  9. Java调用命令行+java生成词云

    java调用命令行 package com.weizu.control; import java.io.BufferedReader; import java.io.InputStreamReader ...

  10. Java生成词云KUMO

    文章目录 前言: 引入依赖 1.1引入KUMO依赖 1.2 junit测试依赖 junit测试代码 创建D盘下的3302.txt文本文件 前言: python生成词云wordcloud,使用java的 ...

最新文章

  1. java双目运算符重载,c++类的单目和双目运算符的重定义
  2. 进程创建函数fork()和vfork()
  3. python读取整个txt文件-python怎么读取txt文件内容
  4. [转载]Flash P2P 文件共享基础教程
  5. Thinkphp 逻辑与,逻辑或的复合查询
  6. 移动领域大话三国(Android/IOS/WP7)之英雄过招
  7. oracle 多个实例互相切换实例
  8. 微电子科学与工程要学计算机吗,微电子科学与工程专业就业前景如何 有前途吗...
  9. MSSQL差异备份拿shell(转)
  10. 解决 IDEA 无法找到 java.util.Date 的问题
  11. 下载我的CSDN资源
  12. 三星S7edge刷极光ROM的总结
  13. web逻辑思维题目_逻辑思维训练500题
  14. 31部黑客电影,你看过哪几部?
  15. strcmp函数原型 C语言
  16. c# 小票打印机打条形码_C# Code 128条形码打印的问题
  17. PCB设计中抑制电磁干扰的几个准则及窍门
  18. iTunes 10 选择自定义IPSW
  19. oracle v rman status,RMAN 中V$ARCHIVED_LOG 中STATUS 为X 的文件处理
  20. 携程ajax,Python爬虫实战之爬取携程评论

热门文章

  1. PPT学习整理(八)PPT图片技巧
  2. 全文搜索功能--solr
  3. linux网络操作系统-实训项目的实现
  4. 【跨域问题】springBoot + VUE解决跨域问题几种处理方案
  5. 谁是赢家,某电视台的娱乐节目有个表演评审环节,每次安排两位艺人表演,他们的胜负由观众投票和 3 名评委投票两部分共同决定。规则为:如果一艺人的观众票数高,且得到至少 1 名评委的认可,该艺人就胜出;
  6. pentaho发布报表后免登陆查看数据报表
  7. 最好用的WIN7WIN10激活工具
  8. 8款免费的Windows数字签名软件【附下载】
  9. 数字签名和数字证书的区别与联系
  10. HTTP协议有关知识