Какая польза от присвоения имени чатботу?

Я начал писать сценарии для своего собственного чат-бота, и у меня есть один основной вопрос, который я не смог решить, используя доступную документацию. При определении экземпляра чатбота мы даем имя чатбота. (Что-то вроде ниже):

bot = ChatBot ('John', logic_adapters = ['chatterbot.logic.BestMatch']

Здесь, можем ли мы использовать это имя "Джон" в любом случае, например, вызывая некоторые функции или отображая его где-нибудь? или это только для информационных целей? Пожалуйста, сообщите.

1 ответ

Взгляните на мой код, который делает то, что вы хотите:

      from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer

def bot(title, read_only = True):    # , don't learn from exchanges (responses exist)
    Bot = ChatBot(title,
                   #filters=["chatterbot.filters.RepetitiveResponseFilter"],
                   logic_adapters=[{                       
                       'import_path': 'chatterbot.logic.BestMatch',
                       "statement_comparision_function": "chatterbot.comparisions.levenshtein_distance",
                       "response_selection_method": "chatterbot.response_selection.get_first_response"
                       }])
    print('Training corpus',title)
    trainer=ChatterBotCorpusTrainer(Bot)
    trainer.train("chatterbot.corpus.english." + title)     
    return Bot                                         # trained instance

bots = {}
# check what corpora available and traina a bot for each one
for item in os.listdir('C:/Python/Python38/lib/site-packages/chatterbot_corpus/data/english/'):
    corpus = item.split('.')        # of the form 'item.yml'
    name = corpus[0]
    bots[name]= bot(name)  # add bot instance to dictionary of available bots
                                                        
def exchange(input):  # let's get a response to our input
    bot = bots[context]
    response = bot.get_response(input)
Другие вопросы по тегам