К сожалению, нет способа заставить Лекса игнорировать намеренные высказывания, но Лекс достаточно умен, чтобы попытаться распознать на уровне слота перед проверкой уровня намерения.
У меня также есть некоторые подобные ситуации, когдаВыявление слота также является намеренным высказыванием, но я обнаружил, что если значения slotType
включают в себя эти возможные намеренные высказывания, то Лекс выполняет хорошую работу по проверке и заполнению слота перед проверкой на совпадение в намерениях.
Итак, имея в виду, вот несколько вариантов, которые я бы рассмотрел:
A.
Автозаполнение начала description
на основепредыдущий IntentName
или фраза, которая вызвала намерение.Затем спросите, хотят ли они добавить к нему в явном description
.Таким образом, им не нужно будет повторять фразы, которые вызывают намерение.Я бы написал следующее приглашение:
В описании этого билета я уже написал «Сброс пароля».Что еще вы хотели бы добавить к описанию?
Даже просьба закончить предложение может сработать хорошо:
Пожалуйста, заполните это предложение, чтобы добавить его в качестве описания.этого билета: «Я сбрасываю свой пароль, потому что ...»
B.
Добавьте все намеренные высказывания в качестве одного из description
slotType
значения.Таким образом, Лекс распознает слова, использованные в описании, как заполнение слота, прежде чем проверять, соответствуют ли они намеренному высказыванию.
C.
Я бы рассмотрел ограничение описания, илидаже построение описания из нескольких слотов.Например, может быть, каждое описание должно включать (1) причину, (2) уровень приоритета / важности и т. Д. И поэтому создайте слот для «причины» и «приоритета» и извлекайте их специально с помощью:
Какова причина сброса пароля?
Какой уровень приоритета вы даете этому билету?
Затем в Lambda соедините эти (и любые другие) вместе в описании.