分享一个 QQ 消息分析可视化的小轮子

2017-08-09 14:51:26 +08:00
 slysly759

前言

这个小轮子主要是用来纪念 顺便测试一下网上所谓回复速率 和 情感 增减的 相关性,就个人计算结果而言 没有显著性。

LoveTime

恋爱的好时光

效果展示

1. 每半年(或每月)聊天回复速率

  即:你发出消息后多少分钟后得到回复

2. 一天中和 TA 最爱聊天的时段

3. 在一段时间内聊天次数比率

  即:你发出消息总次数 /TA 发出消息总和次数

4. 在一段时间内聊天内容长度比率

  即:你发出消息总和长度 /TA 发出消息总和长度

5. 统计总时段内每天聊天总次数

6. 统计总时段内聊天标签和词频

如图(样图仅供参考):

升级版

  1. 提供 [情感变化曲线] 录入的功能 和 [特别事件] 录入的功能.(特别事件指:约会吃饭交往俯卧撑等)

  2. 对 [特别事件] 情感因子 进行先期定义.

  3. 提供 [情感变化曲线] 与 主要因变量 [特别事件] [聊天回复速率] [聊天次数比率] [聊天内容长度比率] [每天聊天总次数] 和 [聊天标签和词频] 时间面板数据之间的线性回归关系,进行建模。 最终将会提供线上交流和线下交流对情感 Y 影响比率,同时提供多重共线性判别结果.

使用方法

  1. 第一步 从 github 上下载

    git clone https://github.com/songluyi/LoveTime.git

  2. 安装依赖库

    pip install -r requirements.txt

  3. 将 QQ 聊天记录导出并放置到 msg 文件夹下面

    如何导出?

    导出 QQ 消息记录: http://jingyan.baidu.com/article/a501d80c33919fec630f5e82.html

    只能放置一个么

    目前是的

  4. 运行 moniter.py

    python moniter.py

5747 次点击
所在节点    分享创造
25 条回复
sgissb1
2017-08-09 15:02:22 +08:00
东西是好东西,早就想要一些可视化分析工具。不过不一定符合心理学模型,所以体现的未必是双方感情情况,可能只是聊天频繁度。
huiyadanli
2017-08-09 15:16:18 +08:00
> Author doesn't have fucking time wasting on English version.

哈哈哈,这个好血性。。。
standin000
2017-08-09 15:20:07 +08:00
bak 文件不是加密了吗?如何解析的
unique
2017-08-09 15:21:28 +08:00
star 👍
hzw758
2017-08-09 15:24:49 +08:00
是啊,聊天记录能解析啦?
wujunze
2017-08-09 15:25:03 +08:00
有趣的 Repo 感谢分享
slysly759
2017-08-09 15:36:10 +08:00
@standin000 实际上你可以导出为 txt 格式 另外 想看到图片 可以导出为 mht (好像是这样) 图片解析和情感分析 是准备日后 plus 版本使用
MuMew
2017-08-09 15:52:31 +08:00
😂分析一个人的记录还是全部
zhongkouwei
2017-08-09 16:00:47 +08:00
funckingtime
TangMonk
2017-08-09 16:09:48 +08:00
可以和 https://github.com/sjdy521/Mojo-Webqq 集成,跑在服务端,一直监控。。。
slysly759
2017-08-09 16:41:39 +08:00
@TangMonk 可以 这个 666
Anshi
2017-08-09 17:32:49 +08:00
很有趣的项目 下班试试
linus3389
2017-08-09 18:05:37 +08:00
去哪里捞点数据。。。岂不是可以统筹出 把妹成功率最高的套路?
yejinmo
2017-08-09 18:32:57 +08:00
这个。。Ubuntu 跑起来有问题啊

楼主是 Windows 吧
yejinmo
2017-08-09 18:58:55 +08:00
Error#1:我直接让 get_first_strike 返回我的名字了,可能跟我的名字是空的有关系吧。。

Traceback (most recent call last):
File "moniter.py", line 599, in <module>
moniter.run()
File "moniter.py", line 580, in run
self.reply_rate(small_gap)
File "moniter.py", line 243, in reply_rate
first_strike_up = self.get_first_strike(time_gap=interval_time)
File "moniter.py", line 232, in get_first_strike
self.sec_strike_up=name_list[1][0]
IndexError: list index out of range

Error#2:

Traceback (most recent call last):
File "moniter.py", line 600, in <module>
moniter.run()
File "moniter.py", line 581, in run
self.reply_rate(small_gap)
File "moniter.py", line 276, in reply_rate
sec_avg_time = sec_sum_time / len(sec_gap_list)
ZeroDivisionError: integer division or modulo by zero
steveway
2017-08-09 23:37:03 +08:00
能用!感谢!
但是好像聊天记录读取会有误差?
mingyun
2017-08-09 23:39:14 +08:00
能分析微信的聊天记录吗
dengyunxuan
2017-08-10 11:22:33 +08:00
@steveway 怎么运行的
steveway
2017-08-10 11:25:26 +08:00
@dengyunxuan #18 windows7 环境 cmd 按楼主步骤运行 除了 wordcloud 安装重新自己找了办法之外 其他都很顺利
Natsumoku
2017-08-10 16:46:31 +08:00
报错和 15 楼一模一样

好像容错率不是很高?我修修补补一直没成功跑出来过,心累……
以及这需要 import io,然后把其中一处 open 改成 io.open 才能支持 python2 是吗?我不确定我遇到的报错是不是和我在用 python2 有关。

以及 ubuntu 的文件地址里,斜杠全都要改……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/381663

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX