微信聊天记录可视化工具详细介绍 微信2020聊天记录分析报告怎么弄
off999 2024-12-30 06:06 34 浏览 0 评论
功能概要
能做什么
用于对微信聊天记录进行可视化。
文本分析
双方聊天词汇的词云图
专属词汇分析(甲常用而乙不常用的词)
共用词汇分析(甲乙都喜欢用的词)
时间信息分析
月度消息数量变化
时均消息数量变化
下面这些图片都可以自动生成:
手机聊天记录同步到电脑
相信大部分小伙伴们的聊天记录都在手机里面,电脑的聊天记录不全。所以先把手机的聊天记录同步到电脑上,这个小伙伴们在换手机的时候可能有过体验:微信 - 设置 - 聊天 - 聊天记录迁移与备份 - 迁移。等个几分钟吧,等待时间取决于您的聊天记录量有多大。
软件界面操作
解密2:输入个人信息,获取信息。然后解密:开始启动!
然后就可以在好友中导出聊天记录了。为了减少乱码,请勿勾选图片、视频、表情包,导出的不含图片/视频/文件!
导出完毕,退出软件。在软件同一目录下会出现一个 data目录,点进去,data/聊天记录/ 下面会有个 csv 文件。大概长这个样子:
把这个csv文件拷贝到 WechatVisualization 的 input_data/ 目录里面。
注:使用软件的时候您可能会发现它也集成了导出年度报告这种分析+可视化的功能,但仔细看看它制作的年度报告就会发现太粗糙了,词云图的词语乱七八糟,没有做数据清洗。
安装python第三方库
使用者需要具备基本的 Python 知识(如何运行代码),电脑上已经安装了 Anaconda 或者 Python(版本>=3.7)。如果用 Anaconda,最好新建一个环境。
依次安装必要的第三方库:
安装方法不是本篇重点,基本上都是 pip install ,如果遇到问题请自行上网搜索解决方法,在此不赘。
修改配置文件
配置文件为 config.yml,用记事本就可以打开了,当然用代码编辑器更好,因为可以语法高亮。
里面可以自行设置的内容有
# 输入数据
# 下面这些文件都放在input_data目录下
# 聊天记录
msg_file: msg.csv
# 微信表情中英文对照表
emoji_file: emoji.txt
# 停用词表,一般是没有实际意义的词,不想让被分析到的词都放在这里
stopword_file: stopwords_hit_modified.txt
# 词语转换表,用于合并意义相近的词,比如把“看到”、“看见”、“看看”都转换为“看”
transform_file: transformDict.txt
# 用户自定义词典,用于添加大部分字典没有的、但自己觉得不能分开的词,如i人、e人、腾讯会议
user_dict_file: userDict.txt
# 名字
# name1是自己的名字
name1: person 1
# name2是对方的名字
name2: person 2
# name_both是双方共同的名字
name_both: both
# 局部参数
# top_k是绘制前多少个词
# 如果词或表情的出现频次低于word_min_count或emoji_min_count,就不会被分析
# figsize是绘图图窗尺寸,第一个是宽度,第二个是高度
word_specificity:
top_k: 25
word_min_count: 2
figsize:
- 10
- 12
emoji_specificity:
emoji_min_count: 1
top_k: 5
figsize:
- 10
- 12
word_commonality:
top_k: 25
figsize:
- 10
- 12
emoji_commonality:
top_k: 5
figsize:
- 12
- 12
time_analysis:
figsize:
- 12
- 8运行代码
可以在代码编辑器中直接运行 main.py,也可以在命令行中(先激活之前创建的环境)运行 python main.py。
成功运行应显示如下信息:
生成的图片可以在当前目录的 figs 文件夹中找到。
修改输入文件
查看生成的图片,可能会有些词不是自己想要的,抑或有些自己想要的词被拆分了,此时到 input_data/ 目录下面修改各文件即可。这是一个不断迭代的过程,也就是数据清洗,比较耗时间。但没办法,如果想要质量比较高的结果,就耐心好好做一下,把数据清洗干净。
emoji.txt 是微信表情的中英文对照。微信表情在聊天记录中是以[捂脸]或者[Facepalm]的形式呈现的。我的聊天记录里面中英文的[xxx]都有,所以建立一个对照表,把所有的英文都替换成中文。如果您发现有的表情文字还是英文,可以在里面添加其中文,以便合并。 stopwords_hit_modified.txt 是停用词表。诸如“现在”、“进行”、“好像”这种(我自认为)没有实际意义的词,不应该被统计,直接把它们剔除。如果你觉得生成的结果里面有你不想看到的词,可以在这里添加。 transformDict.txt 把一些词转换成另一些词。诸如“看到”、“看见”、“看”、“看看”这些同义词可能被分别统计,完全没必要,我们可以把它们合并为一个词“看”。为此,只需在两栏中分别填写原词与转换词即可。注意,两栏用的是制表符(Tab)隔开。 usreDict 可以添加传统词典中没有的词,比如 “e人”、“i人”、“腾讯会议”等。如果不自行添加这些词,后果是它们可能会被拆成“e”、“i”、“人”、“腾讯”、“会议”这些词,这不是我们希望看到的。
报错解决
ValueError: shape mismatch: objects cannot be broadcast to a single shape
ValueError: The number of FixedLocator locations (5), usually from a call to set_ticks, does not match the number of ticklabels (1).
可能原因:出现上面两个报错,可能是因为相应位置的top_k或者min_count设置得太大了,而聊天记录量太少,导致没有这么多词可以绘制。
解决方法:考虑到这一点,我在每一小段程序运行时都打印了允许设置的最大参数值。如果打印双横线,代表该段参数设置无误,程序运行成功。您可以检查一下自己在相应位置的参数是否设置得太大了,然后适当减小。
项目流程
- parse.py 读取 input_data/ 中的文件,执行分词。生成 keywords.csv 放入 temp_files/ ,里面在原数据基础上新增两列,一列是被拆分的词,一列是提取出的微信表情。
- word_cloud.py 计算词频,生成 pickle 文件 keyword_count.pkl 放入 temp_files/ ,同时制作词云放入 figs/。
- 利用上一步计算的词频,计算词语专属性。图片放入 figs/。
- 计算微信表情出现频次,生成 pickle 文件 emoji_count.pkl 放入 temp_files/ 同时计算表情专属性。图片放入 figs/。
- 利用词频,计算词语共有性。图片放入 figs/。
- 利用表情频次,计算表情共有性。图片放入 figs/。
- 利用微信聊天记录原始文件,进行时间信息分析。图片放入 figs/。
- 计算方法
- 记自己发送过某个词 的次数为 ,对方发送过某个词 的次数为 。
专属性计算
专属性表明自己常说,对方不常说(反之亦然)。我对专属性的考虑是这样的,假如有三个词 A、B、C。
对于自己来说,显然A的专属性应该是最高的。B词的话,两个人虽然也是差了4次,但是基数比较大,差了4次其实无明显对比。C的话,基数太小,要说C是自己专属的词汇,可靠性不高。
共有性计算
共用性表明两个人都常说某个词。所以首先排除那些有一方从来没说过的词。为此,首先对双方说过的词取交集。
现在我们还是假设有三个词 A、B、C。
B词被自己说过的次数比对方多得多,共有性显然很低。C词虽然双方说过的次数差不多,但基数太小,不能得出可靠结论。所以A词共有性最高。那怎么算呢?
共有性是专属性的反面,那我们能不能用专属性的倒数呢?我觉得不好,一方面因为分母是 ,容易出现零值;另一方面对于A词(50,50)和C词(1,1)不能做很好地区分。
为此,我使用了调和平均值:
为什么这里使用调和平均值而不使用其他平均值呢,因为调和平均值是四大平均值中最偏向较小数的那个,“共有性”就是强调两个人都要经常说,不能光一个人说另一个人不说,也即一方说得再多,对于共有性的影响也很小,比如B词(1000,1)。
用调和平均值可以确保A词具有最大的共有性。
以上就是微信聊天记录可视化工具的介绍,喜欢文章,关注小编,后期会有更多的科技资讯。
相关推荐
- 高仿ios主题全套软件(超高仿ios安卓主题)
-
IPhone12启动器全套仿Ios12桌面主题是一款能够让大家的安卓手机秒变苹果机的系统工具,IPhone12启动器可让你的手机直接变成IPhone12的桌面。从主题,桌面,Ui以及系统内的各种细节,...
- win10在哪里下载软件最好(win10软件在哪下载比较好)
-
1、点击Win10系统的开始菜单,然后在点击应用商店;2、打开Win10应用商店后,在搜索框里输入想要搜索的应用软件,然后点击检索;3、点击搜索到的应用,点击安装;4、点击安装后,系统会提示要切换到这...
- 电脑软件怎么安装(电脑软件怎么安装到手机上)
-
电脑怎么安装excel软件方法/步骤:1.在电脑左下角找到这个小圆圈,单击小圆圈打开搜索栏。搜索MicrosoftStore。2.在右上角找到搜索,单击搜索。在搜索中输入Excel。回车键打开。3....
- u盘win7系统安装盘(u盘里安装win7系统)
-
有些软件我们从网上下载安装时需要破解密码或者我们没有网时,直接需要把安装的软件,传到别的电脑,具体操作如下:1。直接把另一台电脑桌面上的软件复制或发送的优盘里,其实那只是一个快捷方式2.以ps软件为例...
- 语音输入法哪个好用(语音输入法免费版下载安装)
-
日常基本使用的讯飞和搜狗都还不错,对比来看的话,讯飞相对会更好一些。讯飞输入法在键盘输入方面进步非常快,功能也比较全面。单纯的语音方面,讯飞的稍微好一点,例如一些标点、断句之类处理的更加到位。讯飞支持...
- 手机app应用市场(手机里面的应用市场)
-
360手机助手是android智能手机的手机管理专家。提供海量的游戏、软件、音乐、小说、视频、图片,通过它轻松下载、安装、管理手机资源。所有提供信息资源,全部经过360安全检测中心的审核认证,绿色无毒...
-
- 开局最强系统(开局最强系统txt奇书网)
-
《最强奶爸系统》作者:最美猪猪小说简介同学甲:“我找到了月入七千的工作。”同学乙:“我找到了月入一万的工作。叶辰,你呢?”叶辰:“我老婆…是万亿市值超凡集团的老板,给我生了10个孩子。”同学们:???叶辰遭前女友陷害,阴差阳错邂逅了一位美女...
-
2026-01-03 07:03 off999
- win10系统下载器官网(下载windows10官方)
-
如果您想要在Windows10上下载游戏辅助,可以按照以下步骤进行:1.打开您选择的游戏辅助下载网站,例如:GameCopyWorld或MegaGames。这些网站提供许多破解游戏的补丁和辅助工具...
- photoshop官方网站进入(photoshop官网入口)
-
那是因为网站采用了安全加密技术,安装了SSL证书,说明此网站为安全的页面,其信息已经经过加密措施。显示https的网站,网址上还会有显示一个小锁头,也是安全标志。1.先用Photoshop做一个网页图...
- windows7旗舰版主机多少钱(windows7旗舰版电脑多少钱一台)
-
其实这两个版本没有太大的差别,只是功能上有少量差别,旗舰版服务开启的要比专业版本服务开启的多几个,至于朋友们说的专业快速度比旗舰版快,或旗舰版比专业版速度快,个人认为速度都是一样只是功能上的差别,如果...
- 小米平板(小米平板怎么分屏)
-
小米平板的简单使用方法:1、首先给小米平板给充电,确保电量充足。2、长按住电源键启动小米平板,进入设备初始设置界面。3、根据屏幕上的提示信息,设置平板电脑联网、绑定小米账号等,直到完成即可正常使用了。...
- 移动硬盘一直在加载无法读取
-
移动硬盘电源灯亮说明硬盘有供电,无法识别此移动硬盘时,可按如下步骤进行排查:1)将移动硬盘拔下后,更换硬盘盒再接上确认。2)更换过硬盘盒还是无法识别的话,移动硬盘就损坏了,需要进行更换;3)若更换过硬...
- 下载软件的app大全(下载软件的app大全免费)
-
中国最常见的目前是迅雷下载软件。官网可以下载到正常的免费版本。他支持ftphttpbt磁力链接等多种形式的下载。国外的有bitcome。电驴和电骡等多种形式的下载软件。他们都可以满足日常的下载要求,...
- wifi贴小程序搭建需要多少钱
-
回答如下:要搭建自己的WiFi小程序,需要以下步骤:1.获得开发资格:首先需要注册成为开发者,获得小程序的开发资格。2.编写代码:使用微信小程序的开发工具,编写WiFi小程序的前端和后端代码。3....
- 外网服务器地址(外网服务器地址ip大全)
-
要弄懂这个问题,你首先要了解什么叫内网,什么叫外网,什么叫服务器,服务器在网络中所扮演的是什么角色,内网:就是指内部网络,窄义上的内网就是指中小型的局域网外网:就是指在你办公网络之外能访问到的网络...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
