Inteligência Artificial para aplicativos comerciais com o Bluemix Watson

Você já ouviu falar no IBM Watson? O Watson é um computador da IBM com Inteligência Artificial, que a IBM define como “…uma extensão natural do que os seres humanos podem fazer de melhor…uma tecnologia cognitiva que processa a informação mais como um ser humano do que como um computador, compreendendo a linguagem natural, gerando hipóteses baseadas em evidências e aprendendo com a experiência”. Esse computador ficou famoso em 2011, quando derrotou Brad Rutter e Ken Jennings em um dificílimo jogo chamado Jeopardy. Você pode acessar este link para a página oficial da IBM, lá eles mostram um pouco sobre os recursos do Watson bem como um vídeo sobre esse jogo: http://www.ibm.com/smarterplanet/br/pt/ibmwatson/what-is-watson.html

A IBM decidiu criar uma série de bibliotecas e ferramentas para ajudar desenvolvedores a construírem aplicativos cognitivos, o que faz a IBM considerar o Watson como o primeiro passo em sistemas cognitivos! Assista o vídeo abaixo, no qual são apresentados alguns dos recursos do Watson e também um pouco sobre seu funcionamento.

Agora que você já viu um pouco mais sobre o Watson, vou agora mostrar resumidamente o catálogo de produtos que a IBM oferece para desenvolvedores e como essa tecnologia pode ser usada na prática no desenvolvimento de novos aplicativos inovadores. Você pode acessar mais detalhes sobre os produtos neste link: https://console.ng.bluemix.net/catalog/. São 15 produtos no total e veremos agora o básico sobre cada um deles 🙂

O Tone Analyzer trabalha com análise linguística cognitiva e é usado para identificar sinais em nível de sentença ou de documentos, ou seja, com ele é possível identificar emoções em textos, como raiva, medo, alegria, tristeza e desgosto. Desta forma, baseado nas emoções é possível entender o comportamento dos usuários de um comércio eletrônico a respeito de um determinado produto. Por exemplo, se uma pessoa comprou um celular e escreve um review sobre ele, é possível medir o grau de satisfação dessa pessoa com o produto; para que desta forma, a empresa possa conhecer melhor os seus clientes! Na minha tese do doutorado tenho algo parecido, ou seja, estou extraindo as emoções de reviews sobre hotéis do Trip Advisor para prever a reputação do hotel com base no que as pessoas estão escrevendo sobre ele. Além disso, o Tone Analyser também identifica traços de personalidade e/ou propensões sociais, para que assim seja possível traçar o perfil das pessoas com base em sua personalidade. Semelhante é o produto Personality Insights, que é focado somente na extração de traços de personalidade por meio de texto. Esse produto pode identificar traços psicológicos para decisões de compra, intenções e comportamentos utilizando teorias da psicologia.

Por outro lado, a Alchemy API busca entender o conteúdo e o contexto de textos em páginas web, artigos de notícias e blogs, extraindo e identificando as pessoas, locais, entidades e autores presentes no texto. Para isso são utilizadas técnicas de processamento de linguagem natural e abaixo você pode assistir um vídeo que gravei sobre a biblioteca NLTK da linguagem Python, para assim você se familiarizar melhor com este conteúdo caso ainda não conheça 🙂

Similarmente, a Conversation é uma interface para a utilização de linguagem natural para automatizar as interações com os usuários/clientes de uma empresa. Este é um recurso que está ganhando cada vez mais adeptos e nada mais é do que o chat on-line que vemos em muitas empresas de atendimento, nos quais um chatbot (robô de conversa) interage com os usuários, interpreta suas perguntas e automaticamente dá as respostas. Eu escrevi um artigo sobre o Teste de Turing e comento bastante sobre esses aplicativos, inclusive você pode fazer um teste on-line e conversar com uma máquina. Veja neste link: https://iaexpert.academy/2016/07/19/historico-da-ia-teste-de-turing/.

Ainda com relação ao processamento de linguagem natural, o Natural Language Classifier é um classificador que analisa textos e pode atribuí-los a categorias. Por exemplo, recebendo como entrada um e-mail, o algoritmo pode ser capaz de classificá-lo como uma mensagem pessoal, de trabalho ou uma promoção. Esse recurso é similar aos filtros de spam que temos hoje em dia nos servidores de e-mail.

Outro recurso disponível no Watson é o Language Translation, que como o próprio nome indica, traduz em tempo real textos em outros idiomas. Por exemplo, em um encontro com os presidentes de vários países, ao invés de utilizar os tradutores humanos o próprio sistema pode fazer essa tarefa automaticamente! Similarmente, os recursos de Speech to Text e Text to Speech permitem a tradução de fala para texto e de texto para fala, respectivamente.

Além disso, existem as funções de reconhecimento visual por meio do uso da biblioteca Visual Recognition, que permite a identificação de cenas, rostos e outros objetos, bem como a localização de imagens semelhantes e sua organização em categorias. Por outro lado, o Retrieve and Rank possibilita a localização rápida das informações mais relevantes em uma determinada consulta detectando “sinais” nos dados, utilizando aprendizado de máquina. Uma outra funcionalidade muito interessante é a proporcionada pelo Tradeoff Analytics, que é utilizado para a tomada de decisões complexas quando existe um grande número de variáveis que podem influenciar o resultado. Por exemplo, todos sabemos que pode ser difícil escolher o melhor produto bancário para realizar um investimento, pois são muitos impostos, taxas, prazos e uma série de variáveis. Neste contexto, o próprio sistema pode fazer uma análise automática e indicar qual é o melhor tipo de investimento de acordo com as características e/ou necessidades do investidor! Esse processo é uma técnica de Inteligência Artificial chamado de otimização.

A IBM oferece versões para teste de todas essas ferramentas, bem como vários exemplos de utilização de cada uma delas. Atualmente, no site oficial tem opções para chamada de APIs somente para Java e Python, e o retorno das funções é um objeto no formato JSON. Neste contexto, ainda existe o Document Conversion, que tem o objetivo de converter documentos HTML, PDF, .docx (Word) ou texto simples para o formato JSON, para que assim haja uma padronização e intercomunicação entre todas as ferramentas.

Por fim, também está disponível a versão beta do Cognitive commerce, Cognitive graph e Cognitive insights, que são recursos para recomendação de produtos e mais voltados ao comércio eletrônico. Como os três estão em versão beta, no momento da escrita deste artigo não há muita informação sobre eles.

Para utilizar comercialmente esses recursos é necessário contratá-los, o pagamento é feito por chamada à API e cada consulta custa em torno de 0,008 centavos de dólar (consulte o site para valores atualizados). Com isso, tivemos uma visão geral dos recursos do IBM Watson e que podem ser integrados tanto em aplicativos mobile, web ou desktop, os quais possibilitam uma nova gama de recursos de Inteligência Artificial. A aplicação desses recursos é uma tarefa bastante criativa e requer uma análise detalhada na cenário para perceber onde eles podem ser utilizados com o intuito de inovar os softwares já existentes!

Em breve teremos alguns tutoriais sobre alguns desses recursos! Até o próximo artigo!