开发者社区> 玄学酱> 正文

能理解聊天记录的微信机器人 (一)

简介:
+关注继续查看

能理解聊天记录的微信机器人 (一)

TL; DR: 做了个在两个群中间互相转发消息的机器人 (github),对聊天机器人的一些思考,可以把文本理解加进来做有意思的应用。

最近看到了一些基于微信机器人的有意思的应用,比如用微信汇报模型的训练状态(TensorFlowKeras)。这个是个很好的出发点。聊天机器人 (chatbot) 这个概念在 slack, telegram, skype 甚至最早的 google wave 上面流行已经有一段时间了。大家主要用它来:

进行一些推送服务 。一个例子就是上面的模型训练。还有持续集成(continuous integration)上也有一些 bot 可以让你知道软件编译,测试和部署的状态。

提供简单的信息服务,比如可以查天气,查 github issue 的 bot。

提供一些基于指令的服务。比如扎克伯格做的 bot,输入开门的指令可以把门打开。

用一定程度的自然语言理解来陪聊.

但我觉得这些并没有体现聊天机器人的核心优势。仔细看这四个方面的应用,它们其实都可以不通过聊天来完成,甚至不通过聊天可能会更方便。比如推送服务有系统信息推送(pushbullet, IFTTT notification等), 查天气系统就有app,智能家居我更希望点点按钮而不是打字,陪聊这个必须要聊天没办法。大家愿意把它做到聊天程序里面去,主要是因为用户实在是太话唠了,很多时间都花在聊天程序里面,这样做成bot等于多了一个入口,何乐而不为?但这样做并不代表这个入口是最优的或者无可取代的。

那聊天机器人适合什么场景呢?要思考这个问题必须首先要明确聊天机器人和其他平台的区别在什么地方。除了 UX 层面必须基于文字,用户经常在用以外,还有一个核心区别是这个机器人其实是可以拿到聊天记录的(当然还取决于隐私设置 )。在这个前提下可以做很多很多有意思的应用。一个例子是我们有个科大校友 AI 群,里面大多数情况都是在认真讨论AI相关的话题。但微信群是为了聊天设计的,讨论上毕竟不比基于主题的 BBS,没有主题,没有回复,没有话题(hashtag),整个信息流非常杂乱。但人类懒的天性又决定了,这种讨论更多的是在微信(或者其他即时通信软件)上完成的,不太可能把它搬到 BBS 上去——每次填个主题,点个回复太麻烦了。有没有可能用微信机器人,一方面又保持这种基于聊天软件的便捷的特性,一方面又能整理整个信息流,让信息变得有组织?比如一个人一天没看群了,晚上跑来看看机器人整理的总结,就一目了然。以后搜索也方便。这是个很有意思的问题。

“让信息有组织”还是太笼统了。具体地说,可以从以下几个方面进行:

跨群转发。这是个非常实用的功能。对群来说,因为微信一个群最多 500 人, 跨群转发可以有效地把两个群拼到一起,实现更广泛的讨论。对个人来说,也可以用有选择的转发来把信息归档。比如看老板或者妹子在你加的几个群里每天都说了啥等等。

聊天消息的主题归并,分析和搜索。微信聊天的基本单位是消息,但消息本身是非常碎片化的,很不适合搜索和分析。机器人可以把相关主题的消息归并起来,一方面可以大幅减小信息过载,一方面也可以从中得到更有价值的信息(类似视频分析里面把帧变成镜头)。这样分析以后可以做知识归档,用OneNote/印象笔记甚至公众号把讨论的成果沉淀下来。

聊天脉络的梳理。群里的人一多,经常会出现几个话题并行出现的情况。这种情况对于理解和搜索都是非常不利的。机器人也需要把聊天的脉络进行梳理,在同一时间,把不同主题分别开。

基本的统计数据。比如发言时间的分布,群的活跃度,成员的活跃度等等。做成漂亮的可视化,用户应该也会喜欢,给产品加分。 

