Могу ли я динамически создавать собственные типы слотов в голосовом сервисе Alexa?

Я хочу создать тип слота для ответа, который я получаю от пользователя, потому что я хочу снова запросить этот слот. Не удалось найти никакой официальной документации, говорящей, возможно ли это или нет.


person Tejas Tasgaonkar    schedule 27.06.2016    source источник


Ответы (3)


Я думаю, что на самом деле это возможно. Вы должны определить собственный тип слота, как описано здесь: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/defining-the-voice-interface#типыпользовательскихслотов

Теперь пользовательский тип слота просит вас указать возможные значения, что вы и должны сделать. НО! Кажется, что Alexa по-прежнему будет правильно анализировать значения слотов, даже если их нет в списке возможных значений, которые вы предоставили!

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

В целом, у меня сложилось впечатление, что модель взаимодействия в целом следует рассматривать не столько как строгий набор правил, сколько как руководство, которое интерпретируется по усмотрению Alexa Voice Service.

person Konstantin Schubert    schedule 09.10.2016
comment
Однако это не обязательно особенность. В настоящее время это сводит меня с ума, потому что у меня есть тип слота, который я хочу использовать для конкретных значений, которые я предоставляю. - person Max; 29.03.2017
comment
это не недокументировано :) 'Обратите внимание, что пользовательский тип слота не эквивалентен перечислению. Значения вне списка по-прежнему возвращаются, если они распознаются системой понимания разговорного языка. Хотя входные данные для пользовательского типа слота взвешиваются по значениям в списке, они не ограничиваются только элементами...» developer.amazon.com/public/solutions/alexa/alexa-skills-kit/ - person Mark; 29.08.2017

Я смог добиться именно этого, создав пользовательское намерение под названием «Поиск» с пользовательским типом слота, называемым «запрос». Это отправляет все, что пользователь говорит в значении слота, на мой веб-сервис, где я могу искать по строке.

Мне пришлось поместить один пример в раздел значений слота (для прохождения проверки), но в моем тестировании слот получает динамические данные и передает их в мой веб-сервис, как и следовало ожидать. Смотрите прикрепленные снимки экрана.

скриншот поиска

person Mike Doyle    schedule 22.08.2017
comment
Я создал запрос типа слота. Но это не работает (слоты: [ { имя: запрос, тип: запрос } ]==> Ошибка: возникла проблема с вашим запросом: неизвестный тип слота «запрос» для слота «запрос»). Не могли бы вы поделиться образцом схемы намерения? - person Abdul Manaf; 20.10.2017

Я думаю, вы имеете в виду Alexa Skills Kit, а не Alexa Voice Service. Это Alexa Skills Kit, с помощью которого вы пишете навык (приложение), и это элемент, который составляет ответы пользователю.

Нет, вы не можете спонтанно создавать типы слотов. Модель взаимодействия, включающая типы слотов, используется службой Alexa для преобразования звуковых данных в слоты намерения+. Чтобы вернуть максимальное качество, им требуется фиксированная модель взаимодействия. Это предоставляется во время разработки и «компилируется» в их уровень распознавания. Поэтому они не поддерживают функции, требующие специального изменения модели взаимодействия.

person Joseph Jaquinta    schedule 27.06.2016
comment
Ну, они поддерживают это, если вы специально хотите сделать домашний навык. Тот факт, что функция обнаружения в домашнем навыке возможна, дает мне надежду, что они в конечном итоге перенесут этот вид функциональности в пользовательские навыки. - person master565; 27.06.2016