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

浏览: 2478

最近微软小冰和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就完成了,大家可以根据上述两个模块的功能介绍进行扩展和丰富,多查文档多实践。

推荐 0
本文由 州的先生 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册