利用Python制作AI机器人,带你正确逛知乎
想要学习Python。关注小编头条号,私信【学习资料】,即可免费领取一整套系统的板Python学习教程!
技术解析
本文所提及的AI机器人,就是自带 颜值检测+性别识别+种族识别 的爬虫程序,来帮你自动找到高学历+高颜值+高质量内容输出 的用户。
技术方面,主要涉及 计算机视觉、人工智能、深度学习、机器学习、网络爬虫 方面的知识,对技术不感兴趣的童鞋可以先跳过这一部分~
刚开始学Python的童鞋,应该大多都会拿爬虫练手,所以这一块就不做过多介绍了,知乎的前后端数据交互都是JSON格式,非常方便,也省去了你解析HTML的功夫~
总之,流程图就是这个样子的~
Fig. 1: Flow chart of AI-Zhihu-Crawler
以某用户为种子节点,抓取ta关注的用户,后端返回数据如下:
Fig. 2: Response JSON Data
先来测一下自己的吧,
- 第一步是编写爬虫爬取用户基础数据:
Fig. 3: Zhihu User Crawler
- 这是抓取下来的用户基础数据和头像:
Fig. 4: User Info
Fig. 5: Avatar
对于颜值检测,可以看作是一个利用深度卷积神经网络的 回归问题。对这个方向的Research感兴趣的童鞋可以去看相关的Paper。在此就不做过多介绍了,对于人脸检测/关键点定位,也可以看成一个 回归问题,训练神经网络去优化MSE即可。对于性别识别/种族识别,可以看出一个 二分类问题。模型我已经train好了,直接把它融合进爬虫程序即可。
结果
先拿自己关注的用户来测试吧,因我平常关注 Machine Learning, Computer Vision, Data Science 方向的话题比较多,所以可能比较多关注这个领域的前辈~
Fig. 6: Followee Gender Proportion
看来我关注的大多数都是男性用户啊~
深度学习模型跑出来,结果及说明如下:
- 颜值(分值为0~5分)性别(红色bbox代表女;蓝色bbox代表男)种族(Asian and Westerner)
我们来看看效果:
对 @SimonS
测试结果,race/gender信息均正确,颜值为3.81,属于颜值高分用户!
对 @魏秀参
测试结果,race/gender信息均正确,颜值为3.08,属于颜值高分用户。
对 @Sean Ye
测试结果,race/gender信息均正确,颜值为3.06,属于颜值高分用户。
对 @罗韵
测试结果,race/gender信息均正确,颜值为3.31,属于颜值高分用户。