Chatbot — Как распознавать и обрабатывать несколько запросов с помощью одного ответа

Это должно быть общей проблемой, но я не могу найти источники, обсуждающие это. Есть много наоборот (отправка нескольких ответов на один запрос).

Существует общий стиль общения между людьми, где personA быстро отправляет второе сообщение, чтобы добавить или исправить свое первое сообщение. Это часто пытаются использовать с чат-ботами, например:

Бот: Куда нам доставить пиццу?
Пользователь: 123 главная улица sprnigfelid
Пользователь: springfield
Бот: (ответ на ввод № 1)
Бот: (ответ на ввод № 2)

Теперь проблема в том, достаточно ли умен бот для распознавания орфографических ошибок или достаточно открыт, чтобы принять их с первого ввода. Конво будет выглядеть так:

Пользователь: 123 главная улица sprnigfeld
Пользователь: springfield
Бот: ОК, 123 Main Street, Спрингфилд. В каком состоянии это?
Бот: Понял, я доставлю по адресу 123 Main St., Springfield, Springfield. Это правильное местоположение?

Существует так много других ситуаций и способов, которыми бот может ошибочно принять эти множественные быстрые входные данные, и двойные ответы оставляют пользователя в недоумении, что пошло не так, и не понимают, в каком месте разговора они стоят.

Так кто-нибудь пытался справиться с этим?

Я ищу общее руководство для подхода, но в случае, если у кого-то есть конкретный ответ, я использую PHP-прокси между пользователем и ботом Lex. Я использую этот прокси для проверки и анализа входящих сообщений перед их передачей в Lex. Я также храню информацию о сеансе. Одна вещь, которую я пытался сохранить, — input_count #, чтобы попытаться определить, поступил ли новый ввод перед отправкой первого ответа.

Однако, похоже, что PHP может ставить в очередь второй ввод до тех пор, пока не завершится первый, поэтому мой input_count # никогда не изменится. Таким образом, даже когда пользователь отправляет много быстрых входных данных, мой бот отвечает на каждый из них.

2

Решение

Современные системы разработки чат-ботов не имеют механизмов (или, по крайней мере, явных) для обработки подобных ситуаций (поправьте меня, если я ошибаюсь). Обычно это Q / A на основе правил. Также согласитесь, что обработка ввода в чат-боте не является хорошим общим решением. Однако вы можете создать какую-нибудь оболочку, которая будет проверять этот сценарий. Это может работать следующим образом:

Bot: Where should we deliver the pizza?
User: 123 main street sprnigfelid (you send first input to chatbot)
User: springfield (you send second input to chatbot, you make a note that two inputs were sent before first answer)
Bot: (response to input #1 ) (you receive answer, but you know there was a second input, you wait for second answer)
Bot: (response to input #2 ) (you compare the answers from the chatbot - are they the same?)

Сложно сравнить ответы, если они «одинаковые» — если вы знаете, что чат-бот отвечает адресом, вы можете сравнить адрес. Вы также можете определить, исправляет ли пользователь опечатку сразу, сравнив два входных сообщения — в этом случае вы можете попробовать вообще пропустить второй ввод для бота и использовать контекст разговора из первого ответа для продолжения разговор (это возможно с большинством наборов инструментов чата).

В общем, я думаю, что это не главная проблема, которая обычно возникает, когда пользователи общаются с чатботами. В этом конкретном примере чат-бот дает два ответа, но я бы сказал, что пользователь понял это правильно и не смущен — я думаю, что это главная цель чат-бота.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]