SERVICIOS DE INTELIGENCIA ARTIFICIAL EN GENEXUS

En el artículo anterior les contaba sobre algunos problemas que se pueden resolver usando Artificial Intelligence, pero consumiendolos como servicios, sin necesidad de entrenar modelos ni de preocuparnos por los algoritmos ni la arquitectura de las redes neuronales a usar. En este artículo les voy a contar lo que estamos haciendo para soportar estos servicios en GeneXus, de forma de que sea fácil de usar en las aplicaciones. Advertencia: algunos de los contenidos de este post están todavía en etapa de definición, por lo que pueden cambiar para cuando se libere la funcionalidad 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 nos parece importante que GeneXus integre esta funcionalidad. 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 de smart devices se vaya a usar la aplicación (Android o iOS). API común La API que va a brindar GeneXus va a tener varios servicios, a los cuáles se les seguirá agregando funcionalidad a medida que esté disponible. Nota: Esta API común está en etapa de diseño en estos momentos, por lo que aún no están todos los detalles. Las funciones pueden agruparse en tres categorías: texto, imagen y audio. Las funciones de texto que estamos pensando incorporar 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.
  • Similarity scoring: se ingresan dos imágenes y como resultado se obtiene un porcentaje de similitud entre las mismas.

Y por último, las de audio:

  • Text to speech
  • Speech to text

Proveedores Los proveedores con los que estamos trabajando en primera instancia son tres: Microsoft Cognitive Services, IBM Watson y SAP Leonardo. Si bien estos son los primeros de los que vamos a disponer, se irán agregando otros como ser Amazon Web Services y Google Cloud. También estamos pensando en disponer de proveedores “locales” a los smart devices, como pueden ser TensorFlow Lite (Android e iOS), CoreML (iOS) y ML Kit (Android e iOS). Aunque por el momento estamos poniendo el foco en los proveedores de la nube. 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 GeneXus donde se publicarán las novedades al respecto.

2 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:
search previous next tag category expand menu location phone mail time cart zoom edit close