Mineração com aprendizagem de máquina

Aprenda com esse artigo a identificar sentimentos em frases utilizando aprendizagem de máquina.

Fique por dentro
A mineração de sentimentos é uma área que está se tornando cada vez mais relevante atualmente, já que com a ascensão de redes sociais e ferramentas de compartilhamento de avaliações sobre produtos ou serviços, a quantidade de textos disponíveis na web é bastante grande.

Isso caracteriza uma oportunidade para analisar esses textos com o intuito de obter os sentimentos associados. Desta forma, as empresas podem entender melhor seus clientes, identificando de forma automática se as pessoas estão falando bem ou mal e qual o sentimento que um produto em específico tem trazido a seus clientes.

Este artigo apresenta o desenvolvimento de um pequeno exemplo que realiza a identificação automática dos sentimentos alegria e tristeza em frases, no qual o usuário poderá submeter um texto e terá como resultado o sentimento correspondente. Para isso, serão aplicados conceitos de aprendizagem de máquina e mineração de textos na construção deste classificador de sentimentos.
Autores: Jones Granatyr,Juliana Ruby,Otto Robert Lessing e Fabrício Enembreck

A mineração e análise de sentimentos é um campo de pesquisa que está se tornando cada vez mais utilizado dentro da Inteligência Artificial, e isso se deve ao fato de que através da utilização dessas técnicas, insatisfações e opiniões de clientes podem ser automaticamente percebidas.

A web é um dos principais canais de comunicação da atualidade, portanto, muitos usuários estão conectados a redes sociais, sites de pesquisa, ferramentas de avaliação e sites de comércio eletrônico.

Neste contexto, geralmente os usuários deixam suas impressões em forma de texto após terem tido suas experiências, tais como opiniões sobre viagens, hotéis, produtos ou serviços. Vamos supor que uma pessoa compre uma televisão da marca XYZ e após ter assistido alguns filmes, escreve a seguinte opinião em uma rede social: “Estou decepcionado e frustrado com esta televisão da XYZ, pois a resolução das imagens é ruim e o som é péssimo!”.

Podemos notar que esta frase possui uma polaridade negativa que pode ser associada a sentimentos de raiva, tristeza ou decepção, denotando claramente a insatisfação do cliente com o produto. Conhecendo o sentimento associado aos comentários, as empresas podem entender melhor as necessidades de seus clientes e também conhecer o que eles estão sentindo em relação aos produtos e serviços por ela oferecidos, bem como saber se as pessoas estão escrevendo bem ou mal sobre a empresa.

Analisar manualmente os sentimentos de algumas poucas frases não é um trabalho custoso, porém, quando o número de opiniões é alto como no caso da web, são necessárias técnicas para realizar esse processo de forma automática.

Neste contexto que aparece a análise automática de sentimentos, que visa buscar o sentimento predominante em textos por meio de técnicas de aprendizagem de máquina. Ela é também uma área do processamento de linguagem natural (PLN) e mineração de textos, que visam extrair conhecimento útil em informações textuais.

Nota: Na seção de Links pode ser encontrado um artigo teórico que explana todos os processos e aplicações da mineração de textos

Neste artigo, serão abordados os conceitos fundamentais sobre aprendizagem de máquina e como utilizar essas técnicas no processamento automático de textos, sendo explanado os conceitos sobre um dos algoritmos mais utilizados para tarefas de classificação de texto, que é o Naive Bayes.

Será construído um exemplo de mineração de sentimentos utilizando a linguagem Python com auxílio na biblioteca NLTK (Natural Language Toolkit) para processamento de linguagem natural. O objetivo do exemplo é mostrar na teoria e prática todas as etapas para construção de um sistema para identificar automaticamente os sentimentos de alegria e tristeza em frases.

Tais etapas envolvem desde a criação da base de dados de treinamento, o pré-processamento das frases até os tentes, no qual entraremos uma nova frase e o sistema será capaz de identificar o sentimento correspondente.

Aprendizagem de máquina

A aprendizagem de máquina é um campo da Inteligência Artificial que tem como objetivo fazer com que o computador aprenda por meio de treinamento, e depois, seja capaz de tomar decisões ou indicar respostas com base no que ele aprendeu.

É similar ao processo de como os humanos aprendem a tomar decisões ou a realizar determinadas tarefas. Considere o exemplo de um aluno que antes de uma prova de matemática, realiza muitos exercícios com o objetivo de aprender a como resolver as questões. Somente depois de fazer muitos exercícios é que este aluno estará apto a fazer a prova e testar os seus conhecimentos.

Os humanos utilizam processos cognitivos para aprenderem a resolver os problemas, enquanto que as máquinas precisam de algoritmos para que o processo de aprendizagem possa ocorrer.

A maioria desses algoritmos possui a característica de tomarem as decisões por meio da análise de conhecimentos prévios, o que indica que precisamos fornecer algum tipo de base de dados ao sistema para que ele possa fazer as inferências posteriores.

Existem basicamente duas abordagens para o aprendizado de máquina, que é a supervisionada e a não supervisionada. A primeira é caracterizada pelo fato de que existe a figura de um supervisor ou professor que ensina o algoritmo o que cada registro significa.

Exemplos são os sistemas de classificação, que por meio da análise dos dados de uma pessoa deve classificar se ela irá ou não pagar um empréstimo. No outro tipo de aprendizagem, não existe a figura do supervisor e o próprio algoritmo que deverá encontrar padrões nos dados.

Um exemplo é o agrupamento, que por meio da análise de dados de clientes, pode separa-los em grupos propensos a comprar determinados tipos de produtos. No exemplo que construiremos a seguir, utilizaremos a aprendizagem supervisionada.

Passos para a construção de um sistema com aprendizagem de máquina supervisionada

Esta seção tem o objetivo de apresentar as principais tarefas para a construção de um sistema de aprendizagem de máquina, abordando a extração de características, a construção da base de dados e do classificador, para, por último, mostrar como o sistema aprende e realiza previsões. Será utilizado o algoritmo Naive Bayes (BOX 1) para exemplificar o processo de aprendizagem e classificação.

BOX 1. Algoritmo Naive Bayes

É bastante utilizado para classificação de texto e possui um forte fundamento estatístico, utilizando vários conceitos de probabilidade, sendo baseado principalmente no Teorema de Bayes. Para maiores detalhes sobre seu funcionamento e toda sua fundamentação teórica, visite a seção de links e veja o artigo “Mineração de dados na prática”.

Extração de características

O primeiro passo para ensinar um computador a identificar padrões é a etapa de extração de características, que consiste em analisar cada um dos objetos existentes dentro do sistema e extrair aquilo que os diferencia e é específico de cada um. Para exemplificar, vamos utilizar as imagens dos personagens Homer e Bart do desenho animado Os Simpsons, as quais são mostradas na Figura 1.

Com base nelas, precisamos identificar os atributos únicos de cada personagem com o objetivo de selecionar características únicas. Para o Homer podemos definir o formato da cabeça oval, os fios de cabelo, o tamanho da barriga, a barba, a calça azul claro, a camisa branca e o sapato preto.

Por outro lado, para o Bart podemos selecionar o formato da cabeça e cabelo, a camisa laranja, o calção e o sapato azul. Como podemos notar, essas características são particulares de cada personagem e estão presentes na maioria das imagens.

Vale também lembrar que, dependendo do tipo de aplicação, serão necessárias centenas ou até milhares de objetos (imagens) para que o processo de extração de características seja significativo.

" [...] continue lendo...

Artigos relacionados