在可行性方面这个也是可能的。比如有基于 python 的 itchat 和基于 typescript 的 wechaty。但稳定性可能是个问题,因为它们都不是微信官方支持的 SDK,而是从 Web 微信的接口中抓包得到的 API。基于 itchat,我做了一个在两个群之间无脑转发消息的机器人 (github),应该蛮有用的,希望能抛砖引玉。

在前面的知乎中的近义词系列里(),我们介绍了一些基于文本理解的小应用,比如自动辨别近义词,文章的分类,索引和搜索。那么这个微信机器人系列,就会尝试把这些技术用到聊天群里面去,看能不能做出一个真正有用的智能机器人。

*题图 credit: Palto / Shutterstock

编者注:关于本文的后续内容,我们后面几天将在雷锋网陆续刊登,敬请关注。




本文作者:AI研习社
本文转自雷锋网禁止二次转载,原文链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
微信接入ChatGPT,使用Node+ChatGPT+Wechaty做一个微信机器人
微信接入ChatGPT,使用Node+ChatGPT+Wechaty做一个微信机器人
2462 0
Python基于PC版微信实现机器人
Python基于PC版微信实现机器人
645 0
钉钉/企业微信机器人:“Github触发器”与“Issue机器人”
众所周知,在Serverless领域中,触发器是FaaS必不可少的一部分;一个FaaS平台,他的触发器数量、质量以及类型,很可能会决定这个FaaS平台是否能成为“主流”平台;因为触发器不仅仅是一种功能的体现,更是解决普遍性业务诉求的一个重要途径;目前来看,各个云厂商所提供的触发器基本上都会包括API网关触发器、对象存储触发器、时间触发器等,当然也有厂商提供一定的消息触发器、日志触发器、甚至是一些SQL相关的触发器、CDN触发器等,那么在我们的实际生产生活中,这些表面上看起来“很基础”的触发器,是否可以升级成为一个有趣的“高级触发器”呢?
128 0
Python + Wxpy 搭建简单微信机器人
Python + Wxpy 搭建简单微信机器人
127 0
【SpringBoot】64、SpringBoot中集成企业微信机器人实现运维报警(下)
在企业运营中,为了实现工作效率和执行效率的提升,往往会选择在社群中使用群聊机器人进行协助管理。
62 0
【SpringBoot】64、SpringBoot中集成企业微信机器人实现运维报警(上)
在企业运营中,为了实现工作效率和执行效率的提升,往往会选择在社群中使用群聊机器人进行协助管理。
142 0
Springboot 整合 企业微信机器人助手推送消息
Springboot 整合 企业微信机器人助手推送消息
399 0
实战模拟│企业微信机器人实时报错预警
实战预警,通过机器人实时监控,让你及时感知异常
154 0
利用itchat搭建微信机器人详解(附三个实用示例)(下)
2011年1月21日,微信推出第一个正式版本,到现在已有7个年头。从一开始的不被看到好,到现在的用户量超10亿,大众的日常生活越来越离不开微信。人生苦短我用Python,有没有办法通过Python来对我们使用微信提供一些便利呢? 答案肯定是有的,在Github上有一个基于微信网页版接口微信开源库:itchat,通过几十行的代码就能轻松实现一个微信机器人。本章我们就来了解学习这个库,然后通过三个实用案例来帮大家玩转这个库。
322 0
利用itchat搭建微信机器人详解(附三个实用示例)(中)
2011年1月21日,微信推出第一个正式版本,到现在已有7个年头。从一开始的不被看到好,到现在的用户量超10亿,大众的日常生活越来越离不开微信。人生苦短我用Python,有没有办法通过Python来对我们使用微信提供一些便利呢? 答案肯定是有的,在Github上有一个基于微信网页版接口微信开源库:itchat,通过几十行的代码就能轻松实现一个微信机器人。本章我们就来了解学习这个库,然后通过三个实用案例来帮大家玩转这个库。
488 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
微信PaxosStore简介
立即下载
微信移动客户端数据存储优化实践
立即下载
微信广告引擎与播放节奏算法实践
立即下载