Estoy diseñando una habilidad de Alexa y ciertamente estoy tratando de diseñar un modelo de interacción que anticipe muchas expresiones para poder implementar los controladores adecuados. Pero si el usuario pregunta algo que no anticipé, realmente me gustaría capturar esto y recibir una notificación o al menos registrarlo para poder aprender del uso del mundo real y mejorar la Habilidad. ¿Cómo puedo hacer eso?

2
Bob Gale 25 feb. 2018 a las 04:29

2 respuestas

La mejor respuesta

El equipo de desarrollo de Amazon Alexa está eliminando AMAZON. Soporte literal. El reemplazo es AMAZON.SearchQuery. No puede simplemente eliminarlo dando el nombre de la ranura, necesita las frases de apoyo con él.

Hay una forma de hacer esto. Es posible que no pueda capturar la expresión completa, puede aprovechar al máximo lo que dijo el usuario.

El truco es usar el principio de 5W, inglés básico ... tu modelo tendrá Por qué, cuándo, dónde, cómo, qué en él y el resto es la ranura. Funciona el 95% del tiempo.

Modelo de muestra de la siguiente manera con intención.

{
  "name": "UseSearchQuery",
  "slots": [{
    "name": "UserInput",
    "type": "AMAZON.SearchQuery"
  }],
  "samples": [
    "isn't {UserInput}",
    "is {UserInput}",
    "How {UserInput}",
    "Where {UserInput}",
    "Why {UserInput}",
    "What {UserInput}",
    "When {UserInput}"
  ]
}

Intenté lo mismo y encontré que funcionaba para mí ... Soy capaz de capturar la mayor parte de lo que dice el usuario.

Digamos, usuario, viola tu defensa aquí .. !! utilice el AMAZON.FallbackIntent.

¡Espero que esto funcione para usted! codificación feliz.

-UNA

1
Ashwin 17 oct. 2018 a las 06:30

Creo que no es posible capturar la expresión que no esperabas. Amazon Alexa nunca pronuncia o el texto de la conversación dicho por el usuario, como la forma en que el diálogo de Google le da el texto real. La mejor opción sería utilizar para estados sdk de alexa y tener la intención catchAll para captar ese tipo de enunciados.

0
user398707 26 feb. 2018 a las 23:26