Creando una Aplicación Android que responda ante comandos de Voz mediante Inteligencia Artificial y Machine Learning – Parte 9
En esta página:
En la parte anterior llamada Creando una Aplicación Android que responda ante comandos de Voz mediante Inteligencia Artificial y Machine Learning – Parte 8 configuramos los tokens de acceso para poder usar Dialogflow (Servicio de Inteligencia artificial y Machine Learning) y en esta Parte 9 configuraremos el archivo AndroidManifest.xml y comenzaré a entrenar y desplegar nuestros Intents (Intentos) en Dialogflow.
Partes
- Parte 1
- Parte 2
- Parte 3
- Parte 4
- Parte 5
- Parte 6
- Parte 7
- Parte 8
- Parte 9
- Parte 10
- Parte 11 (Final, Demo, Código Fuente en GitHub)
Antes de continuar te invito a leer los siguientes artículos para que estés familiarizado con este Tutorial:
- Que es Android y tu Primera aplicación Hola Mundo
- Que es Kotlin y otros detalles
- Que es la Inteligencia Artificial y otros Detalles
- Que es Machine Learning, Historia y otros detalles
Si ya conoces estas tecnologías, puedes continuar con el tutorial, no hay problema.
Asimismo te invito a escuchar el Podcast: “Donde buscar ayuda sobre Programación”:
Bien ahora continuemos con el Post: Creando una Aplicación Android que responda ante comandos de Voz mediante Inteligencia Artificial y Machine Learning – Parte 9.
Archivo AndroidManifest.xml
Para que nuestra aplicación funcione sin problemas debemos agregar lo siguiente al archivo AndroidManifest.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.iapostresapp"> <uses-permission android:name="android.permission.INTERNET"/> <!-- Permiso para usar el micrófono del dispositivo --> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> |
Puedes ver que estoy solicitando permisos para usar el micrófono del dispositivo, este se usará para enviar mensajes de audio a la Inteligencia Artificial.
Nota: En este punto quiero que entiendas que en la actualidad existen servicios de Inteligencia Artificial y Machine Learning que podemos consumirlos, si nosotros intentamos montar o crear un sistema de Inteligencia Artificial y Machine Learning, necesitamos tener un servidor con hardware potente para que ejecute las tareas y si no te puedes dar ese lujo, pues ya existen plataformas como Dialogflow que te ahorran costos y mano de obra.
Entrenando a la Inteligencia Artificial
En Dialogflow debemos de entrenar a la inteligencia artificial que tenemos en la plataforma y conforme la entrenamos esta inteligencia comienza a aprender automáticamente (Machine Learning o Aprendizaje Automático).
Voy a entrenar lo más sencillo posible a mi Inteligencia Artificial para que las conversaciones sean lo más naturales posible, si bien podemos usar otros herramientas en el Panel como los Contexts (Contextos), eso es un tema más avanzado y no quiero ahondar mucho sobre ello para no salirme mucho del tutorial.
El entrenamiento se lleva acabo mediante Intents (Intentos) y para mi aplicación voy a crear los siguientes Intents:
- Menú
- Pedido de Comer
- Pedido Movilidad
- Finalizar Conversación
- Default Welcome Intent (Este Intent ya viene por defecto en Dialogflow y lo configuraré más adelante).
Para crear un Intent en Dialogflow, nos dirigimos a la opción Intents (Intentos) que se encuentra en la parte izquierda y luego hacemos clic en el botón Create Intent
Intent Menú
A este Intent le pondré de nombre Menú, luego en la sección Training phrases (Frases de entrenamiento) agrego las siguientes 6 frases y una palabra menú. Estas frases serán las consultas de un cliente a la Inteligencia Artificial.
Luego vamos más abajo en la sección Responses (Respuestas) y agregamos solo una frase, esta será una respuesta general para todas las consultas del cliente que definimos arriba en la sección Training phrases (Frases de entrenamiento) del Intent Menú. Hacemos clic en el botón Save para guardar el Intent.
Si voy a mi aplicación y envío un audio o mensaje usando frases similares a las que se encuentran en las Training phrases (Frases de entrenamiento) que definí en mi Intent Menú, la Inteligencia Artificial me devolverá la frase que definí en Responses (Respuestas).
En la imagen anterior puedes ver en el tercer ejemplo que escribí el texto: que hay de comer y a pesar que esta frase no estaba definida en las Training phrases (Frases de entrenamiento) del Intent Menú, la inteligencia artificial aprendió automáticamente de las frases similares y me devolvió la respuesta que definí en Responses (Respuestas).
Intent Pedido de Comer
A este segundo Intent le pondré de nombre Pedido de Comer, luego en la sección Training phrases (Frases de entrenamiento) agrego las siguientes 8 frases. Estas frases serán los pedidos de comidas que el cliente realiza.
Paso seguido vamos más abajo en la sección Responses (Respuestas) y agrego 6 frases, estas serás las respuestas para todas las consultas del cliente que definimos arriba en la sección Training phrases (Frases de entrenamiento) del Intent Pedido de Comer. Hacemos clic en el botón Save para guardar el Intent.
Entonces si voy a mi aplicación y envío un audio o mensaje usando frases similares a las que se encuentran en las Training phrases (Frases de entrenamiento) que definí en mi Intent Pedido de Comida, la Inteligencia Artificial me devolverá la frase que definí en Responses (Respuestas).
En la imagen anterior puedes ver en el segundo ejemplo hice un pedido de manera muy detallada y a pesar que esta frase no estaba definida en las Training phrases (Frases de entrenamiento) del Intent Pedido de Comida, la inteligencia artificial aprendió automáticamente de las frases similares y me devolvió las respuestas que definí en Responses (Respuestas).
Bueno con esto tenemos configurados los 2 primeros Intents y la siguiente Parte, terminaré de crear los Intents que faltan.
Ten Paciencia, lo que quiero es que entiendas todo el proceso de como crear la aplicación y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje.
Nota(s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- Android Inteligencia Artificial Kotlin Machine Learning Tutoriales
- 10-05-2020
- 28-06-2020
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)