Conectando un Azure Bot conuna Alexa Skill
Vicente G. Guzmán L.
Senior Software Engineer
Alexa Champion México
luciomsp@geeks.ms
@LucioMSP
¿Qué es un bot?
Programa informático que
puede simular el
comportamiento humano
dentro de internet, realizando
automáticamente tareas
repetitivas como enviar
mensajes, emails o realizar
posteos en redes sociales .
¿Qué es Alexa?
Alexa es el servicio de voz ubicado en la nube de Amazon disponible
en dispositivos de Amazon y de terceros que cuenten con Alexa.
¿Qué es Alexa?
Reproducir música
Controlar dispositivos inteligentes
Proporcionar información entiempo real
Capaz de...
¿Qué es una Skill de Alexa?
Son funcionalidades extras, añadidas por terceros que ponemos activar
en nuestro asistente personal, las cuales le permiten a los consumidores
crear una experiencia más personalizada.
¿Qué es el Alexa Skills Kit?
El Alexa Skills Kit (ASK) es un conjunto de herramientas, documentación, muestras de código y
APIs con el que puedes añadir Skills a Alexa de forma rápida y sencilla. El ASK permite a
diseñadores, desarrolladores y marcas crear skills atractivas y llegar a los consumidores. Con este
kit, puedes aprovechar el conocimiento y la innovación de Amazon en el sector del diseño de voz.
¿Dónde puedo encontrar lasAlexa Skills?
ALEXA
VOI CE
SE RVIC
E
Distribución Sin
Precedente:
AVS permite que tu
contenido esté en
todas partes
Nuevas Expriencias:
ASK es la forma de
llegar al consumidor
ALEXA
SK ILL
S
KI T (ASK)
Vive enla Nube
ReconocimientoAutomáticodel Habla
ComprensióndeLenguajeNatural
Siempre Mejorando
El ecosistema Alexa
Your Service
SpeechRecognition
MachineLearning
Natural Language
Understanding
Text toSpeech
Response
Visual
Audio
Intents
Your Service
SpeechRecognition
MachineLearning
Natural Language
Understanding
Text toSpeech
Response
Visual
Audio
Intents
Your Service
SpeechRecognition
MachineLearning
Natural Language
Understanding
Text toSpeech
Response
Visual
Audio
Intents
Your Service
SpeechRecognition
MachineLearning
Natural Language
Understanding
Text toSpeech
Response
Visual
Audio
Intents
Your Service
SpeechRecognition
MachineLearning
Natural Language
Understanding
Text toSpeech
Response
Visual
Audio
Intents
13
1. Creación del chatbot en MS Azure
2. Creación de nuestra Alexa Skill
3. Probando nuestra Skill
DEMO
13
Creación del chatbot en MS Azure
https://dev.botframework.com/
Paso 1
13
13
Paso opcional...
13
amzn1.ask.skill.......
13
Creación de nuestra Alexa Skill
Paso 2
13
13
{
"interactionModel": {
"languageModel": {
"invocationName": "lucy bot",
"intents": [
{
"name": "GetUserIntent",
"slots": [
{
"name": "phrase",
"type": "phrase"
}
],
"samples": [
"{phrase}"
]
},
{
"name": "AMAZON.StopIntent",
"samples": [
"stop"
]
},
{
"name": "AMAZON.CancelIntent",
"samples": [
"cancel"
]
},
{
"name": "AMAZON.HelpIntent",
"samples": [
"help"
]
},
{
"name": "AMAZON.FallbackIntent",
"samples": []
},
{
"name": "AMAZON.NavigateHomeIntent",
"samples": []
}
],
"types": [
{
"name": "phrase",
"values": [
{
"name": {
"value": "hack",
"synonyms": [
"hack",
"hackaton"
]
}
},
{
"name": {
"value": "emily"
}
},
13
https://gist.github.com/LucioMSP/5092bd48768305ca06ea2b5eaf6db58a
https://bit.ly/3jZRjEI
13
13
Probando nuestra Skill
Paso 3
14
Alexa, abre Lucy Bot
13
¿Preguntas?
https://blueprints.amazon.com.mx/
https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-alexa?view=azure-bot-service-4.0
Más información
¡Gracias!
Vicente Guzmán
Alexa Champion-México
MicrosoftLearnStudentAmbassadorGold
@LucioMSP @alexa_vox

Conectando un Azure Bot con una Alexa Skill

Notas del editor

  • #4 Muchos de aquí ya sabemos que es un bot, chatbot y todos sus derivados... Y para quienes aun no se familiarizan, este es un programa informático que puede simular el comportamiento humano dentro de internet, realizando automáticamente tareas repetitivas como enviar mensajes, emails o realizar posteos en redes sociales como Facebook, Twitter o Instagram, tareas cuya realización por parte de una persona serían casi imposibles o muy tediosas.
  • #5 Bueno, antes de comenzar veamos que es Alexa, ya que muchos a lo mejor aun no lo conocemos o ubicamos, entonces... Paso a la siguiente SLIDE
  • #6 En otras palabras, Amazon Alexa es el "cerebro" basado en la nube detrás de los dispositivos de asistente de voz de Amazon.
  • #7 Reproducir música Controlar dispositivos inteligentes Proporcionar información en tiempo real, entre muchas otras cosas mas todo mediante la voz y a través de mediante Skills o habilidades... Y bueno, que son las Skills? Paso a la siguiente SLIDE
  • #8 En otras palabras, son las aplicaciones para los dispositivos que cuenten con Alexa integrada. Cabe destacar que cuando instalemos estas Skills a través de nuestro móvil, todos los asistentes de los dispositivos inteligentes que tengamos vinculados a nuestra cuenta de Amazon podrán utilizarlos. Alexa tiene un número de habilidades incorporadas, y nosotros como desarrolladores podemos construir nuevas habilidades personalizadas, usando Alexa Skill Kit (ASK)
  • #9 Ahora bien, como las podemos desarrollar? Bueno, para esto existe el ASK, el cual es una colección de APIs y herramientas que maneja el trabajo duro relacionado con las interfaces de voz, incluyendo el reconocimiento de voz, la codificación de texto a voz y el procesamiento del lenguaje natural. El ASK nos ayuda a los desarrolladores a crear habilidades de forma rápida y sencilla. Por ahora podemos crear o desarrollar Skills para Alexa en los siguientes lenguajes de programación. Alexa Skills Kit SDK v2 for Java Alexa Skills Kit SDK v2 for Node.js Alexa Skills Kit SDK for Python O utilizando Visual Studio y C#
  • #10 Todas las Skills que se encuentren para su activacion estan en la tienda de Amazon, la mayoria son gratuitas pero si existen algunas que son de pago. Para esto solamente deberemos de ir a la seccion de Skills dentro del portal de Amazon.
  • #17 Una vez entendido el funcionamiento de Alexa, pasemos a lo bueno, a lo que venimos el día de hoy, a conectar un Chatbot con una Alexa Skill... Esto lo realizaremos en 3 sencillos pasos, los cuales son...
  • #18 Manos a la obra...
  • #19 En este paso necesitaremos un Chatbot, si no contamos con uno, no te preocupes, aquí dejo una liga en donde pueden hacer un bot en tan solo unos minutos... Pero si quieres aprender ahora, no se despeguen, que crearemos uno a continuación, para eso, vayamos a nuestra cuenta de Azure...
  • #20 Vamos a necesitar tener configurado una cuenta valida de Azure. Una vez todo preparado vamos a crear un recurso de Webb App Bot y utilizaremos el template de Echo base.
  • #21 Una vez que hayamos creado el proyecto descargamos el código fuente desde el recurso Web App Bot, vamos a Build y desde allí encontraremos la opción para descargar el código fuente.
  • #22 Para añadir a Alexa como un canal más, solo tenemos que ir al apartado de canales y añadirlo. Aquí nos pedirá el identificador de nuestra skill que creamos a continuación y además nos mostrara el endpoint que Alexa va a utilizar. Una vez que nuestro proyecto Echo Bot esta creado vayamos al paso 2….
  • #24  Desde la ventana de creación de Alexa Skills vamos a crear una siguiendo estos pasos.
  • #25  Posteriormente editaremos nuestro archive JSON, con el siguiente… no se preocupen, a continuacion les dejo esto archivo en un Gits { "interactionModel": { "languageModel": { "invocationName": "lucy bot", "intents": [ { "name": "GetUserIntent", "slots": [ { "name": "phrase", "type": "phrase" } ], "samples": [ "{phrase}" ] }, { "name": "AMAZON.StopIntent", "samples": [ "stop" ] }, { "name": "AMAZON.CancelIntent", "samples": [ "cancel" ] }, { "name": "AMAZON.HelpIntent", "samples": [ "help" ] }, { "name": "AMAZON.FallbackIntent", "samples": [] }, { "name": "AMAZON.NavigateHomeIntent", "samples": [] } ], "types": [ { "name": "phrase", "values": [ { "name": { "value": "hack", "synonyms": [ "hack", "hackaton" ] } }, { "name": { "value": "emily" } }, { "name": { "value": "demo" } }, { "name": { "value": "lucy", "synonyms": [ "lucinda" ] } } ] } ] } } }
  • #27 Con la Skill creada vamos a configurar el Endpoint al que va a llamar la Skill. Este endpoint será el que habremos creado en pasos anteriores. Ademas utilizaremos la opción de “My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority” para configurar la autorización. Guardamos el endpoint y hacemos un build de nuestra skill, la cual con esto ya estaría creada y configurada.
  • #29 Una vez que tengamos todo arrancado y listo, tendremos que probar nuestra skill. Desde el apartado de Test, tendremos que habilitar la skill en Development y ya podremos probar nuestro chatbot. En mi caso la invocación seria “lucy bot”
  • #30 En conclusión, este conector nos permite hacer una integración bastante rápida, pero si buscamos una solución más compleja habría que hacer algunas otras configuraciones previas.
  • #33 https://www.bravent.net/como-lo-hicimos-descubre-como-conectar-azure-bot-framework-y-alexa