Как передать текст из alexa/echo на сервер

Я хочу создать простой навык, который использует голос Алексы для перевода текста, а затем передает текст в другой сервис. Это похоже на то, что я ищу: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interface-reference, но нигде в примере запроса / response имеет текстовую форму запроса пользователей к alexa. Если бы кому-то удалось извлечь текстовые данные пользовательских голосовых команд, было бы очень полезно для меня.

2 ответа

Решение

Это не легко, к сожалению и по замыслу.

Ответы пользователей хранятся в слове "слоты" в модели взаимодействия. Именно так Alexa анализирует речь и выполняет команды на основе высказываний пользователя. Не зная каждого варианта возможного слота слова и записав его в свою модель взаимодействия, вы не сможете хранить текст произвольной формы в переменной и "передавать его".

Это невозможно. Самое близкое, что вы можете получить, это использовать встроенный слот типа AMAZON.Literal (только для США и не рекомендуется) или AMAZON.SearchQuery (доступно во всех локалях). Я говорю "ближайший", потому что SearchQuery, например, требует, чтобы в произнесении была некая фраза, кроме слота (он не может быть там один, захватывая все).

Обратите внимание, что захват свободных форм, предоставляемый этими типами, менее точен, чем если бы вы определяли пользовательский тип слота (т.е. вы знаете более или менее то, что вы хотите захватить)

Другие вопросы по тегам