Лучший способ создать слот для всех в Alexa

Каков сегодня лучший способ создать универсальный слот с помощью Alexa, который можно использовать с другим пользовательским слотом (к сожалению, это не слот AMAZON.SearchQuery, который нельзя использовать с другими пользовательскими слотами, кстати, не знаю, почему)?

Я пробовал использовать AMAZON.Person, как кто-то предложил, но когда я что-то говорю, Alexa пытается применить то, что я говорю, в имени человека, и поэтому Alexa не поймет, что именно я говорю.

Такое же поведение проявляется, если я создаю пользовательский слот с некоторыми случайными словами, Alexa всегда будет пытаться сопоставить мой ввод с одним из этих слов, «удаляя» исходный ввод.

АМАЗОНКА. Человек и пользовательский слот со случайными словами работают, если я использую консоль разработчика для тестирования. В этом случае любое слово, которое я скажу, попадет в слот для всех. Проблема возникает, когда я проверяю навык с помощью Echo Device, Alexa всегда будет пытаться понять, что я говорю, чтобы «принудительно» ввести ввод в один из примеров слотов, делая ввод непригодным для использования.

Язык - en-US.

Есть ли способ решить эту проблему и создать настоящий пользовательский слот?

Спасибо


person rivamarco    schedule 14.10.2019    source источник


Ответы (1)


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

При этом у меня был умеренный успех в достижении этого, используя слот AMAZON.Book в качестве слота типа «Catch all».

Имейте в виду, что если вы сделаете это, вы должны проверить, какие другие высказывания будут конфликтовать с этим, на панели конфликтующих высказываний. Вероятно, вам также придется создавать собственные намерения для встроенных намерений, таких как AMAZON.YesIntent и AMAZON.NoIntent, если вы собираетесь использовать их в своем умении. В противном случае их могут не распознать.

person Jonathan Porter    schedule 15.10.2019
comment
Спасибо, попробую. Но я хочу использовать catch all не для всего ввода, а для ввода между двумя пользовательскими слотами. Я попробую с Amazon. Зарегистрируйтесь, чтобы посмотреть, работает ли он лучше, чем сейчас. - person rivamarco; 16.10.2019
comment
Не сильно протестировано, но определенно работает лучше, чем AMAZON.Person или слоты, заполненные случайными строками! Я думаю, что это реальный способ решения проблемы. - person rivamarco; 03.11.2019