Я пользуюсь AWS Lex уже неделю, и у меня мало проблем. Было бы очень хорошо, если бы кто-то мог предоставить какое-то решение / предложение по этому поводу.
Значение слота не разрешено должным образом : скажем, у меня есть слот типа Amazon.Number. Этот слот работает хорошо, если я ввожу в числовом формате, в противном случае, если я ввожу как one
или couple of items
и т. Д., В таких сценариях слот не может разрешить значение слота, и значение null
передается Lambda fn. Единственный обходной путь, который я могу придумать, - это определить пользовательский тип слота, но сколько (числа бесконечны). Итак, я понятия не имею, как справиться с таким сценарием.
Я ожидал, что originalValue будет возвращен Лексом в Lambda fn, но я получаю {code} null {code}. Таким образом, как запасной вариант вышеописанного сценария, я не могу оперировать новым значением.
const originalValue = intentRequest.currentIntent.originalValue;
console.log(originalValue); // this is null
То, что я ожидал
Было бы очень хорошо, если бы Лекс понял пользовательский ввод в контексте выявляемого слота и однажды понял, Лекс может превратить пользовательский ввод в Число и передать его в Lambda.
Например, «Пара элементов» должна быть преобразована в 2, если тип слота задан как числовой.
Примечание
Я не уверен, что фрагмент кода будет полезен в этом случае, так как это больше похоже на вопрос о возможностях / выполнимости, если вам нужен код, чтобы помочь вам в понимании вопроса, не стесняйтесь оставлять комментарии, и я также добавлю код .