#python #bots #training-data #chatterbot
#python #боты #обучение-данные #chatterbot
Вопрос:
Я только начал с чат-бота Chatterbot, обучив его простым инструкциям. Он способен точно отвечать на утверждения, для которых он был обучен, простые отклонения, которые он не в состоянии понять. Как я могу сделать бота достаточно умным, чтобы выбирать слова, на которых он обучался, и в конечном итоге отвечать?
ПРИМЕР: 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 на первый вопрос и следующие 2 вопроса, на которые он не может ответить.
Ответ №1:
Вы имеете в виду, что ответ по умолчанию? Если да, вероятно, вам следует установить пороговое значение. Без порога вы не можете указать, когда получить значение по умолчанию.