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 条评论
登录 后参与评论

相关文章

来自专栏机器之心

资源 | OpenAI开源机器人模拟Python库mujoco-py:可高效处理并行模拟

选自OpenAI 机器之心编译 参与:黄小天 OpenAI 宣布开源一个高性能的 Python 库,它可用于使用 MuJoCo 引擎(在上年的机器人研究中开发出...

3314
来自专栏人工智能的秘密

13个最受欢迎的机器学习Python库

人工智能的快速发展,让机器学习备受大家欢迎。今天给大家盘点一下最受欢迎的机器学习库(ML):

3429
来自专栏量子位

陈天奇团队发布NNVM编译器,性能优于MXNet,李沐撰文介绍

夏乙 若朴 编译整理 量子位 出品 | 公众号 QbitAI 亚马逊和华盛顿大学今天合作发布了开源的端到端深度学习编译器NNVM compiler。 先提醒一句...

4336
来自专栏生信技能树

生信技巧第二课-使用markdown记录和分享笔记

932
来自专栏灯塔大数据

技术 | 人生苦短,请用Python——10大Python库汇总

前言 对于码农来说,主要关注2017年新推出了哪些开源库,还有就是新近有什么流行的既能解决问题又好用的利器。下面就来为2017年做个总结。 1、Pipenv 第...

3419
来自专栏量子位

配置机器学习训练环境太麻烦?开源工具Parris说一键就搞定

夏乙 编译整理 量子位 出品 | 公众号 QbitAI 在搭建、训练机器学习模型的过程中,你的时间可能大部分都花在了那些与算法无关的事情上:收集数据、清洗数据、...

3325
来自专栏量子位

从今天起,TensorFlow 1.9开始支持树莓派了

几个小时前,TensorFlow正式宣布TensorFlow 1.9开始支持树莓派了。

1090
来自专栏IT技术精选文摘

浅析eBay联盟营销的上下文广告机制

1403
来自专栏Crossin的编程教室

用程序帮你炒股(2)

6月26日A股大跌,据估算市值蒸发4.5万亿。当日的领涨板块,你们感受一下: 银行 -4.66% 食品饮料 -6.94% 建筑装饰 -7.14% 有入市的...

2697
来自专栏Jerry的SAP技术分享

30行代码消费腾讯人工智能开放平台提供的自然语言处理API

腾讯人工智能AI开放平台上提供了很多免费的人工智能API,开发人员只需要一个QQ号就可以登录进去使用。

1544

扫码关注云+社区