V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
slysly759
V2EX  ›  分享创造

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

  •  
  •   slysly759 · 2017-08-09 14:51:26 +08:00 · 5720 次点击
    这是一个创建于 2664 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

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

    LoveTime

    恋爱的好时光

    Travis PyPI Hex.pm

    效果展示

    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

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

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

    楼主是 Windows 吧
    yejinmo
        15
    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
        16
    steveway  
       2017-08-09 23:37:03 +08:00
    能用!感谢!
    但是好像聊天记录读取会有误差?
    mingyun
        17
    mingyun  
       2017-08-09 23:39:14 +08:00
    能分析微信的聊天记录吗
    dengyunxuan
        18
    dengyunxuan  
       2017-08-10 11:22:33 +08:00
    @steveway 怎么运行的
    steveway
        19
    steveway  
       2017-08-10 11:25:26 +08:00
    @dengyunxuan #18 windows7 环境 cmd 按楼主步骤运行 除了 wordcloud 安装重新自己找了办法之外 其他都很顺利
    Natsumoku
        20
    Natsumoku  
       2017-08-10 16:46:31 +08:00
    报错和 15 楼一模一样

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

    以及 ubuntu 的文件地址里,斜杠全都要改……
    slysly759
        21
    slysly759  
    OP
       2017-08-10 17:24:55 +08:00 via Android
    @Natsumoku 仅测试 Windows7 Python3 心好累 昨天分 不再维护了
    renyijiu
        22
    renyijiu  
       2017-08-10 22:34:43 +08:00
    这真是一个悲伤的故事!
    sunsulei
        23
    sunsulei  
       2017-08-11 11:21:51 +08:00
    这真是一个悲伤的故事!
    dengyunxuan
        24
    dengyunxuan  
       2017-08-11 20:36:43 +08:00
    @steveway 我说呢 我是 WIN10 一点反映都没有
    Doragd
        25
    Doragd  
       2017-08-12 13:10:47 +08:00
    @slysly759 请问您的 python 是 3.几呢,wordcloud 安装好了,但是提示 cannot import name '_imaging'
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3044 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:51 · PVG 21:51 · LAX 05:51 · JFK 08:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.