terça-feira, maio 10, 2011

REACTION

REACTION significa "Retrieval, Extraction and Aggregation Computing Technology for Integrating and Organizing News", e é um projecto coordenado por Mário Silva que envolve equipas da Faculdade de Ciências da Universidade de Lisboa, da Faculdade de Engenharia do Porto, da Universidade do Texas Austin e da Universidade Nova de Lisboa (o Centro de Investigação Media e Jornalismo onde está o António Granado), assim como equipas do SAPO e do Público. Um dos objectivos do REACTION consiste em detectar e analisar conteúdos online com referências a instituições, pessoas e eventos, fazendo-o de forma automatizada.

Imaginem que queríamos saber quantas vezes é que, na twittosfera, eram mencionados os diferentes líderes partidários. E que queríamos, na base dos textos, inferir automaticamente se o teor dos comentários sobre esses líderes era positivo ou negativo? Se pudéssemos fazer isto, ficávamos com uma espécie de barómetro da opinião tal como veiculada na twittosfera. E quem diz isto diz outros conteúdos online, tal como blogues, notícias ou opinião online,  comentários a uns e outros, etc. Ora bem, o REACTION deu um primeiro passo neste sentido. Desenvolveram um crawler que recolhe os tweets de 25.000 utilizadores portugueses do Twitter e analisa:

1. Menções aos líderes dos cinco principais partidos. Para isso, foi preciso desenvolver recursos que permitam detectar que "José Sócrates" é a mesma coisa que "Eng. Pinto de Sousa" e que o "Jerónimo", neste caso, não é um índio apache. Testes confrontando análise manual com os resultados dos algoritmos mostram que a capacidade de identificação correcta já está bem acima dos 90%.

2. Análise da "polaridade" das mensagens, distinguindo aquelas que emitem juízos positivos, negativos e meramente "descritivos" (ou neutros). Isto é mais díficil, e exige a automatização de uma análise linguística, nomeadamente um léxico de adjectivos e sua associação a um determinado alvo.

Os primeiros resultados começaram a estar disponíveis a partir do passado dia 29 de Abril, medindo o número de menções na twittosfera a cada um dos líderes partidários e a sua polaridade (positivo, neutro ou negativo) por dia (entre as 19h do dia 18 e as 19h do dia 29). Deste então, o sistema tem gerado resultados diários.

O que é então o gráfico no post abaixo?

















As colunas da esquerda mostram o número absoluto de tweets mencionando Jerónimo de Sousa e Paulo Portas e sua polaridade entre as 19h do dia 6 de Maio (o dia do debate Jerónimo-Portas) e as 19h dos dia 7, apanhando portanto o debate e o seu rescaldo. Várias precauções:

1. Os tweets não eram necessariamente apenas sobre o debate.
2. A análise de polaridade é muito conservadora, ou seja, haverá certamente tweets na categoria neutra que emitem uma avaliação, mas que o sistema está a classificar como neutros para não cometer falsas identificações.
3. Quando começarmos a olhar para isto dia-a-dia, vamos detectar uma volatilidade brutal, marcada por eventos, memes  que circulam na net, etc.


Resultados: primeiro, Portas foi muito mais mencionado na twittosfera do que Jerónimo. Logo, naturalmente, recebe, em termos absolutos, muitos mais comentários quer negativos quer positivos. O saldo para ambos os políticos é negativo, ou seja, é mais frequente serem criticados que elogiados, padrão habitual nos estudos congéneres. Mas na distribuição de comentários - colunas à direita - Portas recebe, proporcionalmente, mais comentários positivos que Jerónimo e o saldo é-lhe mais favorável.

O que significa tudo isto? Bem, não sei. Vamos ver. Como é óbvio, a ideia de que os utilizadores na twittosfera são representativos da população eleitoral é absurda. Mas há vários estudos que sugerem que o conteúdo da twittosfera pode ser um bom preditor de fenómenos políticos relevantes. Só dois exemplos. Este mostra que a distribuição de menções aos partidos na Alemanha (partidos, atenção, não líderes) se aproximou bastante da distribuição final dos votos, para além de revelar que as associações conjuntas de partidos reflectem proximidades políticas e ideológicas reais e que os sentimentos expressos em relação aos líderes reflectem padrões intuitivamente previsíveis. E este mostra correlações interessantes entre indicadores do mesmo género e as sondagens políticas e os índices de confiança do consumidor. Temos um problema de escala, claro, e a twittosfera portuguesa é muito menos "politizada" do que poderíamos pensar (apenas cerca de 1% do total dos tweets menciona líderes políticos). Mas vamos ver onde isto nos leva. Logo vamos olhar para um gráfico semelhante ao anterior, mas desta vez, claro, sobre Portas e Sócrates.

P.S.- Daqui a dias, estará disponível um site no SAPO com resultados destas análises.

8 comentários:

RCF disse...

isto pode significar, por exemplo, que Jerónimo de Sousa não assimilou bem o 1º grande mandamento de Álvaro Cunhal: o importante é que falem de nós, nem que seja para dizer mal.

Uma pergunta entre o malicioso e o inocente: se eu fizer um comentário sobre Sócrates e lhe chamar "Socas" o sistema apanha a referência na "grelha"?

Unknown disse...

Sim, apanha :-)

RCF disse...

então é uma boa malha!

obrigado

diogo disse...

Muito bom! Foi o Pedro que fez isto? Obrigado.
Fico ansioso pelos próximos resultados :-)

Pegando na pergunta do Ricardo, também apanha Pinóquio, Socretino, PM, primeiríssimo, etc, etc?
É que não deve haver ninguém com mais epítetos...
:D

Unknown disse...

O sistema está a trabalhar da seguinte forma:

Nome próprio: José Sócrates, Sócrates

Alcunhas: Pinto de Sousa, "engenheiro", "eng.", espécie de engenheiro, inginheiro, inginhero, sr. inginhero, sr. "eng", pseudo engenheiro, Sócras, Socas, Joker Socas, Pinóquio, Sokretino, Zéquinha Sócrates, Pinócrates, Trócaste, Menino de Ouro, Menino de ouro do PS

Cargos: primeiro-ministro, líder do PS, líder do Partido Socialista, candidato do PS, candidato do Partido Socialista, candidato socialista

Estou a reler isto e pode parecer que estou a ser ofensivo, mas acreditem que a ideia não é essa. É só explicar os descritivos que o sistema usa.

diogo disse...

Muito bom! Obrigado por partilhar essas pérolas.
A mim não me ofende...
:D

José Silva Oliveira disse...

Imagine o seguinte twitt: "Tive uma reunião com um engenheiro hoje que era um cretino!". Como é que o sistema interpreta isto?

Unknown disse...

Resposta do REACTION: "Neste caso, e tal como o sistema está desenhado, este tweet não seria tratado, uma vez que engenheiro é ambíguo. Só o seria se, por exemplo, engenheiro estivesse delimitado por aspas ou grafado como 'inginheiro' ou 'inginhero', por exemplo. Nessa situação, a construção "era um cretino" seria associada ao alvo, e o tweet seria analisado como negativo."