SERVICIOS DE INTELIGENCIA ARTIFICIAL EN GENEXUS

Introducción 

La misión de GeneXus es ayudar a las personas a desarrollar las mejores aplicaciones de la forma más simple posible. Esta misión tiene dos puntos que nos interesan en el contexto de esta nota. Primero que nada, queremos que los desarrolladores puedan hacer las mejores aplicaciones posibles. 

Hoy en día y en los años que vienen, las mejores aplicaciones posibles sin duda van a tener que incorporar componentes de Inteligencia Artificial.

Por eso en GeneXus creemos que es fundamental agregar componentes de IA, y estamos trabajando desde hace ya tiempo en ese tema, tanto desde el lado de la investigación como desde la funcionalidad con la que ya cuenta la herramienta.

Por otro lado, queremos que este desarrollo sea lo más simple posible. Si bien los proveedores de Cloud -como ya dijimos en la nota anterior- proveen servicios de inteligencia artificial que son fáciles de usar, cada uno tiene sus particularidades. Lo que estamos haciendo en GeneXus es definir una API común que se pueda usar para desarrollar las aplicaciones, sin importar cuál sea el proveedor que se termine usando. Esta filosofía es parte de la filosofía de GeneXus en todos sus aspectos, donde el desarrollador puede trabajar de la misma forma sin importar el lenguaje de programación que se termine usando (C#, Java o .Net Core), qué base de datos se utilice (SQL Server, Oracle, MySQL, PostgreSQL, etc.), ni en qué plataforma mobile se vaya a usar la aplicación (Android o iOS). 

API común 

La API que brinda GeneXus tiene varios servicios, a los cuáles se les seguirá agregando funcionalidad a medida que esté disponible. 

En este artículo del Community Wiki GeneXus pueden informarse sobre todos los detalles sobre este módulo de Inteligencia Artificial en GeneXus.

Las funciones pueden agruparse en cuatro categorías: texto, imagen, audio y video. 

Las funciones de texto con las que cuenta el módulo son:

  • Detección del idioma: dado un texto, determina en qué idioma está escrito y un indicador de la confianza en el resultado.
  • Análisis de sentimiento.
  • Traducción automática: dado un texto en un idioma y el idioma en que se quiere la traducción, obtener el texto traducido.
  • Extracción de entidades: dado un texto, poder extraer las entidades relevantes del mismo, como ser nombres, países, categorías, etc.

Con respecto a las imágenes:

  • Reconocimiento de escenarios: dada una imagen, determinar de qué tipo de escenario se trata (ciudad, campo, playa, etc).
  • Reconocimiento de personas: esto puede incluir la detección de caras, gestos faciales (sonrisa, enojo, etc.), o etiquetado de personas.
  • Reconocimiento de emociones: dada una imágen reconoce cuántas caras hay y las emociones de estas.
  • Reconocimiento de objetos: dada una imagen, determinar qué objetos aparecen en la misma (con su etiqueta y un porcentaje de confianza) y la posición de cada uno.
  • OCR: dada una imagen que contiene algún texto, extraer el texto de la misma.
  • Clasificación de imágenes: dada una imagen, determinar de qué se trata la misma.
  • Borrar esta en los otros idiomas

Con respecto a las de audio, tenemos:

  • Text to speech
  • Speech to text

Y por último, se cuenta con funcionalidad para analizar videos. El análisis de videos permite:

  • Obtener el speech del video, en el caso que haya alguna persona hablando
  • Obtener la clasificación de los objetos que aparecen en el video
  • Reconocer texto escrito que aparezca en el video, por ejemplo si en el mismo aparece un cartel que tenga texto escrito.

Proveedores

Los proveedores con los que estamos trabajando son: Amazon Web Services, IBM Watson, Microsoft Azure Cognitive Services, Google Cloud, Alibaba, Baidu y Tencent (los últimos tres en China). También estamos trabajando de cara a la GeneXus 17 en proveedores “locales” a los smart devices como CoreML (iOS) y ML Kit (Android e iOS). 

Además de utilizar los modelos que proveen por defecto los proveedores de servicios de cloud, el módulo GeneXusAI también cuenta con la posibilidad de utilizar modelos custom. Esto es, modelos configurados y entrenados para resolver algún problema en particular que no se puede resolver con los modelos default.

La forma de consumir estos modelos es a través de la misma API que el resto de la funcionalidad provista, pero indicando en el provider los datos del modelo custom. Esto permite de forma muy fácil cambiar de un modelo default a un modelo custom en cualquier momento y sin necesidad de cambiar la programación.

Conclusión

En GeneXus creemos en simplificar el desarrollo de aplicaciones lo más posible, y en ese sentido estamos trabajando con esta nueva API de inteligencia artificial.

Estén atentos a los anuncios de nuevas features en los upgrades de GeneXusAI rumbo a GeneXus 17 donde se publicarán las novedades al respecto.

3 thoughts on “SERVICIOS DE INTELIGENCIA ARTIFICIAL EN GENEXUS

  1. i Just started a new project with Genexus usina IBM Watson SpeachtoText API. it s really easy to implement but particulary in this case the results are not so good If we compare with similar resources available in Google for exemple.

    1. I have not used that service in particular, but your comment makes a good point. We know there are differences in service quality in different providers, and that’s why we are working in a solution that will let you change the provider for a given service, without changing the implementation. Stay tuned, check the GeneXus’ versions release notes for news regarding this topic.

Leave a Reply

%d bloggers like this: