抱歉,你查看的文章不存在

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

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

编辑于

州的先生

1 篇文章54 人订阅

相关文章

来自专栏数据小魔方

R语言可视化——ggplot绘制中心密度辐射图

今天这篇算是之前ggplot2图表系列的增补。 因为在ggplot2中一直没有看到好的关于密度辐射图(或者称它为热力辐射图,就是那种PowerMap中可以通过颜...

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

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

1733
来自专栏量子位

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

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

1290
来自专栏生信技能树

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

1342
来自专栏怀英的自我修炼

考研数学-10

匆匆忙忙到现在,才把公式整理完。接下来就是要消化这些公式,公式比较多,有100+个,希望借助Anki,这次能完全背熟6成。这也是个不小的挑战,继续二中吧。

551
来自专栏AI研习社

Github项目推荐 | 用于自然语言处理的开源 Python 库 —— PyTorch-NLP

PyTorch-NLP 是用于自然语言处理的开源 Python 库,它构建于最新的研究之上,可以帮助开发者快速开发原型。PyTorch 带有预训练嵌入(pre-...

2264
来自专栏小白课代表

几秒钟,将世界从黑白变成彩色。

1464
来自专栏机器之心

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

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

3874
来自专栏腾讯移动品质中心TMQ的专栏

侦探养成技:如何追溯分析一个线上缺陷

前言 对于数学问题,自己想出答案和确认别人的答案是否正确,哪一个更简单,或者困难到何种程度。拟一个别人无法解答的问题和解开那个问题,何者更困难?——东野圭吾 《...

1999
来自专栏mySoul

软件测试的流程

V模型有两个流,为规范流和测试流。还有一个开发流属于连接规范流和测试流两个中间的桥梁。

1762

扫码关注云+社区

领取腾讯云代金券