Mineração de Opinião

12:37 pm Data Mining, Linguagem Natural

É notável o crescimento da quantidade de informação disponível na Web nos últimos anos. Além dos conteúdos disponibilizados por empresas de notícias, os usuários passaram a compartilhar na Web seus conhecimentos, críticas e opiniões em blogs pessoais, sites de relacionamentos, microblogs, dentre outros meios. Com esse aumento da participação dos usuários nos conteúdos da Web, surgiu também uma nova área de pesquisa relacionada ao Processamento de Linguagem Natural, chamada de Mineração de Opinião e também conhecida como Análise de Sentimento.

A Mineração de Opinião visa identificar o sentimento que os usuários apresentam a respeito de alguma entidade de interesse (um produto específico, uma empresa, um lugar, uma pessoa, dentre outros) baseado nos conteúdos divulgados na Web. O objetivo principal é permitir que um usuário obtenha um relatório contendo o que as pessoas andam dizendo sobre algum item sem precisar encontrar e ler todas as opiniões e notícias a respeito.

Existem diversas aplicações para o uso da Mineração de Opinião, sendo algumas listadas abaixo:

  • análise de empresas na bolsa de valores: quem acompanha nosso Blog deve se lembrar do projeto stockmood.com, cujo objetivo é identificar o humor do mercado em relação às empresas negociadas na bolsa de valores baseado nas opiniões dos analistas, com o intuito de identificar a tendência dos preços das mesmas;
  • análise de um produto: uma empresa pode ter interesse na opinião dos usuários sobre um determinado produto. Por exemplo, a Apple (ou uma concorrente) pode realizar uma mineração de opinião para saber o que as pessoas andam dizendo sobre o iPhone 3G. Esses resultados podem ser usados com o intuito de melhorar os produtos ou mesmo para identificar estratégias de marketing. Uma aplicação desse tipo chamada Sentweet foi desenvolvida aqui no Labs para classificar a opiniões postadas no microblog Twitter;
  • análise de lugares: uma pessoa que vai viajar pode utilizar as opiniões de outras sobre o lugar pretendido para planejar o roteiro da viagem, evitando passeios desinteressantes;
  • análise de políticos: os eleitores podem identificar qual a opinião de outros eleitores sobre um determinado candidato político;
  • análise de filmes e jogos: também é possível minerar a opinião sobre filmes e jogos eletrônicos;

Basicamente, os passos envolvidos no processo de mineração de opinião são:

  1. coleta de conteúdos: visa buscar na Web conteúdos sobre o item de interesse, e também identificar se esse conteúdo é relativo a um fato ou uma opinião. Fatos devem ser descartados, já que o interesse  é nas opiniões dos usuários;
  2. classificação: a polaridade do conteúdo recuperado deve ser identificada. Geralmente, as polaridades usadas são positiva, negativa ou neutra;
  3. sumarização dos resultados: as classificações das diversas opiniões devem ser sumarizadas para o usuário, com o intuito de facilitar o seu entendimento sobre as mesmas. Essa sumarização pode ser em forma de texto ou gráfico.

O passo de coleta dos conteúdos está relacionado com recuperação da informação. Porém, deve utilizar técnicas mais avançadas capazes de identificar se o conteúdo é uma opinião ou um fato, o que não é uma tarefa trivial. No entanto, nem todo fato deve ser descartado, já que mesmo fatos podem conter algum tipo de opinião, e vice-versa. Essa distinção é importante para se ter uma acurácia maior no passo seguinte, de classificação.

