AIExplorer Un ejercicio lúdico para explorar la Inteligencia Artificial desde un Teléfono Inteligente. RESUMEN EJECUTIVO
Se presenta la aplicación para Teléfono Inteligente AIEXPLORER desarrollada para el Sistema Operativo ANDROID.
Este desarrollo demuestra la capacidad de interacción de las poderosas Plataformas Tecnológicas de Servicio que se usaron para desarrollar esta aplicación y que están a disposición del público en general.
Estas plataformas son herramientas que antaño hubieran requerido de una gran cantidad de recursos técnicos, humanos y económicos para poder usarlas y obtener de ellas la funcionalidad que ofrecen. Con ellas se acercan las tecnologías de vanguardia a los usuarios no especialistas, quienes sin dejar de lado las prioridades propias de su actividad, pueden ahora con la ayuda de personas que sepan usar estas herramientas beneficiarse de ellas. La naturaleza específica de cada proyecto de desarrollo de una aplicación; determina el alcance, tiempo y costo de desarrollo e implantación. Sin embargo, las Plataformas usadas ofrecen curvas de aprendizaje, adopción y tiempos de desarrollo cortos, bajo la tutela adecuada. Esto siempre opera en beneficio del usuario final de la aplicación desarrollada. Este documento pretende mostrar por medio de una aplicación real la capacidad que se tiene disponible, para implementar una solución cuyo motor de funcionalidad está en el campo de la Inteligencia Artificial por medio del uso de una de las herramientas más reconocidas y prestigiadas en la actualidad en este campo.
AIEXPLORER, sus antecedentes. La Inteligencia Artificial nos ofrece en la actualidad nuevas y poderosas herramientas para aplicarlas en diversas áreas de la actividad humana, con la idea de potenciar nuestras capacidades en los temas relacionados con nuestro trabajo.
Para usarlas en forma eficiente ya no es indispensable tener amplios conocimientos o experiencia en temas de computación.
Hoy recursos como SIRI, CORTANA o el asistente digital de Google son ayudas cotiadianas para millones de usuarios de Teléfonos Inteligentes.
Y aun cuando son ya presentes y su utilidad y aplicabilidad es creciente, todavía hay oportunidad de explorar nuevas posibles aplicaciones para la Inteligencia Artificial y de desarrollar nuevos usos y vehículos de aplicación para áreas específicas del quehacer cotidiano.
Es, en este contexto que se presenta AIEXPLORER, aplicación que pretende hacer un atisbo y dar una experiencia de primera mano en el uso de herramientas de Inteligencia Artificial al hombre o mujer común y corriente
En lo técnico, se tuvo una intensión adicional concreta: Emplear en su construcción e implementación tres plataformas tecnológicas específicas:
MIT App Inventor para la construcción DRIVE de Google como repositorio de ia información Watson de IBM, el componente de inteligenteligencia y motor de la funcionalidad
De esta forma AIEXPLORER implementa, en un teléfono inteligente o dispositivo móvil, la funcionalidad para el Reconocimiento de Imágenes, que la Plataforma de Servicios Bluemix de IBM en la WEB ofrece al público en general en la liga: http://visual-recognition-demo.mybluemix.net/
Las fotografías que se emplean para el Reconocimiento de Imágenes están almacenadas en DRIVE de Google o en el propio teléfono inteligente.
AIEXPLORER utiliza un par de recursos técnicos disponibles en el Sistema Operativo ANDROID y accesibles en forma programática:
Oir e interpretar la voz humana (voice recognition, voice to text) Leer en voz alta un texto (text to speech).
Es así como se logra que la aplicación ofrezca al usuario una experiencia más rica e “inteligente” en su dispositivo. Para la primera versión de AIEXPLORER se tienen las siguientes funcionalidades: 1. Entender e interpretar la voz del usuario 2. Emitir mensajes orales al usuario 3. Acudir a Watson de IBM para establecer si una persona presente en una fotografía es mujer u hombre 4. Dar a conocer si se trata de una persona famosa de acuerdo con Watson de IBM 5. Emitir en forma oral el resultado de las consultas hechas a Watson de IBM 6. Acudir a Watson de IBM para interpretar un texto presente en una fotografía. 7. Emitir en forma oral el contenido del texto presente en una fotografía que Watson de IBM interpretó 8. Usar el idioma Español 9. Descargar de DRIVE de Google fotos ejemplo y alamacenarlas en el dispositivo 10. Usar las fotos almacenadas en el dispositivo
A partir de la lista de funcionalidades, se identifica la contribución de cada Plataforma Tecnológica que se empleó en el desarrollo en la aplicación:
MIT App Inventor: Funcionalidades de la 1 a 10 DRIVE de Google: Funcionalidad 9 Watson de IBM: Funcionalidades 3, 4, 6 y 7
Es importante resaltar que la articulación de estas plataformas se da gracias al concepto de Servicio de WEB y su implementación a través de una Arquitectura de tipo REST y con el uso de sus eficientes directivas y APIs. AIEXPLORER utiliza directivas GET y POST para lograr la descarga de archivos desde DRIVE de Google y para realizar las consultas a Watson de IBM. En ambos casos sendas APIs establecen los mecanismos y los datos necesarios para el requerimiento de servicio así como del envío o recepción de la información.
MIT App Inventor
Esta plataforma de desarrollo de aplicaciones para sistema operativo android fue desarrollada y soportada por Google. Con el tiempo la plataforma fue haciendo crecer su funcionalidad pero Google decidió pasar la estafeta para el soporte al MIT. Desde entonces la plataforma ha crecido en usuarios y en funcionalidades. Se ha traducido a varios idiomas y se han creado foros de soporte y grupos de usuarios. El paradigma de diseño y construcción de las aplicaciones en App Inventor es usar una gran variedad de bloques funcionales a manera de un mecano o lego bajo reglas particulares de interconexión y de funcionamiento. El objetivo principal es generar programas sin programar en un lenguaje de programación tradicional. La plataforma es muy versatil y permite abordar y dar solución a problemas de programación complejos que incluyen el manejo de información numérica, de texto, multimedia y comunicaciones inalámbricas vía wifi o bluetooth. Por medio de bloques específicos es posible diseñar e implementar procesos que hagan uso de APIs para servicios en arquitecturas tipo REST.
DRIVE de Google
DRIVE es una de las formas en las que un usuario de los varios tipos de servicios de almacenamiento en la nube que Google tiene, puede depositar su información. Información de tipo estructurado en tablas u hojas de cálculo, archivos de texto, fotogafías y algunos otros formatos de documentos pueden ser almacenados en DRIVE. El acceso a esta información puede ser compartido y puede ser a varios niveles, también puede ser personalizado por usuario o establecido a través de método de acceso específicos para diversos tipos de dispositivos o programas. Para hacerlo desde un programa, Goolge diseño e implementó APIs bajo una arquitectura de tipo REST.
Watson de IBM
Watson es el resultado del trabajo de varios años en IBM en temas relacionados a Inteligencia Artificial, Máquinas que Aprenden, Reconocimiento de Patrones, Procesamiento de Lenguaje Natural y Algoritmos Complejos. El primer éxito conocido de Watson fue del dominio público cuando los campeones humanos del popular programa de concurso en los EUA, Jeopardy, fueron derrotados por este desarrollo de IBM. Después trascendió su uso en el diagnóstico médico y en la prospección de pozos petroleros. Hoy, Watson es parte de una gran oferta de servicios que IBM ha montado en una plataforma denominada Bluemix. Watson tiene varias habilidades disponibles que van desde el Análisis de Información Numérica, pasando por el análisis de Información no estructurada, el Proceso de Imágenes y el análisis de Lenguaje Natural. Watson es una máquina que aprende bajo la guía de sus tutores, pero también lo hace en forma independiente cada vez que alguna de estas funcionalidades es utilizada. Watson puede ser entrenado por un usuario en temas específicos relativos a un Dominio de Información en el que exista un Corpus de Conocimiento que proporcione las reglas bajo las que opera ese Dominio.
Diagrama conceptual del funcionamiento de AIEXPLORER
Breve descripción de la funcionalidad de AIEXPLORER
Pantalla principal de AIEXPLORER
Esta aplicación usa a Watson de IBM para reconocer imágenes de personas o texto presente en fotografías. Para este ejercicio la plicación tiene dos modalidades de uso: 1. Utilizar fotografías ejemplo propuestas por el diseñador de la misma 2. Usar las fotografías que el usuario tenga en su própio dispositivo móvil en la carpeta de la cámara o en aplicaciones como Whatsapp u otras. Durante el inicio de la ejecución, la aplicación hace la carga al dispositivo móvil de las fotos ejemplo que se encuentran almacenadas en DRIVE de Google. Es durante este proceso que la aplicación ofrece también al usuario, un mensaje verbal de saludo y agradecimiento. El usuario puede optar por escucharlo o no.
Invitación a escuchar saludo
La descarga de las fotografías se hace con el objetivo de presentarlas al usuario para que pruebe la aplicación con fotos de personas conocidas. Sin embargo, será desde DRIVE que se enviarán a Watson para su procesamiento. Esto es; la foto que se somete a análisis a través de la modalidad 1, está ubicada físicamente en la nube de Google. En la modalidad 1, el usuario las elegirá por medio de la voz la imagen que desea procesar en Watson.
Selección, por voz, de imagen 1 Para la modalidad 2, la aplicación ofrece un mecanismo de presentación y selección de las fotografías almacenadas en el dispositivo, apoyado en las aplicaciones Fotos o Galería del sistema operativo andriod.
Opciones de selección de imágenes propias del usuario
El resultado de cualquiera de las dos modalidades será presentado en forma de texto y en forma oral. Si se trata de la fotografía de una persona cuya identidad es conocida para Watson se escuchará también su nombre.
Reconocimiento de sujeto MUJER e identificación verbal del sujeto (Victoria Principal)
Para la funcionalidad de identificación de texto en una foto, esta se elige de las disponibles en el propio dispositivo del usuario, para que en caso de no dispomer de una la tome y la someta a reconocimiento de Watson en IBM.
Opción de selección de imágenes con texto en el propio dispositivo
La aplicación emitirá en forma verbal el resultado enviado por Watson en caso de que haya habido un texto en la imagen. El texto debe estar en Español, en su caso.