最近微軟小冰和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源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。