2019-10-28 14:50:17

ChatterBot聊天机器人结构(三):提供特定聊天机器人

46 / 0 / 0 / 0

核心的算法,机器聊天在测试的时候,一开始是直接输入聊天语句,但是在现实项目中并不是这样的,一种最经常见到的是控制台输入一句话,通过聊天机器人得出结果,并显示出来。

ChatterBot通过输入和输出的出来,来实现很多特定的聊天机器人,比如hipchat聊天室,gitter聊天室,mailgun回复,microsoft,和终端聊天机器人。

而ChatterBot通过在创建机器人时,通过input_adapteroutput_adapter来选择何种机器人,也可以自己来实现input_adapteroutput_adapter,比如创建一款微信机器人。

input_adapter实现了获取微信里的对话(解析微信里的对话,得出对话内容) output_adapter实现了如何把对话输出到微信里,以微信的格式。

实现一个HipChatBot机器人,从HipChat 里面获取聊天内容,通过训练corpus.english的对话,把对话的结果输出到HipChat 中去:

# -*- coding: utf-8 -*-
from chatterbot import ChatBot
from settings import HIPCHAT

'''
See the HipChat api documentation for how to get a user access token.
https://developer.atlassian.com/hipchat/guide/hipchat-rest-api/api-access-tokens
'''

chatbot = ChatBot(
    'HipChatBot',
    hipchat_host=HIPCHAT['HOST'],
    hipchat_room=HIPCHAT['ROOM'],
    hipchat_access_token=HIPCHAT['ACCESS_TOKEN'],
    input_adapter='chatterbot.input.HipChat',
    output_adapter='chatterbot.output.HipChat',
    trainer='chatterbot.trainers.ChatterBotCorpusTrainer'
)

chatbot.train('chatterbot.corpus.english')

# The following loop will execute each time the user enters input
while True:
    try:
        response = chatbot.get_response(None)

    # Press ctrl-c or ctrl-d on the keyboard to exit
    except (KeyboardInterrupt, EOFError, SystemExit):
        break

PS: 如本文对您有疑惑,可加QQ:1752338621 进行讨论。

0 条评论

0
0
官方
微信
官方微信
Q Q
咨询
意见
反馈
返回
顶部