基于itchat的个人情感分析

昝道广

概述

  • 前言

  • 思考

  • 性别分析

  • 好友签名情感分析

  • 地区分布

  • 爬虫技术分析

  • 代码解析(部分)

  • 后记

前言

本文以迅雷不及掩耳盗铃儿响叮当机立断章取义无反顾,雄姿英发,羽扇纶巾,谈笑间,墙橹灰飞烟灭......阐述了啊广的微信好友的生理状况、地理分布以及情感等阐幽显微之事。知其然而不知其所以然,好友列表中一个个栩栩如生的头像,有人物、有动物、植物头像,亦有一个个极大概率代表你个性的个性签名,今天带着你们透过现象看本质,从朋友圈中看出兄弟姐妹的塑料情意,给自己凤凰涅磐重生之认清自我之契机!


思考

考虑到以下问题,使用Python对朋友圈进行了深度剖析和扫荡,具体思考如下:

  • 什么?!你不知道自己喜欢女生还是男生?(曾经一度思考过这个问题emmmm)

  • 你想知道你的好友到底有多少正能量和负能量吗?

  • 若干年后,去了一个陌生的城市,想知道你的哪个好朋友离你最近?(前提是微信上的地址是正确的,类似“阿拉伯联合酋长国”等类似字符集不正确的可以直接枪毙)

性别分析

首先通过itchat库获取好友的数据,分别统计出Male、Female、Unknow(竟然还有不知道自己性别的...)然后通过matplotlib模块绘制出饼状图,最后对朋友圈性别进行分析和总结。

用数据说话,用理论证明。这是一个惊天地泣鬼神的结果,惊叹于51.6%的朋友不知道自己性别,原谅我的无知。我们依然尊重事实,继续探究真相。自从于计算机专业就读,脑子中始终缠绕着“10:1”的男女高风险比例,抛去好友为Unknow第三性别的鬼,Female:Male 比例为37.6:10.8,我惊讶的发现我性取向还是正常的,竟然没有随着cs的专业特点而发生任何变质(为了表扬自己,决定明天多看看门外的风景线,俗称:妹子)。

综上所述:究其根源,性取向不会随着大学专业的变化而变化,亦不随着男女比例的变化而变化。

好友签名情感分析

我发现,每个人的微信个性签名和你的性格具有相关关系。即励志的朋友,常常“厚德载物”等类似励志话语、玩游戏的朋友为游戏相关个性签名、真性情的朋友为感性的个性签名...(大家不信的话,可以检验一下微信朋友的个性签名是否与他本人符合)

此章节通过自然语言处理情感分析库SnowNLP对好友的个性签名进行了分析。情感判断级别分为:负面消极、中性、正面积极。

上图为朋友圈个性签名的词云(字越大,出现频率越高)和情感分析结果。可知,854名好友中,正能量好友居上,中性好友居中,负能量好友居底。“近朱者赤近墨者黑”,通过精确数据可推断出啊广为一个正能量的童鞋。

综上所述:正能量广不禁感叹:初见倾心,再见痴心;终日费心,欲得芳心;煞费苦心,想得催心;难道你心,不懂我心! 我希望能够保持着我的那颗芳心,做着曾经不属于自己定义域但求合理的事情!

地区分布

秉着“能蹭一顿是一顿的”原则,分析了微信朋友圈的地区分布。

由上图可知,作者是土生土长的山东人,所以好友山东居多不足为奇。其次为北京、广东好友占上游,与鄙人拥有伪鸿鹄之志、骨子里立志去北上广深发展有着强耦合的关系。

综上所述:好友遍布全国各地,依然不能解除我在深夜里被孤独吵醒、被冰冷冷的寂寞吓醒的孤独寂寞冷。

爬虫技术分析

  • wordcloud:Python 中的词云模块,在本文中用以绘制词云图片。

  • itchat:微信网页版接口封装Python版本,在本文中用以获取微信好友信息。

  • jieba:结巴分词的 Python 版本,在本文中用以对文本信息进行分词处理。

  • matplotlib:Python 中图表绘制模块,在本文中用以绘制柱形图和饼图

  • snownlp:一个 Python 中的中文分词模块,在本文中用以对文本信息进行情感判断。

  • PIL:Python 中的图像处理模块,在本文中用以对图片进行处理。

  • numpy: Python中 的数值计算模块,在本文中配合 wordcloud 模块使用。

  • TencentYoutuyun:腾讯优图提供的 Python 版本 SDK ,在本文中用以识别人脸及提取图片标签信息。

代码解析(部分)

使用itchat模块加载微信好友信息

# itchat模块加载微信好友信息代码
itchat.auto_login(hotReload = True)
friends = itchat.get_friends(update = True)

好友性别代码

# 好友性别统计并绘图
def analyseSex(friends):sexs = list(map(lambda x:x['Sex'],friends[1:]))...

个性签名情感分析代码

# 个性签名情感分析
def analyseSignature(friends):signatures = ''emotions = []...

由于篇幅原因,这就只展示部分代码,详情请查看源码请自行去github,或者点击阅读原文获取源码。

