Twitter Sentiment Visualization

De LARHUD
Revisão de 15h29min de 3 de julho de 2018 por Fvgalvao (Discussão | contribs)

Ir para: navegação, pesquisa

A Sentiment Vizz é uma ferramenta que estima e auxilia na visualização de possíveis propriedades emocionais incorporadas nos tweets do Twitter. Tendo em vista a complexidade de capturar emoções em textos tão curtos e incompletos, foi elaborado um dicionário próprio de sentimentos, utilizando termos do dicionário estendido da Affective Norms for English Words (ANEW) e um dicionário de felicidade produzido por pesquisadores da Universidade de Vermont.

Os métodos computacionais utilizados são algoritmos de Machine Learning como Naive Bayesian networks, máquinas de vetores de suporte, abordagens da Máxima Entropia ou combinações de raciocínio de senso comum e ontologias afetivas (Sentic computing).

Para utilizar a ferramenta, não é preciso pagar ou baixar nenhum programa, pois ele funciona totalmente online nos navegadores Firefox, Chrome, IE 9, Safari e Opera.


Primeiros passos

Digite uma palavra-chave no campo Keywords e clique no botão Query. O usuário pode consultar várias palavras-chave de modo concomitante ou combiná-las. A ferramenta de coleta segue a lógica booleana, utilizada pela função de busca do Twitter. Por exemplo: para capturar tweets com os termos digital e humanities, digite ambas as palavras. Para procurar digital ou humanities, digite: digital OR humanities. Caso precise encontrar uma combinação específica ou frase, digite as palavras entre aspas: “digital humanities”. E caso queira excluir alguma palavra da busca, digite digital -humanities (humanities será excluída na busca).

A ferramenta mapeará tweets recentes que poderão ser visualizados no primeiro guia Sentiment. Além de Sentiment, outros guias são estabelecidos na parte superior da janela: Topics, Heatmap, Tag Cloud, Timeline, Map, Affinity, Narrative e Tweets. Cada guia possibilita uma técnica de visualização dos sentimentos incorporados no texto.


Sentiment Vizz na prática: conhecendo os recursos

Sentiment: cada tweet é representado por um círculo posicionado próximo ao sentimento previsto no texto. Tweets que demonstram sentimentos desagradáveis encontram-se no lado esquerdo, na direção da palavra unpleasant e em círculos azuis. Tweets que expressam emoções agradáveis estão no lado direito, na direção da palavra pleasant e em círculos verdes. Na parte superior os sentimentos são intensos e enérgicos, já na parte inferior da janela são contidos e/ou mais suaves.

É necessário passar o mouse sobre um tweet ou clicar nele para ver o texto. Neste momento é aberta uma janela que contém o tweet e dados como o nome do perfil, data de publicação e as palavras identificadas que podem expressar sentimentos, sua média de valência e média de alerta. As palavras que expressam os sentimentos são destacadas em negrito azul itálico ou negrito itálico laranja. As palavras em azul são avaliadas na sua forma atual. As palavras em laranja são avaliadas como negação do sentido original. Por exemplo: o tweet pode ter o termo “feliz”, mas junto com a palavra “não”, logo, “não-feliz”.Neste caso, pela proximidade das palavras, a ferramenta compreende que um termo inverte o sentido original e isolado do outro termo.

Em relação aos círculos, não somente a cor, mas também o brilho, tamanho e transparência têm significados. Os círculos mais brilhantes representam os tweets mais populares, enquanto os menos brilhantes representam menor popularidade. Tamanho e transparência denotam a medida de confiança da ferramenta, isto é, se o sentimento estimado realmente corresponde com a emoção expressa. Quanto maior e mais opaco está o círculo, há mais chances de uma correspondência certa ou próxima do sentimento.

Em relação à classificação do sentimento, o dicionário fornece medidas de valência e estimulação para aproximadamente 10.689 termos em inglês. Os termos são pontuados a partir de uma escala que varia entre 1 a 9 pontos. As classificações de um termo comum são ajustadas em uma classificação média e um desvio padrão das classificações para cada dimensão. As categorias para avaliar emoções são a valência e o alerta. A valência, também compreendida como prazer, varia entre agradável e desagradável (pleasant/unpleasant) e o alerta ou ativação entre intenso e contido (active/subdued). Exemplo: social, v = [ μ: 6.88, σ: 1.82 ], a = [ μ: 4.98, σ: 2.59 ], fq = 380. O “v” significa valência e “a” significa alerta. 6.88 representa a valência média, 1.82 representa o desvio padrão, 4.98 exprime o alerta médio, 2, 59 exprime o desvio padrão. Fq significa a quantidade de avaliações realizadas na construção do dicionário.


Topics: esse guia agrupa um tópico ou tema comum em clusters, indicados por palavras-chaves, no lado esquerdo da página. O grupo de tópicos é representado por um retângulo com as palavras-chave no topo e, na parte inferior, o número de tweets. No lado direito, em singletons, são agrupados tweets que não pertencem a um tópico ou tema comum. A proximidade dos tweets de cada cluster exprime a distância entre a similaridade dos textos. Quanto mais próximo, mais similaridade. Igual significado há na aproximação ou distanciamento entre os retângulos que representam o grupo de tópicos. Passar o mouse ou clicar sobre um tweet revela informações mais detalhadas sobre o conteúdo do texto e o sentimento previsto.


