Какие-нибудь примеры использования multilogicadapter в Chatterbot?
Я пытаюсь объединить несколько логических адаптеров в Python Chatterbot. Я не могу понять это правильно. Я попробовал это:
english_bot = ChatBot("English Bot",
storage_adapter="chatterbot.storage.SQLStorageAdapter",
multi_logic_adapter = [
"chatterbot.logic.MathematicalEvaluation",
"chatterbot.logic.TimeLogicAdapter",
"chatterbot.logic.BestMatch"]
)
Только BestMatch кажется активным И я попробовал это:
english_bot = ChatBot("English Bot",
storage_adapter="chatterbot.storage.SQLStorageAdapter",
logic_adapter = [
"chatterbot.logic.multi_adapter.MultiLogicAdapter",
"chatterbot.logic.MathematicalEvaluation",
"chatterbot.logic.TimeLogicAdapter",
"chatterbot.logic.BestMatch"]
)
Но я получаю эту ошибку: AttributeError: у объекта 'NoneType' нет атрибута 'trust', и ни один из логических_папок, кажется, не активен.
Спасибо травка
3 ответа
Каждый логический адаптер в logic_adapters=[]
автоматически обрабатывается MultiLogicAdapter. Возможно, вам придется настроить уровни доверия, хотя.
Подробнее о MultiLogicAdapter можно узнать здесь: http://chatterbot.readthedocs.io/en/stable/logic/multi-logic-adapter.html
В MultiLogicAdapter
обычно таким образом напрямую не используются.
Каждый логический адаптер, добавляемый в logic_adapters=[]
будут обработаны MultiLogicAdapter
внутри ChatterBot, явно указывать это не нужно.
Адаптер Multi Logic является встроенным классом и явно не определен в коде. Вы можете увидеть это утверждение во вводной части:"ChatterBot внутренне использует специальный логический адаптер, который позволяет ему выбирать лучший ответ, генерируемый любым количеством других логических адаптеров. "Это ссылка - http://chatterbot.readthedocs.io/en/stable/logic/multi-logic-adapter.html
Кроме того, аналогичный запрос уже доступен в потоке стека. Порекомендуйте это также. Ошибка при использовании Chatterbot
Лучший матч
Адаптер - это адаптер по умолчанию для chatterbot, вам не нужно явно указывать это. Дополнительная информация http://chatterbot.readthedocs.io/en/stable/logic/index.html
И вам код должен понравиться
# -*- coding: utf-8 -*-
from chatterbot import ChatBot
bot = ChatBot(
"English Bot",
logic_adapters=[
"chatterbot.logic.MathematicalEvaluation",
"chatterbot.logic.TimeLogicAdapter"
]
)
# 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)