sábado, 28 de maio de 2011

Análise de sentimentos em textos (sentiment analysis)

O que é ?
Uma recente aplicação das técnicas de Text Mining é analisar o sentimento presente em textos. Ou seja, saber qual o sentimento do autor quando escreveu um texto. A tarefa parece meio esotérica, mas a ideia é mais simples. Analisar as palavras no texto e entender o tipo de sentimento que o texto quer expressar.
Em geral, as ferramentas analisam somente 2 tipos de sentimentos: positivo e negativo. Ou seja, saber se o texto está falando bem (positivamente) ou mal (negativamente) sobre um certo tema.

Sinônimos ?
Outro termo utilizado é Mineração de Opiniões (opinion mining).

Para quê ?
Muitas empresas estão preocupadas em saber o que as pessoas estão falando dela ou de seus produtos ou serviços. Querem saber se estão falando bem ou mal e qual o sentimento predominante.

Ferramentas para Análise de Sentimentos ?
Uma das ferramentas que faz análise de sentimentos (positivos ou negativos) está em
http://www.youtube.com/profstanleybrasil#p/u/3/94CyzMxItxk
O usuário entra com palavras-chave para definir um tema ou assunto, a ferramenta captura textos na web sobre este tema (blogs, notícias, páginas e posts do twitter) e depois analise o tipo de sentimento presente no texto. No final, a ferramenta diz quantos textos positivos, negativos ou neutros foram encontrados (além de listar os textos de cada categoria).

Como fazem isto ?
Em geal, são utilizadas ontologias de tarefa para tanto. Este tipo de ontologia possui uma lista de palavras (simples e expressões) que servem como indicadores do sentimento. Além disto, são utilizadas graus numéricos para indicar o quanto a palavra ou expressão indica o sentimento. Estes graus serão utilizados em processos probabilísticos pois palavras de 2 tipos podem estar presentes no texto (e mesmo um termo pode ser usado positiva ou negativamente). Assim, o processo probabilístico consegue identificar o sentimento predominante mesmo que palavras dos 2 tipo estejam presentes (qual a probabilidade de cada sentimento estar presente no texto).

Analisam conteúdo ?
Na verdade, as ferramentas não analisam o que exatamente os textos estão falando, apenas procuram encontrar o sentimento pela análise de indicadores (palavras positivas ou negativas).

E outros tipos de sentimentos além de positivo ou negativo ?
Existem ontologias mais detalhadas, ou seja, que permitem identificar sentimentos mais precisos.
O modelo OCC é um modelo psicológico e cognitivo que contém descrições de 22 tipos diferentes de emoções (por exemplo, “happy for”, “resentment”, “gloating”, “pity”, “joy”, “distress”, “pride”, “shame”, “admiration”, “reproach”, “love”, “hate”, “hope”, “fear”, “satisfaction”, “fears-confirmed”, “relief”, “disappointment”, “gratification”, “remorse”, “gratitude” e “anger”).
Ref.: Ortony, A.; Clore, G.L.; Colins, A. (1988). The Cognitive Structure of Emotions, Cambridge University Press. 1988

Outras referências ?
Um bom survey sobre o assunto encontra-se em:
Pang, Bo and Lee, Lillian. (2008, January). Opinion Mining and Sentiment Analysis.
Foundations and Trends in Information Retrieval, v.2, n.1-2. Delft, Netherlands.

Existe outra ontologia (Affect Base) criada pelo grupo “The Cognitive and Communication Technologies” (http://tcc.itc.it/), baseada no Wordnet.
E há também a WordNet Affect (http://wndomains.itc.it).

Nenhum comentário: