Вот некоторые полезные определения, которые используются в чат-ботах и, в частности, в Lex:
Диалог = диалог между ботом и пользователем.
Utterance = ввод от пользователя к боту.
Ответ = возвращенное пользователю сообщение от бота.
Intent = организованная группа высказываний, которая помогает боту распознавать то, что хочет пользователь.
Слот = (также называемый «сущностью») параметр внутри высказывания, чтобы предоставить более подробные c подробности для намерение.
Тип слота = организованная группа чисел, букв, слов или фраз, которые помогают боту распознавать значение, передаваемое в качестве параметра в слоте.
Значение слота = число, дата, слово или фраза, взятые из высказывания и сохраненные в слоте.
Пример:
Пользователь: Я бы хотел заказать пиццу.
Бот принимает этот пользовательский ввод и обрабатывает высказывание, сравнивая его со всеми намеренными высказываниями, чтобы наилучшим образом сопоставить ввод пользователя с правильным намерением. Намерение, возможно, близко соответствовало этому высказыванию, установленному в боте: «Я хочу заказать {еду}».
Бот распознает значение «пиццы» в высказывании как совпадение со значением в типе слота , возможно, с именем «foodTypes». Бот Lex затем доставляет эту информацию в Lambda, включая Пользовательский ввод , Намерение , Слоты и Значения слотов .
Logi c, встроенный в Lambda или другую конечную точку, обрабатывает информацию, чтобы сформировать ответ. Вы должны проверить и проанализировать пользовательский ввод и слоты самостоятельно, чтобы улучшить точность НЛП и исправить любые ошибки. Затем доставьте ответ обратно в Lex, который затем доставит ответное сообщение пользователю.
Из этого примера собранная информация может быть такой:
Пользовательский ввод = Я бы хотел заказать пиццу.
Intent Utrarance = "Я бы хотел заказать {food}."
Intent = pizzaOrderIntent
Тип слота = foodTypes
Слот = Еда
Значение слота = "пицца"