Heatmap: este mapa de calor representa a valência e o alerta em uma grade 8x8. Em cada cédula está contido um número de tweets. Nas cédulas azuis, há um número menor de tweets em relação a média. Nas cédula vermelhas, há mais tweets do que a média. As cédulas brancas não contém tweets. Para visualizar a quantidade é necessário passar o mouse sobre a cédula.


Tag cloud: a nuvem de tags apresenta as palavras que ocorreram mais frequentemente. Segue o mesmo padrão dos outros guias: no lado direito, sentimentos desagradáveis, no lado esquerdo, sentimentos agradáveis, na parte superior, emoções intensas e ativas, na parte inferior, emoções contidas e mais suaves. Neste esquema, o tamanho de um termo mostra sua frequência vinculada ao sentimento. Termos maiores significam que ocorrem de modo frequente. A cor e brilho exprimem o prazer e a excitação estipulada. As palavras em cinza não foram encontradas no dicionário utilizado pela ferramenta, logo, não tem um sentimento estimado. Ao passar o mouse sobre a palavra será apresentado sua frequência


Timeline: os tweets são classificados em um gráfico de barras verticais de acordo com o sentimento e o momento em que foi postado. As postagens consideradas positivas ​​são exibidas em verde no topo do gráfico, e tweets negativos, em azul na parte inferior. O usuário pode utilizar duas opções: passar o mouse sobre a barra para ver quantos tweets foram postados no momento determinado e pode verificar uma classificação de sentimento por vez, desabilitando o menu no cabeçalho do gráfico. Nesta função, o sistema usa a biblioteca Javascript de Highcharts para renderizar o gráfico de barras.


Map: o mapa informa o local de origem das postagens, ou seja, opera por geolocalização. Como muitos dos usuários ocultam o metadado da localização, esta não é uma análise segura, pois a quantidade coletada pela ferramenta é baixa. Como funciona? Ao inserir as palavras-chave, a ferramenta indicará no mapa mundi os pontos de origem dos posts. No canto superior direito, a interface indica quantos posts foram coletados. Ao passar o mouse sobre um tweet ou clicar no ícone da localização, é possível ver o texto original e o sentimento estimado. Para esta função, o sistema usa a biblioteca JavaScript do Google Maps para renderizar o mapa.


Affinity: a função de Afinidade se pretende a uma análise de rede, exibindo trocas frequentes entre usuários, tweets, hashtags e URLs compartilhadas. Com ela, o usuário avalia os atores corriqueiros sobre determinado tema/termo/palavra-chave e seu grau de relacionamento/afinidade. Nós azuis e verdes representam tweets; nós laranja representam pessoas; nós amarelos representam hashtags e nós vermelhos representam URLs. Os nós maiores mostram elementos mais frequentes. Para ver o conteúdo original basta clicar em tweets ou nós de URL. Ao passar o mouse sobre um nó é possível visualizar sua frequência. Na função Affinity, o sistema utiliza um algoritmo de grafos em Javascript.


Narrative: a aba Narrative exibe conjunto de tweets que formam conversas sobre um tema comum ao longo do tempo. Sua função é basicamente reunir conteúdos semelhantes a partir da palavra-chave indicada pelo usuário. É possível passar o mouse sobre um nó ou clicar nele para ler seu texto. No lado esquerdo da tela, o sistema exibe uma lista de tweets. Para acessá-los, basta clicar na opção desejada. Nesta seção, a ferramenta utiliza o plug-in DataTables para a biblioteca Javascript do jQuery, que renderiza a tabela de tweets.


Tweets: nesta aba, é exibida uma tabela com todos os tweets coletados. O usuário pode filtrá-los por data, autor, conteúdo e sentimento. A palavra-chave da coleta pode ser vista em negrito e itálico em todos os tweets. Além disso, a seção oferece um campo de busca (do lado direito do menu) onde o usuário pode inserir outros termos de interesse para filtragem de conteúdo. A ferramenta permite análise do ID ID para verificar fluxo de postagem dos autores e todas as URLs são clicáveis. Nesta seção, também se usa o plug-in DataTables da biblioteca Javascript.


Usabilidade e limitação da ferramenta

Twitter Sentiment Visualization (ou Sentiment Vizz) possui uma interface relativamente simples, que atende também aos usuários iniciantes. Porém, em alguns aspectos, a ferramenta exige um conhecimento básico de monitoramento de mídias sociais - tanto para compreender os gráficos, como para realizar a busca principal. Por exemplo: a ferramenta peca no quesito prevenção de erros porque não explica que a lógica de busca é booleana, logo, não exibe quais operadores lógicos são aceitáveis.

Apesar de ser um instrumento exploratório útil, necessita ser combinada com outras ferramentas para uma análise mais refinada e profunda. Seu foco é análise de sentimento a partir de um recorte psicológico de valência e alerta, ou seja, as categorias são fixas, dadas pelo sistema - não há possibilidade de criação de outras categorias/tags ou remanejamento de classificação.