Используя Microsoft Bot Framework, у меня есть намерение LUIS, для которого требуется определенная информация, такая как местоположение и т. Д.
Если пользователь отправляет сообщение, которое получает правильное намерение, но отсутствует информация, но нуждается в разъясненииКаков наилучший способ справиться с этим?
Например, если пользователь отправляет сообщение типа «Что в Спрингфилде?»бот не сможет определить, о каком городе спрашивает пользователь (многие города с одинаковыми названиями, но в разных штатах).
Бот может определить наличие нескольких совпадений и просто потребовать от пользователяПовторите запрос со всей необходимой информацией (что делает каждый запрос в основном не имеющим состояния и неразборчивым), но кажется, что в идеале он может запомнить состояние и спросить «Какое состояние?»или «Вы имели в виду Миссури или Иллинойс?»
Проблема, конечно, в том, что, если пользователь отвечает только состоянием, какое намерение будет достигнуто при поступлении второго сообщения?
Должен ли он иметь намерение, которое является прямым ответом для государства?Это кажется странным паттерном только для того, чтобы получить конкретный ответ от пользователя (и должен был бы повторяться для каждого конкретного типа ответа).
Или бот должен просто игнорировать второе намерение и использовать разговористория, чтобы попытаться выяснить, что это государственное название?Это кажется плохой практикой, которая тратит впустую звонок в LUIS.
Как мне кажется, как должен выглядеть разговор, но я не знаю, какой должна быть архитектура:
user: What do you have in Springfield?
<hits "stuff" intent>
bot: Did you mean Springfield in Missouri, or Springfield in Illinois?
user: I meant Illinois.
<what intent could this be?>
bot: Great, we have _______.