SERVIÇOS DE INTELIGÊNCIA ARTIFICIAL EM GENEXUS

No artigo anterior, falei sobre alguns problemas que podem ser resolvidos usando Inteligência Artificial, mas consumindo-os como serviços, sem a necessidade de treinar modelos ou de se preocupar com os algoritmos ou a arquitetura das redes neurais a serem usadas.

Neste artigo vou contar o que estamos fazendo para suportar esses serviços em GeneXus para que seja fácil de usar nos aplicativos.

Introdução

A missão do GeneXus é ajudar as pessoas a desenvolver as melhores aplicações da maneira mais simples possível.

Por isso em GeneXus acreditamos que é fundamental adicionar componentes de IA, e estamos trabalhando há muito tempo nesse assunto, tanto do lado da pesquisa quanto da funcionalidade que a ferramenta já possui.

Esta missão tem dois pontos que nos interessam no contexto deste post.

Primeiro de tudo, queremos que os desenvolvedores possam fazer as melhores aplicações possíveis. Hoje em dia e nos próximos anos, as melhores aplicações possíveis terão, sem dúvida, de incorporar componentes de inteligência artificial. Por isso, parece-nos importante que GeneXus integre essa funcionalidade.

Por outro lado, queremos que esse desenvolvimento seja o mais simples possível. Enquanto os fornecedores de nuvem – como dissemos no post anterior – fornecem serviços de inteligência artificial que são fáceis de usar, cada um tem suas próprias características.

Ou que não estamos gerando GeneXus para definir uma API comum que possa ser usada para desenvolver aplicativos, independentemente do fornecedor utilizado. Esta filosofia faz parte de GeneXus em todos os aspectos, onde o desenvolvedor pode trabalhar da mesma forma sem se importar com a linguagem da programação que esteja usando  utilizado (C#, Java o .Net Core), nem qual base de dados que se utiliza (SQ L Server, Oracle, MySQL,  PostgreSQL, etc.), nem em qual plataforma de smart devices se irá usar a aplicação (Android ou iOS).

API comum

A API que GeneXus oferece tem vários serviços, aos quais seguirá agregando funcionalidade a medida que esteja disponível.  

No artigo da Community Wiki GeneXus pode se informar sobre todos os detalhes deste módulo de Inteligência Artificial em GeneXus.

A API que o GeneXus fornecerá terá vários serviços, aos quais as funcionalidades continuarão sendo adicionadas à medida que forem disponibilizadas.

Observação: essa API comum está em fase de design no momento, portanto, todos os detalhes ainda não estão disponíveis.

As funções podem ser agrupadas em quatro categorias: texto, imagem, áudio e vídeo. 

As funções de texto com as quais os módulo possui são:

Detecção de idioma: dado um texto, determina em qual idioma está escrito e um indicador de confiança no resultado.

Análise de sentimentos.

Tradução automática: dado um texto em um idioma e o idioma em que a tradução é desejada, obtenha o texto traduzido.

Extração de entidades: dado um texto, para poder extrair as entidades relevantes, como nomes, países, categorias, etc.

Com relação às imagens:

Reconhecimento de cenários: dada uma imagem, determine que tipo de cenário é (cidade, campo, praia, etc).

Reconhecimento de pessoas: isso pode incluir a detecção de rostos, gestos faciais (sorriso, raiva, etc.) ou a rotulagem de pessoas.

Reconhecimento de emoções: uma imagem reconhece quantos rostos existem e suas emoções.

Reconhecimento de objetos: dada uma imagem, determine quais objetos aparecem nela (com seu rótulo e uma porcentagem de confiança) e a posição de cada um.

OCR: dada uma imagem que contenha algum texto, extraia o texto dela.

Classificação de imagens: dada uma imagem, determine do que se trata.

Com relação aos áudios, temos: 

  • Text to speech
  • Speech to text

E por último, possuem funcionalidades para analisar vídeos. A análise de vídeos permite:

  • Obter o speech do vídeo, no caso de ter alguma pessoa falando
  • Obter a classificação dos objetos que aparecem no vídeo
  • Reconhecer texto escrito que apareça no vídeo, por exemplo se em um cartaz com texto escrito aparecer nele. 

Fornecedores

Os fornecedores com que estamos trabalhando são: Amazon Web Services, IBM Watson, Microsoft Azure Cognitive Services, Google Cloud, Alibaba, Baidu y Tencent (os últimos três na China). Também estamos trabalhando para o GeneXus 17 com fornecedores “locais” para dispositivos inteligentes, CoreML (iOS) e ML Kit (Android e iOS).

Além de usar os modelos fornecidos pelos fornecedores de serviços em nuvem padrão, o módulo GeneXusAI também tem a possibilidade de usar modelos custom. Ou seja, modelos configurados e treinados para resolver um problema específico que não pode ser resolvido com modelos default.

A forma de consumir esses modelos é através da mesma API que o restante da funcionalidade fornecida, mas indicando no provider os dados do modelo custom. Isso facilita muito a mudança de um modelo default para um modelo custom a qualquer momento e sem a necessidade de alterar a programação.

Conclusão

Em GeneXus acreditamos em simplificar o desenvolvimento das aplicações tanto quanto possível, e nesse sentido estamos trabalhando com essa nova API de inteligência artificial.

Fique atento aos anúncios dos novos recursos nos upgrades de GeneXus rumo ao GeneXus 17, onde as notícias serão publicadas.

3 thoughts on “SERVIÇOS DE INTELIGÊNCIA ARTIFICIAL EM 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: