Python快速搭建會學習的微信聊天機器人

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

相關文章
相關標籤/搜索