Machine Learning é sem dúvidas uma abordagem muito útil para começarmos a tratar sobre I.A., é através dela que podemos fazer com que nossas aplicações sejam capazes de detectar padrões, tornando-as mais inteligentes. Porém, para realizar algumas tarefas até que nossa solução em Machine learning esteja pronta, são necessárias algumas etapas como: Pré-processamento, Treinamento e Avaliação;
O pré-processamento é o momento onde selecionamos, limpamos e filtramos os dados que serão utilizados para fazer com que nossa solução aprenda; Utilizamos parte destes dados (geralmente algo em torno de 70%) e um algoritmo específico para “ensinar” nosso modelo e por fim, realizamos uma avaliação de assertividade do modelo gerado.
A ideia principal por trás do Azure Cognitive Services é abstrair estes processos para facilitar a criação de soluções inteligentes.
Neste caso, você não se preocupa em executar os processos que descrevi antes, você pode simplesmente acessá-los através de uma API Rest. Simples assim!
Com isso estabelece-se o conceito de democratização da IA, fica mais fácil de utilizarmos em nossas aplicações se tudo já estiver pronto, é só consumir! Além disso, são APIs rest como qualquer outra, fazendo com que seja possível consumí-las com qualquer linguagem.
Isso significa que você não precisa mais entender nada de IA ou machine learning? – Com toda certeza, você ainda precisa entender. Sem ter uma boa base fica muito complicado distinguir quais serviços utilizar, qual abordagem para resolver um problema e assim por diante.
Mas o que eu consigo fazer com isso?
O Azure Cognitive Services expõe uma série de serviços para resolver diferentes tipos de problemas, problemas como: análise de vídeos, imagens e até de textos, como deste artigo que você está lendo.
Estes serviços são divididos em cinco principais categorias: Visão, Fala, Linguagem, Conhecimento e Pesquisa. Todas as categorias possuem um serviço customizado, onde você pode utilizar seus próprios dados para treinamento do modelo e os serviços pré-definidos.
Vamos ver cada uma das categorias a seguir.
Visão
Esta categoria é utilizada para agrupar os serviços da área de visão computacional utilizados para extrair informações de imagens e vídeos.
Além do serviço customizado, esta categoria conta com cinco serviços diferentes. O Computer Vision Serviceé um dos meus favoritos. Ele permite extrair um monte de informações a respeito de uma imagem, criando uma série de tags, extrair texto de uma imagem e etc.
O Content Moderator Service é um pouco mais específico, mas faz um trabalho bastante impressionante, podendo detectar palavrões em vários idiomas e imagens e vídeos com conteúdos ofensivos.
O Face API e Emotion API permitem detectar rostos e emoções relacionadas a cada um dos rostos detectados. Você também consegue predizer algumas informações como gênero e idade das pessoas.
O Video Indexer é capaz de extrair informações de um vídeo, como o texto dito, sentimento de um discurso, pessoas envolvidas, palavras chaves e etc.
Fala
Esta categoria é utilizada para agrupar os serviços relacionados à linguagem natural por meio de som. Coisas como identificar a voz de uma pessoa e converter uma frase dita em textos são exemplos do que estes serviços podem fazer.
O serviço customizado desta categoria é utilizado principalmente para treinar um modelo para compreender jargões ou gírias específicas que podem não estar mapeadas diretamente no modelo provido pela Microsoft.
O Translator Speech API é um serviço bastante útil desta categoria utilizado para o reconhecimento de um áudio e tradução para um idioma diferente. O Bing Speech API é capaz de transformar um áudio em texto de maneira simples.
O último serviço é o Speaker Recognition API, utilizado para reconhecer uma pessoa de acordo com o áudio enviado.
Linguagem
Esta categoria permite o processamento de linguagem natural por meio de textos, podendo extrair sentimentos e até alterar o idioma do texto.
O primeiro serviço Language Understanding (LUIS) é bastante popular, principalmente por sua relação com os chatbots. Este serviço é treinado a partir de textos e comandos, onde você indicará o que cada coisa pode significar. A partir disso, você terá um modelo que usa esses dados para tentar entender o que as pessoas estão dizendo.
O Bing Spell Check API pode detectar erros de digitação e gramática em algum texto específico, enquanto o Web Language Model API pode predizer a probabilidade de uma próxima palavra em um texto. Esses dois serviços juntos podem auxiliar teclados em dispositivos móveis, por exemplo.
Existem dois serviços diferentes para análises, ambos bastante poderosos, mas tratam de assuntos diferentes: enquanto o Text Analytics API analisar o conteúdo de um texto, extraindo palavras chaves e detectando emoções; o Linguistic Analytics analisa as estruturas gramaticais das sentenças.
Por fim, temos o Translator Text API bastante similar ao tradutor via áudio, mas desta vez a tradução é realizada através de texto enviado.
Conhecimento
Esta categoria é utilizada para mapear informações e dados complexos para tomar decisões inteligentes, como um sistema de recomendação, por exemplo.
Esta é a menor das categorias, possuindo até o momento, apenas dois serviços: Um serviço para tomar decisões baseando-se em dados que você precisa fornecer (Custom) e outro serviço para transformar textos em perguntas e respostas para poder utilizarmos em um chatbot (QnA Maker API).
Pesquisa
A última categoria desta lista é a categoria de pesquisa. Os serviços dessa categoria se conectam as APIs de busca do serviço Bing para buscar imagens, notícias, vídeos e informações sobre algo.
Esta é a maior de todas as categorias, essa categoria é bastante relacionada ao Bing, utilizando esse serviço para fazer diferentes tipos de pesquisa.
News, Web, Entity, Image e Video Search API são serviços conectados ao Bing para fazer diferentes tipos de pesquisa: notícias, sites, imagens, vídeos e entidades. Esse serviço entende entidades como: filmes, personalidades, séries, lugares e etc.
O Bing Autosuggest API como o nome sugere é um serviço para sugerir o autocomplete de frases para melhorar o resultado das pesquisas.
Existem várias vantagens em utilizar o Cognitive Services, como o fato de ser hospedado no Microsoft Azure garantir disponibilidade e performance. Além disso, a etapa de pré-processamento e treino também já está pronta na maior parte dos casos.