最近微软小冰和QQ小冰又火了一把,对于聊天机器人你们好像都是颇有兴趣。
python
今天就分享一个前些天作的一个小Demo,快速搭建的微信聊天机器人。
依赖于两个开源项目:微信
ChatterBot :一个基于机器学习的聊天机器人机器学习
ItChat :微信号接口学习
原理:
一、利用ItChat对微信号进行登陆和消息接收、发送操做;
二、将接收到的消息使用ChatterBot进行学习,将学习的结果做为消息来回复。spa
代码以下:.net
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()
运行程序,出现微信二维码,扫码进行登陆:
code
而后就能够进行聊天了。orm
机器人回复的消息依赖于ChatterBot的中文语料库进行学习,初期可能会前言不搭后语,随着聊天的对话训练,语料库会愈来愈丰富,回答的消息也会愈来愈准确,固然前提是进行了正确的训练。接口
否则,你的微信机器人可能会学坏,可能会变污…………嗯,变污…………。文档
一个简单的微信聊天机器人Demo就完成了,你们能够根据上述两个模块的功能介绍进行扩展和丰富,多查文档多实践。
本文分享自微信公众号 - 州的先生(zmister2016)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。