我刚刚通过使用简单的语句对Chatterbot聊天机器人进行了培训。 它能够准确地回答受过训练的陈述,无法理解的简单偏差。 我如何才能使该机器人足够智能,以从其受过训练的话中选择并最终做出反应?
EX:TrainData:您好->您好 TestData:嗨! ..还应该用Hello响应。
除了训练具有大型语料库的模型外,还可以对机器人进行任何配置吗?
下面是示例代码。
import json
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
# Create a new instance of a ChatBot
bot = ChatBot(
'Terminal',
storage_adapter='chatterbot.storage.SQLStorageAdapter',
database_uri='sqlite:///database.sqlite3',
logic_adapters=[
{
'import_path': 'chatterbot.logic.BestMatch',
'default_response': 'I am sorry, but I do not understand.',
}
],
)
trainer = ListTrainer(bot)
trainer.train(["Hi", "Hello"])
trainer.train(["Bye", "Bye"])
bot_response = bot.get_response("Hi")
print(1),print(bot_response)
bot_response = bot.get_response("Hi there")
print(2),print(bot_response)
bot_response = bot.get_response("hi!")
print(3),print(bot_response)
此代码仅对第一个问题和无法回答的后两个问题返回有效答案Hello。
答案 0 :(得分:0)
Do you mean the answer is the default? If yes probably you should set a threshold value . Without threshold you can not specify when to get the default.