不想陪女朋友的时候怎么办???
当你作业繁多,学业繁忙,心情烦躁,想专心学学习赶赶due,却又不得不回复女朋友的微信……
当你想和室友们一起打游戏,却不得不边玩边回复女朋友的微信……
作为(有女票的)T大学子,某小皓(后称为养乐多)便时常遭遇这样的困境:
夜深人静,11:59 ddl的作业现在还没写完,就在奋战时,响起了微信提示音——乐多来消息了。养乐多的大脑飞速旋转,回复意味着可能要面临”我重要还是作业重要”的艰难选择,不回复意味着可能乐多已经内心演绎了一场”青春狗血他怎么不理我”剧(以上几句话纯属虚构,养乐多赶ddl时乐多总是给予鼓励),但更多人遇到的可能是”我重要还是游戏重要”这一送命题。
当然,很多单身狗是没有上述烦恼的,但是很多人一定遇到过这样的问题:对方发来一条微信,可是你现在在忙,没有时间回复,等到之后却忘记回复了,多少造成了一些尴尬,作为记性有点差的养乐多,尤其如此:
这时,如果有个自动回复的功能岂不是美哉,要是还能智能化的与人交流,岂不是更美哉。
attempt 1: 人工智障
受到了一些专业领域的启发,养乐多凭借自己(不存在)的码力,自己实现了一个“智能机器人”,在训练了两天两夜之后,一个新鲜的人工智障成功出炉,乐多迫不及待地试了试效果:
此时,某小皓的人工智障如下图:
后来用养乐多与乐多的大量聊天记录训练,它终于学会了用我们之间的语气说话!但是……毫无逻辑……
受到算力时间语料智商的限制,受到打击的养乐多放弃了这一自己实现(并装逼)的机会。
于是,养乐多遍历了github上的chatbot,找寻了博客和推送,最终找到了一些容易上手的机器人,养乐多在独享便利的同时,(受乐多的要求)分享给大家。为了明确本公众号的性质是秀恩爱而不是技术讲解(养乐多也讲不了hhhh),以下内容多少有狗粮穿插。
我们看到上述截图显示的是我可以直接在微信回复消息的,这个是怎么做到的捏?
attempt 2:人工智能
我们需要安装一个python的第三方库—itchat,有一系列工具可以处理微信的各种信息,可以回复所有好友的信息,也可以选择回复某个好友;可以回复好友的信息,还可以回复群聊,回复公众号消息。功能如此强大的包,网上必然有很多教程,大家可以自行摸索。
以下是一个简单的例子:
收到来自小冰的信息就回复‘哈哈哈’,保证小冰一会就不理你。
所以只有以上的一个包是不够的,我们怎么实现一个可以自动聊天的稍微有点智能的机器人呢?以下就是几个比较简单的机器人:
①图灵机器人
号称最好的中文聊天机器人,聊过之后,果然很厉害。
这是养乐多为本公众号配置的一个图灵机器人,可以看到还是比较智能的。但是一个缺点不得不提,图灵机器人固然厉害,但是免费的版本一天只能回复100条消息,想要有更多的回复数就必须氪金,这对于养乐多是没有必要的。当然,还有一个很大的缺点就是,养乐多用机器人不是想要一个真正的可以陪人聊天的机器人,最终的目的还是哄乐多开心,正所谓“ph之意不在聊,在乎乐多之快落。”所以养乐多还是想用自己的语料来训练一个专属机器人。所以问题出现了,图灵机器人能不能用我的语料来训练一个专门的机器人呢,答案是肯定的。
当我美滋滋上传自己的语料时,才发现,免费的机器人一天才可以上传1000条!这对于养乐多和乐多30多万的聊天信息得传一年,而且空间还有限制。虽然养乐多此时已经对此机器人不报希望,但是还是想试一下,于是整理了以下数据上传成功之后发现根本用不了?
原来图灵机器人对于语料要求比较严格,但是养乐多还是不懂为啥下面这个不可以:
“你睡我才睡”–>“睡我”违规???
至此,图灵机器人的探索告一段落,虽然很厉害,但是需要氪金,不氪金会有诸多不便。而且灵活性比较差,于是养乐多开始了另一个探索。
②Chatterbot
我摊牌了,这是一个中文智障机器人。由于采用的方法鲁棒性差一些而且中文语料太少,所以这个机器人的中文聊天效果比较差。这是一个能把小冰噎死的机器人,让它和小冰聊了几句后,小冰就自闭了……:
当然,起码他还是可以说一个完整的句子的。虽然这个机器人效果很差,但是这个机器人很灵活,可以轻松通过添加语料来增加机器人的智能性。但是模型有风险,训练需谨慎。由于一开始养乐多随便训了一个很差的语料,导致机器人效果比较差。当养乐多之后拿比较好的语料训练的时候,效果依旧很差。产生bug养乐多是擅长的,找bug却不是。于是养乐多找了一个多小时才找到问题所在——自己训练的语料会被模型存储下来,所以如果想训练一个新的语料,就必须指定一个新的存储的数据库。如下:
自己改一下这个”database_uri”,改动数字即可。
所以养乐多就可以把他和乐多的30万条聊天记录进行训练,得到一个专属机器人。
但是,养乐多想获得一个更多的语料。于是突发奇想,让自己的机器人和小冰对话一波,并保存对话信息,采集语料。在小冰面前,养乐多的机器人仍旧是一个智障。
以上机器人纯属娱乐,感兴趣的大家可以https://github.com/h-peng17/chatbot clone一下我的代码,就能自己实现一个机器人啦,适合正在恋爱或者即将恋爱的你。?