• Por Guilherme Sesterheim*

Todos têm falado sobre Machine Learning e todos querem obter os benefícios da IA (Inteligência Artificial). É uma novidade que gerentes de TI peguem aquele velho problema do fundo da gaveta e pensem: “hey! Talvez o novo Watson possa resolver isto para mim!”. Mas em todas as vezes que escuto alguém perguntando sobre como resolver um problema com IA, parece que o problema é inédito. Se todos os dias uma nova vontade vem, como podemos identificar as fronteiras de IA? Uma vez que IA é “Inteligência Artificial” qual é o limite da “inteligência”? O que pode e o que não pode ser resolvido com o que temos hoje?

Como identificar quão difícil será encontrar uma IA para seu cenário

Ferramentas para Machine Learning podem se dividir em três grupos:

 

  1. Usar APIs prontas para uso (este primeiro artigo focará aqui somente)
    • O que é? É a abordagem mais rápida. Há muitas APIs prontas para serem acessadas e adicionadas à sua solução. Há vários benefícios e você só precisa pagar e usar. Há uma tabela com detalhes abaixo;
    • Quanto tempo para ter resultados? Você pode ter resultados de testes em um dia;
    • Alguns benefícios:
      • a) Ela estão prontas para uso! Você só deve plugar à sua aplicação. Qualquer um pode fazê-lo;
      • b) Os fornecedores estarão sempre treinando o modelo enquanto você usa! Então nunca estarão desatualizados;
      • c) A competição entre os fornecedores garantirá sempre modelos bem treinados, melhorias e atualizações;
      • Os benefícios acima serão muito caros de atingir fora desta abordagem;
    • Algumas restrições:
      • a) A API não pertence a você. Isto significa que você não poderá mudar nada sobre como elas funcionam. Será somente você perguntando: “hey, por favor classifique esta imagem!”. Então a resposta será “legal! Sua imagem tem uma mulher nela”. Mas você não poderá perguntar de volta “qual é a cor do cabelo dela?”;
    • Conclusões?
      • Se as APIs abertas resolvem suas necessidades, não pense de novo e comece a usá-las já! Não se preocupe sobre os fornecedores obtendo suas informações, segurança, ou coisas do tipo. Uma vez que você paga pela ferramenta, você possui um contrato que diz que eles não usarão seus dados. É a mesma questão da cloud;
      • Se não resolve suas necessidades, tente entender quão importante é ter aquele 1% a mais de confiabilidade no julgamento da IA. Se você realmente precisa de algo mais preciso, pule para “treinando um modelo”;

 

  1. Treinando um modelo
    • Abordagem meio-termo. Há muitos modelos prontos para serem adicionados a projetos, configurados, treinados e então usados. Falarei sobre esta abordagem no próximo artigo;
  2. Construindo um modelo
    • Tenha em mente que este não será um projeto de TI por algum tempo. Você deverá ter pessoas de física, matemática, bons especialistas no seu negócios e muitas informações boas para adicionar ao seu projeto desde o início. Uma vez que eles finalizarem o model (o que potencialmente pode tomar 2 anos. Talvez mais), então se tornará um projeto de TI começando do passo “treinando um modelo”. Estes dois projetos (construindo e treinando) tomarão mais do que dois anos de pesquisa e testes. Se este é um processo estratégico na sua companhia, não perca mais tempo e comece o projeto. Quanto antes começar, mais cedo os benefícios virão;

 

Legal! Quais são as APIs prontas para uso?

Minhas sugestões estão dentro desta tabela abaixo. Mas as opções não são limitadas a ela. Você pode encontrar muitas outras. Estas são mantidas pelos maiores provedores de cloud e IA. Isto significa que você pode confiar nelas e provavelmente dentro do seu foco, serão as melhores existentes.

Funcionalidade Google IBM Microsoft Amazon
Chatbot DialogFlow Watson Assistant and Virtual Agent Bot Lex
Análise de vídeo Video Intelligence Intelligent Video Analytics Video Indexer Rekognition
Análise de imagem Vision Visual Recognition Computer Vision API Rekognition
Fala para texto Speech Speech to Text Bing Speech Transcribe
Texto para fala Text to Speech Bing Speech Text to Speech
Classificador de linguagem natural Natural Language Natural Language ClassifierNatural Language UnderstandingPersonality Insights and Tone Analyzer Language Understanding Comprehend
Tradução Translate Translator Translator Translate
Busca de tendências e análises Trends Discovery and IBM’s Discovery News
Encontrar padrões em texto não estruturado Knowledge Studio
Moderador de conteúdo* Anomaly Detection
Descoberta de empregos Job discovery**

* Google, IBM e Amazon possuem moderador de conteúdo dentro das suas soluções. A Microsoft possui este produto específico procurando por anomalias somente.

** Job Discovery é uma ferramenta proprietária ainda disponível somente para alguns parceiros.

 

Dois exemplos para falar sobre os limites novamente
Reconhecimento de imagem

Assim como o exemplo acima: um cliente veio até mim perguntando sobre uma solução para identificar imagens em pessoas. Legal! Vamos usar o Google Vision! O Vision identifica pessoas nas fotos e dá muitas outras informações sobre as cores daquela imagem, lugares que a imagem contém e etc. Mas então o cliente me perguntou: quero identificar se a pessoa na imagem é uma mulher. Eu disso OK! E então: quero reconhecer a cor do cabelo da mulher. Ok, todas as APIs abertas estão fora do jogo. Vamos encontrar um modelo, treinar e então obter a cor do cabelo. Para você ser capaz de responder a este tipo de pergunta não há atalho. Precisará ler as documentações de cada uma das APIs abertas que encontrar e também executar alguns testes.

Reconhecimento de vícios de linguagem

Outro cliente veio até mim questionando se eles poderiam dar um microfone aos seus funcionários para que eles pudessem operar um sistema inteiro somente através de comandos de voz. Ok, isto não é novo. Poderíamos usar uma combinação de APIs de “fala para texto” e análise de linguagem natural. Vamos em frente! Mas então o cliente disse que o sistema deveria reconhecer termos internos da companhia, como acrônimos e palavras que eles inventaram para se comunicar de forma otimizada. Erm… isto não é possível. Não podemos treinar APIs prontas para uso para entender termos específicos. O caminho mais fácil foi sugerir que os operadores mudassem as palavras que usam para se comunicar e o sistema entenderia. Se não, eles precisariam procurar por modelos, configurar e treinar para que ele entenda as novas palavras.

 

Então, porque você não começa seus testes de AI avaliando as APIs prontas para uso? Quanto antes você começar, mais cedo você entenderá como abordar aquele antigo problema.

 

 

* Guilherme é líder de área de desenvolvimento de software na ilegra. Possui experiência em tecnologias Google Cloud, linguagens de programação de código aberto, métodos de gerenciamento de projetos e conhecedor de mindset Lean para melhorar processos internos e para as necessidades de clientes. Concluiu o mestrado na Unisinos em 2013, e atualmente frequenta o curso de MBA em gestão de projetos pela Fundação Getúlio Vargas.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code