Basicamente, a etapa de classificação dos conteúdos pode ser realizada com três técnicas diferentes, que são brevemente descritas abaixo:

  • aprendizagem de máquina: essa técnica requer que um conjunto de conteúdos seja previamente classificado para servir de base para o treinamento do modelo. A partir desse modelo treinado, novos conteúdos são classificados. Uma vantagem dessa abordagem é a utilização de algoritmos já consolidados e eficientes. Como desvantagens, podemos citar a necessidade do conjunto ser classificado para treinamento e que, para diferentes tópicos, diferentes conjuntos de treinamento são necessários. Por exemplo, um modelo treinado com um conjunto de conteúdos relacionados ao mercado financeiro não é adequado para classificar conteúdos sobre política;
  • seleção de palavras: essa abordagem envolve avaliar as palavras dos conteúdos e identificar aquelas positivas e negativas com base em uma lista de palavras previamente selecionadas. Com isso, é possível executar algoritmos para classificar o conteúdo como positivo, negativo ou neutro. Vantagens dessa técnica são a sua simplicidade e o fato de ser desnecessário classificar documentos previamente para treinamento, como na abordagem anterior. No entanto, o conjunto de palavras positivas e negativas deve ser selecionado e deve ser específico para cada tópico;
  • análise sintática: essa abordagem envolve analisar o conteúdo sintaticamente, identificando adjetivos e/ou advérbios (principalmente) que podem indicar polaridades dos textos. Como vantagem dessa abordagem, pode-se citar não ser necessário classificar previamente um conjunto de textos.   Porém, ela requer um analisador sintático eficiente e que os conteúdos sejam compostos por sentenças sintaticamente corretas.

Essas três abordagens podem ser adotadas em conjunto, formando um modelo híbrido, para tentar aumentar a acurácia da classificação.

O último passo, de sumarização dos resultados, pode ser apresentado de forma textual ou gráfica. A sumarização em forma de texto não é uma tarefa trivial, e é um tópico de pesquisa por si só. Ela envolve geração de linguagem natural com base em diversos conteúdos e existem várias propostas de pesquisadores para tal. Porém, ainda é um tópico em aberto, com várias dificuldades para serem enfrentadas. A sumarização em forma de gráfico é mais simples, e exige somente que uma forma fácil de ser lida e interpretada seja adotada.

Existem diversos desafios na área que devem ser tratados para que a mineração de opinião seja obtida com uma acurácia representativa. Várias dessas dificuldades estão relacionadas ao processamento de linguagem natural, que está diretamente  relacionado à mineração de opinião. Abaixo são descritas alguns desses desafios:

  • não é trivial distinguir se um texto é opinião ou fato, e principlamente identificar em um fato se existem opiniões embutidas;
  • textos podem conter sarcasmos e ironias, o que também não são fáceis de serem identificados e podem impactar os resultados;
  • um texto pode referenciar mais de um item de interesse (pode citar iPhone e iPod) com opiniões diferentes sobre os itens, o que pode confundir a classificação;
  • uso de pronomes para referenciar itens pode dificultar a identificação de sentenças que mencionam o item de interesse;
  • textos com palavras escritas erradas e com sentenças sintaticamente mal formadas (o que é bastante comum nos Blogs e redes sociais atualmente) dificultam a busca e classificação dos mesmos;
  • uso de termos do “Internetês”, como por exemplo “vc”, “fds” e “:)”, devem ser considerados no vocabulário;
  • propaganda disfarçada, em que blogueiros recebem dinheiro para falar bem de alguma empresa ou produto pode impactar os resultados.

Podemos perceber que a mineração de opinião é uma tendência da web com diversas aplicações interessantes, dado o grande número de dados disponibilizados pelos usuários. Porém, não é uma tarefa trivial de ser realizada, já que envolve vários desafios como os descritos nesse post. Esperamos que um dia seja possível termos um sumário automático das opiniões divulgadas pelos diversos internautas, com uma qualidade alta para nos ajudar nas diversas tomadas de decisões sobre os mais diferentes temas.

2 Respostas
  1. Lúcio :

    Date: outubro 26, 2009 @ 2:20 pm

    Sou acostumado com o “sentiment analysis” do Inglês e nem conhecia o “Mineração de Opinião”, que confesso soa com uma semântica melhor para mim.

    Parabéns pelo artigo, ótima introdução ao assunto!

  2. Diego Gomes :

    Date: dezembro 28, 2009 @ 10:59 pm

    Olá Fabrício, tudo bem?
    Gostei muito deste post, e gostaria de convidá-lo para republicá-lo no ReadWriteWeb Brasil, como um post de convidado, linkando para vocês. É possível?

    Grande abraço,