Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Métodos para Análise de Sentimentos em mídias
sociais
Resumo
1.1. Introdução
O principal objetivo da análise de sentimentos é definir técnicas automáticas capazes de
extrair informações subjetivas de textos em linguagem natural, como opiniões e senti-
mentos, a fim de criar conhecimento estruturado que possa ser utilizado por um sistema
de apoio ou tomador de decisão. A identificação de sentimentos em textos é uma das áreas
de pesquisa mais destacadas em Processamento de Linguagem Natural desde o início dos
anos 2000, quando se tornou uma área de pesquisa muito ativa [Liu, 2010]. Devido a sua
importância para as empresas e para a sociedade, esse tema não tem ficado restrito apenas
a uma área da computação e tem atingido outras áreas tais como psicologia e ciências
sociais. Nos últimos anos, as atividades industriais que envolvem análise de sentimentos
têm apresentado significativo crescimento sendo objeto de desenvolvimento em grandes
empresas e ocasionando o surgimento de numerosas start-ups.
A partir da explosão das redes sociais de uso global como o Twitter em 2006, a
análise de sentimentos começou a ter um valor social muito importante. A Figura 1.1 en-
dossa tal situação ao exibir o crescimento na quantidade de buscas pelo termo “Sentiment
Analysis” no buscador Google à partir de 2006. A facilidade para difusão de informações
oferecidas pelas redes sociais e seu papel na sociedade moderna representam uma das
novidades mais interessantes desses últimos anos, captando o interesse de pesquisadores,
jornalistas, empresas e governos. A interligação densa que muitas vezes surge entre os
usuários ativos gera um espaço de discussão que é capaz de motivar e envolver indivíduos
ilustres ou influentes em discussões, ligando pessoas com objetivos comuns e facilitando
diversas formas de ação coletiva. As redes sociais são, portanto, a criação de uma revolu-
ção digital, permitindo a expressão e difusão das emoções e opiniões através da rede. De
fato, redes sociais são locais onde as pessoas discutem sobre tudo expressando opiniões
políticas, religiosas ou mesmo sobre marcas, produtos e serviços.
Opiniões nas redes sociais, se devidamente recolhidas e analisadas, permitem não
só compreender e explicar diversos fenômenos sociais complexos, mas também prevê-los.
Considerando-se que hoje em dia os atuais avanços tecnológicos permitem o armazena-
mento e recuperação de enorme quantidade de dados eficientemente, o foco atual está
em desenvolver metodologias para extração de informações e criação de conhecimento a
partir de fontes de dados distintas. Redes sociais representam um emergente e desafiador
setor no contexto da Web. A dificuldade está em extrair opiniões e informações úteis ex-
pressas através de mensagens curtas de texto, e assim gerar rapidamente dados que devem
ser analisados de forma eficiente, para finalmente serem utilizados em tomadas de deci-
sões e em processos de tempo real. Esta dificuldade gera um problema multidisciplinar na
computação, envolvendo a mineração de dados, o processamento de linguagem natural e
a aprendizagem de máquina. A fim de tornar os dados textuais qualitativos efetivamente,
a quantificação de “o que as pessoas pensam” torna-se um passo obrigatório, desafiador e
de interesse de diversas comunidades científicas.
Neste minicurso pretende-se proporcionar uma ampla visão sobre as técnicas e
estratégias existentes para análise de sentimentos, suas principais aplicações no contexto
de redes sociais online, além de demonstrar o uso de ferramentas práticas e atuais. Nosso
objetivo é estabelecer uma sólida base para alunos e pesquisadores das diversas áreas da
computação, em particular, os que possuem interessem em realizar análise e mineração
de dados de redes sociais e fazer o uso de técnicas de análise de sentimento. Finalmente,
pretende-se identificar as principais ferramentas existentes, apontar seus códigos e tam-
bém listar as principais bases de dados rotuladas para análise de sentimentos existentes.
Acreditamos que isso é fundamental para o pesquisador que pretende começar a explorar
o tema.
O dado rotulado necessário na etapa 1 descrita acima nada mais é do que uma entrada
com seu respectivo rótulo ou classificação. No caso da análise de sentimentos seria uma
sentença acompanhada de sua polaridade. Para desenvolver um bom modelo supervisio-
nado é necessário, dentre outras coisas, que uma amostragem substancial do domínio do
problema esteja disponível e previamente rotulada, seja para gerar o conjunto de dados
para treino ou para testes.
Esta é uma das grandes dificuldades do aprendizado de máquina especialmente no
que diz respeito à análise de sentimentos por dois motivos principais: a alta subjetividade
envolvida na tarefa e a demanda de tempo necessária para que especialistas definam a
polaridade de muitas sentenças. Muitas sentenças são altamente ligadas a algum situação
ou evento específico e a definição da polaridade pode ser extremamente difícil por quem
não esteja inserido no contexto em questão. Imagine uma situação em que avaliadores
desejam definir a polaridade de tweets relativos ao debate presencial de um país ou estado
do qual não possuem nenhum conhecimento da situação política. Certamente haverá
grande dificuldade e possibilidade de rotulações incorretas. Situações com utilização de
sarcasmo e ironia também tornam a avaliação uma tarefa complexa. Soma-se a isso a
necessidade de que muitas sentenças sejam rotuladas, o que poderia demandar semanas
de trabalho de um especialista.
Algumas alternativas para geração de dados rotulados têm sido adotadas e são
descritas a seguir:
• Distant Supervisor: É uma técnica que aborda a utilização de características pre-
existentes no texto para rotulação automática. Uma das formas mais utilizadas
é definir a polaridade das frases de acordo com emoticons existentes associando o
sentimento representado pelo emoticon à frase como um todo [Hannak et al., 2012].
Por exemplo, uma frase contendo =) seria classificada como positiva. Pesquisado-
res de stanford disponibilizaram uma base de dados com mais de um milhão de
tweets classificados desta maneira [Go et al., 2009a]. Note que esta abordagem de
classificação não é 100% confiável e pode introduzir ruídos no modelo treinado.
• Amazon Mechanical Turk(AMT) 1 : Este é um sistema criado pela Amazon que
permite pagar para que pessoas realizem pequenas tarefas remotamente. Muitos
pesquisadores têm usado tal sistema para disponibilizar diversas sentenças e criar
tarefas de classificação de polaridade que serão executadas pelos Turkers por valo-
res razoavelmente baixos. Os experimentos de classificação que utilizam o “Conhe-
cimento das multidões” a partir do AMT tem sido utilizado em diversos trabalhos
para a geração de bases de dados rotuladas.
Mesmo com tal dificuldade na geração deste tipo de dados, diversos esforços fo-
ram realizados e encontram-se disponíveis atualmente muitos datasets rotulados de con-
textos variados. Na seção 1.3 de comparação eles serão detalhados e também estão dis-
ponibilizados 2 .
html
feature possa ser representada por um grupo de palavras (bigrama, trigrama, etc. Veja os
três exemplos a seguir:1 - The restaurant is good!; 2 - The restaurant is not good!; 3 - The
restaurant is very good!
Imagine que um classificador irá utilizar cada palavra como uma feature. A fea-
ture ‘good’ possivelmente será relacionada às frases positivas já que, em geral, ‘good’ é
uma palavra com conotação positiva. No entanto, good ocorre na segunda frase ‘The res-
taurant is not good’ e não tem uma conotação positiva pois é precedida pela palavra ‘not’.
Por outro lado, a terceira frase ‘The restaurant is very good’ possui ‘good’ precedida pela
palavra ‘very’ o que enfatiza ainda mais o adjetivo ‘good’. Em uma representação uni-
grama da segunda frase as features seriam: ‘the’, ‘restaurant’, ‘is’, ‘not’, ‘good’. Já
em uma representação bigrama as features seriam grupos de duas palavras: ‘the restau-
rant’,‘restaurant is’, ‘is not’, ‘not good’. Note que com a representação Bigrama, a dupla
‘not good’ seria uma feature que possivelmente estaria associada a sentenças negativas.
Outra abordagem utilizada para representação de features no contexto de análise
de sentimentos é chamada TF-IDF, que é uma evolução a partir do IDF que é proposto
pelo trabalho de Karen Jones [Jones, 2004], cuja intuição básica é que um termo que
ocorre em muitos documentos não é um bom discriminador, e deve ser dado menos peso
do que aquela que ocorre em alguns documentos. A fórmula para aplicação dessa meto-
dologia é a seguinte:
N
wi j = t fi j · log( ) (1)
d fi
SVM, que em tradução literal quer dizer Máquinas de Vetores de Suporte Vetores (SVM
- Support Vectors Machine) é uma abordagem de aprendizagem introduzida por Vapnik
em 1995 [Cortes and Vapnik, 1995]. O método difere dos de outros classificadores por
ser uma classe de classificadores probabilísticos cujo problema é encontrar uma superfí-
cie de decisão que “melhor” separa os dados em duas classes. Para espaço linearmente
separáveis, a superfície de decisão é um hiperplano que pode ser escrito como:
wx + b = 0
• LIWC [Tausczik and Pennebaker, 2010] - O LIWC é uma ferramenta bem estabe-
lecida e utilizada em diversas áreas, e contou com o aval de psicólogos, sociólo-
gos e linguistas durante seu desenvolvimento. Ela possui um dicionário léxico de
aproximadamente 4500 palavras e raízes de palavras, fazendo parte de oitenta ca-
tegorias. Todas as palavras de raiva por exemplo, estão incluídas em pelo menos
duas categorias que são emoções negativas e emoção geral. As categorias foram
definidas e populadas com base em buscas em diversos dicionários como Thesau-
rus, questionários e listas feitas por pesquisadores. Para a correta definição, três
juízes independentes julgaram cada uma das palavras e definiram em qual categoria
ela deveria estar. O percentual de acordo entre os juízes ficou entre 93 e 100%.
A construção do dicionário começou entre 1992 e 1994 e ainda sofre alterações e
incrementos nos dias de hoje.
• General Inquirer (GI) [Stone et al., 1966] - O General Inquirer é um dos dicionários
léxicos manualmente criados mais antigos que ainda é usado amplamente. O GI foi
desenvolvido e refinado na década de 60, e foi desenvolvido como uma ferramenta
para a análise de conteúdo, técnica usada à época por cientistas sociais, cientistas
políticos e psicólogos para objetivamente identificar características específicas de
mensagens. O dicionário contém mais de 11000 palavras classificadas em uma ou
mais das 183 categorias. Dentre o total de palavras, 1915 foram rotuladas como
positiva e 2291 como negativas.
• Opinion Lexicon - [Hu and Liu, 2004] diponibilizaram publicamente um léxico de
aproximadamente 6800 palavras, sendo 2006 com orientação semântica positiva e
4783 com negativa. O dicionário foi inicialmente construído a partir do Wordnet,
uma base de dados de palavras em inglês em que elas são agrupadas em conjuntos
de sinônimos (synsets). O Opinion Lexicon e, diferentemente, dos dois anterio-
res está mais atualizado para lidar com expressões em redes sociais e reviews de
produtos.
• ANEW [Bradley and Lang, 1999] - as Normas Afetivas para Palavras em inglês,
do acrônimo em inglês ANEW - Affective Norms for English Words, provê uma
pontação para 1034 palavras em inglês. Diferentemente do LIWC, as palavras no
ANEW foram ranqueadas em termos de prazer (pleasure), excitação (arousal) e
dominância (dominance) sendo que cada palavra possui um valor de 1 a 9 para cada
categoria. Uma extensão deste dicionário é o AFFIN criado a partir do ANEW mas
incrementando elementos léxicos provenientes de redes sociais.
• Sentiwordnet [Esuli and Sebastiani, 2006] - o Sentiwordnet é uma extensão do Word-
net no qual 147307 conjuntos de sinônimos estão anotados com três pontuações nu-
méricas para positividade, negatividade e objetividade (neutralidade). Cada pontua-
ção varia de 0.0 a 1.0 e a soma é 1.0 para cada conjunto de sinônimos. A pontuação
foi calculada utilizando-se vários algoritmos semi-supervisionados. Este dicionário
não 100% validado por humanos como os anteriores mas é extremamente útil em
uma gama de tarefas.
• SenticNet [Cambria et al., 2010] - SenticNet é um dicionário semântico e afetivo
para opinião em nível de conceito e análise de sentimento. Ele foi construído atra-
vés do que é denominado pelos autores de sentic computing, um pardigma que
explora Inteligência Artificial e técnicas de Web semântica para processar opiniões
via mineração de grafos e redução de dimensionalidade. O dicionário consiste de
14244 conceitos de senso comum como adoration e admiration com informações
associadas à polaridade de sentimento em uma escala contínua de -1 até 1.
• Sentiment140 [Mohammad et al., 2013] e NRC Hashtag [Mohammad, 2012] - es-
tes dois dicionários foram gerados automaticamente de maneira similar à técnica
descrita anteriormente chamada de Distant Supervised. Automaticamente rotulou-
se milhares tweets com base na ocorrência de emoticons positivos ou negativos
(Emolex) ou na ocorrência de hashtags com palavras positivas como e negativas
como (NRC Hashtag). À partir da rotulação automática verificou-se, com con-
tagens relativamente simples, quais palavras ocorriam com maior frequência em
tweets positivos ou tweets negativos. Essa metodologia proporcionou a criação de
dois dicionários, o Sentiment140 com mais de 1 milhão de termos e o NRC Hashtag
com mais de 800 mil termos, em ambos os casos somandos-se unigramas, bigramas
e termos que ocorrem em pares separados.
• VADER [Hutto and Gilbert, 2014a] - para a construção de um dicionário léxico os
autores do VADER criaram uma lista de palavras com base em dicionários já bem
estebelecidos como LIWC, ANEW e GI. Em seguida, foram adicionadas numero-
sas construções léxicas presentes em microblogs tais como emoticons, acrônimos
e gírias que expressam sentimentos, resultando em 9000 novos candidatos a se-
rem incluídos no dicionário. Em seguida, verificou-se por meio do “conhecimento
das multidões” (AMT) quais destas possuíam realmente aplicabilidade através de
pontuação atribuída por Turkers variando de -4 (extremamente negativa) a 4 (extre-
mamente positiva). Por fim, restaram 7000 construções léxicas no dicionário sendo
que para a inclusão a média entre as avaliações obtidas com o AMT deveria ser di-
ferente de 0 (neutro) e com desvio padrão entre as pontuações abaixo de um limiar
estabelecido pelos autores. A palavra “okay” por exemplo possui uma pontuação
de 0.9, enquanto “great” tem o valor 3.1 e “horrible” é -2.5.
Faz-se importante ressaltar que um dicionário léxico por si só não é capaz de pro-
ver classificação de sentenças de maneira eficaz e o simples somatório da pontuação de
cada uma das palavras pode apresentar resultados pouco satisfatórios. Vários métodos,
no entanto, se baseiam nas polaridades prévias definidas por dicionários léxicos em con-
junto com outras heurísticas e processamentos que proporcionam eficiência na predição
do sentimento global das sentenças.
Em geral, as heurísticas baseiam-se em pistas gramaticais e sintáticas que mudam
a intensidade do sentimento e vão além da simples soma de pontuações. Dentre elas
destacam-se: 1) Pontuação (número de exclamações ao final de uma frase por exemplo),
2) Capitalização ( “I HATE YOU”, por exemplo, é mais intenso do que “i hate you”),
3) Negações e Intensificadores (“The service here is not good” é negativo enquanto "The
service here is very good"é muito positivo), 4) Conjunção "but"que muda polaridade, 5)
Trigrama para identificar negações mais complexas (por exemplo “The food here isn’t
really all that great.”)
Alguns métodos que utilizam esta abordagem são o Umigon, o VADER e o SO-
CAL que serão apresentados com mais detalhes na próxima seção. Com o intuito de
aplicar os demais dicionários na análise de sentimentos foram desenvolvidos métodos
que aplicam as mesmas heurísticas empregadas pelo método VADER. Os resultados dos
experimentos são detalhados na seção 1.4
1.3. Apresentação de Métodos para Análise de Sentimentos no nível de sen-
tença
Esta seção apresenta vinte um dos principais métodos para a análise de sentimentos
disponibilizados na literatura. Foi realizada uma extensa busca na literatura a fim de
identificar quais métodos eram capazes de detectar polaridades em nível de sentença e
especialmente aqueles que tinham código-fonte disponível ou possibilidades de imple-
mentação à partir do artigo. Durante a realização desta tarefa diversos autores foram
contactados e os códigos dos métodos requisitados a fim de abranger as diferentes téc-
nicas já discutidas. Os códigos desenvolvidos e obtidos dos autores foram disponibiliza-
dos na página http://homepages.dcc.ufmg.br/~fabricio/benchmark_
sentiment_analysis.html.
É importante ressaltar que tais abordagens têm sido utilizadas como métodos de
prateleira (off-the shelf ), isto é, pesquisadores e demais usuários interessados em aplicar
a análise de sentimento para algum propósito específico escolhem alguma das soluções
disponíveis e aceitas na literatura e aplicam para o fim desejado. Mesmo no caso dos
métodos supervisionados, verifica-se a utilização do modelo previamente treinado com a
base de dados original e não após realização de uma nova etapa de treinamento.
A tabela 1.2 apresenta uma descrição a respeito de cada um dos métodos e se
eles atuam de maneira Supervisionada (S) ou não supervisionada (NS). Outras iforma-
ções como as saídas do método (por exemplo, -1,0,1, significando negativo, positivo e
neutro, respectivamente), os datasets utilizado para validá-lo e outros métodos com os
quais foram comparados estão na tabela 1.3. Os métodos foram apresentados em ordem
cronológica para visão geral dos esforços existentes ao longo dos anos. Algums méto-
dos foram ligeiramente modificados para se adequar ao padrão de saída para detecção de
polaridade. Particularmente a implementação do OpinionFinder gera saída (-1,0,1) para
cada pista de sentimento encontrada na sentença sendo que cada sentença tem mais de
uma pista. Para o cálculo da polaridade global foram somadas as polaridades das pistas.
Também foram atribuídos valores de polaridade para métodos cuja saída consistia de um
conjunto de sentimentos como o PANAS. Para o Happiness Index, os valores 1 a quatro
foram considerados negativos, o valor 5 neutro, e os valores 6 a 9 positivos. Diversos
outros métodos também tiveram adaptações similares. Métodos baseados em aprendi-
zado de máquina foram utilizados de maneira não supervisionada, isto é, utilizou-se um
modelo previamente treinado para decodificar as sentenças desejadas.
Pode-se perceber pela tabela 1.3 que muitos dos métodos criados não seguem um
padrão para avaliação de seus resultados deixando uma lacuna quanto à real eficiência da
abordagem recém criada em comparação com abordagens mais antigas.
Tabela 1.2. Métodos para análise de sentimentos em sentença - Descrição
Nome Descrição NS S
Possui uma lista de emoticons dividida em positivos(“:)”) e negativos(“:(”). O texto é classificado de
Emoticons acordo com a classe que tiver mais emoticons. Apesar de possuir uma alta taxa de acertos este X
método depende muito da presença do emoticon no texto.
Também conhecido como Sentiment Lexicon, consiste de uma lista com cerca de 6.800 palavras
rotuladas como positivas e 6.800 palavras rotuladas como negativas, incluindo gírias e abreviações
Opinion Lexicon [Hu and Liu, 2004] X
no idioma Inglês. Este é um método léxico criado a partir de textos coletados em reviews de
produtos em sites de compra.
Opinion Finder (MPQA)
É uma ferramenta considerada híbrida pois utiliza um léxico de sentimentos mas utiliza Naive Bayes
[Wilson et al., 2005a] X X
para distinguir se uma sentença é subjetiva ou objetiva.
[Wilson et al., 2005b]
É uma escala de sentimentos que utiliza o popular ANEW (um conjunto de palavras ligadas a
Happiness Index emoções do Inglês). Este método foi contruido para avaliar textos entre 1 a 0, indicando a
X
[Dodds and Danforth, 2009] quantidade de felicidade existente. Em particular os autores utilizaram este método para mostrar que
a “quantidade de felicidade” nas letras das músicas diminui entre 1961 e 2007.
É um léxico contruído a partir de outro léxico já conhecido chamado WordNet [Miller, 1995]. No
SentiWordNet WordNet os autores agruparam adjetivos, substantivos, verbos em conjuntos de palavras que fossem
[Esuli and Sebastiani, 2006] similares formando uma rede de palavras. Já os autores do SentiWordNet associaram uma X X
[Baccianella et al., 2010] polaridade entre algumas palavras-semestes do WordNet e propagaram essa polaridade nas palavras
similares da WordNet criando um amplo léxico de sentimentos.
O LIWC é uma ferramenta bem estabelecida e utilizada em diversas áreas, e contou com o aval de
psicólogos, sociólogos e linguistas durante seu desenvolvimento. Ela possui um dicionário léxico de
LIWC [Tausczik and Pennebaker, 2010] X
aproximadamente 4500 palavras e raízes de palavras, fazendo parte de oitenta categorias das mais
variadas(ansiedade, saúde, lazer, etc).
SenticNet é um dicionário semântico e afetivo para opinião em nível de conceito e análise de
sentimento. Ele foi construído através do que é denominado pelos autores de sentic computing, um
SenticNet [Cambria et al., 2010] pardigma que explora Inteligência Artificial e técnicas de Web semântica para processar opiniões via X
mineração de grafos e redução de dimensionalidade. Ele é público e provê um bom material para
mineração de opniões em nível semântico e não apenas sintático.
É um léxico contruído a partir do ANEW mas com o foco em redes sociais, contendo gírias e
AFINN [Nielsen, 2011b] acrônimos e palavrões da lingua Inglesa. Ele possui uma lista de 2.477 termos classificados entre X
-5(mais negativo) e +5(mais positivo).
É um método léxico que leva em conta a orientação semântica das palavras(SO). Criado contendo
SO-CAL [Taboada et al., 2011] unigramas (verbos, advérbios, substanticos e adjetivos) e multi-gramas (intensificadores e frases) X
numa escala entre + 5 e -5. Os autores também incluíram analisador de partes do discurso e negação.
É um léxico que possui termos gerados a partir de uma extensa base de dados do Twitter. Estes
Emoticons DS (Distant
termos foram classificados automáticamente baseando-se na frequência de emoticons positivos ou X
Supervision)[Hannak et al., 2012]
negativos nas sentenças.
É um léxico que utilizam a técnica de supervisionamento distante para classificar seus termos. De
NRC Hashtag [Mohammad, 2012] forma geral ele classifica os termos provenientes do Twitter considerando as hashtags que o X
contém(i.e #joy, #sadness, etc).
É um pacote da linguagem python para lidar com processamento de linguagem natural. Um de seus
Pattern.en
módulos é responsável para inferir o sentimento no texto. Criado para ser rápido ele é baseado em X
[De Smedt and Daelemans, 2012]
polaridades associadas ao WordNet.
Foi criado para detectar sentimentos no Twitter durante as eleições presidênciais de 2012 nos
SASA [Wang et al., 2012] Estados Unidos. Ele foi contruído apartir de modelos estatístico do classificador Naïve Bayes em X
cima de unigramas classificados. Ele também explora emoções em emoticons e exclamações.
Tem como objetivo inicial detectar as flutuações de humor dos usuários no Twitter. O método é um
léxico adaptado a partir de uma versão adaptada do PANAS Positive Affect Negative Affect Scale
PANAS-t [Gonçalves et al., 2013] X
[Watson and Clark, 1985]. O PANAS é uma conhecida escala psicométrica que possue um grande
conjunto de palavras associadas a 11 diferentes tipos de humor (surpresa, medo, etc).
É um léxico criado a partir do Amazon Mechanical Turk, no qual pessoas foram pagas para
classificar os termos. Cada entrada esta associada a 8 sentimentos básicos em inglês: joy, sadness,
EmoLex [Mohammad and Turney, 2013] X
anger, etc definidos por [Plutchik, 1980]. A base do Emolex foi contruída utilizando termos do
Macquarie Thesaurus e palavras do General Inquirer e do Wordnet.
Foi construído para inferir a nota de avaliação de comentários dos usuários de produtos utilizando
SANN
análise de sentimentos. Os comentários foram integrados em um classificador (kNN) ou K-Vizinhos X X
[Pappas and Popescu-Belis, 2013]
mais próximos.
Sentiment140 Lexicon É um léxico criado de maneira similar ao NRC Hashtag [Mohammad, 2012]. Foi utilizado um
X
[Mohammad et al., 2013] classificador SVM que utilizava features como: número e categoria de emoticons
SentiStrength [Thelwall, 2013] Builds a lexicon dictionary annotated by humans and improved with the use of Machine Learning. X X
Tem como proposta uma variação do modelo de redes neurais chamadas Redes Neurais Recursivas
Stanford Recursive Deep Model que processa todas as sentenças procurando identificar sua estrutura e computar suas interações. É
X X
[Socher et al., 2013] uma abordagem interes pois a técnica leva em consideração a ordem das palavras na sentença por
exemplo, que é ignorada por vários métodos.
Pertence a fámilia de léxicos e foi proposto para detectar sentimentos no Twitter, alé de
subjetividade. O método utiliza diversos recursos linguísitivos como onomatopéias, exclamações,
Umigon [Levallois, 2013] X
emoticons, etc. Ele possui heurísticas responsáveis para disambiguar o texto baseada em negações
palavras alongadas e hashtags.
Possui como base um dicionário léxico criado a partir de uma lista de palavras com base em
dicionários já bem estebelecidos como LIWC, ANEW e GI. Em seguida, foram adicionadas
Vader [Hutto and Gilbert, 2014b] X
construções léxicas presentes em microblogs tais como emoticons, acrônimos e gírias que expressam
sentimentos.
Tabela 1.3. Métodos para análise de sentimentos em sentença - Saída e Comparações.
Nome Saída Validação Comparado a
Emoticons -1, 1 - -
Opinion Lexicon -1, 0, 1 Reviews de produtos da Amazon e CNET -
Opinion Finder Comparado com versões diferentes do
Negative, Neutral, Positive MPQA [Wiebe et al., 2005]
(MPQA) próprio Opinion Finder.
Letras de músicas, Blogs, Mensagens
Happiness Index 1, 2, 3, 4, 5, 6, 7, 8, 9 -
oficiais do governo,
SentiWordNet -1, 0, 1 - General Inquirer (GI)[Stone et al., 1966]
LIWC negEmo, posEmo - -
SenticNet Negative, Positive Opiniões de pacientes (Indisponível) SentiStrength [Thelwall, 2013]
OpinonFinder [Wilson et al., 2005a],
ANEW [Bradley and Lang, 1999], GI
AFINN -1, 0, 1 Twiter [Biever, 2010]
[Stone et al., 1966] e Sentistrength
[Thelwall, 2013]
MPQA[Wiebe et al., 2005],
GI[Stone et al., 1966], SentiWordNet
Epinion [Taboada et al., 2006a],
[Esuli and Sebastiani, 2006], Dicionário
SO-CAL [<0), 0, (>0] MPQA[Wiebe et al., 2005],
"Maryland"[Mohammad et al., 2009],
Myspace[Thelwall, 2013],
Dicionário gerado pelo Google
[Taboada et al., 2006b]
Emoticons DS (Distant Validação com dataset não rotulado do
-1, 0, 1 -
Supervision) twitter [Cha et al., 2010]
Twitter (SemEval-2007)
NRC Hashtag -1, 0, 1 -
[Strapparava and Mihalcea, 2007]
Reviews de produtos sem especificação
Pattern.en <0.1, ≥0.1] -
da fonte
SASA Negative, Neutral, Unsure, Tweets “Políticos” rotulados por
-
[Wang et al., 2012] Positive “turkers” (AMT) (indisponível)
Validação com dataset não rotulado do
PANAS-t -1, 0, 1 -
twitter [Cha et al., 2010]
Comparado com dados padrão ouro
EmoLex -1, 0, 1 -
porém não foram especificados
Comparação com outras abordagens de
SANN neg, neu, pos Seu próprio dataset - Ted Talks
recomendação multimídia.
Twitter e SMS (Semeval 2013, tarefa 2) Outras ferramentas apresentadas no
Sentiment140 Negative, Neutral, Positive
[Nakov et al., 2013]. Semeval 2013
Seus próprios datasets - Twitter, Youtube,
Com as 9 melhoras técnicas de
SentiStrength -1,0,1 Digg, Myspace, BBC Forums and
Aprendizado de Máquina para cada teste.
Runners World.
Stanford Recursive very negative, negative, Naïve Bayes e SVM com features
Movie Reviews [Pang and Lee, 2004]
Deep Model neutral, positive, very positive unigrama e bigrama.
Twitter e SMS (Semeval 2013, tarefa 2)
Umigon Negative, Neutral, Positive [Mohammad et al., 2013]
[Nakov et al., 2013].
(GI)[Stone et al., 1966], LIWC,
[Tausczik and Pennebaker, 2010],
Seus próprios datasets - Twitter, Reviews SentiWordNet
Vader -1, 0, 1 de Filmes, Reviews Técnicos de [Esuli and Sebastiani, 2006], ANEW
Produtos, Opiniões de usuários do NYT. [Bradley and Lang, 1999], SenticNet
[Cambria et al., 2010] e outras
abordagens de Aprendizado de Máquina.
1.4. Comparação entre Métodos
A grande aplicabilidade da análise de sentimentos em diversos segmentos tem levado
uma série de empresas e pesquisadores de áreas distintas a investirem tempo e dinheiro
em soluções que fazem interface com esta linha de pesquisa. É comum encontrar traba-
lhos que utilizam algum dos métodos para análise de sentimentos disponíveis atualmente
como ferramenta para a produção de artefatos posteriormente aplicados a uma situação
específica.
Os pesquisadores do Facebook, em um experimento polêmico [Kramer et al., 2014],
utilizaram o LIWC [Tausczik and Pennebaker, 2010] para definir a polaridade das posta-
gens em sua rede social e limitar a exibição de postagens com conteúdo apenas nega-
tivo na linha do tempo de um grupo de usuários e apenas positivo na linha do tempo
de outro grupo. O objetivo, um tanto quanto controverso, era verificar a ocorrência de
contágio emocional em redes sociais, ou seja, definir o quanto postagens negativas ou
positivas influenciam no humor e nas futuras postagens de quem as lê. O Sentistrength
[Thelwall, 2013] foi utilizado para o desenvolvimento de uma ferramenta chamada Mag-
net News, que permite aos leitores de jornais escolher se desejam ler notícias boas ou
notícias ruins [Reis et al., 2014] enquanto o OpinionFinder foi utilizado, por exemplo,
para definir a polaridade de postagens em blogs [Chenlo and Losada, 2011].
Assim como nos exemplos citados acima, muitos dos métodos existentes vem
sendo empregados no desenvolvimento de aplicações sem um entedimento concreto da
sua aplicabilidade em diferentes contextos, suas vantagens, limitações e eficiência com-
parado aos demais métodos. Alguns autores executaram alguns experimentos prévios
para definir o melhor método a ser usado, como no caso do Magnet News, no entanto, a
utilização caixa-preta sem preocupação explícita com os aspectos mencionados anterior-
mente é ocorre na maioria dos casos. Além disso, em uma análise minuciosa dos trabalhos
em que são apresentados os métodos percebe-se que não existe um esforço no sentido de
comparar o novo método proposto com métodos apresentados anteriormente.
Um esforço prévio no sentido de comparar métodos foi conduzido recentemente
[Goncalves et al., 2013], no entanto, diversos métodos com novas abordagens e bons re-
sultados tem sido apresentados recentemente e não encontra-se disponível na literatura
um benchmark padronizado para compará-los. Com o objetivo de preencher esta lacuna,
foi conduzida a construção de um benchmark de comparação entre os principais métodos
disponíveis atualmente. Uma primeira etapa consistiu de um extensa busca na litera-
tura relacionada por conjuntos de dados (datasets rotulados também chamados de dados
padrão ouro (Golden Standard Data). Tais dados são compostos por sentenças cuja po-
laridade foi definida previamente de maneira precisa, em geral, realizada por humanos.
Para medir-se a qualidade de um método de maneira abrangente é preciso de uma quan-
tidade razoável de sentenças previamente rotuladas. A tabela 1.4 apresenta detalhes de
vinte datasets rotulados com sentenças provenientes de diversos contextos como comentá-
rios em sites de notícias (Comments_BBC e Commens_NYT) e vídeos (Comments_TED
e Comments_YTB), reviews de produtos e filmes (Amazon, Reviews_I e Reviews_II),
postagens em redes sociais e micoblogs (Myspace, Tweets_RND_I, etc) além de dois
pequenos datasets construídos pelos próprios autores contendo sentenças rotuladas para
tweets com hashtags #sarcasm (sarcasmo) e #irony (ironia) obtidos de uma amostra ale-
Tabela 1.4. Datasets Rotulados.
Dataset Nomeclatura # # # # # Médio # Médio # de
Msgs Pos Neg Neu de frases de palavras Aval.
Comments (BBC) Comments_BBC 1.000 99 653 248 3,98 64,39 3
[Thelwall, 2013]
Comments (Digg) Comments_Digg 1.077 210 572 295 2,50 33,97 3
[Thelwall, 2013]
Comments (NYT) Comments_NYT 5.190 2.204 2.742 244 1,01 17,76 20
[Hutto and Gilbert, 2014b]
Comments (TED) Comments_TED 839 318 409 112 1 16,95 6
[Pappas and Popescu-Belis, 2013]
Comments (Youtube) Comments_YTB 3.407 1.665 767 975 1,78 17,68 3
[Thelwall, 2013]
Reviews-Filmes Reviews_I 10.662 5.331 5.331 - 1,15 18,99 -
[Pang and Lee, 2004]
Reviews-Filmes Reviews_II 10.605 5.242 5.326 37 1,12 19,33 20
[Hutto and Gilbert, 2014b]
Posts Myspace Myspace 1.041 702 132 207 2,22 21,12 3
[Thelwall, 2013]
Reviews-Produtos Amazon 3.708 2.128 1.482 98 1,03 16,59 20
[Hutto and Gilbert, 2014b]
Tweets (Debate) Tweets_DBT 3.238 730 1.249 1.259 1,86 14,86 Indef.
[Diakopoulos and Shamma, 2010]
Tweets (Irony) Irony 100 38 43 19 1,01 17,44 3
(Rotulado pelos autores)
Tweets (Sarcasm) Sarcasm 100 38 38 24 1 15,55 3
(Rotulado pelos autores)
Tweets (Random) Tweets_RND_I 4.242 1.340 949 1.953 1,77 15,81 3
[Thelwall, 2013]
Tweets (Random) Tweets_RND_II 4.200 2.897 1.299 4 1,87 14,10 20
[Hutto and Gilbert, 2014b]
Tweets (Random) Tweets_RND_III 3.771 739 488 2.536 1,54 14,32 3
[Narr et al., 2012]
Tweets (Random) Tweets_RND_IV 500 139 119 222 1,90 15,44 Indef
[Aisopos, 2014]
Tweets (Specific domains w/ emot.) Tweets_STF 359 182 177 - 1,0 15,1 Indef.
[Go et al., 2009b]
Tweets (Specific topics) Tweets_SAN 3737 580 654 2503 1,60 15,03 1
[Sanders, 2011]
Tweets (Semeval2013 Task2) Tweets_Semeval 6.087 2.223 837 3.027 1,86 20,05 5
[Nakov et al., 2013]
Runners World forum RW 1.046 484 221 341 4,79 66,12 3
[Thelwall, 2013]
atória. A tabela detalha o número de sentenças positivas, negativas e neutras para cada
dataset além da média de palavras e frases presentes na sentenças. Além disso, a tabela
destaca uma nomenclatura que é utilizada no texto e o número de avaliadores responsá-
veis por determinar a polaridade de cada sentença. Note que em alguns casos o número
de avaliadores não é disponível (Indef.) e no caso do dataset Reviews_I, a polaridade da
sentença foi definida com base na nota dada ao filme pelo usuário.
1.4.2. Métricas
Um aspecto chave na avaliação dos métodos para a análise de sentimentos diz respeito às
métricas utilizadas. Neste contexto, três métricas principais são comumente empregadas
para validar a eficiência de um método: acurácia, precisão e revocação.
A acurácia indica o percentual de sentenças corretamente classificadas, isto é, a
soma acertos de todas as classes dividido pelo número total sentenças classificadas. Note
que a acurácia, por si só, pode não ser uma métrica eficaz uma vez que, conhecendo-
se previamente a prevalência de classe em determinado contexto, basta atribuir a cada
sentença decodificada a classe de maior ocorrência e obter-se-á boa acurácia.
Já a precisão é calculada para cada classe individualmente e evidencia o percen-
tual de sentenças corretamente classificadas para aquela classe. Ou seja, basta dividir os
acertos da classe pela quantidade de elementos classificados como pertencendo àquela
classe. Um alto valor de precisão também pode ser ilusório no caso em que muitos ele-
mentos da classe não são classificados como pertencendo à classe. Imagine uma situação
em que existam 100 sentenças positivas e 100 sentenças negativas no conjunto de dados, e
o método em questão tenha atribuído como sendo positivas apenas 10 sentenças das quais
9 eram corretas. A precisão será 90%, contudo do total de 100 sentenças positivas apenas
9% foram corretamente definidas. A revocação tem como funcionalidade dar indícios da
situação explicitada anteriormente e é calculada justamente pelo total de sentenças corre-
tamente classificadas para uma classe sobre o total de sentenças desta classe na base de
dados.
De fato, precisão e revocação em conjunto dão boas indicações da eficiência de
um método em predizer a polaridade de sentenças, sendo assim, utiliza-se também a F1-
Score que nada mais é a média harmônica das duas métricas anteriores. Formalmente, as
métricas para o experimento 3-classes são calculadas como pode ser apresentado na tabela
a seguir. O cálculo das métricas para o experimento 2-classes segue o mesmo princípio,
eliminando-se a classe neutra.
Predição
Positiva Neutra Negativa
Positiva a b c
Correto Neutra d e f
Negativa g h i
Cada letra na tabela acima representa o número de instâncias de texto cuja classe
correta é X e cuja predição é a classe Y, onde X:Y ∈ positive; neutral; negative. A
revocação (R) da classe X é a taxa de número de elementos corretamente classificados
pelo total de elementos na classe X. Já a precisão (P) de uma classe X é taxa de número de
elementos classificados corretamente pelo total de elementos classificadosc omo sendo da
X. Por exemplo, a precisão da classe negativa é computada como: P(neg) = i/(c + f + i);
enquanto a revocação é: R(neg) = i/(g + h + i); e o F1 é a média harmônica entre ambos
precisão e revocação. Neste caso F1(neg) = 2P(neg)·R(neg)
P(neg)+R(neg) .
a+e+i
A acurácia global é calculada pela seguinte fórmula: A = a+b+c+d+e+ f +g+h+i .
Ela considera igualmente importante a correta classificação de cada sentença, indepen-
dente da classe, ou seja, ela mede basicamente a capacidade de um método predizer uma
entrada corretamente. Por fim, utilizou-se também a Macro-F1, utilizada para medir a
efetividade global de classificação já que a F1 aplica-se a cada classe individualmente.
A Macro-F1 é calculada com base na média das medidas F1 de cada classe separada-
mente, independente do tamanho relativo de cada classe. Desta forma, a acurácia global
e a Macro-F1 fornecem parâmetros complementares para a verificação da efetividade de
classificação de um método. A Macro-F1 é especialmente importante quando a distribui-
ção entre classes é enviesada permitindo verificar a capacidade do método de obter bons
resultados em classes com pequenas quantidades de sentença.
Como forma de permitir uma comparação global entre os métodos foi utilizado
um critério de comparação simples mas que permite ter uma ideia interessante da perfor-
mance. A métrica é basicamente o rank médio em que um método ficou em cada dataset.
Por exemplo, se um método ficou em primeiro lugar, ou seja no rank 1, em todos os da-
tasets, seu rank médio será, obviamente 1. Para realizar este cálculo bastou somar o rank
do dataset em cada dataset e divir pela quantidade de datasets utilizados no experimento.
1.4.3. Resultados
Por questões de espaço apenas alguns dos resultados serão exibidos, porém os resultados
completos estão disponíveis na Web 5 .
5 http://homepages.dcc.ufmg.br/~fabricio/benchmark_sentiment_analysis.
html
Tabela 1.5. Resultados do experimento com 3-classes para 4 datasets
Sentimento Posit. Sentimento Negat. Sentimento Neut.
Dataset Method Acur. MacroF1
P R F1 P R F1 P R F1
AFINN 62,36 61,10 70,09 65,28 44,08 31,91 37,02 71,43 58,57 64,37 55,56
Emolex 48,74 48,15 62,71 54,47 31,27 17,71 22,61 57,90 41,30 48,21 41,76
Emoticons DS 36,59 36,55 100,00 53,53 75,00 0,08 0,16 100,00 0,03 0,07 17,92
Happiness Index 48,81 43,61 65,27 52,29 36,96 7,54 12,53 36,82 45,16 40,56 35,13
NRC Hashtag 36,95 42,04 75,03 53,88 24,57 16,94 20,05 53,33 3,70 6,92 26,95
Tweets Opinion Finder 57,63 67,57 27,94 39,53 40,75 48,62 44,34 58,20 86,06 69,44 51,10
_SemEval Opinion Lexicon 60,37 62,09 62,71 62,40 41,19 34,18 37,36 66,41 60,75 63,46 54,41
PANAS-t 53,08 90,95 9,04 16,45 51,56 62,26 56,41 51,65 99,01 67,89 46,92
Pattern.en 50,19 58,07 68,47 62,84 24,68 29,82 27,01 67,73 35,22 46,34 45,40
SANN 54,77 52,72 47,59 50,02 38,91 20,92 27,21 58,95 66,90 62,67 46,64
SASA 50,63 46,34 47,77 47,04 33,07 12,14 17,76 56,39 61,12 58,66 41,15
SO-CAL 58,83 58,89 59,02 58,95 40,39 33,14 36,41 39,89 59,96 47,91 47,76
SentWordNet 48,33 55,54 53,44 54,47 19,67 24,82 21,95 61,22 47,57 53,54 43,32
SentiStrength 57,83 78,01 27,13 40,25 47,80 53,55 50,52 55,49 89,89 68,62 53,13
SenticNet 39,90 39,81 86,55 54,54 31,85 8,98 14,01 38,18 7,20 12,12 26,89
Sentiment140 42,25 0,00 0,00 0,00 26,79 100,00 42,25 50,57 66,14 57,31 33,19
Stanford DM 0,23 0,72 0,18 0,29 0,15 0,91 0,26 0,47 0,07 0,12 0,22
Umigon 65,88 75,18 56,14 64,28 39,66 53,18 45,44 70,65 75,78 73,13 60,95
Vader 60,05 56,08 79,26 65,68 44,13 26,60 33,19 76,88 46,02 57,57 52,15
AFINN 64,41 40,81 72,12 52,13 49,67 28,29 36,05 85,95 62,54 72,40 53,53
Emolex 54,76 31,67 59,95 41,44 40,14 19,53 26,27 77,48 54,64 64,08 43,93
Emoticons DS 20,34 19,78 99,46 33,00 62,07 0,60 1,19 53,85 0,55 1,09 11,76
Happiness Index 55,16 29,13 61,98 39,64 50,65 9,50 16,01 43,35 59,16 50,03 35,23
NRC Hashtag 30,47 28,25 77,40 41,39 24,18 19,59 21,64 79,08 8,77 15,78 26,27
Opinion Finder 71,55 57,48 32,75 41,72 49,85 48,56 49,20 75,95 89,90 82,34 57,75
Opinion Lexicon 63,86 40,65 66,17 50,36 48,84 27,73 35,38 81,96 64,66 72,29 52,68
Tweets PANAS-t 68,79 79,49 8,39 15,18 48,57 51,52 50,00 68,75 98,86 81,10 48,76
_RND_III Pattern.en 53,57 36,25 76,86 49,26 35,19 22,50 27,45 84,20 45,68 59,23 45,31
SANN 66,88 42,70 48,71 45,51 46,35 26,93 34,07 77,99 77,99 77,99 52,52
SASA 55,37 29,42 54,53 38,22 42,46 19,28 26,52 78,30 57,15 66,08 43,60
SO-CAL 66,51 43,06 68,88 52,99 51,84 30,55 38,44 45,77 66,94 54,37 48,60
SentWordNet 55,85 37,42 58,19 45,55 24,04 19,57 21,58 79,25 59,00 67,64 44,92
SentiStrength 73,80 70,94 41,95 52,72 57,53 49,80 53,39 75,35 92,26 82,95 63,02
SenticNet 33,47 23,66 86,60 37,17 41,47 10,06 16,19 43,44 15,37 22,71 25,36
Sentiment140 55,05 0,00 0,00 0,00 28,14 100,00 43,92 71,14 66,00 68,47 37,46
Stanford DM 31,90 64,48 38,57 48,26 15,58 72,55 25,65 75,64 19,77 31,35 35,09
Umigon 74,12 57,67 70,23 63,33 48,83 46,71 47,75 88,80 76,34 82,10 64,39
Vader 59,82 37,52 81,73 51,43 47,99 24,25 32,22 89,26 52,28 65,94 49,86
AFINN 50,10 16,22 60,61 25,59 82,62 54,14 65,42 40,11 30,24 34,48 41,83
Emolex 44,10 15,51 65,66 25,10 83,19 45,62 58,93 35,27 31,85 33,47 39,17
Emoticons DS 10,00 9,85 98,99 17,92 66,67 0,22 0,44 0,00 0,00 0,00 9,18
Happiness Index 33,60 11,83 64,65 20,00 84,93 28,05 42,18 26,46 34,68 30,02 30,73
NRC Hashtag 64,00 20,72 23,23 21,90 70,20 87,13 77,76 52,50 8,47 14,58 38,08
Comments Opinion Finder 51,80 14,96 35,35 21,02 78,76 66,39 72,04 33,71 36,29 34,95 42,67
_BBC Opinion Lexicon 55,00 20,67 62,63 31,08 85,27 61,98 71,79 40,82 40,32 40,57 47,81
PANAS-t 27,10 16,67 6,06 8,89 75,61 50,82 60,78 25,35 94,35 39,97 36,55
Pattern.en 46,00 14,39 58,59 23,11 77,30 49,93 60,67 38,16 23,39 29,00 37,59
SANN 40,10 14,50 59,60 23,32 79,49 41,61 54,63 33,45 37,90 35,54 37,83
SASA 38,20 17,03 47,47 25,07 70,75 50,86 59,18 25,19 39,52 30,77 38,34
SO-CAL 55,50 20,88 57,58 30,65 80,47 65,61 72,28 28,57 34,68 31,33 44,75
SentWordNet 42,40 14,90 59,60 23,84 81,63 44,57 57,66 34,56 37,90 36,15 39,22
SentiStrength 44,20 47,37 18,18 26,28 86,64 91,45 88,98 29,37 84,68 43,61 52,96
SenticNet 27,90 11,91 88,89 21,00 82,69 20,90 33,37 26,39 7,66 11,88 22,08
Sentiment140 50,60 0,00 0,00 0,00 73,23 100,00 84,54 28,60 58,47 38,41 40,98
Stanford DM 65,50 43,37 36,36 39,56 71,01 92,54 80,36 37,50 14,52 20,93 46,95
Umigon 45,70 28,35 36,36 31,86 76,35 74,65 75,49 29,31 61,69 39,74 49,03
Vader 49,10 15,96 71,72 26,10 82,57 49,05 61,54 50,42 24,19 32,70 40,11
AFINN 42,45 64,81 41,79 50,81 80,29 68,59 73,98 7,89 77,87 14,32 46,37
Emolex 42,97 55,12 53,72 54,41 75,35 48,67 59,14 7,22 54,10 12,74 42,10
Emoticons DS 42,58 42,55 99,77 59,66 78,57 0,37 0,73 0,00 0,00 0,00 30,20
Happiness Index 31,81 48,42 50,18 49,29 71,70 25,96 38,12 5,36 54,10 9,76 32,39
NRC Hashtag 54,84 55,38 45,74 50,10 61,55 68,92 65,03 8,33 15,16 10,76 41,96
Opinion Finder 29,38 68,77 18,78 29,51 76,52 82,66 79,47 6,29 88,11 11,75 40,24
Comments Opinion Lexicon 44,57 65,95 43,15 52,17 79,81 70,65 74,95 7,94 73,77 14,34 47,15
_NYT PANAS-t 5,88 69,23 1,23 2,41 62,07 75,00 67,92 4,75 99,18 9,07 26,47
Pattern.en 45,39 55,15 44,69 49,37 63,65 61,12 62,36 7,85 45,90 13,41 41,71
SANN 27,92 56,74 29,40 38,73 78,02 55,13 64,61 5,93 79,51 11,04 38,13
SASA 30,04 49,92 30,13 37,58 59,11 52,83 55,80 5,74 61,07 10,49 34,62
SO-CAL 50,79 64,36 51,13 56,99 77,25 68,36 72,53 8,68 65,98 15,34 48,29
SentWordNet 32,20 57,35 34,53 43,10 70,31 56,63 62,73 6,08 70,08 11,19 39,01
SentiStrength 33,61 80,45 33,65 47,45 75,25 74,51 74,88 16,36 88,39 27,62 49,98
SenticNet 46,48 42,99 87,74 57,70 70,13 22,59 34,18 7,69 2,68 3,97 31,95
Sentiment140 34,66 0,00 0,00 0,00 65,76 100,00 79,34 5,83 64,34 10,69 30,01
Stanford DM 51,93 73,39 21,14 32,83 59,48 92,67 72,46 9,65 38,11 15,40 40,23
Umigon 24,08 68,76 16,38 26,46 68,78 80,38 74,13 5,88 88,93 11,04 37,21
Vader 48,84 61,96 52,40 56,78 80,09 63,00 70,52 9,51 70,90 16,77 48,03
A tabela 1.5 apresenta os resultados do experimento 3-classes para 4 datasets dis-
tintos: Tweets_Semeval, Tweets_RND_III, Comments_BBC e Comments_NYT. Pode-se
perceber que não existe um método que sempre obtem a melhor predição em diferentes
datasets. O Umigon, apesar de ter ganhado em todos os datasets de twitter no experimento
3-classes, ficou em quarto lugar geral para os mesmos experimentos conforme table 1.6
e no dataset Comments_NYT acabou ficando na décima terceira posição, com macro F1
bem inferior à dos primeiros colocados. Isto sugere que uma investigação preliminar deve
ser conduzida quando se utilizar um novo dataset. Outra constatação interessante é a per-
manência dos mesmos cinco métodos melhores classificados em ambos experimentos:
Sentistrength, AFINN, OpinionLexion, Umigon e Vader.
2 Classes 3 Classes
Método Rank médio Método Rank médio
SentiStrength 3,4 SentiStrength 1,5
AFINN 3,5 Opinion Lexicon 4,2
Opinion Lexicon 3,7 SO-CAL 4,4
Umigon 4,2 AFINN 5,1
Vader 5,4 Vader 6,0
SO-CAL 5,5 Umigon 6,3
Opinion Finder 8,1 PANAS-t 8,15
Pattern.en 8,4 Pattern.en 8,2
SANN 9,6 Opinion Finder 9,65
SentWordNet 10 Emolex 10,1
Emolex 10,2 SANN 10,5
Stanford DM 11,8 Stanford DM 11,6
SASA 13,1 NRC Hashtag 11,8
NRC Hashtag 13,75 SentWordNet 12,4
PANAS-t 14,2 SASA 13
Sentiment140 15,1 Happinness Index 15,2
Happinness Index 15.2 SenticNet 15,2
SenticNet 16,2 Sentiment140 18
Emoticons DS 18,7 Emoticons DS 18,5
1.4.4. Abordagem Multilíngue
[std, 2015] (2015). The stanford natural language processing group. http://nlp.
stanford.edu/software/tagger.shtml. Accessed September 23, 2015.
[Aisopos, 2014] Aisopos, F. (2014). Manually annotated sentiment analysis twitter data-
set ntua. www.grid.ece.ntua.gr.
[Araújo et al., 2014] Araújo, M., Gonçalves, P., Cha, M., and Benevenuto, F. (2014).
ifeel: A system that compares and combines sentiment analysis methods. In Proce-
edings of the companion publication of the 23rd international conference on World
wide web companion, pages 75–78. International World Wide Web Conferences Stee-
ring Committee.
[Baccianella et al., 2010] Baccianella, S., Esuli, A., and Sebastiani, F. (2010). Sentiword-
net 3.0: An enhanced lexical resource for sentiment analysis and opinion mining. In
Calzolari, N., Choukri, K., Maegaard, B., Mariani, J., Odijk, J., Piperidis, S., Rosner,
M., and Tapias, D., editors, LREC. European Language Resources Association.
[Biever, 2010] Biever, C. (2010). Twitter mood maps reveal emotional states of america.
The New Scientist, 207.
[Bollen et al., 2010] Bollen, J., Mao, H., and Zeng, X. (2010). Twitter mood predicts the
stock market. CoRR, abs/1010.3003.
[Bradley and Lang, 1999] Bradley, M. M. and Lang, P. J. (1999). Affective norms for
English words (ANEW): Stimuli, instruction manual, and affective ratings. Technical
report, Center for Research in Psychophysiology, University of Florida.
[Cambria et al., 2010] Cambria, E., Speer, R., Havasi, C., and Hussain, A. (2010). Sen-
ticnet: A publicly available semantic resource for opinion mining. In AAAI Fall Sym-
posium Series.
[Cha et al., 2010] Cha, M., Haddadi, H., Benevenuto, F., and Gummadi, K. P. (2010).
Measuring user influence in twitter: The million follower fallacy. In International
AAAI Conference on Weblogs and Social Media (ICWSM).
[Chenlo and Losada, 2011] Chenlo, J. M. and Losada, D. E. (2011). Effective and effi-
cient polarity estimation in blogs based on sentence-level evidence. In Proceedings of
the 20th ACM International Conference on Information and Knowledge Management,
CIKM ’11, pages 365–374, New York, NY, USA. ACM.
[Cortes and Vapnik, 1995] Cortes, C. and Vapnik, V. (1995). Support-vector networks.
Mach. Learn., 20(3):273–297.
[De Choudhury et al., 2014] De Choudhury, M., Counts, S., Horvitz, E. J., and Hoff,
A. (2014). Characterizing and predicting postpartum depression from shared facebook
data. In Proceedings of the 17th ACM Conference on Computer Supported Cooperative
Work & Social Computing, CSCW ’14, pages 626–638, New York, NY, USA.
ACM.
[De Smedt and Daelemans, 2012] De Smedt, T. and Daelemans, W. (2012). Pattern for
python. The Journal of Machine Learning Research, 13(1):2063–2067.
[Diakopoulos and Shamma, 2010] Diakopoulos, N. and Shamma, D. (2010). Characte-
rizing debate performance via aggregated twitter sentiment. In Proc. CHI.
[Dodds and Danforth, 2009] Dodds, P. S. and Danforth, C. M. (2009). Measuring the
happiness of large-scale written expression: songs, blogs, and presidents. J. of Happi-
ness Studies, 11.
[Esuli and Sebastiani, 2006] Esuli and Sebastiani (2006). Sentiwordnet: A publicly avai-
lable lexical resource for opinion mining. In Proc. LREC.
[Feldman, 2013] Feldman, R. (2013). Techniques and applications for sentiment analy-
sis. Communications of the ACM, 56(4):82–89.
[Go et al., 2009a] Go, A., Bhayani, R., and Huang, L. (2009a). Twitter sentiment classi-
fication using distant supervision. Processing.
[Go et al., 2009b] Go, A., Bhayani, R., and Huang, L. (2009b). Twitter sentiment classi-
fication using distant supervision. Processing.
[Goncalves et al., 2013] Goncalves, P., Araujo, M., Benevenuto, F., and Cha, M. (2013).
Comparing and combining sentiment analysis methods. In Proc. COSN.
[Gonçalves et al., 2013] Gonçalves, P., Benevenuto, F., and Cha, M. (2013). PANAS-t:
A Pychometric Scale for Measuring Sentiments on Twitter. abs/1308.1857v1.
[Hannak et al., 2012] Hannak, A., Anderson, E., Barrett, L. F., Lehmann, S., Mislove,
A., and Riedewald, M. (2012). Tweetin’ in the rain: Exploring societal-scale effects of
weather on mood. In ICWSM.
[Hu and Liu, 2004] Hu, M. and Liu, B. (2004). Mining and summarizing customer revi-
ews. Proc. KDD’04, pages 168–177.
[Hutto and Gilbert, 2014a] Hutto, C. and Gilbert, E. (2014a). Vader: A parsimonious
rule-based model for sentiment analysis of social media text.
[Hutto and Gilbert, 2014b] Hutto, C. J. and Gilbert, E. (2014b). Vader: A parsimonious
rule-based model for sentiment analysis of social media text. In ICWSM.
[Jones, 2004] Jones, K. S. (2004). Idf term weighting and ir research lessons. Journal of
Documentation, 60(5):521–523.
[Kramer et al., 2014] Kramer, A. D. I., Guillory, J. E., and Hancock, J. T. (2014). Ex-
perimental evidence of massive-scale emotional contagion through social networks.
Proceedings of the National Academy of Sciences of the United States of America,
111(24):8788–90.
[Levallois, 2013] Levallois, C. (2013). Umigon: sentiment analysis for tweets based on
terms lists and heuristics. In Second Joint Conference on Lexical and Computational
Semantics (*SEM), Volume 2: Proceedings of the Seventh International Workshop on
Semantic Evaluation (SemEval 2013), pages 414–417, Atlanta, Georgia, USA. Asso-
ciation for Computational Linguistics.
[Miller, 1995] Miller, G. A. (1995). Wordnet: a lexical database for english. Communi-
cations of the ACM, 38.
[Mohammad et al., 2009] Mohammad, S., Dunne, C., and Dorr, B. (2009). Generating
high-coverage semantic orientation lexicons from overtly marked words and a thesau-
rus. In Proceedings of the 2009 Conference on Empirical Methods in Natural Lan-
guage Processing: Volume 2 - Volume 2, EMNLP ’09, pages 599–608, Stroudsburg,
PA, USA. Association for Computational Linguistics.
[Mohammad et al., 2013] Mohammad, S. M., Kiritchenko, S., and Zhu, X. (2013). Nrc-
canada: Building the state-of-the-art in sentiment analysis of tweets. In Proc. SemEval-
2013.
[Nakov et al., 2013] Nakov, P., Kozareva, Z., Ritter, A., Rosenthal, S., Stoyanov, V., and
Wilson, T. (2013). Semeval-2013 task 2: Sentiment analysis in twitter.
[Narr et al., 2012] Narr, S., Hülfenhaus, M., and Albayrak, S. (2012). Language-
independent twitter sentiment analysis. Knowledge Discovery and Machine Learning
(KDML), pages 12–14.
[Nielsen, 2011a] Nielsen, F. Å. (2011a). A new anew: Evaluation of a word list for
sentiment analysis in microblogs. arXiv preprint arXiv:1103.2903.
[Nielsen, 2011b] Nielsen, F. Å. (2011b). A new anew: Evaluation of a word list for
sentiment analysis in microblogs. arXiv preprint arXiv:1103.2903.
[Pang and Lee, 2004] Pang, B. and Lee, L. (2004). A sentimental education: Sentiment
analysis using subjectivity summarization based on minimum cuts. In Proc. Annual
meeting of ACL Conference.
[Pang et al., 2002] Pang, B., Lee, L., and Vaithyanathan, S. (2002). Thumbs up? sen-
timent classification using machine learning techniques. In Proceedings of EMNLP,
pages 79–86.
[Reis et al., 2015a] Reis, J., Araújo, M., Pereira, A. C., Benevenuto, F., and Gonçalves,
P. (2015a). Uma abordagem multilíngue para análise de sentimentos. In CSBC 2015 -
BraSNAM ().
[Reis et al., 2015b] Reis, J., Benevenuto, F., Vaz de Melo, P., Prates, R., Kwak, H., and
An, J. (2015b). Breaking the news: First impressions matter on online news. In Pro-
ceedings of the 9th International AAAI Conference on Web-Blogs and Social Media,
Oxford, UK.
[Reis et al., 2014] Reis, J., Goncalves, P., Vaz de Melo, P., Prates, R., and Benevenuto,
F. (2014). Magnet news: You choose the polarity of what you read. In International
AAAI Conference on Web-Blogs and Social Media.
[Sanders, 2011] Sanders, N. (2011). Twitter sentiment corpus by niek sanders. http:
//www.sananalytics.com/lab/twitter-sentiment/.
[Severyn and Moschitti, 2015] Severyn, A. and Moschitti, A. (2015). Twitter sentiment
analysis with deep convolutional neural networks. In Proceedings of the 38th Interna-
tional ACM SIGIR Conference on Research and Development in Information Retrieval,
SIGIR ’15, pages 959–962, New York, NY, USA. ACM.
[Socher et al., 2013] Socher, R., Perelygin, A., Wu, J., Chuang, J., Manning, C. D., Ng,
A. Y., and Potts, C. (2013). Recursive deep models for semantic compositionality over
a sentiment treebank. In Conf. on Empirical Methods in NLP.
[Stone et al., 1966] Stone, P. J., Dunphy, D. C., Smith, M. S., and Ogilvie, D. M. (1966).
The General Inquirer: A Computer Approach to Content Analysis. MIT Press.
[Taboada et al., 2006a] Taboada, M., Anthony, C., and Voll, K. (2006a). Methods for
creating semantic orientation dictionaries. In Conference on Language Resources and
Evaluation (LREC), pages 427–432.
[Taboada et al., 2006b] Taboada, M., Anthony, C., and Voll, K. (2006b). Methods for
creating semantic orientation dictionaries. In Conference on Language Resources and
Evaluation (LREC), pages 427–432.
[Taboada et al., 2011] Taboada, M., Brooke, J., Tofiloski, M., Voll, K., and Stede, M.
(2011). Lexicon-based methods for sentiment analysis. Comput. Linguist., 37(2):267–
307.
[Tausczik and Pennebaker, 2010] Tausczik, Y. R. and Pennebaker, J. W. (2010). The psy-
chological meaning of words: Liwc and computerized text analysis methods. J. of
Lang. and Soc. Psych., 29.
[Thelwall, 2013] Thelwall, M. (2013). Heart and soul: Sentiment strength detection
in the social web with sentistrength. http://sentistrength.wlv.ac.uk/
documentation/SentiStrengthChapter.pdf.
[Wang et al., 2012] Wang, H., Can, D., Kazemzadeh, A., Bar, F., and Narayanan, S.
(2012). A system for real-time twitter sentiment analysis of 2012 u.s. presidential
election cycle. In ACL System Demonstrations.
[Watson and Clark, 1985] Watson, D. and Clark, L. (1985). Development and validation
of brief measures of positive and negative affect: the panas scales. J. of Pers. and So.
Psych., 54.
[Wiebe et al., 2005] Wiebe, J., Wilson, T., and Cardie, C. (2005). Annotating expressions
of opinions and emotions in language. Language Resources and Evaluation, 1(2):0.
[Wilson et al., 2005a] Wilson, T., Hoffmann, P., Somasundaran, S., Kessler, J., Wiebe, J.,
Choi, Y., Cardie, C., Riloff, E., and Patwardhan, S. (2005a). Opinionfinder: a system
for subjectivity analysis. In HLT/EMNLP on Interactive Demonstrations.
[Wilson et al., 2005b] Wilson, T., Wiebe, J., and Hoffmann, P. (2005b). Recognizing
contextual polarity in phrase-level sentiment analysis. In ACL Conference on Empirical
Methods in Natural Language Processing.