基于Python的微信聊天记录文本分析工具-jieba+snownlp
项目描述 基于Python的微信聊天记录文本分析工具
基于 Python 的微信聊天记录文本分析工具,输入聊天记录 CSV,对双方的聊天内容做词频、情感与长度等维度的量化分析,并以图表形式呈现结果。原项目为若干独立脚本,现已扩展为「Flask 后端 + 单页前端」的可交互网页应用,支持上传数据在线分析。
浏览器访问 http://127.0.0.1:5000
项目功能
– 数据接入:上传 chat_data.csv(或用内置示例数据),自动校验并推导月份列。
– 文本过滤:仅分析 type=1 的文本消息,去除表情、换行与停用词。
– 词云生成:分别输出「我发的」与「对方发的」中文词云。
– 情感得分:用 snownlp 逐句打分,按月份统计均值并绘制双线折线图。
– 情绪分类:基于大连理工情感词典,划分喜/怒/哀/惧/恶/惊/好等情绪并绘制热力图。
– 长度统计:统计双方消息平均长度随月份变化并绘制折线图。
– 结果展示:网页汇总统计卡片、情绪徽章与五张图表。
运行环境
– 操作系统:Windows(本机为 PowerShell,跨平台亦可)。
– Python:3.11。
– 依赖库:pandas、numpy、matplotlib、seaborn、jieba、snownlp、wordcloud、openpyxl、flask。
– 字体与数据:SimHei 中文字体、CNstopwords.txt 停用词、大连理工情感词典 xlsx。
– 启动方式:python app.py,浏览器访问 http://127.0.0.1:5000 。
项目技术
– 后端:Flask,提供上传接口与 /api/analyze 分析接口,图表以 base64 返回。
– 前端:原生 HTML/CSS/JavaScript 单页,FormData 上传、fetch 调用接口、动态渲染结果。
– 数据处理:pandas 做读取、清洗、分组聚合。
– 文本分析:jieba 中文分词;snownlp 情感打分;大连理工情感词典做情绪归类与热力图。
– 可视化:wordcloud 生成词云,matplotlib + seaborn 绘制折线图与热力图,Agg 无界面渲染。
以上系统源码经过技术整理与调试,确保能正常运行


