#bots #chatbot #aiml
#боты #чат-бот #aiml
Вопрос:
Я новичок в программировании, программирующий чат-бота для развлекательных целей. В настоящее время я использую PandoraBots в качестве хоста для него.
Итак, как вы, наверное, знаете, если вы вводите в чат-боте несколько предложений, по умолчанию бот отвечает тем же количеством сообщений, что и предложений. Это делает бота менее «реальным», чем я хочу.
Например, допустим, я хотел поговорить о боли в животе, которая у меня была.
ПОЛЬЗОВАТЕЛЬ: Я не очень хорошо себя чувствую. Должно быть, я что-то съел. Тьфу.
Реальный человек ответит на общую идею фраз и, скорее всего, ответит одним сообщением.
ПОЛЬЗОВАТЕЛЬ: Я не очень хорошо себя чувствую. Должно быть, я что-то съел. Тьфу.
ДРУГ: Лол, тебе не следовало есть эти попперсы с халапеньо
ПОЛЬЗОВАТЕЛЬ: О, заткнись.
Но бот будет отвечать сообщением на каждую обнаруженную им полную остановку.
ПОЛЬЗОВАТЕЛЬ: Я не очень хорошо себя чувствую. Должно быть, я что-то съел. Тьфу.
БОТ: болеть не весело. Соблюдайте постельный режим!
БОТ: Я люблю есть печенье!
БОТ: Ну тогда.
ПОЛЬЗОВАТЕЛЬ: Теперь мое погружение полностью потеряно. Большое спасибо, бот.
БОТ: Если вы заблудились, достаньте карту!
БОТ: Не за что, мой друг.
Из-за некоторых программ, которые у меня уже есть в моем боте, я бы хотел, чтобы он случайным образом отвечал только на первое или последнее предложение, для более естественного звучания разговора, например:
ПОЛЬЗОВАТЕЛЬ: Я не очень хорошо себя чувствую. Должно быть, я что-то съел. Тьфу.
БОТ: болеть не весело. Соблюдайте постельный режим!
ПОЛЬЗОВАТЕЛЬ: Вау, какое правдоподобное и веселое взаимодействие! Хороший бот!
БОТ: Я рад, что вы считаете, что у меня все хорошо.
Возможно ли что-то подобное с помощью Pandorabots? И если да … какой код для этого? Спасибо!
Ответ №1:
Это сделано специально, так как чат-бот не будет автоматически знать, на какой части пользовательского ввода он должен сосредоточиться. Например, если на вашем вводе бот просто обработал «ТЬФУ» и проигнорировал остальную часть предложения, это не имело бы особого смысла.
Единственный способ для бота обработать ввод как единое целое — удалить разделители предложений из файла свойств вашего бота.