https://github.com/zandaoguang/wechat_emotion

后记

如果想要问我爬过自己朋友圈什么感觉?够后悔,不精彩。口误口误...,够精彩,不后悔!

基于itchat的个人情感分析相关推荐

  1. 机器学习基于语义特征的情感分析

    基于语义特征的情感分析先人已有研究,可以通过情感词典匹配来做,但是应用机器学习在这方面会使精确度更高些. 以本人参与的一个项目为主,总结下相关技术点. 背景是:分析用户评论感情色彩是积极还是消极,即是 ...

  2. 基于AdaBoost算法的情感分析研究

    源码下载 http://www.byamd.xyz/hui-zong-1/ 基于AdaBoost算法的情感分析研究 摘 要 随着互联网的快速发展,各类社交媒体平台如微信.QQ等也与日俱增,而微博更是集 ...

  3. 基于Transformer的文本情感分析编程实践(Encoder编码器-Decoder解码器框架 + Attention注意力机制 + Positional Encoding位置编码)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) Encoder编码器-Decoder解码器框架 + Atten ...

  4. 基于词典的细粒度情感分析

    1 细粒度情感分析 传统的情感分析大多是针对句子级的,即某条评论或某句话为积极或消极的概率.而往往一句话中包含着多个描述点,即方面级的述评,这时用一个模糊的概率或数字去评价整段文字或整句话势必是不准确 ...

  5. python微博评论情感分析_基于Python的微博情感分析系统设计

    2019 年第 6 期 信息与电脑 China Computer & Communication 软件开发与应用 基于 Python 的微博情感分析系统设计 王 欣 周文龙 (武汉工程大学邮电 ...

  6. python微博文本分析_基于Python的微博情感分析系统设计

    基于 Python 的微博情感分析系统设计 王欣 ; 周文龙 [期刊名称] < <信息与电脑> > [年 ( 卷 ), 期] 2019(000)006 [摘要] 微博是当今公众 ...

  7. 毕设日记(基于微博的大学生情感分析系统)——楔子

    新手小小白报道!(.・∀・)ノ 最近开始做毕设,就把这里当作毕设日记本啦. 打算记录一下毕设中学到的知识以及遇到的零零碎碎的问题. 我的毕设题目是-----基于微博的大学生情感分析系统 如果有类似方向 ...

  8. 综述:基于深度学习的情感分析

    近年来,深度学习有了突破性发展,NLP 领域里的情感分析任务逐渐引入了这种方法,并形成了很多业内最佳结果.本文中,来自领英与伊利诺伊大学芝加哥分校的研究人员对基于深度学习的情感分析研究进行了详细论述. ...

  9. 基于Roberta进行微博情感分析

    概览: 情感分析是NLP中一大分支,本文尝试使用预训练模型(Roberta-wwm-ext)对微博通用数据进行情感分类,共六种类别(积极.愤怒.悲伤.恐惧.惊奇.无情绪).数据来源:SMP2020微博 ...

最新文章

  1. Qt学习(七):定时器QTimer
  2. IDA 7.5 Demo 包含 Windows、Linux、macOS
  3. c++ cdi+示例_C ++“和”关键字示例
  4. JavaWeb笔记05-解决线程安全问题
  5. 如何写好学术期刊文章?
  6. 保存命令行输出信息到log的方法(ubunut下和arm-linux下有效)
  7. Win8驱动的兼容性问题
  8. 计算机组成原理习题集
  9. Poi 、Jacob 统计word文档字数实现方式
  10. 王者无限火力服务器,王者荣耀无限火力
  11. 两个方法做APP界面展示图片
  12. 【读书笔记】读《自制力:如何掌控自己的时间与生活?》 —— 25条自制力掌控法则
  13. python对象模型_python 实现对象模型
  14. IO复用功能占用时,普通GPIO功能使用
  15. RISC和CISC的区别
  16. 尉氏短期计算机培训,在尉氏烘焙短期培训时尚魅影烘焙培训
  17. 关于 CLAHE 的理解及实现
  18. 使用百度API实现实时公交站点查询及地图显示
  19. CloudCompare源码分析_八叉树(Octree)算法基础CC中的八叉树结构
  20. 机器学习算法——详细介绍 集成学习,以及什么是Bagging、随机森林、Boosting、XGBoost

热门文章

  1. 红帽、Docker、SUSE 在俄罗斯停服
  2. 激光雷达与相机:哪个最适合自动驾驶汽车?
  3. 强化学习70年演进:从精确动态规划到基于模型
  4. 投稿2877篇,EMNLP 2019公布4篇最佳论文
  5. Google BBR拥塞控制算法背后的数学解释 | 深度
  6. 重读Youtube深度学习推荐系统论文,字字珠玑,惊为神文
  7. 吴恩达说“将引领下一波机器学习技术”的迁移学习到底好在哪?
  8. 360推两款无刘海新机,主打安全和AI,起售价1199
  9. 入门深度学习,但你知道哪些情况下不该使用深度学习吗?
  10. 多线程批量拆分List导入数据库