project,

基于Python-wechaty建立一个斗图机器人 POC 成果展示

MrZilinXiao MrZilinXiao Follow Aug 13, 2020 · 1 min read
基于Python-wechaty建立一个斗图机器人 POC 成果展示

暑期2020 基于Python-wechaty建立一个斗图机器人 POC 成果展示

“开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 旨在鼓励在校学生积极参与开源软件的开发维护,促进国内优秀开源软件社区的蓬勃发展。 根据项目的难易程度和完成情况,参与者还可获取“开源软件供应链点亮计划-暑期2020”活动奖金和奖杯。 官网:https://isrc.iscas.ac.cn/summer2020 官方新闻:http://www.iscas.ac.cn/xshd2016/xshy2016/202004/t20200426_5563484.html 本项目 基于Python-wechaty建立一个斗图机器人 系 暑期2020 支持的开源项目。

[基于Python-wechaty建立一个斗图机器人]信息

  • 导师:黄纯洪

  • 学生:肖子霖

  • 项目名称:基于Python-wechaty建立一个斗图机器人

  • 方案描述:利用OCR、NLP等技术,提取出用户发送的表情包内容,并回复数据库中已有与之相关的表情;具体技术方案泳道图见下:

    mid-term

    更多细节可参见项目README.

  • 时间规划(摘自项目申请书):

    • Week1:仔细阅读python-wechaty项目源码,掌握项目大体框架和可用API;
    • Week2:收集表情包数据,选择合适的网络模型。
    • Week3~Week4:训练模型,调试参数;
    • Week5:开发核心模块,编写单元测试;
    • Week6:开发、配置表情包插件后端;
    • Week7~Week8:模块联调,编写测试样例,上线测试。

项目进度

  • 已完成工作:

    • 利用peewee搭建数据库ORM框架;
    • 表情包爬取(BaseSpider)、收集框架
    • 引入、调试OCR模块
    • 调试Inception特征提取模型
    • 复现Deep Cosine Metric Learning for Person Re-identification一文中有关Metric Learning部分,编写好相关训练、验证、测试模块
    • 表情包导入模块
    • 前端回复模块
    • 后端回复逻辑
    • 前端、后端、Wechaty联调,效果见Demo Live视频中演示
    • 部署文档编写

    项目申请书时间规划所提及任务中除训练模型外的任务基本完成;

  • 遇到的问题及解决方案:

    • python-wechaty文档尚未完成,遇到疑惑时需要翻阅issue列表或者深入源码查看;
    • 网络上没有关于将Metric Learning方法应用到表情包分类的先例,不确定Cosine Metric Learning能在表情包特征提取上起到较好效果,不过我认为勇于尝试是十分必要的!
  • 后续工作安排:

    • 对比传统图像分类模型Inception、Metric Learning模型CosineMetricNet的特征提取效果,为用户提供多种选择。
    • 思考出性能优秀的cosine distance比较方法,为从数据库海量表情中提取出相似的表情提供便利。

中期PPT演示 & Demo Live 视频链接

PPT演示:

Bilibili: https://www.bilibili.com/video/BV1kZ4y1M7F6/

Youtube:

Demo Live视频:

Bilibili: https://www.bilibili.com/video/BV17f4y197ut/

Youtube:

Reference

Open-Source Reference

  • chineseocr_lite: Powerful Chinese OCR module with accurate results and fast inference speed.
  • HaNLP: Multilingual NLP library for researchers and companies, built on TensorFlow 2.0.

Academic Citation

# in backend/cosine_metric_net.py
[1]N. Wojke and A. Bewley, “Deep Cosine Metric Learning for Person Re-identification,” in 2018 IEEE Winter Conference on Applications of Computer Vision (WACV), Lake Tahoe, NV, Mar. 2018, pp. 748–756, doi: 10.1109/WACV.2018.00087.

联系我们

导师评审

  • 评审内容:中期报告
  • 提交人:肖子霖

评审结果

  • 项目完成度:《基于Python-Wechaty建立一个斗图机器人》整个项目按照原定方案在实施。在项目实施过程中,以表情包的识别与回复为主线进行推进。项目从前期到中期考核,学生完成了对表情包的爬取、分类以及标注,对表情包的OCR识别,对识别结果的关键字提取,完成情况较好。
  • 学生参与度:本项目的难点在于对表情包的识别以及回怼表情包,前期对表情包的爬取、分类和标注以及后期训练怼人模型的工作量均比较大。学生在此过程中也是克服困难,积极参与,认真完成项目相关工作。
  • 代码贡献量:本项目的代码量实际上在于对表情包的处理代码以及模型的训练,也就是代码量实际上都在项目提及的后端平台上,即代码量较好。
  • 综合评价及建议:总体来说项目完成情况不错,按照既定的规划稳定实施,项目功能模块也在逐步的完成。存在的问题如下:1、项目目前还未涉及到与“怼”相关的功能开发,后期有待完善;2、代码整体风格不是很好,所以看起来比较乱,希望后期能够改善;3、代码关键性地方缺少注释,有待改进。
  • 最终评审结果:通过
Join Newsletter
Get the latest news right in your inbox. We never spam!
Written by MrZilinXiao
Chances are your own.