ChatterBot聊天机器人结构(四):选择不同的核心算法

聊天机器人要符合不同的情景需要,有一些答案可以比较模糊,比如跟你聊一些七七八八的乱事情时,你就可以混科打诨,而有些事情你就需要特别的准确,如问你今天天气怎么样,现在是几点了,必须给出一个准确的答案。

一个好的聊天机器人,是各种不同算法的组合,通过输入选择最匹配的算法,得出答案。

通过logic_adapters 来实现算法的选择,examples下有一个实现数学和时间问题的算法,如下:

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


bot = ChatBot(
    "Math & Time Bot",
    logic_adapters=[
        "chatterbot.logic.MathematicalEvaluation",
        "chatterbot.logic.TimeLogicAdapter"
    ],
    input_adapter="chatterbot.input.VariableInputTypeAdapter",
    output_adapter="chatterbot.output.OutputAdapter"
)

# Print an example of getting one math based response
response = bot.get_response("What is 4 + 9?")
print(response)

# Print an example of getting one time based response
response = bot.get_response("What time is it?")
print(response)

转载请标明来之:http://www.bugingcode.com/

更多教程:阿猫学编程

ChatterBot聊天机器人结构 系类文章