Python快速搭建会学习的微信聊天机器人

最近微软小冰和QQ小冰又火了一把,对于聊天机器人大家好像都是很有兴趣。

今天就分享一个前些天做的一个小Demo,快速搭建的微信聊天机器人。 依赖于两个开源项目:

  • ChatterBot :一个基于机器学习的聊天机器人
  • ItChat :微信号接口

原理: 1、利用ItChat对微信号进行登录和消息接收、发送操作; 2、将接收到的消息使用ChatterBot进行学习,将学习的结果作为消息来回复。

代码如下:

import itchat
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
deepThought = ChatBot("deepThought")
deepThought.set_trainer(ChatterBotCorpusTrainer)
# 使用中文语料库进行训练
deepThought.train("chatterbot.corpus.chinese") 

@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    response = deepThought.get_response(msg['Text'])
    print("from",msg['FromUserName'],msg['Text'])
    print("to",response)
    itchat.send(msg=str(response),toUserName=msg['FromUserName'])

itchat.auto_login(enableCmdQR=True)
itchat.run()

运行程序,出现微信二维码,扫码进行登录:

然后就可以进行聊天了。

机器人回复的消息依赖于ChatterBot的中文语料库进行学习,初期可能会前言不搭后语,随着聊天的对话训练,语料库会越来越丰富,回答的消息也会越来越准确,当然前提是进行了正确的训练。

不然,你的微信机器人可能会学坏,可能会变污…………嗯,变污…………。

一个简单的微信聊天机器人Demo就完成了,大家可以根据上述两个模块的功能介绍进行扩展和丰富,多查文档多实践。

原文发布于微信公众号 - 州的先生(zmister2016)

原文发表时间:2017-05-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏影子

关于图文识别功能相关技术的大致实现

1114
来自专栏AI研习社

Github 项目推荐 | 用于运行和训练深度神经网络的开源 C++ 库 —— nGraph

nGraph 目前支持三种流行的深度学习框架(neon、MXNet、TensorFlow),对于其他的深度学习框架,开发者可以根据官方的引导指南来创建用于编译和...

1282
来自专栏机器之心

Facebook宣布开源Caffe2:可在手机与树莓派上训练和部署模型

选自Caffe2.ai 机器之心编译 在今年的 F8 开发者大会上,Facebook 正式宣布开源其全新深度学习框架 Caffe2。据 Caffe2 官方博客介...

2717
来自专栏程序员宝库

程序员一秒解答:虐哭无数人的烧脑刑侦科推理题

近日,@江苏网警 发布了一套名为“2018 年刑侦科推理试题”的微博,这条微博发布后,很快就引起了网友的广泛讨论,不少网友直说写满了好几张 A4 纸也没能推算出...

3468
来自专栏CVer

【重磅】吴恩达最新的机器学习书籍更新啦!

Amusi曾于2018年4月5日推送了重磅:吴恩达最新的机器学习书籍《Machine Learning Yearning》,当时Amusi收到了一封邮件,如下所...

942
来自专栏影子

关于图文识别功能相关技术的大致实现

30411
来自专栏编程

游戏开发中的人工智能:遗传算法

本文内容:遗传算法提供游戏软件 AI 演化的可能。虽然遗传算法不是经常被应用于游戏中,但是它们在某些特定应用方面的潜力是值得令人期待的,尤其是结合其他方法使用的...

1970
来自专栏大数据文摘

根本停不下来!给它一个轮廓,TensorFlow还你一只完整的喵 (附论文下载)

1244
来自专栏python爬虫日记

有关python下二维码识别用法及识别率对比分析

 最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar 、zbarlight、zxing。

1374
来自专栏玉树芝兰

如何用云端 GPU 为你的 Python 深度学习加速?

下午,我用 Python 深度学习框架 Keras 训练了一个包含3层神经网络的回归模型,预测波士顿地区房价。

521

扫码关注云+社区