AWS Lex - выбрать запрос из пользовательского вопроса - PullRequest
0 голосов
/ 17 сентября 2018

Я создаю чат-бота, который принимает следующие данные:

"How do I take a screenshot on iphone"

и затем ищет

"take a screenshot on iphone"

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

Может ли бот интуитивно понять, что представляет собой запрос, не предоставляя каких-либо ключевых слов или тому подобного?

1 Ответ

0 голосов
/ 18 сентября 2018

Настройка Q & A Intent в консоли Lex.

1 Создание нового намерения

Нажмите значок + рядом с «Intents» в левой части навигации.
Aпоявится всплывающее окно, поэтому нажмите «Создать намерение».
Затем введите имя, например: QueryLookup.Затем щелкните по этому намерению в списке Intent слева.

enter image description here


2 Создайте новый Slot Type

Нажмите на значок + рядом с «Типы слотов» в левой части навигации.
Появится всплывающее окно, поэтому нажмите «Создать тип слота».
Дайте типу слота имя (пример: QueryPhrases), описание (необязательно) и установите флажок «Расширить значения».
Затем введите примерные значения, о которых пользователь, как ожидается, спросит.Дайте ему различные значения в виде отдельных слов или нескольких слов или полных предложений.Это помогает обучить Лекса, какие запросы идентифицировать из всего пользовательского ввода.По окончании нажмите кнопку «Добавить слот к цели».

Add Slot Type Details


3 Добавить и изменить слот

Шаг 2автоматически добавит слот к цели.Имя по умолчанию - slotOne, но вы можете изменить его, нажав на выделенное имя слота.Флажок «Обязательно» установлен по умолчанию.Введите подсказку на случай, если вам нужно извлечь этот слот (попросите пользователя предоставить его), например: What would you like to know about?

Edit Slot Details


4Добавить лямбда-функцию

Установите оба флажка лямбда-функции: (1) «Перехват кода инициализации и проверки» и (2) Выполнение.И в выпадающих меню выберите вашу функцию Lamda из списка.Здесь вы будете выполнять обработку на основе запроса, интерпретируемого Lex.

Check Lamda


5 Добавить примерные высказывания

Вернитесь к началу вашего нового намерения, добавьте «Образец высказываний».Они обучают Лекса тому, как сопоставить пользовательский ввод, чтобы вызвать это намерение и захватить слот query.Рассмотрите способы, которыми пользователь будет запрашивать что-либо в этом намерении.Из вашего примера:

«Как сделать снимок экрана на iphone»

Просто замените слово или фразу запроса, которые вы хотите идентифицировать, на имя вашего слота.Также удалите знак вопроса.

"Как мне {запросить}"

Затем напишите столько вариантов, сколько сможете.

Add Sample Utterances


6.Сохранить и построить

Сохранить намерение, построить и протестировать или опубликовать, а затем протестировать.Теперь Лекс сможет понимать вопросы типа "How do I...", инициировать это новое намерение "QueryLookup", определить "QueryPhrase" и сохранить его в слоте "query".Затем Лекс доставит эту информацию в вашу Лямбда-функцию, где вы сможете обработать, выполнить поиск и сформировать ваш ответ.

Ниже приведена документация по получению этой информации (иногда называемой «Событие» или «Запрос») в вашей лямбда-функции и способу ее ответа.

Вход лямбда-функции Формат события и ответа:

В этом разделе описывается структура данных о событиях, которые Amazon Lex предоставляет функции Lambda.Используйте эту информацию для анализа ввода в вашем лямбда-коде.Также объясняется формат ответа, который Amazon Lex ожидает от вашей функции Lambda.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...