开发者生态
morning
我分析了我20年的聊天记录
2026-05-28
1 阅读
valzevul
我是一个坏朋友吗?我分析了 20 年的聊天记录,将 120 万条消息转化为我生活的结构化宝库 - 赢得朋友并影响他人。相反,我了解了我的情感带宽、爱情周期和友谊半衰期。 2026 年 5 月 27 日 · MLX、数据分析、法学硕士、第二大脑 2014 年,WaitButWhy 的 Tim Urban 发表了《Your Life in Weeks》——一个网格,其中每个方格代表一个人生命中的一周,并且大部分网格已经填满。这个形象困扰了我很多年。我开始追踪事物的部分原因是——我希望网格有意义,而不仅仅是倒计时。但生物识别数据以一种奇怪的方式体现了我的生活是多么充实。网格表明重要的事件——工作、旅行、学校、婚姻——而且这些都很容易标记。但他们几乎无法讲述我在那几周的感受,或者我对周围人的看法。这就是我想要衡量的。所以我尝试写日记。首先是纸质文件,然后是文本文件,然后是黑曜石中的日常笔记。这本日记记录了我在写日记的那天认为重要的事情。它错过了我忘记记下的对话或我当时看不到的缓慢移动的模式。我的笔记和它们之间的联系多年来不断增长。厌倦了不善于维持人际关系 [1] 1. 本身并不坏 - 我只是经常拖延。有一次我学会了射击和跟踪鹿,因为我想煮牛排——而烹饪比人类互动容易得多。并希望数据能够弥补这一不足,我开始寻求构建某种个人 CRM,它是根据记录而不是记忆构建的 - 这要归功于过去几十年来我在互联网上大量浪费时间所留下的痕迹。我的数字历史¶ 我的在线形象大致分为三个时代:2000 年代的 ICQ、IRC、DC++:脚本小子和玩笑的午夜频道 - 全部消失了,而且可能是最好的。我在那些聊天中的十岁孩子不需要结构化的档案。 VK [2] 2. 一个现在默默无闻的社交网络,在上个世纪九十年代的后苏联地区很流行。我已经有十多年没去过俄罗斯了,但 2008 年的档案还在那里。一定要爱极权国家,是吗? 2010 年代的 Twitter、Facebook:学校、大学、早期职业生涯 - 均匀分布。 2010 年代至 2020 年代的 Instagram 和 Telegram:令人惊讶的是,尽管我在 Instagram 上发的帖子不多,但通过 DM 与人们联系通常更容易,而且越来越多的人也将 WhatsApp 换成了 Telegram。借助 GDPR 和数据访问法,我获得了包含所有消息、反应和社交图谱的档案。数据归档¶ 解析一堆 JSON 和 HTML 并不难,但也不有趣。 Instagram 通过 latin-1 对西里尔字母进行双重编码。 Telegram 在不同日期进行的导出之间分配不同的内部消息 ID。 Facebook 在某个时候引入了端到端加密,因此相同的消息会出现在三个不同的文件夹中。 Telegram 允许您导出群聊或仅导出您自己的消息。 VK 无需询问即可导出所有内容。 Instagram 根本不区分广播和个人聊天。一旦解析为统一的制表符分隔格式,五个导出就会产生不同类型的信号。 Telegram 和 VK 大多是 DM。 Instagram 添加了故事互动和关注者图表。 Twitter 是它自己的东西:独立的推文是一个出版物语料库,DM 一半是支持请求,一半是会议协调,所以我需要回复/提及图来捕获真实信号。我想捕获每个对话日的每日笔记、每个人的个人资料、每个地点的存根、生活时间表以及其他任何内容 - 食谱、鸡尾酒、会议记录。淹没在噪音中¶ 在担心分类之前,您必须面对这样一个事实:大多数数据都是噪音。在我最长的帖子中——十年来与我的伴侣的 486,000 多条消息——内容有 2.4% 的链接、9.1% 的媒体、1.5% 的纯表情符号消息、28.4% 的简短填充符和 58.7% 的实质性文本。这意味着,对于本次练习而言,41% 是噪音。表情符号、链接和媒体很容易过滤,但捕捉会话填充词(看起来像内容的短词,直到你每月看到数百次)却很困难。我的第一个想法是过滤掉所有短于三个单词的消息,但是有很多东西可以用两个单词来表达(他死了,我们输了,等等)。建立 hahaha 和 noice 的拒绝名单也不起作用,尤其是跨语言。有效的方法是从聊天中的五个偏移位置进行采样,计算每个短令牌的频率,手动检查前 80 个,并将拒绝名单与生活事件短消息的受保护集配对。在所有平台和年份中,清理后的语料库包含大约 52,000 个独特的引理。自 2008 年以来,新颖率(我以前在任何聊天中从未使用过的单词的比例)一直在下降,并在六年前稳定在 6%。我的大部分词汇都锁定在我20岁出头的时候。 Bars:每年新的独特单词(从未使用过