Pós-Graduação em Ciência da Computação
“ASDP: Um Processo de Análise de Sentimento
em Debates Polarizados não Ideológicos”
Por
Francisco Assis Ricarte Neto
Dissertação de Mestrado
Universidade Federal de Pernambuco
[email protected]
www.cin.ufpe.br/~posgraduacao
RECIFE, FEVEREIRO/2014
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
FRANCISCO ASSIS RICARTE NETO
“ASDP: Um Processo de Análise de Sentimento em Debates
Polarizados não Ideológicos "
ESTE TRABALHO FOI APRESENTADO À PÓS-GRADUAÇÃO EM
CIÊNCIA DA COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA
UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO
PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA
COMPUTAÇÃO.
ORIENTADOR(A): Flávia de Almeida Barros
RECIFE, FEVEREIRO/2014
Catalogação na fonte
Bibliotecário Jefferson Luiz Alves Nazareno, CRB 4-1758
Ricarte Neto, Francisco Assis.
ADSP: um processo de análise de sentimento em
debates polarizados não ideológicos. – Recife: O
Autor, 2014.
121f. : fig.
Orientadora: Flávia de Almeida Barros.
Dissertação (Mestrado) - Universidade Federal de
Pernambuco. Cin. Ciência da computação , 2014.
Inclui referências e apêndice.
1. Ciência da computação . 2Inteligência Artificial. I.
Barros, Flávia de Almeida. (orientador). II. Título.
004
(22. ed.)
MEI 2014-55
Dissertação de Mestrado apresentada por Francisco Assis Ricarte Neto à Pós-Graduação
em Ciência da Computação do Centro de Informática da Universidade Federal de
Pernambuco, sob o título “ASDP: Um Processo de Análise de Sentimento em Debates
Polarizados não Ideológicos” orientada pela Profa. Flávia de Almeida Barros e
aprovada pela Banca Examinadora formada pelos professores:
______________________________________________
Profa. Patricia Cabral de Azevedo Restelli Tedesco
Centro de Informática / UFPE
______________________________________________
Prof. Raimundo Santos Moura
Departamento de Computação / UFPI
_______________________________________________
Profa. Flávia de Almeida Barros
Centro de Informática / UFPE
Visto e permitida a impressão.
Recife, 18 de fevereiro de 2014.
___________________________________________________
Profa. Edna Natividade da Silva Barros
Coordenadora da Pós-Graduação em Ciência da Computação do
Centro de Informática da Universidade Federal de Pernambuco.
À minha avó Maria Iracema (in memoriam), que foi e
sempre será minha referência para agir com
responsabilidade, dignidade e justiça.
Agradecimentos
Agradeço primeiramente a Deus, pois sem fé nele nada é possível. Às minhas amadas
mães Francimar (in memoriam) e Iracema (in memoriam) que sempre serão meus maiores
exemplos de vida. Sei que estão orgulhosas, e todas as minhas conquistas são dedicadas
inteiramente às senhoras.
À minha família que, apesar da distância, sempre está me incentivando aos estudos.
Agradeço em especial aos meus tios-pais Francira e Elio por todo os conselhos e suportes;
aos meus primos-irmãos Irapuá e Egbara que sempre me apoiaram.
À minha amada noiva Dracy por toda sua paciência, carinho e amor durante todo esse
tempo em que estive longe. Dificilmente esse trabalho seria concluído sem suas palavras
amorosas.
À minha orientadora Flavia, por toda sua atenção, incentivo e orientação. Seu
conhecimento e experiência foram decisivos no decorrer do mestrado. Serei eternamente
grato.
Às amizades formadas em Recife: Evandro, Elvio, Jean, Jefferson, Luiza, Raphael e
Társis.
E por fim, agradeço aos professores do Centro de Informática– UFPE, e do Departamento de Computação –UFPI , que contribuíram com minha formação acadêmica.
A todos, o meu muito obrigado.
Resumo
Cada vez mais, pessoas recorrem a reviews, fóruns ou redes sociais em busca de opiniões
sobre produtos e serviços, para embasar suas decisões. Contudo, a análise manual dessas
opiniões não é um processo trivial, devido à enorme quantidade de informações disponíveis. Outro problema comum são as opiniões falsas, ou propositadamente tendenciosas
sobre algum produto. Nestes casos, para se obter uma posição “confiável” dos usuário
acerca de algum item, é necessário buscar e analisar uma grande quantidade de opiniões.
Neste contexto, a Mineração de Opinião ou Análise de Sentimento (AS), vem auxiliar
os usuários que buscam opiniões na Web. A AS é a área de estudo que analisa opiniões,
sentimentos e emoções de pessoas acerca de algum tópico (produto, serviço, evento).
Este trabalho de Mestrado teve como objetivo principal a Análise de Sentimentos em
Debates Polarizados (e.g., iPhone x Blackberry), um domínio ainda pouco explorado pela
AS. O foco central é a classificação da postura dos participantes do debate (i.e., se apóiam
o produto A ou B). A partir dos resultados dessa análise, pode-se identificar, por exemplo,
que produto é o preferido no mercado. Contudo, esta é uma tarefa complexa, pois esses
debates são longos, e apresentam elementos que dificultam a classificação automática do
sentimento, tais como ironias ou ofensas direcionadas a outros participantes ou produtos.
Apresentamos aqui o ASDP, um Processo de Análise de Sentimento em Debates
Polarizados, com foco nos debates não ideológicos. Aqui, a classificação da postura dos
posts é feita com base na identificação de padrões linguísticos que foram observados
em corpora de debates polarizados. Esses padrões recuperam triplas do tipo <produto,
palavra opinativa, sentença>, que consideram o contexto de ocorrência dos termos para a
atribuição da classe do post. O ASDP também trata a ocorrência de referências anafóricas
e de concessões. O protótipo implementado conta ainda com um módulo para a criação
e análise de uma rede de replies em forma de grafo, a fim de auxiliar no processo de
classificação final da postura dos posts. Os resultados dos experimentos revelam taxas de
73,91% de acerto na classificação dos posts.
Os padrões linguísticos implementados neste trabalho foram desenvolvidos dentro da
abordagem de Sistemas Baseados em Conhecimento, o que torna fácil a reusabilidade
desta técnica em outros domínios, bem como garante uma fácil extensibilidade dos
padrões. Também foram desenvolvidas e utilizadas técnicas Linguísticas para auxiliar a
classificação dos posts dos debates.
Palavras-chave: Análise de Sentimento, Debates Polarizados, Postura do Post, Padrões
Linguísticos.
Abstract
Nowadays it is common for people to seek for opinions in online reviews, forums and
social networks to make their decisions. However, manual analysis of these opinions it is
not a trivial process due the huge amount of information available. Another problem are
fake or intentionally biased opinions about a product/service. In these cases, to obtain a
general “realible” stance about an item it is necessary to analyze a large amount of data.
In this context, the Opinion Mining or Sentiment Analysis (SA) has been assisting
users to find opinions on Web. SA is research area that analyzes opinions, emotions and
feelings of people about some topic (product, service, event).
This Master Thesis had as core objective to study the Sentiment Analysis on two-side
debates (e.g., iPhone vs. Blackberry) a field yet unexplored by SA. The goal is to provide
the classification of users stances on debate (i.e., which side they support, product A or
product B). From these results, one can identify for example, the preferred product in the
market. However, this is a complex task because these debates are too longs, and present
elements (e.g., irony, insults) that complicate even more the task of automatic sentiment
classification.
In this thesis we present ASDP, a process of sentiment analysis on two-side debates
focusing on non-ideological debates. The classification of posts stance is based on
linguistic patterns that were observed on corpora debate. These patterns extract triples
<product, opinion word, sentence> which are used to assignment the post stance. The
ASDP also treats of anaphora resolution, concessions and has a module for creating
and analyzing a graph of replies presents on debate, in order to assist the final stance
classification. The experiment results show 73,91% of precision on classification of posts.
The linguistics patterns implemented in this work were developed within approach
Knowledge Based, which makes quite simple the reusability of this technique in other
different domains as well as ensure easy extensibility of the patterns. Were also developed
and used linguistic techniques to assist the stance classification.
Keywords: Sentiment Analysis, Non-Ideological debates, stance, linguistic patterns
Lista de Figuras
Figura 2.1 Resultado comparativo entre duas câmeras digitais representadas
por cores distintas (Liu, 2012) . . . . . . . . . . . . . . . . . . . . . .
Figura 3.1 Exemplos de trechos argumentações polarizadas retirados de (Somasundaran e Wiebe, 2010). A coluna da esquerda apresenta o trecho da
argumentação positiva/negativa, e a coluna da direita mostra os marcadores de argumentação. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figura 3.2 Lista de atributos utilizados pelo classificador do trabalho de
(Walker et al., 2012). Na coluna da esquerda estão os atributos, e na
coluna da direita, existe uma breve explanação sobre cada um dos atributos.
Figura 3.3 Resultados do primeiro experimento desenvolvido em (Walker
et al., 2012). Os primeiros quatro debates que estão sobre a linha horizontal são debates não ideológicos. Na coluna da esquerda são apresentados
os valores das acurácias relacionadas aos atributos utilizados na classifiação. Os demais debates apresentados são ideológicos. . . . . . . . . . .
Figura 3.4 Resultados do segundo experimento desenvolvido em (Walker
et al., 2012). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figura 3.5 Exemplos de regras sintáticas utilizadas por Somasundaran e Weibe.
Figura 3.6 Resultados das probabilidades apresentadas no trabalho de Somasundaran e Weibe sobre o debate iPhone vs. Blackberry . . . . . . . . .
Figura 3.7 Resultados de Somasundaran e Wiebe (2009) . . . . . . . . . . .
Figura 3.8 Estrutura do léxico subjetivo MPQA com exemplos de palavras. .
Figura 3.9 Estrutura do léxico SentiWordNet contendo exemplos de palavras
opinativas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figura 4.1
Figura 4.2
Figura 4.3
Figura 4.4
Figura 4.5
Figura 4.6
Figura 4.7
Figura 4.8
Figura 4.9
Arquitetura geral do protótipo ASDP. . . . . . . . . . . . . . .
Arquitetura da etapa de pré-processamento do protótipo ASDP.
Lista de abreviações presentes na base de subtituição. . . . . .
Lista de contrações presentes na base de subtituição. . . . . . .
Lista de sinônimos presentes na base de subtituição. . . . . . .
Etiquetas presentes no POS-tagger de Stanford. . . . . . . . .
Arquitetura da etapa de classificação de sentimento do ASDP. .
Lista de expressões negativas . . . . . . . . . . . . . . . . . .
Lista de conectivos utilizados para a análise de concessões. . .
.
.
.
.
.
.
.
.
.
32
39
41
41
42
43
44
45
46
47
53
55
57
57
58
61
62
65
65
Figura 5.1
Rede de Replies do debate Playstation 3 vs. Nintendo Wii . . . .
89
Lista de Tabelas
Tabela 3.1 Quantidade de posts nos corpora de debates de Somasundaran e
Weibe (Somasundaran e Wiebe, 2009). . . . . . . . . . . . . . . . . . .
Tabela 5.1 Quantidade de posts extraídos por debate. . . . . . . . . . . . .
Tabela 5.2 Matriz de confusão para o cálculo do erro de classificação . . . .
Tabela 5.3 Matriz confusão da classificação dos posts do debate Firefox vs.
Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.4 Matriz confusão da classificação dos posts no debate Iphone vs.
Blackberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.5 Matriz confusão da classificação dos posts no domínio Opera vs.
Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.6 Matriz confusão da classificação dos posts no domínio Playstation
3 vs. Nintendo Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.7 Matriz confusão da classificação dos posts no domínio Playstation
3 vs. Xbox 360 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.8 Resultado da classificação por posts do debate Firefox vs. Internet
Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.9 Resultado da classificação por posts do debate Iphone vs. Blackberry
Tabela 5.10 Resultado da classificação por posts do debate Opera vs. Firefox
Tabela 5.11 Resultado da classificação por posts do debate Playstation 3 vs.
Nintendo Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.12 Resultado da classificação por posts do debate Firefox vs. Internet
Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.13 Resultado das classificações dos debates . . . . . . . . . . . . .
Tabela 5.14 Matriz confusão da classificação dos posts do debate Firefox vs.
Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.15 Matriz confusão da classificação dos posts no debate Iphone vs.
Blackberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.16 Matriz confusão da classificação dos posts no domínio Opera vs.
Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.17 Matriz confusão da classificação dos posts no domínio Playstation
3 vs. Nintendo Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.18 Matriz confusão da classificação dos posts no domínio Playstation
3 vs. Xbox 360 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
73
76
78
79
79
79
80
81
81
81
81
82
82
83
83
84
84
84
Tabela 5.19 Resultado da classificação por posts do debate Firefox vs. Internet
Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.20 Resultado da classificação por posts do debate Iphone vs. Blackberry
Tabela 5.21 Resultado da classificação por posts do debate Opera vs. Firefox
Tabela 5.22 Resultado da classificação por posts do debate Playstation 3 vs.
Nintendo Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.23 Resultado da classificação por posts do debate Firefox vs. Internet
Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.24 Resultado das classificações dos debates . . . . . . . . . . . . .
Tabela 5.25 Matriz confusão da classificação dos posts do debate Firefox vs.
Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.26 Matriz confusão da classificação dos posts no debate Iphone vs.
Blackberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.27 Matriz confusão da classificação dos posts no domínio Opera vs.
Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.28 Matriz confusão da classificação dos posts no domínio Playstation
3 vs. Nintendo Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.29 Resultado da classificação por posts do debate Firefox vs. Internet
Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.30 Resultado da classificação por posts do debate Iphone vs. Blackberry
Tabela 5.31 Resultado da classificação por posts do debate Opera vs. Firefox
Tabela 5.32 Resultado da classificação por posts do debate Playstation 3 vs.
Nintendo Wii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.33 Resultado das classificações dos debates . . . . . . . . . . . . .
Tabela 5.34 Resultados de Somasundaran e Wieber (2009) . . . . . . . . . .
Tabela 5.35 Comparação na quantidade de posts utilizados no ASDP, no trabalho de Somasundaran e Wiebe (2009) e no trabalho de Walker et al.
(2012) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabela 5.36 Apresentação dos resultados dos trabalhos de Somasundaran e
Wiebe (2009), Walker et al. (2012) e o ASDP . . . . . . . . . . . . . .
85
85
85
86
86
86
90
90
90
91
92
92
92
92
93
94
95
96
Sumário
1 Introdução
1.1 Motivação e Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Trabalho Realizado . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . .
13
14
15
16
2 Análise de Sentimento
2.1 Áreas Correlatas . . . . . . . . . . . . . . . . . . . . .
2.1.1 Mineração de Texto . . . . . . . . . . . . . . .
2.1.2 Mineração da Web . . . . . . . . . . . . . . .
2.1.3 Mineração de Opiniões/ Análise de Sentimentos
2.2 Análise de Sentimento – Detalhamento . . . . . . . . .
2.2.1 Nomenclatura adotada e Definições . . . . . .
2.2.2 Níveis da AS . . . . . . . . . . . . . . . . . .
2.3 Etapas da Análise de Sentimentos . . . . . . . . . . .
2.3.1 Detecção de subjetividade . . . . . . . . . . .
2.3.2 Extração de atributos . . . . . . . . . . . . . .
2.3.3 Classificação de sentimentos . . . . . . . . . .
2.3.4 Apresentação dos resultados . . . . . . . . . .
2.4 Aplicações e Ferramentas da AS . . . . . . . . . . . .
2.5 Desafios . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Conclusão . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
19
19
21
22
23
23
26
27
28
28
29
31
32
33
34
.
.
.
.
.
.
.
.
35
35
38
40
45
46
47
48
49
4 ASDP: Um Processo de Análise de Sentimento em Debates Polarizados
4.1 Caracterização do Problema . . . . . . . . . . . . . . . . . . . . . . . .
51
52
3 Análise de Sentimento em Debates Polarizados
3.1 Visão Geral . . . . . . . . . . . . . . . . .
3.2 AS em Debates Ideológicos . . . . . . . . .
3.3 AS em Debate Não Ideológicos . . . . . . .
3.4 Léxicos Subjetivos . . . . . . . . . . . . .
3.5 Fenômenos Linguísticos em debates . . . .
3.5.1 Anáforas . . . . . . . . . . . . . .
3.5.2 Concessões . . . . . . . . . . . . .
3.6 Considerações Finais . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.2
4.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
54
55
56
56
56
58
58
58
59
59
61
62
63
64
65
67
69
71
.
.
.
.
.
.
.
.
.
.
.
72
73
75
77
77
78
82
83
88
89
93
97
6 Conclusão
6.1 Contribuições finais . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
98
99
4.4
4.5
Arquitetura do Sistema . . . . . . . . . . . .
Pré-processamento dos Posts . . . . . . . . .
4.3.1 Eliminação de posts não opinativos . .
Léxico Subjetivo . . . . . . . . . . .
Exemplos de posts eliminados . . . .
4.3.2 Normalização dos textos . . . . . . .
Base de substituições . . . . . . . . .
Exemplos de posts normalizados . . .
4.3.3 POS-Tagging . . . . . . . . . . . . .
Exemplos de posts etiquetados . . . .
Classificação de Sentimento . . . . . . . . . .
4.4.1 Resolução de Anáfora . . . . . . . . .
4.4.2 Atribuição Inicial de Polaridade . . .
Formação das triplas . . . . . . . . .
Atribuição de Polaridade da Tripla . .
4.4.3 Análise de Concessões . . . . . . . .
4.4.4 Classificação das Posturas dos Posts .
4.4.5 Criação e Análise do Grafo de Replies
Considerações Finais . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Experimentos e Resultados
5.1 Corpora de Debates . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Métricas de Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Classificação de Opinião em Debates de Produtos . . . . . . . . . . .
5.3.1 Atribuição de Polaridade utilizando o Léxico Subjetivo . . . .
Resultados Obtidos . . . . . . . . . . . . . . . . . . . . . . .
5.3.2 Classificação com o uso de Resolução de Anáfora e Concessão
Resultados Obtidos . . . . . . . . . . . . . . . . . . . . . . .
5.3.3 Classificação do Grafo de Replies . . . . . . . . . . . . . . .
Resultados Obtidos . . . . . . . . . . . . . . . . . . . . . . .
5.4 Análise de Trabalhos Relacionados . . . . . . . . . . . . . . . . . . .
5.5 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . .
Referências
101
Apêndice
109
A Bases de Substituições
110
A.1 Contrações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
A.2 Abrevições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.3 Sinônimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
B Dicionário de Gírias
119
1
Introdução
A Web 2.0 desencadeou uma explosão de serviços disponíveis na Internet, bem como um
grande aumento de usuários na rede. Difundiu-se a criação de blogs, fóruns de discussão,
sites de debates, redes sociais e sites de compras, favorecendo o aumento na interação
entre os indivíduos.
Neste cenário, uma atividade que se tornou bastante frequente é a busca por opiniões
sobre produtos e/ou serviços. De forma geral, todos os usuários recorrem a sites de
opiniões (reviews), fóruns de discussão ou até mesmo às redes sociais em busca da
experiência de outras pessoas antes de tomar suas decisões. Uma pesquisa de opinião
realizada nos EUA revelou que entre 73% a 87% das pessoas que buscam opiniões na
Web se disseram fortemente influenciadas pelas reviews1 . Os entrevistados afirmaram
ainda que estariam dispostos a pagar até 99% a mais por um serviço avaliado como
"excelente"em relação a outro avaliado como "bom".
Os dados acima confirmam o fato de que a Internet se transformou em um poderosíssimo meio de transmissão de opiniões sobre produtos e serviços. Contudo, apesar
de ser fácil encontrar opiniões na grande rede, a sua análise manual não é um processo
trivial. Isso se deve a dois fatores principais: a abundância de informações disponíveis, e
a dificuldade de se interpretar linguagem natural, que é imprecisa e ambígua por natureza.
Uma tendência atual das pessoas é expressar seus pensamentos e pontos de vistas
em micro blogs, redes sociais, ou em sites de debates2 , opinando sobre os mais diversos
assuntos, desde temas relacionados a política (e.g., guerras, direito sobre armas, aborto)
a temas sobre opiniões acerca de produtos. Este comportamento gera oportunidades
para empresas de marketing, que buscam gerir a publicidade de políticos em campanhas
eleitorais, ou de marcas de produtos no mercado consumidor, analisando o pensamento
1 http://www.comscore.com/press/release.asp?press=1928
2 www.createdebate.com,
www.convinceme.net, www.politicalforum.com, www.forandagainst.com
14
1.1. MOTIVAÇÃO E CONTEXTO
geral expresso nessas mídias sociais3 .
Nesse contexto, a Análise de Sentimento busca extrair a postura/posicionamento (do
inglês, stance) de um indivíduo a partir de textos polarizados. Somasundaran e Wiebe
(2009) definem stance como uma opinião geral de uma pessoa sobre um objeto, idéia
ou posição. Walker et al. (2012) defendem que este ponto de vista (postura) pode ser
utilizado na identificação de qual lado um indivíduo está em um debate polarizado, e.g., a
favor ou contra a legalização do aborto.
A Análise de Sentimento (AS) pode ser definida como a área de estudo que analisa
opiniões, sentimentos, atitudes, e emoções de pessoas acerca de produtos, serviços, indivíduos, empresas e eventos (Liu, 2012). O objetivo central é determinar automaticamente
a polaridade das opiniões emitidas (se positivas ou negativas).
A AS se utiliza de técnicas e métodos de diversas áreas de pesquisa, com destaque
para Processamento de Linguagem Natural (PLN) ((Allen, 1995), (Manning e Schütze,
1999)), Mineração de Texto (Feldman e Sanger, 2006), Mineração da Web ((Cooley et al.,
1997), (Kosala e Blockeel, 2000), (Liu, 2006)), Recuperação da Informação ((Baeza-Yates
e Ribeiro-Neto, 1999), (Manning et al., 2008)) e Inteligência Artificial (Russell e Norvig,
2003) (mais especificamente classificação automática de texto).
1.1
Motivação e Contexto
A análise de sentimento é uma área recente na comunidade científica. Os primeiros
trabalhos sobre opiniões buscavam investigar o sentimento expresso em textos de reviews)
de produtos e filmes ((Pang et al., 2002), (Turney e Littman, 2003), (Dave et al., 2003),
(Morinaga et al., 2002)). Desde então, muito já se desenvolveu nessa área, e as abordagens
que classificam sentimento em reviews já conseguem realizar esta tarefa com ótimas taxas
de precisão ((Silva et al., 2012), (Popescu e Etzioni, 2005), (Qiu et al., 2011), (Hu e Liu,
2004)).
Contudo, a AS tradicional não consegue tratar adequadamente um fenômeno relativamente recente: Análise das opiniões em debates online. Os principais fatores que
agregam desafios a esta atividade estão associados à dificuldade de interpretar as opiniões
nos discursos nos debates.
Durante o debate, os participantes apresentam suas preferências e justificam o porquê
de suas opiniões estarem corretas. Além disso, para fortalecer seus pontos de vista, alguns
3 http://data-informed.com/presidential-debates-provide-living-laboratory-for-marketers-studying-
sentiment-analysis/
15
1.2. TRABALHO REALIZADO
debatedores apresentam argumentações negativas sobre seus adversários ou sobre as
opiniões deles. É comum também que durante a evolução do discurso, alguns participantes
mudem de opinião, e portanto, passem a defender o lado a qual eram adversários.
Complicando ainda mais este cenário, os usuários presentes no debate podem apresentar opiniões positivas sobre alguns aspectos do objeto (produto ou tópico) sendo
apoiado pelo lado adversário, sem realmente mudar sua postura no debate. Além disso,
alguns debatedores chegam a manifestar opiniões negativas sobre aspectos dos tópicos
que defendem. A estes fatores, damos o nome de concessões (Robaldo et al., 2010).
A fim de demonstrar a dificuldade de realizar Análise de Sentimento em debates online, Walker et al. (2012) examinaram a classificação da postura dos participantes dentro
do corpus de 14 debates distintos, 10 debates ideológicos, e 4 debates não ideológicos.
Os autores conduziram um experimento através do Mechanical Turk4 onde a classificação
dos posts de debate foi feita por humanos. Eles observaram que apenas 78,26% das pessoas que participaram desse experimento coincidiram sua classificação com a marcação
original do post no debate, demonstrando que classificar os posts isoladamente não é uma
tarefa trivial nem para humanos.
1.2
Trabalho Realizado
Diante do que foi apresentado, esta pesquisa de mestrado tem como objetivo classificar a
postura dos participantes de um debate não ideológico mediante a um tema (e.g., qual o
melhor Sistema Operacional: Windows ou OSX (Apple)). Para a realização desta tarefa
criamos o processo de Análise de Sentimento denominado ASDP que, por meio de
técnicas e ferramentas linguísticas, determina a polaridade dos posts do debate através da
identificação das palavras opinativas e das entidades associadas a elas.
A realização da etapa de classificação de sentimentos é bastante complexa, pois os
textos de debate costumam ser longos, e algumas vezes apresentam ironias, ou até mesmo
ofensas direcionadas a outros participantes ou produtos. Os indivíduos que participam do
debate além de argumentarem sobre a razão de suas preferências serem melhores, podem
também tecer críticas sobre as argumentações e preferências dos adversários.
Nesse contexto, elaboramos um processo de classificação através de padrões linguísticos que foram observados nos textos. Esses padrões recuperam triplas do tipo <produto,
palavra opinativa, sentença> que servirão para a atribuição inicial da polaridade, análise
de anáforas, concessões, e com esses e outros fatores associados, poderão definir as
4 https://www.mturk.com/mturk/welcome
16
1.3. ORGANIZAÇÃO DO TRABALHO
classes dos posts.
O protótipo desenvolvido foi codificado na linguagem de programação Java5 . Para
a classificação de sentimentos foram utilizados 807 posts sobre temas de debates não
ideológicos. Os experimentos realizados mostram uma classificação de 73,91% de
precisão.
Dois outros trabalhos conhecidos na literatura e que também fazem a classificação da
postura dos posts dentro de debates não ideológicos, são os trabalhos de Somasundaran
e Wiebe (2009) e Walker et al. (2012). Através de uma abordagem não supervisionada,
Somasundaran e Wiebe (2009) conseguem 68,75% de precisão sobre a análise de posts
em debates polarizados não ideológicos. Já o método supervisionado de Walker et al.
(2012) obteve 75,38% de acurácia na classificação da postura dos posts em debates não
ideológicos. A técnica proposta nesta dissertação de Mestrado, o ASDP, obeteve taxas
de precisão e acurácia semelhantes aos resultados de Somasundaran e Wiebe (2009), e
Walker et al. (2012), através do uso de padrões linguísticos que podem ser facilmente
extendidos e reutilizáveis em outros domínios.
Este trabalho foi desenvolvido seguindo a abordagem de Sistemas Baseados em
Conhecimento, utilizando-se de técnicas Linguísticas para a classificação dos posts dos
debates.
1.3
Organização do Trabalho
A presente dissertação está dividida em seis capítulos. Após este capítulo de Introdução,
os capítulos seguintes tratam sobre os conceitos de AS, revisões bibliográficas, descrição
da abordagem proposta e detalhamento dos experimentos.
O capítulo 2 apresenta os principais termos e conceitos sobre Análise de Sentimentos.
Este capítulo descreve também os níveis e as etapas que são abordados nos trabalhos
relacionados à Mineração de Opiniões. Também apresentamos algumas aplicações
existentes no mercado que fazem AS.
O capítulo 3 apresenta o estado da arte da Análise de Sentimento em debates online.
São descritos os principais desafios desta área, bem como as contribuições existentes na
literatura. Apresentamos dois fenômenos linguísticos comuns em debates e que foram
tratados nesta pesquisa. Por último, foi mostrado os dois principais léxicos subjetivos
presentes na literatura, o léxico MPQA, e o léxico SentiWordNet.
O capítulo 4 descreve o processo de AS proposto nesta pesquisa de Mestrado. São
5 http://www.oracle.com/technetwork/java/javase/overview/index.html
17
1.3. ORGANIZAÇÃO DO TRABALHO
descritas as técnicas e algoritmos utilizados no desenvolvimento do trabalho. No capítulo 5 apresentamos a metodologia e experimentos realizados. Foi feito também uma
comparação entre os resultados obtidos pelo ASDP e duas outras técnicas da literatura.
O capítulo 6 apresenta a conclusão deste trabalho juntamente com uma análise dos
resultados obtidos. Neste capítulo, propusemos algumas extensões para o ASDP como
trabalhos futuros.
18
2
Análise de Sentimento
Uma atividade bastante comum hoje em dia é nos depararmos navegando na Web em
busca de opiniões sobre produtos e/ou serviços. De forma geral, usuários recorrem a
reviews, fóruns ou até mesmo as redes sociais, em busca da experiência de outras pessoas
para que possam tomar suas decisões.
Apesar de ser fácil encontrar opiniões na Internet, a sua análise manual não é um
processo trivial, devido à enorme quantidade de informações disponíveis na Web. Além
disso, temos também outros problemas para realizar essa análise: as opiniões falsas, ou
propositadamente tendenciosas sobre algum produto (Jindal e Liu, 2007). Logo, para se
obter uma posição geral “confiável” dos usuário acerca de algum produto, é necessário
buscar e analisar uma quantidade significativa de opiniões na Web.
Nesse contexto, a Mineração de Opinião, também conhecida como Análise de Sentimento (AS), vem facilitar a vida dos usuários que buscam opiniões na Web. A Análise
de Sentimento é a área de estudo que analisa opiniões, sentimentos, atitudes e emoções
de pessoas acerca de produtos, serviços, tópicos, eventos e/ou alguns de seus atributos
(Liu, 2012). A AS procura realizar, de forma rápida e automática, a análise das opiniões
disponíveis acerca de um produto ou serviço, e retornar para o usuário a opinião geral
sobre o objeto de seu interesse.
Sempre que queremos tomar decisões importantes buscamos saber o que outras
pessoas pensam. As opiniões são fundamentais em várias atividades humanas pois elas
são capazes de manipular nosso comportamento. Como já dito, a AS é uma área de
pesquisa relativamente recente. O grande impulso para o crescimento dessa área foi
o surgimento explosivo dos meios de comunicações sociais (e.g., fóruns de discussão,
reviews, blogs, redes sociais, etc.) na Web, onde o público em geral utiliza estes conteúdos
para suas tomadas de decisões.
Contudo, o foco da AS não é somente voltado para auxiliar usuários. Entre os
19
2.1. ÁREAS CORRELATAS
trabalhos que deram início às investigações nessa área, citamos (Wiebe, 1994), cujo foco
era reconhecer sentenças subjetivas1 em textos de narrações fictícias em terceira pessoa,
para então identificar o ponto de vista psicológico do personagem. A AS também é muito
útil em áreas como Marketing, Bolsa de Valores, eleições políticas, entre outros. Existem
trabalhos que buscam identificar as opiniões dos eleitores sobre políticos e seus projetos
(e.g., (Mullen e Malouf, 2006), (Wang et al., 2012)).
Neste capítulo, mostraremos uma visão geral da Mineração de Opinião/AS. A seção
2.1 define o conceito de Análise de Sentimento, como também algumas noções básicas
de áreas correlatas, que são necessários para a compreensão do restante do trabalho. A
seção 2.2 apresenta os principais termos e conceitos utilizados na área de Análise de
Sentimento, e os níveis em que a AS é abordada. A seção 2.3 introduz as etapas da
análise de sentimento. Na seção 2.4, apresentamos alguns produtos existentes para AS,
e algumas possíveis aplicações dessa técnica. A seção 2.5 mostra alguns dos desafios e
limitações encontrados na AS. Por fim, a seção 2.6 encerra este capítulo com a conclusão.
2.1
Áreas Correlatas
Por ser uma área relativamente recente e sem uma nomenclatura padrão, a AS possui
termos distintos para conceitos semelhantes. Desta forma, neste documento, iremos
utilizar os termos e seus conceitos apresentados nesta seção. As seções 2.1.1, e 2.1.2
apresentarão alguns dos principais termos e definições sobre áreas bastante relacionadas
com a AS, e que auxiliarão no entendimento do conteúdo desta dissertação. A seção 2.1.3
mostrará os principais conceitos abordados na área de Análise de Sentimento.
2.1.1
Mineração de Texto
Mineração de Texto (Text Mining), também conhecida como Descoberta de Conhecimento
em Textos (Knowlegde Discovered in Texts – KDT), busca extrair informações através da
identificação e exploração de padrões em uma coleção de documentos de textos (Feldman
e Sanger, 2006). Os documentos de textos podem ser encontrados em duas formas
distintas: textos semi-estruturados (e.g., documentos de especificação de requisitos,
páginas HTML) e textos não estruturados (e.g., reviews, posts em fóruns, etc.).
Para a mineração de grandes coleções de documentos, é necessário realizar um
pré-processamentos nos textos e armazenar as informações como dados estruturados,
1 Sentenças
subjetivas são aquelas que apresentam pensamentos, opiniões, e percepções do personagem
na narrativa.
20
2.1. ÁREAS CORRELATAS
que são mais fáceis de processar do que arquivos de texto. Dessa forma, grande parte
das abordagens de Mineração de Texto representa cada documento como uma lista
das palavras (bag of words) que estão contidas no texto. Para isso, métodos clássicos
de Recuperação de Informação são utilizados (e.g., modelo espaço vetorial, modelo
booleano, modelo probabilista), definindo um grau de importância de cada palavra em
relação ao documento (Hotho et al., 2005).
Hotho et al. (2005) descrevem três tarefas de pré-processamento para os documentos
de textos, cujo objetivo é de reduzir a dimensão da lista inicial de palavras do texto, a fim
de obter uma lista mais representativa do documento:
• Filtragem (Filtering): Métodos de filtragem removem as stop words do texto, que
são as palavras que não possuem conteúdo semântico/informação (e.g., artigos,
conjunções, preposições, etc)
• Lematização (Lemmatization): O objetivo deste método é mapear todas as formas
verbais para o seu modo infinitivo, e mapear os substantivos no plural para a forma
no singular. Para a realização dessa tarefa, a classe gramatical de cada palavra tem
que ser fornecida.
• Stemming: Este método tenta obter o stem (semelhante ou igual ao radical) das
palavras retirando prefixos e sufixos. Por exemplo, retira-se o sufixo ‘s’ dos plurais,
as terminações verbais dos verbos (e.g., terminação “ing” para a língua inglesa), ou
outros sufixos. O stem então representa todas as palavras derivadas desse memso
radical.
Em (Hotho et al., 2005), os autores destacam que não existe um procedimento único
para a Mineração de Textos, e enumeram as principais tarefas relacionadas à área:
• Classificação de textos: Tem o objetivo de atribuir classes pré-definidas aos
documentos de uma coleção. Esses documentos são classificados a partir de
informações presentes no texto (e.g., termos, palavras). Para a realização desta
tarefa, podem ser utilizados classificadores baseados em conhecimento explícito
(i.e., baseados em regras que são definidas por um especialista) (Feldman e Sanger,
2006), ou algoritmos supervisionados de aprendizagem de máquina (e.g., KNN,
NaiveBayes, Support Vector Machine, etc) (Mitchell, 1997).
• Agrupamento de textos: esta tarefa tem o objetivo de encontrar grupos (clusters)
de documentos com conteúdos similares, ou seja, encontrar as classes de documentos que não são conhecidas a priori. Geralmente a qualidade dos clusters é
21
2.1. ÁREAS CORRELATAS
considerada boa se os documentos dentro de um mesmo grupo são similares entre
si, e ao mesmo tempo dissimilares dos documentos de outro cluster. Os principais
algoritmos para a realização desta tarefa são os algoritmos de aprendizagem nãosupervisionada (e.g., K-means, Bisecting K-means, Self Organizing Map, Fuzzy
Clustering) (Steinbach et al., 2000).
• Extração de Informação: O objetivo principal desta tarefa é extrair dados/informação do texto, atribuindo conceitos específicos a estes dados, mapeando a
informação contida em um documento em uma estrutura tabular (Silva, 2004).
Para a realização de Extração de Informação, podem ser utilizados algoritmos
de aprendizagem de máquina supervisionados, e Processamento de Linguagem
Natural (e.g., Reconhecimento de Entidades Nomeadas, POS-Tagger, Tokenização)
(Allen, 1995).
2.1.2
Mineração da Web
A Mineração da Web (Web Mining) pode ser definida como a tarefa de descobrir e analisar
quaisquer tipos de informações/conhecimentos úteis a partir de serviços ou documentos da
Web (Cooley et al., 1997), (Kosala e Blockeel, 2000). Esta área surgiu devido ao incrível
crescimento das fontes de informações disponíveis na Internet (e.g., blogs, fóruns, sites
de notícias, reviews e etc.), juntamente com a necessidade de ferramentas automáticas que
facilitem a busca de informações desejadas pelos os usuários. Para facilitar esta atividade,
Kosala e Blockeel (2000) propuseram etapas para a realização de Web Mining:
• Coleta de Recursos: Esta etapa é responsável por recuperar da Web os documentos
de interesse do usuário.
• Seleção de informação e pré-processamento: Esta etapa faz a seleção automática
de dados específicos dos documentos recuperados, e faz o pré-processamento destes
dados.
• Generalização: Etapa responsável por identificar, de forma automática, padrões
existentes em websites selecionados.
• Análise: Etapa que faz a validação ou interpretação dos padrões encontrados.
Baseado nos tipos de dados que podem ser utilizados no processo de mineração, Liu
(2006) divide a Web Mining em três categorias: Mineração da estrutura da Web (Web
22
2.1. ÁREAS CORRELATAS
Structure Mining), Mineração do Uso da Web (Web Usage Mining) e por fim, a Mineração
de Conteúdo da Web (Web Content Mining).
• Mineração da Estrutura na Web: A Mineração da Estrutura da Web é capaz de
descobrir informações úteis a partir dos hyperlinks. Analisando os links, é possível
criar mecanismos capazes de identificar web pages importantes (semelhante ao
trabalho dos engenhos de busca), e detectar comunidades ou indivíduos que possam
compartilhar interesses em comum.
• Mineração do Uso da Web: Esta categoria de Web Mining se refere à descoberta
de padrões de acesso dos usuários através de seus logs, cookies, perfis em redes
sociais, consultas, enfim, qualquer interação do usuário com a Web. Através destas
informações é possível detectar os serviços ou produtos que um indivíduo acessou
na Internet, e apresentar informações relacionadas a estas consultas aos potenciais
clientes (e.g., promoções, descontos, outros serviços/produtos semelhantes).
• Mineração de Conteúdo da Web: Esta área trata da extração dos conteúdos
presentes nos websites. É possível descobrir padrões em páginas Web para a
extração de dados úteis, como descrição de produtos, posts em fóruns, em blogs
ou em redes sociais. Através desses dados podemos averiguar, por exemplo, o
sentimento expresso por uma pessoa em um debate sobre qual seria o melhor
navegador para Internet, Firefox ou Internet Explorer. Contudo, note que a análise
de sentimento dos dados extraídos da Web já é tarefa de outra área de trabalho
(como será visto a seguir).
2.1.3
Mineração de Opiniões/ Análise de Sentimentos
Esta seção traz uma visão superficial da AS, com o objetivo de distinguir esta área das
duas áreas correlatas apresentadas anteriormente. Os conceitos aqui apresentados serão
aprofundados na seção 2.2 a seguir.
Como já visto, a Análise de Sentimento é responsável por identificar as opiniões
sobre um determinado assunto (i.e., do objeto sob análise), e avaliar a polaridade dessas
opiniãos (ou seja, classificar as opinões entre positivas, negativas ou neutras) (Tsytsarau
e Palpanas, 2012).
Segundo Liu (2010) a AS pode ser tratada em três níveis de granularidade: no nível
do documento, no nível da sentença, ou no nível do atributo2 .
2 atributos
podem ser componentes, aspectos ou características do objeto sendo avaliado (e.g., produto=celular, componentes={bateria, tela, tamanho, preço, etc}).
23
2.2. ANÁLISE DE SENTIMENTO – DETALHAMENTO
Um processo completo de AS pode contar com quatro etapas principais:
• Detecção de subjetividade, que classifica os textos entre subjetivos e objetivos,
sendo considerado subjetivo o texto que contém alguma opinião;
• Extração de atributos, responsável por identificar no texto os aspectos ou características do objeto sob análise;
• Classificação de sentimento/polaridade, que busca determinar a polaridade do texto;
e
• Apresentação dos resultados.
Para realização de AS utilizamos técnicas de diversas áreas de pesquisa, com destaque
para Processamento de Linguagem Natural (PLN) ((Allen, 1995), (Manning e Schütze,
1999)), Mineração de Texto (Text Mining)(Feldman e Sanger, 2006), Mineração da Web
(Web Mining)((Cooley et al., 1997), (Kosala e Blockeel, 2000), (Liu, 2006)),Recuperação
da Informação ((Baeza-Yates e Ribeiro-Neto, 1999), (Manning et al., 2008)) e Inteligência
Artificial (Russell e Norvig, 2003).
Por fim, destacamos algumas das principais aplicações da AS, que estão presentes no
mercado ou são objeto de pesquisa na academia. A análise de opiniões de consumidores e
do público em geral tem sido um grande negócio para o marketing de empresas, relações
públicas e campanhas políticas. A seção 2.4 irá apresentar mais detalhes sobre aplicações
e ferrmanetas para AS.
2.2
Análise de Sentimento – Detalhamento
Nesta seção, aprofundaremos alguns conceitos fundamentais associados à área de Análise
de Sentimento automatica, que é o foco principal desta dissertação.
A Análise de Sentimento, também chamada de Mineração de Opinião, é uma área
ainda recente (Pang e Lee, 2008), (Tsytsarau e Palpanas, 2012). Assim, ainda não existe
um consenso quanto à sua nomenclatura, e alguns de seus conceitos ainda estão sendo
consolidados.
2.2.1
Nomenclatura adotada e Definições
Neste trabalho, adotamos o padrão proposto por Liu (2010), que é o mais encontrado
na literatura relacionada. Os exemplos 2.1 a 2.4 irão ajudar na ilustração dos conceitos
24
2.2. ANÁLISE DE SENTIMENTO – DETALHAMENTO
apresentados. Como os corpora usados nesta dissertação estão em inglês, os exemplos
também estarão nesse mesmo idioma.
Para facilitar a ilustração dos conceitos, nos exemplos, cada sentença está numerada
sequencialmente, a partir de (1).
Exemplo 2.1: Comentário retirado do corpus do debate Firefox vs. Internet Explorer.
“(1) Firefox’s tab interface is much smoother than IE’s. (2) Heck, up until a few weeks
ago, IE didn’t HAVE tabs. (3) Firefox also doesn’t have anywhere near the security
problems that IE has. (4) IE is a bloated, cruddy little shred of software that should be
forgotten immediately and brought up only when remembering the worst ideas ever.”
Exemplo 2.2: Comentário retirado do corpus do debate iPhone vs. Blackberry.
“(1) Not a "huge"difference, but yes, it’s more expensive. (2) I should not that I own both.
(3) I upgraded from my Pearl to the iPhone shortly after it came out. (4) What’s this
about the iPhone being a brick? (5) It’s 3/4 an inch taller and 1/4 an inch wider. (6) It’s
just as thin (exactly) and it’s slightly heavier which makes it feel more solid and durable.
(7) And sure you can carry around your iPod and your Pearl - I’ll carry my iPhone. (8) I
mean you’re complaining about bulge and you’re okay with having 2 devices to do the
work of 1? (9) Yes, the iPhone is limited to 8GB, but if you’re so in need of 30GB of
music then you might have some issues. (10) I mean I have 5 GB of music on my phone
and that’s 2.6 days worth of continual playing. (11) I’m sorry AT&T/Cingular sucksin
your area - definitely a reason not to get an iPhone, but don’t blame the phone for that.
(12) I mean Verizon is terrible in my area with AT&T beingexcellent, so it’s all relative.”
A seguir, serão apresentados os conceitos básicos mais importantes para a área de AS.
• Objeto: Um objeto é uma entidade que pode ser um produto, serviço, pessoa,
evento, organização ou tópico que seja alvo de um comentário. Na sentença (1) do
exemplo 2.1 temos “Firefox” e “IE” como exemplos de objetos analisados.
• Atributos ou Características: São componentes ou aspectos de um dado objeto e
que podem ser referenciados no texto. Existem dois tipos de atributos: atributos
explícitos, atributos implícitos. Os atributos explícitos são aqueles que aparecem
em evidência no texto (e.g., a palavra “tab” na sentença (1) do exemplo 2.1).
Já os atributos implícitos estão ‘escondidos’ no texto (e.g., o atributo capacity
(capacidade de armazenamento) do objeto iPhone, na sentença (9) do exemplo 2.2).
• Autor (opinion holder): É a pessoa ou organização que expressa a opinião. Para
os exemplos acima, os autores são as pessoas que escreveram os posts.
25
2.2. ANÁLISE DE SENTIMENTO – DETALHAMENTO
• Opinião: É uma visão, atitude, emoção ou avaliação sobre um objeto, ou sobre
seus atributos, por parte de um autor. A sentença 5 do exemplo 2.2 é uma ilustração
de uma opinião.
• Orientação da Opinião: A orientação da opinião acerca de um objeto (ou de seus
atributos) pode ser positiva ,negativa ou neutra.
• Palavras Opinativas: São as palavras que qualificam os objetos e/ou seus atributos.
Geralmente, são palavras das classes gramaticais dos adjetivos e advérbios, porém,
pode-se encontrar verbos e substantivos com o sentido de qualificação. No exemplo
2.2, terrible (12), solid (6), e durable (6), são exemplos de palavras opinativas.
Descreveremos a seguir dois tipos de opiniões que foram frequentemente encontrados
em nossos corpora de debates sobre produtos:
• Opiniões Diretas: São os casos de opiniões que fazem referência a apenas um
objeto ou atributo. A sentença (11) do exemplo 2.2 é uma ilustração desse tipo de
opinião.
• Opiniões Comparativas: Opiniões comparativas expressam relações de similaridade ou diferença entre dois ou mais objetos, ou atributos comuns a dois objetos,
que foram destacados pelo autor. As opiniões comparativas geralmente são expressas no texto na forma de adjetivos comparativos, ou adjetivos superlativos. A
primeira sentença do exemplo 2.1 é um caso desse tipo de opinião.
Exemplo 2.3: Comentário retirado do corpus de debate Mac vs. Windows
“(1) The whole windows v. mac debate has become a debate thats not meant to convince
anyone or change anyone’s opinion,but to simply throw insults at the OS that you do
not have, or the one that you are less comfortable with. (2) Therefore I will not try to
convert you mac lovers, but simply silence you. (3) Lets look at the facts: Windows
has a larger market share. (4) not twice mac’s share, nor 5 times it, but over 10 times
the mac market share. (5) This fact is what guarantee’s customers that they will have
and extensive software library to choose from. (6) Windows does have its shortcomings,
the biggest (arguably) of which is the extensive library of viruses and#$ware, no choice
involved in this. (7) With the introduction of Windows Vista, the "pretty"look is no longer
exclusive to macs. (8) Instant search is available on both, and the list of similarities goes
on... (9) The end result is the fact that most of us will not think "mac or windows"next
time we buy a computer, but "vista premium or ultimate?”
26
2.2. ANÁLISE DE SENTIMENTO – DETALHAMENTO
Exemplo 2.4: Comentário retirado do corpus de debate Mac vs. Windows.
“(1) mac´s are lame, build your own computer”
Como é possível perceber através desses exemplos, nem todas as sentenças emitem
opiniões sobre algum produto sob análise. Dessa forma, para realizar AS é importante
termos capacidade de distinguir uma sentença com opinião de uma sentença sem opinião.
A seguir, definiremos alguns termos importantes para distinguir sentenças e opiniões.
• Sentença Subjetivas: São sentenças que expressam sentimentos ou crenças pessoais (e.g., a sentença (1) no exemplo 2.4).
• Sentenças Objetivas: As sentenças objetivas expressam informações factuais
sobre o mundo, ou sobre o objeto sob análise (e.g., a sentença (1) do exemplo 2.3).
• Opinião Implicíta: Uma opinião implícita é aquela que está embutida em sentenças objetivas (e.g., a sentença (9) do exemplo 2.2). Embora essa sentença apresente
um fato, ela também indica uma opinião negativa sobre o produto iPhone.
• Opinião Explícita: Ao contrário da anterior, as opiniões explícitas são aquelas
expressadas através de sentenças subjetivas (e.g., o exemplo 2.4).
• Sentenças Opinativas: São aquelas que podem apresentar tanto opiniões explícitas
como opiniões implícitas.
A AS é responsável por identificar as opiniões sobre um determinado objeto, e avaliar
a polaridade dessas opiniões, ou seja, classificar as opiniões entre positivas e negativas
(Tsytsarau e Palpanas, 2012).
2.2.2
Níveis da AS
Segundo Liu (2010) a classificação de sentimento pode ser tratada em três níveis de
granularidade: no nível do documento, no nível da sentença e no nível do atributo.
Dado um conjunto de documentos opinativos, a Classificação de Sentimento no
nível do Documento busca determinar se cada documento expressa uma opinião geral
positiva, negativa ou neutra a respeito do objeto sob análise. Note que a polaridade de
um documento opinativo é considerada neutra quando ele traz a mesma quantidade de
avaliações positivas e negativas sobre o objeto sob análise. Como exemplo de trabalho
27
2.3. ETAPAS DA ANÁLISE DE SENTIMENTOS
neste nível de classificação, citamos Pang (Pang et al., 2002) que utilizaram algoritmos de
aprendizagem de máquina para classificar reviews de filmes entre positivos ou negativos.
Outros exemplos deste nível de AS são (Sebastiani, 2002) e (Dave et al., 2003).
A Classificação de Sentimento no nível da Sentença geralmente se divide em
duas etapas. Primeiramente, busca-se identificar se cada sentença do texto é subjetiva
ou objetiva. Em seguida, procura-se determinar se as sentenças subjetivas expressam
opiniões positivas, negativas ou neutras. Podemos citar trabalhos de AS nesse nível de
classificação: (Yu e Hatzivassiloglou, 2003) e (Kim e Hovy, 2004).
Exemplo 2.5: Comentário retirado do corpus de debate Sony Ps3 vs. Nintendo Wii.
“(1) PS controllers have always been lame. (2) Most game controllers have sucked. (3)
The Wii is the first truly intuitive controller ever. (4) As a non-console gamer, I love the
my Wiimote, it’s the first thing that’s ever felt ’right’.”
Por fim, na Classificação de Sentimento no nível do Aspecto, os atributos são
analisados isoladamente. Esse tipo de classificação é realizado por aplicações que
procuram um nível maior de refinamento na AS. Depois de determinar (manualmente
ou automaticamente) os atributos dos objetos sob análise, é realizada a classificação das
opiniões sobre cada um dos atributos mencionados. No exemplo 2.5, existe na sentença
(1) uma opinião negativa sobre o atributo controller do console Sony Ps3, e na sentença
(4), outro atributo (Wiimote) está associado a uma palavra positiva. Por fim, e possível
determinar o sentimento geral sobre cada atributo do objeto sob análise com base nas
polaridades das opiniões já classificadas. Um exemplo de AS nesse nível é o trabalho de
(Silva et al., 2012)
A seção 2.3 a seguir apresenta as etapas de um processo completo de AS.
2.3
Etapas da Análise de Sentimentos
Um processo completo de AS engloba quatro etapas principais: detecção de subjetividade,
que classifica os textos entre subjetivos e objetivos; extração de atributos, responsável por
identificar os atributos do objeto em análise; classificação de sentimento/polaridade, que
busca determinar a polaridade do texto; e apresentação dos resultados.
As seções a seguir dão mais detalhes sobre cada uma dessas etapas.
28
2.3. ETAPAS DA ANÁLISE DE SENTIMENTOS
2.3.1
Detecção de subjetividade
A etapa de detecção de subjetividade é responsável por identificar as sentenças subjetivas
no texto. Essa etapa é fundamental para o processo de AS, pois as sentenças subjetivas
apresentam de forma explícita os sentimentos, crenças, e emoções sobre um determinado
objeto.
Existem duas abordagens principais para a detecção automática de subjetividade na
literatura: os métodos baseados em técnicas linguísticas e estatísticas ((Castro, 2011),
(Hatzivassiloglou e Wiebe, 2000)); e os métodos baseados em algoritmos de aprendizagem
de máquina (Yu e Hatzivassiloglou, 2003).
Como exemplo de métodos linguisticos e estatísticos, citamos o trabalho de Hatzivassiloglou e Wiebe (2000). Os autores defendem que os adjetivos são fortes indicadores de
subjetividade. Dessa forma, eles determinam a subjetividade das sentenças com base na
orientação semântica dos adjetivos. Em outra pesquisa, Castro (2011) realiza detecção de
subjetividade em cima de um corpus de review de filmes. Com o uso de uma ferramenta
de POS-Tagging e o léxico SentiWordNet (Esuli e Sebastiani, 2006), Castro identifica a
subjetividade em sentenças do corpus e as classifica como sentenças objetivas e sentenças
subjetivas, alcançando taxas de acerto de até 74,5%.
Do outro lado, Yu e Hatzivassiloglou (2003) utilizaram um classificador NaiveBayes
em um corpus composto por artigos do Wall Street Journal. O classificador separa
sentenças objetivas (notícias e negócios) de sentenças subjetivas (artigos do editor e
resposta às cartas de leitores).
2.3.2
Extração de atributos
A etapa de extração de atributos é responsável por identificar e extrair dos textos disponíveis os aspectos, componentes ou características associados ao objeto sob análise.
Na ausência de um processo automático de extração, os atributos devem ser infomados
manualmente.
Esta etapa é obrigatória quando se deseja realizar uma AS no nível de atributo, visto
que na AS no nível de sentença e de documento, as características dos objetos não são
analisadas individualmente.
As principais pesquisas sobre extração de atributos são conduzidas sobre corpus de
reviews de produtos (Liu, 2012). Liu destaca que existem dois tipos mais comuns de
reviews:
• Tipo 1 – Pros, contras e review detalhado: É pedido ao autor do comentário
29
2.3. ETAPAS DA ANÁLISE DE SENTIMENTOS
que descreva os atributos favoráveis e os não favoráveis separadamente, além de
descrever um review detalhado posteriormente.
• Tipo 2 – Reviews de formato livre: O autor do comentário pode escrever livremente, sem ter que explicitar os prós e contras do produto ou serviço.
A extração de atributos nos comentários do Tipo 1 pode ser conduzida por diversos
métodos (e.g., Aprendizagem de Máquina, PLN). Este tipo de review geralmente consiste
em frases curtas, e cada uma das sentença trata somente de um único atributo.
Os reviews do Tipo 2 são mais complexos para processar, pois apresentam frases
completas, podendo ser encontrados vários atributos em uma única sentença. Silva
(2013) foi capaz de identificar os aspectos de produtos e suas opiniões a partir de padrões
linguísticos, e posteriormente classificar esses pares como positivos, negativos ou neutros.
Hu e Liu (2004) descrevem uma abordagem não-supervisionada para extração de aspectos
em reviews do Tipo 2. Esta abordagem requer uma grande quantidade de reviews, e
consiste em dois passos:
• Identificar os substantivos e sintagmas nominais mais frequentes: Hu e Liu
defendem que os atributos dos objetos nos reviews são substantivos ou sintagmas
nominais. Desta forma, o uso de um POS-Tagger é de grande utilidade. A razão para a extração dos substantivos mais frequentes é que, quando as pessoas
comentam sobre produtos e seus atributos, o vocabulário utilizado tende a coincidir.
• Identificar os atributos menos frequentes utilizando palavras opinativas: As
palavras opinativas geralmente são adjetivos ou advérbios que expressam opiniões
positivas e/ou negativas. A justificativa para este passo é que uma mesma palavra
opinativa pode ser utilizada para descrever diferentes atributos (e.g., a palavra
opinativa lame no exemplo 2.4 e na senteça (1) do exemplo 2.5, qualifica dois
atributos/entidades distintos). Dessa forma, as palavra opinativas que avaliam os
atributos frequentes podem avaliar os atributos não-frequentes, portanto, podem
ser utilizadas para a extração destes atributos.
Como exemplos de outros trabalhos que fazem extração de atributos sobre reviews do
tipo 2, podemos citar (Siqueira, 2010) e (Lima, 2011).
2.3.3
Classificação de sentimentos
Esta é a etapa do processo de AS onde são classificadas as opiniões no texto. Cada
opinião possui um valor associado, que corresponde a sua orientação/polaridade (positiva,
30
2.3. ETAPAS DA ANÁLISE DE SENTIMENTOS
negativa ou neutra).
Aqui, também contamos com diferentes abordagens para realizar esta etapa da AS,
sendo as principais delas a Aprendizagem de Máquina e a Abordagem baseada em
Léxicos Subjetivos.
Como exemplos de trabalhos que utilizam Aprendizagem de Máquina para classificação de sentimento, citamos (Pang et al., 2002), (Wilson et al., 2005), (Mullen e Malouf,
2006) e (Walker et al., 2012). Apesar de obterem uma ótima precisão na classificação, tais
soluções são muito dependentes do corpus de treinamento do classificador, apresentando
dificuldades no processamento de textos de outros domínios.
Como alternativa, temos a abordagem baseada no uso de Léxicos Subjetivos. Tais
léxicos apresentam uma lista de palavras opinativas com suas polaridades associadas.
Como exemplos, citamos o SentiWordNet ((Baccianella et al., 2010), (Esuli e Sebastiani,
2006)) e o léxico subjetivo MPQA (Wilson et al., 2005). Esta abordagem utiliza as
polaridades associadas às palavras opinativas para determinar a polaridade das opiniões
no texto.
Contudo, o uso de Léxicos Subjetivos para a classificação de sentimento pode não
ser suficiente. É importante também considerar outros elementos presentes no texto que
alteram a polaridade das opiniões, como por exemplo, expressões negativas, cláusulas
adversativas, concessões etc.
Exemplo 2.6: Comentário retirado do corpus do debate Windows vs. Mac.
“(1) I’m not going into the details of why Macs are better, but I will say this: (2) Any
person who switches to a Mac, I guarantee will never go back voluntarily.”
Liu (2010) descreve uma abordagem genérica para esta etapa de classificação de
sentimentos:
• Identificação de palavras opinativas: Este passo corresponde a identificação de
todas as palavras opinativas presentes no texto. A seguir, para as palavras positivas,
negativas e neutras são atribuídos os valores [+1], [-1], e [0] respectivamente.
• Expressões negativas: As expressões negativas, quando presentes no texto, invertem a polaridade das opiniões associadas a elas (e.g., not, none, neither, nothing).
Geralmente, utilizam-se valores empíricos para determinar o tamanho da janela
que será utilizada para verificar se existe uma expressão negativa próxima a uma
opinião. Um exemplo de sentença onde a negação não está próxima da palavra
opinativa é a sentença (1) do exemplo 2.6.
31
2.3. ETAPAS DA ANÁLISE DE SENTIMENTOS
• Cláusulas adversativas: Sentenças que possuem cláusulas adversativas, em geral,
trazem opiniões contrárias. Dessa forma, considera-se que a polaridade da opinião
antes da cláusula adversativa é contrária à polaridade da opinião depois desta
cláusula. É possível averiguar uma cláusula adversativa na segunda sentença do
exemplo 2.7.
Exemplo 2.7: Comentário retirado do corpus do debate Windows vs. Mac .
“(1) Apples are nice computers with an exceptional interface. (2) Vista will close the gap
on the interface some but Apple still has the prettiest, most pleasing interface and most
likely will for the next several years. ”
2.3.4
Apresentação dos resultados
A apresentação dos resultados é a última etapa do processo de AS. Esta etapa é responsável
por analisar os dados de saída das etapas anteriores e apresentar, de forma simples e
clara, os resultados para o usuário final. As informações obtidas a partir da classificação
dos comentários podem ser mostradas de diversas formas, desde textos descrevendo os
resultados da análise, a gráficos que fazem comparações entre dois ou mais produtos do
mesmo domínio (ver figura 2.1).
A figura 2.1 mostra um gráfico resultante da AS no nível de atributo em textos
sobre duas câmeras digitais de marcas distintas. São apresentadas duas barras de cores
diferentes para cada atributo das câmeras (foto, bateria, lentes, peso e tamanho), e o
sentimento geral sobre os produtos - quanto mais acima da linha horizontal a barra estiver,
maior é a avaliação positiva; quanto mais abaixo da linha horizontal, maior é a avaliação
negativa.
Pang e Lee (2008) dividem a Visualização e Sumarização em dois tipos distintos:
• Sumarização de documento único: Este primeiro tipo de sumarização trata apenas das entidades de um único documento. O objetivo é apresentar o resultado
da análise de sentenças extraídas, ou de unidades similares de textos, que relatam
opiniões semelhantes ou que falem de um mesmo atributo, e a partir daí, apresentar
os pontos positvos e os pontos negativos deste atributo.
• Sumarização Multi-documento: Este tipo de sumarização apresenta o resultado
da análise dos objetos sobre diversos documentos de um mesmo domínio. O intuito
dessa análise não é apenas mostrar ao usuário os pontos positivos e negativos de
cada aspecto, como também comparar os aspectos dos dois objetos.
32
2.4. APLICAÇÕES E FERRAMENTAS DA AS
Figura 2.1 Resultado comparativo entre duas câmeras digitais representadas por cores distintas
(Liu, 2012)
2.4
Aplicações e Ferramentas da AS
Esta seção apresenta algumas das aplicações mais comuns da AS, bem como cita algumas
ferramentas que auxiliam na realização automática desta tarefa. Como dito, a AS das
opiniões de consumidores tem sido foco de atenção para o pessoal de marketing de
empresas, relações públicas e campanhas políticas.
Claramente, a AS sobre produtos é o tipo de aplicação mais comum nessa área. Um
exemplo clássico desse tipo de aplicação é o Google Product Search3 , um website que
fornece sumários de reviews sobre produtos e seus aspectos. Contudo, a AS não trata
somente desses casos.
Outro importante domínio para mineração de opinião é o mercado financeiro. Através
da análise de artigos, blogs e jornais, sistemas como The Stock Sonar4 são capazes de
avaliar o sentimento em torno de companhias, e tenta prever o impacto positivo/negativo
sobre o preço de suas ações no mercado financeiro.
As redes sociais são o foco de várias aplicações de AS, devido à sua capacidade
de cobrir diversos tópicos como política, mercado financeiro, reputação de produtos e
marcas. Citamos aqui o tweetfeel5 , uma ferramenta capaz de analisar o sentimento a
respeito de uma marca ou produto no Twitter6 . Outra ferramenta com a funcionalidade
voltada para a monitoração de opiniões sobre marcas e empresas nas redes sociais é a
3 http://www.google.com/shopping
4 http://www.thestocksonar.com/
5 http://www.tweetfeel.com/
6 http://twitter.com/
33
2.5. DESAFIOS
Viralheat7 . Na área da política citamos o sistema de Wang et al. (2012), que teve como
objetivo a AS nos tweets relacionados às eleições presidenciais dos Estados Unidos no
ano de 2012.
Além das aplicações citadas, existem ainda ferramentas que podem auxiliar na construção de aplicações de AS. Citamos como exemplos a NLTK8 (Natural Language Tool
Kit) e a Alchemy API9 . A NLTK é exclusiva para a linguagem de programação Python e
possui importantes funcionalidades para o Processamento de Linguagem Natural, dentre
elas, corpora de textos, classificadores de texto, sendo também capaz de detectar textos opinativos e classificá-los. A Alchemy API é um Web service capaz de identificar
sentimento positivo/negativo em textos e páginas Web da língua inglesa ou alemã. Este
serviço pode ser utilizado por qualquer linguagem de programação que seja capaz de
fornecer implementações para arquitetura REST.
2.5
Desafios
O crescente interesse do mercado sobre Análise de Sentimento é devido ao potencial de
suas aplicações. Igualmente importantes são os desafios que esta área apresenta para a
comunidade científica. As principais dificuldades em minerar opiniões estão relacionadas
aos elementos associados aos textos (e.g., erros gramaticais, erros de grafia, sarcasmos,
etc).
Listaremos a seguir alguns fatores que tornam a AS um processo não trivial:
• Named-Entity Recognition (NER): Reconhecimento de entidades nomeadas é a
tarefa responsável por identificar as entidades que estão sendo avaliadas no texto
(Nadeau e Sekine, 2007). Em textos opinativos como reviews de filmes, ou de
debates ideológicos, a NER se torna uma tarefa bastante difícil, pois as entidades
aqui referenciadas podem ser de diversos tipos (e.g., pessoas, lugares, organizações).
Outro fator que aumenta a dificuldade dessa tarefa são as anáforas. Nos textos
opinativos, comumente os autores utilizam pronomes para fazer referência a objetos
já citados. Para solucionar este problema, é necessário desenvolver um método
para Resolução de Anáfora (Jakob e Gurevych, 2010).
• Léxicos Subjetivos: Uma das principais fontes de erro em abordagens que utilizam
léxicos subjetivos são os falsos hits com as palavras do léxico (Somasundaran e
7 https://www.viralheat.com/
8 http://nltk.org/
9 http://www.alchemyapi.com/
34
2.6. CONCLUSÃO
Wiebe, 2009). Muitas destas palavras, de acordo com o contexto em que se encontram no texto, podem ter conotação subjetiva ou objetiva, e portanto, adicionam
ruído à classificação de sentimento.
• Detecção de Subjetividade: Um terceiro desafio é determinar quais documentos
ou partes de documentos possuem conteúdo opinativo. A detecção de subjetividade
em textos extraídos de reviews de produtos é simples, visto que esses textos são
estritamente opinativos. Já em textos extraídos de debates ideológicos, fóruns,
redes sociais, a detecção de subjetividade torna-se bastante complicada, pois além
da estrutura do texto ser diferente dos reviews, é comum a ocorrência de ironias,
sarcasmos, metáforas. Esses elementos podem ser erroneamente interpretados
como opiniões positivas, sendo que na realidade são opiniões negativas.
• Textos Opinativos com Ruídos: Textos com erros de grafia, erros gramaticais,
falta de pontuação e gírias ainda representam grandes desafios para os sistemas de AS. Alguns desses problemas são solucionados a partir de um bom préprocessamento no texto.
2.6
Conclusão
Neste capítulo, apresentamos os principais conceitos relacionados à área de Análise de
Sentimentos (e.g., níveis da AS, tipos de opiniões, etc), além das etapas de um sistema de
Mineração da Opinião. Por fim, citamos alguns desafios que fazem com que a Análise de
Sentimento seja uma das áreas mais pesquisadas no momento.
No próximo capítulo, apresentaremos com mais detalhes o processo de Análise de
Sentimento em cima de textos de debates de produtos.
35
3
Análise de Sentimento em Debates
Polarizados
Neste capítulo, veremos com mais profundidade a classificação de sentimento em debates polarizados, por este ser o foco do nosso trabalho. Apresentaremos as principais
contribuições da AS em debates ideológicos e debates não-ideológicos, descrevendo com
maiores detalhes as abordagens e recursos utilizados nesses trabalhos.
A seção 3.1 mostrará uma visão geral sobre os problemas de realizar AS em textos de
debates polarizados. As seções 3.2, e 3.3 apresentarão algumas abordagens utilizadas para
classificação de sentimentos em debates polarizados. A seção 3.4 descreve brevemente
dois léxicos subjetivos bastante citados na literatura de AS. Na seção 3.5 apresentamos
dois fenômenos liguísticos comuns em debates online e que foram tratados neste trabalho
de mestrado. Por fim, a seção 3.6 apresentará as considerações finais.
3.1
Visão Geral
Uma tendência atual das pessoas é expressar seus pensamentos e pontos de vistas em
micro blogs, redes sociais, ou em sites de debates1 , opinando sobre os mais diversos
assuntos, desde temas relacionados a política (e.g., guerras, direito sobre armas, aborto)
a temas sobre opiniões acerca de produtos. Este comportamento gera oportunidades
para empresas de marketing, que buscam gerir a publicidade de políticos em campanhas
eleitorais, ou de marcas de produtos no mercado consumidor2 , analisando o pensamento
geral expresso nessas mídias sociais.
1 www.createdebate.com,
www.convinceme.net, www.politicalforum.com, www.forandagainst.com
2 http://data-informed.com/presidential-debates-provide-living-laboratory-for-marketers-studying-
sentiment-analysis/
36
3.1. VISÃO GERAL
Quadro 3.1:Exemplos de posts do debate sobre a Existência de Deus
Postura
Posts
God does not exist Before I began, let’s create three base ideas about God:
A. God is perfect
B. God sees all
C. God can do whatever he/she wants
Now, based on those, we can create the following:
1. God sees evil in the world (B), but despite having the
power to stop it (C), does not.
2. Any being that sees wrong, knows it can be stopped by
him or her, and takes no action is flawed on some level.
3. This is contradictory to letter A, as in the scripture it is
said that God is perfect.
4. Therefore, God doesn’t exist.
God does exist
God sees all, God is perfect, God can do whatever He
wants, Now..God sees evil but doesn’t stop it. So,
therefore he is not real. When a murderer sees evil and
does not stop it does that mean he doesn’t exist? When I
see evil in the government or anything, and do nothing,
because I can’t. Does that mean I am not real? Sometimes
we can’t stop evil, and must let it happen. Everything
happens for a reason the good and the bad. He is not
responsible for Evil, Lucifer is. He may try to stop evil,
but whether evil is stopped or not depends on if the person
or being who is doing it is pure and good. Who is to say
He didn’t try. You can’t prove he didn;t without some
more
details.
God does not exist To prove there is not a God,you must prove that God does
not exist Unless you can present evidence that God does
not exist, than your argument is no better than your
opposition.
God does exist
Prove to me that the Flying Spaghetti Monster doesn’t
exist.
No sir it doesn’t work that way. If you are asserting
something exists you are required to back it up with
evidence.
Nothing can be disproved, your must do your best to
PROVE your stance using logic, reason and evidence.
Things can be found to be VERY VERYVERY unlikely.
Saying something exists doesn’t make it so.
37
3.1. VISÃO GERAL
Nesse contexto, a Análise de Sentimento busca extrair a postura/posicionamento (do
inglês, stance) de um indivíduo a partir de textos polarizados. Somasundaran e Wiebe
(2009) definem stance como uma opinião geral de uma pessoa sobre um objeto, idéia
ou posição. Walker et al. (2012) defendem que este ponto de vista (postura) pode ser
utilizado na identificação de qual lado um indivíduo está em um debate polarizado, e.g., a
favor ou contra a existência de Deus, como ilustrado no quadro 3.13 .
Discussões em fóruns, ou em sites de debates na Web sobre tópicos atuais (e.g., Qual
o melhor console: PS3 ou Xbox?, Casamento Gay, etc.) são bem populares, e costumam
ter uma forte carga emotiva. Os participantes desses debates apresentam suas preferências
e justificam o porquê de suas opiniões estarem corretas. Além disso, para fortalecer
seus pontos de vista, alguns debatedores apresentam argumentações negativas sobre seus
adversários ou sobre as opiniões deles. Outra ocorrência comum é a mudança de opinião
de alguns participantes durante a evolução do debate, chegando até a trocar de lado na
discussão.
Complicando ainda mais este cenário, os participantes do debate ainda podem apresentar opiniões positivas sobre alguns aspectos do objeto (produto ou tópico) sendo
apoiado pelo lado adversário, sem realmente mudar sua postura no debate. Além disso,
alguns debatedores chegam a manifestar opiniões negativas sobre aspectos dos tópicos
que defendem no debate. A estes fatores, damos o nome de concessões (Robaldo et al.,
2010).
Existem alguns outros elementos presentes em debates polarizados que acrescentam
dificuldades à realização da AS. A linguagem informal predominante nestes tipos de
textos, e a grande quantidade de gírias, são fortes fontes de ruído na etapa de classificação
de sentimento. Assim, para determinar a polaridade nesses debates, é necessário, além
de identificar as opiniões positivas e as negativas, determinar sobre o que essas opiniões
estão tratando, ou seja, as entidades que estão sendo avaliadas. Nesses debates, algumas
das entidades presentes são citadas por referências anafóricas (Somasundaran e Wiebe,
2009), o que pode dificultar a tarefa de associar uma palavra opinativa a um objeto em
discussão.
Walker et al. (2012) examinaram a classificação da postura dos participantes dentro
do corpus de 14 debates distintos, 10 debates ideológicos, e 4 debates não ideológicos. A
fim de demonstrar a dificuldade da AS nesses tipos de textos, os autores conduziram um
experimento através do Mechanical Turk4 onde a classificação dos posts de debate foi
3 http://www.convinceme.net/debates/150/Existence-of-God.html
4 https://www.mturk.com/mturk/welcome
38
3.2. AS EM DEBATES IDEOLÓGICOS
feita por humanos. Eles observaram que apenas 78,26% das pessoas que participaram
desse experimento coincidiram sua classificação com a marcação original do post no
debate, demonstrando que classificar os posts isoladamente não é uma tarefa trivial nem
para humanos.
Nas próximas seções, apresentaremos as principais contribuições relacionadas a AS
em textos de debates ideológicos e debates não-ideológicos.
3.2
AS em Debates Ideológicos
Existem diversos trabalhos relacionados à AS com o objetivo de classificar a stance de
pessoas dentro de um debate, sejam debates de cunho formal, como por exemplo debates
sobre resoluções e projetos de leis discutidos no Congresso dos Estados Unidos5 , ou
sejam debates informais, como vemos nos fóruns online e sites de debates.
Uma das primeiras investigações sobre AS em textos de debates políticos foi realizada
por Thomas et al. (2006). Analisando um corpus de debate do congresso americano,
os autores inferiram relacionamentos entre os debatedores que faziam replies a outros
participantes que compartilhavam a mesma opinião. Para a classificação das stances dos
debatedores, os autores utilizaram um classificador baseado em Support Vector Machine
(SVM). O melhor resultado obtido pelos autores foi 76,05% de acurácia.
Outro trabalho que utiliza uma estrutura de relacionamentos entre os participantes
de um debate é Malouf e Mullen (2008). Esse trabalho reuniu um corpus de debate
com 77.854 posts sobre tópicos políticos do site politics.com6 . Os participantes do
debate informam sua orientação política em relação ao posts, e através disso, os autores
agruparam todos os integrantes em três classes, com base em suas orientações: Left
(liberal, democrat, l-fringe); Right (conservative, republican, r-fringe); e Other (centrist,
green, libertarian, independent).
Malouf e Mullen conduziram três experimentos utilizando esse corpus de debates
políticos. O primeiro experimento buscou medir a Orientação Semântica política dos
textos reproduzindo a técnica PMI-IR descrita no trabalho de Turney (2002). Os autores
alcançaram a acurácia de 40,76% nesta primeira experimentação. O segundo experimento
foi realizado utilizando o algoritmo de classificação de texto Naive Bayes. Malouf
e Mullen obtiveram melhor acurácia no segundo experimento em relação ao anterior,
alcançando 63,46%. No último experimento, foi criada uma matriz de adjacência de
5 https://www.govtrack.us/
6 www.politics.com
39
3.2. AS EM DEBATES IDEOLÓGICOS
co-citações entre os participantes do debate para a representação do corpus no formato de
um grafo. Em seguida, foi medida a distância entre dois pares desta estrutura para tentar
inferir clusters de debatedores com padrões de citações semelhantes. Após a criação dos
clusters, Malouf e Mullen aplicam o algoritmo de classificação utilizado no experimento
anterior para inferir as posturas dos grupos. Das três configurações, o último experimento
obteve o melhor resultado, onde a acurácia chegou aos 68,48%.
Já a pesquisa (Wang e Rosé, 2010) foi conduzida com base em textos de fóruns7 ,
analisando a estrutura de co-citações e repostas presentes nas discussões. Os autores
tentaram inferir relacionamentos entre pares de citações do corpus utilizando uma variação
de Análise de Semântica Latente (do inglês, Latent Semantic Analysis), ao invés de tentar
inferir conformidade ou discórdia entre os autores dos posts. Com essa abordagem, Wang
e Rosé conseguiram 71% de acurácia em seus resultados.
Somasundaran e Weibe também classificaram as posturas de usuários em debates
ideológicos (Somasundaran e Wiebe, 2010). Neste trabalho as autoras buscaram inovar,
criando um dicionário de argumentações polarizadas (positivas ou negativas). Somasundaran e Weibe defendem que existem expressões que dão indícios de que um dado trecho
do texto contém uma argumentação polarizada.
As autoras construíram seu dicionário com base no corpus MPQA8 , que possui argumentações polarizadas. A figura 3.1 ilustra alguns exemplos de trechos de argumentações
e as expressões que são indicadores de argumentação. Note que os indicadores de argumentações positivas (no topo da figura) são diferentes dos indicadores de argumentações
negativas.
Figura 3.1 Exemplos de trechos argumentações polarizadas retirados de (Somasundaran e Wiebe,
2010). A coluna da esquerda apresenta o trecho da argumentação positiva/negativa, e a coluna da
direita mostra os marcadores de argumentação.
7 alt.politics.usaUsenet
8 http://mpqa.cs.pitt.edu/corpora/mpqa_corpus
40
3.3. AS EM DEBATE NÃO IDEOLÓGICOS
Somasundaran e Weibe conduziram duas experimentações com seus corpora de
debates. A primeira configuração utiliza somente as informações do dicionário de
argumentações polarizadas. Na segunda configuração, as autoras buscam identificar a
polaridade(positiva , negativa , ou neutra) de cada sentença dos posts e então, atribuir
esta polaridade às palavras de classes abertas presentes em cada sentença analisada. Para
esta tarefa, Somasundaran e Weibe identificaram as palavras opinativas presentes nas
sentenças dos posts com o auxílio do léxico MPQA (Wilson et al., 2005). Assim, a
polaridade de cada sentença é definida pela soma da polaridade das palavras opinativas.
Para a classificação das posturas dos posts nos debate, Somasundaran e Weibe utilizaram o algoritmo de aprendizagem supervisionada SVM da ferramenta Weka9 (Hall et al.,
2009). O melhor resultado obtido pelas autores foi 70,59% de acurácia.
Outra linha de trabalho relacionada à AS em debates ideológicos é a detecção de
subgrupos de debatedores que possuem pontos de vista distintos (Abu-Jbara et al., 2012).
Para detectar as posturas dos usuários, o sistema de Abu-Jbara et al. utiliza uma abordagem baseada em regras para a identificar as opiniões relacionadas, bem como os tópicos
sendo discutidos. Posteriormente, os autores contabilizam a frequência com que cada
usuário interage ou menciona um assunto, e a quantidade de vezes que os usuários expressam aspectos positivos e negativos sobre cada tópico do debate. Os clusters são formados
através de algoritmos de aprendizagem não supervisionada10 .
3.3
AS em Debate Não Ideológicos
Esta seção apresentará duas abordagens para Análise de Sentimento em debates nãoideológicos, i.e., aqueles debates sem conteúdo político (e.g., debates sobre produtos/marcas, animais, personagens de filmes, etc.).
O trabalho de Walker et al. (2012), já mencionado aqui nesta dissertação, investigou
a polaridade de 14 debates distintos, sendo 10 debates ideológicos, e 4 não ideológicos.
Para a classificação automática, Walker et al. conduziram dois experimentos utilizando
diversos algoritmos de Aprendizagem Supervisionada. O primeiro experimento foi
conduzido baseado nos atributos ilustrados na figura 3.2, com exceção do último atributo.
Para a segunda experimentação, os autores construíram um grafo para representar os
replies presentes nos debates, e além disso acrescentaram o atributo contexto, que foi
excluído no primeiro momento. Este atributo é responsável por adicionar as informações
9
http://www.cs.waikato.ac.nz/ml/weka/
10 http://java-ml.sourceforge.net/
41
3.3. AS EM DEBATE NÃO IDEOLÓGICOS
Figura 3.2 Lista de atributos utilizados pelo classificador do trabalho de (Walker et al., 2012).
Na coluna da esquerda estão os atributos, e na coluna da direita, existe uma breve explanação
sobre cada um dos atributos.
do post pai, i.e., o comentário que está no nível logo acima no grafo.
Figura 3.3 Resultados do primeiro experimento desenvolvido em (Walker et al., 2012). Os
primeiros quatro debates que estão sobre a linha horizontal são debates não ideológicos. Na
coluna da esquerda são apresentados os valores das acurácias relacionadas aos atributos utilizados
na classifiação. Os demais debates apresentados são ideológicos.
Inspirado no trabalho de Thomas et al. (2006), um outro experimento teve como
foco a classificação dos posts agrupados por autores. Em seguida, eles estenderam o
experimento aplicando o algoritmo MinCut (Bansal et al., 2008). Contudo, os resultados
dessa experimentação não foram divulgados pelos autores pois, segundo eles próprios,
não houve melhoras na acurácia desta experimentação.
As figuras 3.3 e 3.4 apresentam os resultados de Walker et al. (2012). Como é possível
ser observado na figura 3.3, os resultados obtidos sobre os debates não ideológicos
(67,69%) são ligeiramente superiores em relação aos resultados obtidos com os debates
ideológicos (65,38%). Já a figura 3.4 mostra os resultados do segundo experimento, e
como é possível ver, este resultados se mostraram superiores em relação aos valores
42
3.3. AS EM DEBATE NÃO IDEOLÓGICOS
Figura 3.4 Resultados do segundo experimento desenvolvido em (Walker et al., 2012).
apresentados no experimento anterior. As melhores taxas de acurária foram: 75,38%
nos debates não ideológicos, e 69,23% nos debates ideológicos. Em relação ao corpus
Firefox vs. Internet Explorer, que é explorado tanto nesta dissertação como no trabalho
de Somasundaran e Wiebe (2009), obtive 63,75% na classificação sem contexto. Já na
classificação com contexto, sua melhor acurácia foi 66,25%.
Uma das principais contribuições da área, e referência base para esta pesquisa de
mestrado, é o trabalho de Somasundaran e Wiebe (2009). As autoras desenvolveram
uma abordagem não-supervisionada para a classificação das posturas em posts de debates
polarizados com dois tópicos (e.g., iPhone x Blackberry). Para a realização deste trabalho,
elas coletaram textos de debates sobre produtos no site convinceme11 .
Tabela 3.1 Quantidade de posts nos corpora de debates de Somasundaran e Weibe (Somasundaran
e Wiebe, 2009).
Tópicos dos debates
Firefox vs. Internet Explorer
Blackberry vs. iPhone
Sony Ps3 vs. Nintendo Wii
Opera vs. Firefox
Windows vs. Mac
Total de Posts utilizados de cada debate
169
24
68
16
27
As autoras disponibilizaram seus corpora para livre download12 . A tabela 3.1 apresenta os tópicos dos debates dos corpora, e a quantidade posts em cada corpus. As
informações aqui apresentadas fazem referência aos dados divulgados pelas autoras.
11 www.convinceme.net
12 http://mpqa.cs.pitt.edu/corpora/product_debates
43
3.3. AS EM DEBATE NÃO IDEOLÓGICOS
Para identificar as opiniões contidas nos debates, as autoras buscaram no texto palavras
que estão contidas no léxico subjetivo MPQA (Wilson et al., 2005). Se uma palavra
desse léxico é identificada no texto, logo, atribui-se a esssa palavra a sua polaridade no
dicionário, podendo ser positiva (+), negativa (-), ou neutra (*). A seção 3.4 irá apresentar
esse dicionário com mais detalhes, uma vez que esse léxico foi utilizado neste trabalho
de mestrado na etapa de classificação de sentimento.
Para emparelhar essas opiniões às entidades (atributos) que elas avaliam, Somasundaran e Weibe criaram um sistema baseado em regras sintáticas, e utilizaram o parser de
dependência de Stanford13 para extrair essas informações. A figura 3.5 apresenta algumas
das regras desenvolvidas pelas autoras.
Figura 3.5 Exemplos de regras sintáticas utilizadas por Somasundaran e Weibe.
Assim que os pares (aspecto-opinião) são criados, as autoras abstraem suas representações para aspecto+ ou aspecto-, de acordo com a polaridade das opiniões. Logo, o par
(popup-annoying) será reescrito como popup-.
Em uma segunda etapa do trabalho, Somasundaran e Weibe mineram a Web em
busca de identificar as preferências expressas pelos participantes dos debates em suas
argumentações. As autoras defendem que os participantes de debates tendem a destacar os
atributos que são fundamentais para suas posturas, expressando opiniões positivas sobre
os aspectos que os agradam, e opiniões negativas sobre os atributos que os desagradam.
Para realização desta tarefa, as autoras reuniram textos de weblogs e fóruns sobre
os tópicos relacionados aos debates sendo analisados (e.g., iPhone e Blackberry), e
identificaram os pares (aspecto-opinião) de maneira semelhante ao procedimento usado
nos textos dos debates. Para cada aspecto-i dos pares encontrados no corpus da Web, é
13 http://nlp.stanford.edu/software/lex-parser.shtml
44
3.3. AS EM DEBATE NÃO IDEOLÓGICOS
calculada a seguinte probabilidade condicional (Eq. 3.1):
P
q !
t ópico j
=
aspectoip
q
p
# t ópico j , aspectoi
#aspectoip
3.1 Onde p = q = +, -, * denotam a polaridade dos aspectos e tópicos, respectivamente; j =
1 , 2 e i = 1 ... M, onde M representa o número de aspectos individuais dentro do corpus.
A figura 3.6 apresenta os resultados de algumas dessas probabilidades. De acordo com
a figura, podemos destacar que o atributo email+ é mais frequente em textos com aspectos
positivo sobre o tópico Blackberry do que do tópico iPhone. De maneira semelhante, o
atributo keyboard+ também é mais comum em textos sobre Blackberry do que em textos
relacionados ao iPhone.
Figura 3.6 Resultados das probabilidades apresentadas no trabalho de Somasundaran e Weibe
sobre o debate iPhone vs. Blackberry
Na etapa de classificação dos posts, as autoras formularam um problema de Programação Linear Inteira14 . Em um de seus experimentos, elas contabilizam as concessões
encontradas nos corpora com o auxílio de uma lista de conectivos de discurso Penn
Discourse Treebank (Prasad et al., 2008). A estratégia básica deste procedimento foi
determinar a posição dos conectivos no texto, e inverter a(s) polaridade(s) do(s) par(es)
de uma das sentenças. Se o conectivo estiver no meio da sentença, os pares pertencentes à
sentença que precede o conectivo terão suas polaridades invertidas. Se o conectivo estiver
no início da sentença, esta é separa em uma sub-sentença até primeira vírgula encontrada,
e todos os pares nesta sub-sentença terão suas polaridades invertidas.
A contribuição Somasundaran e Wiebe (2009) foi apresentada em dois experimentos
(OpPr, e OpPr + Disc) . Como visto na figura 3.7, no OpPr onde a classificação dos
posts é conduzida sem a análise de concessões, e o melhor resultado obtido foi 66,67%
de acurácia no corpus Windows vs.Mac. Já o OpPr + Disc faz a análise de concessões
14 Maiores
detalhes no artigo (Somasundaran e Wiebe, 2009)
45
3.4. LÉXICOS SUBJETIVOS
Figura 3.7 Resultados de Somasundaran e Wiebe (2009)
e também obteve o resultado de 66,67% de acurácia no mesmo corpus. Os números
apresentados no corpus Opera vs. Firefox são superiores em relação aos outros corpora,
porém esses resultados são obtidos sobre a análise de quatro posts deste debate.
3.4
Léxicos Subjetivos
Léxicos subjetivos são recursos essenciais para diversas abordagens de Análise de Sentimento (Turney, 2002), (Taboada et al., 2011), (Silva et al., 2012). Esses dicionários
podem ser criados manualmente ((Wilson et al., 2005), (Taboada et al., 2011)), ou podem
ser gerados automaticamente, a partir de um conjunto de inicial de palavras opinativas
(seed words) (Turney e Littman, 2003), (Qiu et al., 2011).
O léxico subjetivo utilizado no trabalho de Somasundaran e Wiebe (2009) e neste
46
3.5. FENÔMENOS LINGUÍSTICOS EM DEBATES
trabalho de mestrado é o léxico MPQA (Wilson et al., 2005)15 . Este recurso possui cerca
de 8 mil palavras opinativas, contendo, além da polaridade, o grau de subjetividade das
palavras (forte ou fraco), o tamanho (indica se a palavra é ou não uma palavra composta),
a classe gramatical, e se palavra está reduzida ao stem. A figura 3.8 apresenta como é a
estrutura deste dicionário.
Figura 3.8 Estrutura do léxico subjetivo MPQA com exemplos de palavras.
Esse léxico subjetivo foi compilado a partir de uma lista de palavras do trabalho de
Riloff e Wiebe (2003), e posteriormente, expandido com o auxílio um dicionário, um
thesaurus, e uma lista de palavras positivas e negativas do léxico General Inquirer 16 .
Outro léxico de destaque na literatura de AS é o SentiWordNet ((Esuli e Sebastiani,
2006), (Baccianella et al., 2010)). Este dicionário foi criado a partir da base lexical do
WordNet17 , e contém cerca de 110 mil palavras da língua inglesa, sendo das seguintes
classes gramaticais: verbos, substantivos, advérbios e adjetivos. A cada palavra é associado um valor positivo e um valor negativo, e o valor neutro é obtido pelo complemento
da soma dos dois scores anteriores. Também são indicadas as classes gramaticais das
palavras, bem como informações sobre o uso e cada palavra na língua inglesa. A figura
3.9 apresenta a estrutura do SentiWordNet.
3.5
Fenômenos Linguísticos em debates
Esta seção apresenta uma breve fundamentação sobre dois fenômenos linguísticos presentes em debates: as anáforas (seção 3.5.1), e as concessões (seção 3.5.2). Esses fenômenos
foram considerados e tratados neste trabalho de mestrado.
15 Disponível
em: http://mpqa.cs.pitt.edu/lexicons/
inquirer/
17 http://wordnet.princeton.edu/
16 http://www.wjh.harvard.edu/
47
3.5. FENÔMENOS LINGUÍSTICOS EM DEBATES
Figura 3.9 Estrutura do léxico SentiWordNet contendo exemplos de palavras opinativas.
3.5.1
Anáforas
Um elemento pouco abordado em sistemas de Análise de Sentimento e que é capaz de
auxiliar na identificação de entidades associadas às opiniões são as anáforas (Jakob e
Gurevych, 2010). Este fenômeno é um elemento linguístico de coesão que faz referência
a alguma entidade anteriormente expressa no texto (Mitkov, 1999). Mitkov também
explica que a entidade que é referenciada pela anáfora é conhecida como antecedente.
De acordo essa definição, podemos dizer que a resolução de anáfora pode ser definida
como o processo de identificar o antecedente de um referente anafórico ((Mitkov, 1999),
(Kabadjov, 2007)).
Mitkov descreve os três tipos de anáforas mais difundidos na literatura de Linguística
Computacional:
• Anáfora pronominal é o tipo de anáfora mais conhecido e estudado dentro da literatura. Os pronomes anafóricos podem ser dos tipos pessoal, possessivo, reflexivo
e demonstrativo. O exemplo 3.1 apresenta o antecedente em negrito na primeira
sentença, e seu referente anafórico sublinhado na segunda sentença.
• Anáfora de Sintagma Nominal é tipo de anáfora onde o antecedente é referenciado por um sintagma nominal que deve ser semanticamente próximo ao antecedente
(e.g., sinônimo). Este caso de anáfora é demonstrado no exemplo 3.2 .
• Anáfora One é o caso onde a anáfora é concedida pelo sintagma nominal formado
com o termo “one”. O exemplo 3.3 apresenta uma ilustração desta ocorrência.
48
3.5. FENÔMENOS LINGUÍSTICOS EM DEBATES
Exemplo 3.1: Caso de anáfora pronominal retirado de (Mitkov, 1999)
Computational Linguists from many different countries attended the tutorial. They took
extensive notes.
Exemplo 3.2: Caso de anáfora de sintagma nominal retirado de (Mitkov, 1999)
Computational Linguists from many different countries attended the tutorial.
The participants found it hard to cope with the speed of the presentation.
3.5.2
Concessões
Em debates, é comum encontrarmos participantes que, durante a evolução da discussão,
mudam de opinião sobre um determinado tópico e passam a defender o lado do debate
que antes criticavam. Outro fenômeno também comum em debates ocorre quando um
participante reconhece o ponto de vista de um adversário no debate, mas, apesar disso,
permanece com sua opinião. A este último fenômeno damos o nome de concessão
(Concession).
Por definição, concessão é um tipo particular de relação semântica entre a interpretação de um argumento que cria uma expectativa e um segundo argumento que
explicitamente contradiz o primeiro (Kruijff-Korbayova e Webber, 2007). A primeira
sentença do exemplo 3.4 mostra um caso de concessão retirado no nosso corpora de
debates. O usuário, apesar de se expressar de forma favorável ao iPhone, demonstra em
sua argumentação que prefere o Blackberry.
Robaldo et al. (2010) destacam dois tipos de concessão: a que instancia uma relação
direta entre a expectativa e a contradição desta, e a que instancia uma relação indireta
entre esses elementos que estão presentes em um determinado trecho do texto. Para
melhor compreensão dos tipos de concessão, utilizaremos os exemplos 3.5 e 3.6 a seguir.
Considere a seguinte suposição: “Mulheres bonitas geralmente não ficam solteiras, todas
se casam”. No exemplo 3.5, levando em consideração a suposição anterior, o trecho
em negrito gera uma expectativa direta, que é claramente negada na sentença seguinte.
Já no exemplo 3.6, se uma pessoa não possuir um carro, não implica que esta mesma
pessoa não tenha uma bicicleta. Neste caso a concessão é indireta, pois supondo que
“uma pessoa que não possui carro é uma pessoa sem muita mobilidade”, a sentença em
negrito gera uma expectativa que é indiretamente negada na sentença em itálico.
49
3.6. CONSIDERAÇÕES FINAIS
Exemplo 3.3: Caso de anáfora com o referente one retirado de (Mitkov, 1999)
If you cannot attend a tutorial in the morning, you can go for an afternoon one.
Exemplo 3.4: Post retirado do debate iPhone vs. Blackberry.
(1)While the iPhone may appeal to younger generations and the BB to older, there is no
way it is geared towards a less rich population. (2) In fact it’s exactly the opposite.(3)
It’s a gimmick. (4) The initial purchase may be half the price, but when all is said and
done you pay at least $200 more for the 3g.
3.6
Considerações Finais
Como foi visto neste capítulo, a Análise de Sentimento em debates polarizados apresenta
alguns desafios que não estão presentes na mineração de opiniões em reviews. Para
melhor organização do capítulo, dividimos as abordagens de AS em dois tipos de debates
polarizados: debates ideológicos e debates não ideológicos.
Como dito anteriormente, os debates ideológicos apresentam conteúdos políticos,
discussões sobre direitos relacionados a armas, crenças religiosas, aborto e etc. Já os
debates não ideológicos são sobre temas sem conotação política, como por exemplo, qual
o melhor navegador web, o melhor console de vídeo games, o melhor aparelho celular,
etc.
Alguns trabalhos sobre debates polarizados consideraram as estruturas de replies
importantes para a classificação da postura de cada participante no debate. Estas abordagens utilizaram essa estrutura para formar clusters de debatedores que possuíssem a
mesma opinião. Os replies dentro do debate realmente podem definir relacionamentos
de conformidade/discórdia entre os debatedores, sendo, portanto, estruturas que devem
ser consideradas no processo de classificação de sentimento. Contudo, utilizá-los como
meio para agrupar os participantes de mesma opinião pode não ser uma boa prática,
pois durante a evolução do debate, os participantes podem mudar de opinião e trocar de
posição no debate.
Outra abordagem bem interessante e inovadora é o trabalho de Somasundaran e
Wiebe (2009). Este trabalho obteve bons resultados realizando uma mineração na Web,
juntamente com a utilização de uma abordagem não supervisionada para determinar as
preferências dos participantes do debate. Contudo, as autoras não trataram um elemento
essencial, muito comum em debates, e que faz parte da análise do discurso, que são as
50
3.6. CONSIDERAÇÕES FINAIS
Exemplo 3.5: Ilustração de um caso de concessão direta
Although Greta Garbo was considered the yardstick of beauty, she never married.
Exemplo 3.6: Ilustração de um caso de concessão indireta
Although he does not have a car, he has a bike.
anáforas. A abordagem desenvolvida durante este trabalho de mestrado implementou um
algoritmo simples de resolução de anáforas que melhorou o desempenho da abordagem
de Somasundaran e Wiebe (2009).
Mesmo com o crescente número de pesquisas tratando sentimento em debates polarizados, os resultados ainda estão longe do estado da arte da AS em geral. Como os
pesquisadores citados neste capítulo destacam, ainda há muito o que evoluir neste campo
da AS.
O capítulo a seguir apresentará nossa abordagem para a classificação de sentimento
em debates não ideológicos. O capítulo 5 traz os experimentos realizados em cima desta
abordagem.
51
4
ASDP: Um Processo de Análise de
Sentimento em Debates Polarizados
Nos capítulos anteriores, foram apresentados os conceitos e desafios gerais encontrados
no universo de Análise de Sentimento. No capítulo 2, ilustramos algumas áreas de
aplicação para sistemas de AS, e descrevemos as motivações para a criação de tais
sistemas. No capítulo 3, voltamos nossa atenção a uma área de pesquisa crescente em
mineração de opiniões, que é a AS em debates on-line. Este capítulo é destinado à
apresentação do trabalho desenvolvido nesta pesquisa de mestrado, com foco na AS em
debates polarizados não ideológicos.
Observando a necessidade de sistemas mais eficazes na classificação de sentimentos
em debates polarizados, apresentamos o ASDP, um processo de Análise de Sentimento
em Debates Polarizados. Segundo Sommerville (1995), processo é um conjunto de
atividades e resultados associados que levam à produção de um produto de software.
Complementando essa definição, temos que processo é “qualquer atividade ou conjunto de atividades que toma um input, adiciona valor a ele e fornece um output a um
cliente específico” (Gonçalves, 2000). Dentro dessa ótica, nosso processo recebe como
input posts de debates polarizados, acresecenta a cada posts sua polaridade (stance), e
retorna esse resultado ao usuário do sistema implementado.
Ainda segundo o Sommerville (1995), os processos são compostos por tarefas ou atividades fundamenteais inter-relacionadas, que buscam a solução de uma questão específica.
No nosso caso, o ASDP conta com três tarefas/atividades pricipais: pré-processamento
dos posts de entrada, classificação de sentimento, apresentação dos resultados. Essas
atividades foram consideradas como etapas de processamento dos posts, tendo sido
implementadas em módulos separados no protótipo do sistema.
A classificação de sentimento do ASDP é baseada em padrões linguísticos e em um
52
4.1. CARACTERIZAÇÃO DO PROBLEMA
léxico subjetivo, que consiste no MPQA (Wilson et al., 2005) (ver seção 3.4) juntamente
com um léxico de gírias criado durante o desenvolvimento deste trabalho. Esta etapa
dispõe também de um submódulo para resolução de anáfora, um submódulo para a
análise de concessões, e por último, um submódulo para análise dos posts usando uma
representação em forma de grafo de replies.
A seguir, a seção 4.1 apresenta com mais clareza o problema que o ASDP busca
resolver. Na seção 4.2, é definida a arquitetura do sistema que implementa o ASDP. A
seção 4.3 descreve a etapa de normalização dos posts dos debates. A seção 4.4 apresenta
o processo de classificação de sentimento, explicando o funcionamento de cada um dos
seus submódulos. Por fim, a seção 4.5 apresenta as considerações finais deste capítulo.
4.1
Caracterização do Problema
No capítulo 2, mostramos que um processo de Análise de Sentimento completo é bastante
complexo, podendo ser dividido em quatro tarefas/etapas: detecção de subjetividade
(2.3.1), extração de atributos (2.3.2), classificação de sentimentos (2.3.3) e apresentação
de resultados (2.3.4). Como apresentado nos capítulos 2 e 3, nem todos os trabalhos
relacionados a AS implementam todas as etapas mencionadas anteriormente, devido à
sua grande complexidade.
Escolhemos como foco do ASDP a etapa de classificação de sentimentos. A princípio,
a etapa de detecção de subjetividade não seria necessária, uma vez que os posts de debates
polarizados deveriam sempre carregar conteúdo subjetivo. Apesar disso, detectamos
alguns comentários sem conteúdo opinativo que foram considerados como ruído, e foram
automaticamente removidos (ver seção 4.3).
A etapa de extração automática de atributos, que é uma das mais complexas da AS, foi
deixada como trabalho futuro. Assim, os atributos foram manualmente informados para o
sistema implementado. Por fim, a etapa de visualização de resultados foi implementada de
forma bastante simples, e consiste apenas na apresentação dos resultados da classificação
em uma caixa de diálogo gerada a partir da Linguagem de Programação JAVA 1 .
Como dito anteriormente, o objetivo central deste trabalho é a classificação de sentimentos em debates polarizados não ideológicos. Esta tarefa é bastante complexa, pois
os textos dos debates costumam ser longos, e algumas vezes apresentam ironias, ou até
mesmo ofensas direcionadas a outros participantes ou produtos/marcas/empresas. Os
indivíduos que participam do debate, além de argumentarem em favor de suas preferên1 www.oracle.com/technetwork/java/javase/downloads/
53
4.2. ARQUITETURA DO SISTEMA
cias, podem também tecer críticas sobre as argumentações e preferências dos adversários.
Isso dificulta muito a classificação automática do post, uma vez que podemos encontrar
palavras opinativas positivas e negativas no mesmo post.
Este trabalho foi desenvolvido seguindo a abordagem de Sistemas Baseados em
Conhecimento, utilizando-se de técnicas Linguísticas para a classificação dos posts dos
debates. Elaboramos um processo de classificação que utiliza padrões linguísticos que
foram observados nos textos. Esses padrões montam triplas do tipo <produto, palavra
opinativa, sentença>, que são usadas para a atribuição inicial da polaridade, análise de
anáforas e concessões. Com esses e outros fatores associados, essa triplas definem as
classes dos posts.
Figura 4.1 Arquitetura geral do protótipo ASDP.
4.2
Arquitetura do Sistema
A figura 4.1 apresenta a arquitetura do protótipo do ASDP, e as fases para o processo de
classificação de sentimentos nos debates polarizados.
O protótipo atual do ASDP foi desenvolvido para a língua inglesa, devido à dificuldade
em encontrar sites de debates na língua portuguesa, bem como recursos e ferramentas
linguísticas para o português. Assim sendo, todos os exemplos utilizados neste trabalho
estão na língua inglesa, bem como as regras utilizadas para a classificação de sentimento.
Como é possível ver na figura 4.1, o ASDP possui duas etapas principais: o préprocessamento dos posts, responsável pela normalização e etiquetagem dos posts que
54
4.3. PRÉ-PROCESSAMENTO DOS POSTS
serão as entradas para a classificação de sentimentos; e a classificação de sentimento,
que por sua vez é composta pelos submódulos de atribuição de polaridade através do
léxico subjetivo, resolução de anáfora, análise de concessões, e análise do grafo de replies.
Todas essas atividades serão aprofundadas nas seções seguintes.
O ASDP conta com três bases de conhecimento, que auxiliam no processamento do
posts: base de substituições, léxico subjetivo e base de padrões linguísticos. Essas bases
serão descritas em seções diferentes, à medida que forem sendo usadas no processamento
dos posts. Assim, o Léxico subjetivo será discutido na seção 4.3.1; a base de substituições
é vista na seção 4.3.2; e a Base de padrões linguísticos será apresentada na seção 4.4.2.
Para ilustrar o processo geral do ASDP, iremos utilizar três (posts), que demonstrarão
a execução de todas as etapas do ASDP. Os posts que serão utilizados são os exemplos
4.1 ,4.2 e 4.3.
Exemplo 4.1: Comentário retirado do corpus do debate iPhone vs. Blackberry.
“Rebuttal to: soso
While the iPhone may appeal to younger generations and the BB to older, there is no way
it is geared towards a less rich population. In fact it’s exactly the opposite. It’s a gimmick.
The initial purchase may be half the price, but when all is said and done you pay at least
$200 more for the 3g. ”
Exemplo 4.2: Comentário retirado do corpus do debate iPhone vs. Blackberry.
“Rebuttal to: coop
I’ve never understood the appeal of the Blackberry in the first place. I’m a Treo 650 user
myself, but as for iPhone - it gets my vote over Blackberry. I love the idea of not having
to carry 2-3 devices. As it is, I carry a 60 GB iPod AND my phone. However, my Treo
650 plays music, plays movies, has Bluetooth, runs 3rd party apps, etc.... I love it. I may
not switch at all, but if I had to pick Blackberry or iPhone - the chocie is clear.”
Exemplo 4.3: Comentário retirado do corpus do debate Firefox vs. Internet Explorer2 .
“i love firefox and defended it, but what is odd is that this site is breaking in it.”
4.3
Pré-processamento dos Posts
A etapa de pré-processamento é responsável por três tarefas distintas. Inicialmente, é
feita uma análise automática dos posts de entrada a fim de descartar os posts que não
55
4.3. PRÉ-PROCESSAMENTO DOS POSTS
possuem palavras opinativas, ou não fazem referência a nenhum dos tópicos do debate
(ver seção 4.3.1). Essa tarefa equivale à etapa de detecção de subjetividade nos processos
comuns de AS.
A seguir, os textos dos posts opinativos passam por uma fase de normalização, a fim
de eliminar abreviações e contrações (que introduzem ruído na AS). Por fim, os posts
normalizados passam por um processo de etiquetagem com o uso do POS-Tagger de
Stanford (Toutanova et al., 2003). A figura 4.2 ilustra os submódulos desta etapa.
A saída deste módulo é usada como entrada para o módulo de Classificação de
sentimento.
Figura 4.2 Arquitetura da etapa de pré-processamento do protótipo ASDP.
4.3.1
Eliminação de posts não opinativos
A eliminação dos posts sem conteúdo opinativo foi feita automaticamente de forma
ad-hoc, com base apenas nas características dos posts usados nos nossos experimentos.
Assim, foram eliminados os posts que não continham nenhuma palavra opinativa
(com auxílio do léxico subjetivo), bem como os posts que não mencionavam no texto
nenhum dos tópicos em debate.
56
4.3. PRÉ-PROCESSAMENTO DOS POSTS
Léxico Subjetivo
O léxico subjetivo utilizado nesta pesquisa de mestrado consiste no léxico MPQA aumentado por gírias, que foram encontradas nos textos comuns de debates polarizados.
Exemplos de entradas do léxico MPQA podem ser vistos na seção 3.4, no capítulo 3,
enquanto que alguns exemplos de entradas do léxicos de gírias são mostradas no quadro
4.1. O léxico de gírias completo pode ser visto no apêndice B.
Quadro 4.1: Lista de gírias presentes no léxico de gírias criado.
Tipo
Tamanho Palavra Classe Gramatical Stemmed Polaridade
weaksubj
1
rox
adjetivo
não
postiva
weaksubj
1
pwns
verbo
não
positiva
weaksubj
1
crap
substantivo
não
negativa
Exemplos de posts eliminados
O quadro 4.2 apresenta alguns exemplos de posts eliminados no pré-processamento.
Quadro 4.2: Exemplos de posts que foram descartados na etapa pré-processamento.
Debate
Iphone vs. Blackberry
Firefox vs. Internet Explorer
Firefox vs. Internet Explorer
Sony Ps3 vs. Nintendo Wii
4.3.2
Post
and your point is ?
thats the funniest thing i ’ ve read today .
hey nobrob wasnt ie invented before firefox ah derrrr ! ! ! ! ! ! ! !
online is free and demos dont cost you anything
Normalização dos textos
É comum encontrarmos em sites de debates on line, fóruns de discussões, e blogs,
textos com erros de grafia, abreviações, gírias, entre outros elementos que caracterizam
a linguagem informal dominante nesses sites. Para a realização de um processo de AS
mais preciso, é interessante que esses elementos sejam tratados no texto sob análise, pois
a presença destes pode acarretar na perda de informações do texto, ou até mesmo na
inclusão de ruídos no processo de AS.
O submódulo de Normalização é responsável por filtrar os posts de entrada, substituindo as contrações, abreviações pelas palavras correspondentes na linguagem formal.
57
4.3. PRÉ-PROCESSAMENTO DOS POSTS
Figura 4.3 Lista de abreviações presentes na base de subtituição.
Figura 4.4 Lista de contrações presentes na base de subtituição.
Para isto, foram utilizadas bases de substituições que contém esses termos e suas respectivas palavras na forma padrão. As bases de substituições foram criadas a partir da
análise dos posts dos corpora de debates usados nos nossos experimentos (ver Apêndice
A). Tanto no Quadro 4.1, como nos exemplos 4.1 e 4.2 é possível verificar a presença de
abreviações e contrações nos posts.
Além disso, nos posts, é comum os participantes se referirem às entidades em debate
ora por sua nomenclatura oficial, ora por uma abreviação, ou até mesmo um apelido.
O exemplo 4.1 ilustra uma ocorrência dessa natureza, quando o produto Blackberry é
referenciado por BB. Para tratar esses fatores recorrentes nos textos, foi criada uma base
de sinônimos com as principais palavras que referenciam oficialmente os produtos em
debate no nosso corpora. Assim, apelidos e abreviações foram substituídos por suas
58
4.3. PRÉ-PROCESSAMENTO DOS POSTS
Figura 4.5 Lista de sinônimos presentes na base de subtituição.
nomenclaturas oficiais.
Base de substituições
As figuras 4.3, 4.4 e 4.5 apresentam exemplos de entradas de abreviações, contrações e
sinônimos respectivamente. A base completa de sinônimos pode ser vista na seção A.3
do apêndice A.
Exemplos de posts normalizados
Os exemplos 4.4 e 4.5 apresentam as modificações nos posts dos exemplos 4.1 e 4.2, respectivamente, após a execução do submódulo de Normalização. Como é possível verificar,
todas as contrações foram tratadas, bem como a abreviação do produto Blackberry.
Exemplo 4.4: Comentário retirado do corpus do debate iPhone vs. Blackberry.
“rebuttal to : soso
while the iphone may appeal to younger generations and the blackberry to older , there
is no way it is geared towards a less rich population . in fact it is exactly the opposite . it
is a gimmick . the initial purchase may be half the price , but when all is said and done
you pay at least $ 200 more for the 3g . ”
4.3.3
POS-Tagging
Após concluída a normalização dos posts, o passo seguinte é a etiquetagem das palavras
do texto segundo sua classe gramatical. A importância dessa etiquetagem é que, em geral,
59
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Exemplo 4.5: Comentário retirado do corpus do debate iPhone vs. Blackberry.
“rebuttal to : coop
i have never understood the appeal of the blackberry in the first place . i am a treo 650
user myself , but as for iphone - it gets my vote over blackberry . i love the idea of not
having to carry 2 - 3 devices . as it is , i carry a 60 gb iphone and my phone . however ,
my treo 650 plays music , plays movies , has bluetooth , runs 3rd party application , etc . .
. . i love it . i may not switch at all , but if i had to pick blackberry or iphone - the chocie
is clear . ”
as palavras opinativas correspondem a adjetivos e advérbios, podendo também incluir
alguns substantivos (e.g., amigo/inimigo) e verbos (e.g., gosto, detesto).
Para isto, utilizamos POS-taggers (do inglês, Parts-Of-Speech taggers), que são
ferramentas que têm como objetivo etiquetar vocábulos com sua classe gramatical,
levando em conta o contexto de ocorrência do vocábulo na sentença. São vários os
POS-taggers que podem ser encontrados na literatura, porém o mais utilizado é o Stanford
POS-tagger (Toutanova et al., 2003).
Segundo Silva (2013), os POS-tagger são bastante úteis em diversas etapas da AS.
No ASDP, o Stanford POS-tagger é utilizado apenas na fase de pré-processamento dos
posts. Contudo, esta etiquetagem é crucial para a etapa de classificação de sentimento,
como veremos na seção 4.4.2.
Nesta fase de processamento, os textos dos posts já normalizados são segmentados
em sentenças, e em seguida, utiliza-se o Stanford POS-Tagger (Toutanova et al., 2003)
para a etiquetagem das palavras. A figura 4.6 ilustra as etiquetas utilizadas pelo Stanford
POS-tagger.
Exemplos de posts etiquetados
O quadro 4.3 apresenta as transformações ocorridas nos posts dos exemplos 4.3, 4.4 e
4.5.
4.4
Classificação de Sentimento
A etapa de classificação de sentimento é responsável por definir a postura (stance) de
cada post do debate. Para isso, é necessário identificar os produtos/tópicos em discussão
e as palavras opinativas associadas a estas entidades. Após a análise da polaridade das
palavras opinativas, esta etapa define a stance de cada post como pro-produto_1 ou
pro-produto_2.
60
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Quadro 4.3:Exemplos de entradas e saídas no processo de etiquetagem.
Post Original
while the iphone may appeal to younger
generations and the blackberry to older
, there is no way it is geared towards a
less rich population . in fact it is exactly
the opposite . it is a gimmick . the
initial purchase may be half the price ,
but when all is said and done you pay
at least $ 200 more for the 3g .
Post etiquetado pelo Stanford POS-Tagger
while_IN the_DT iphone_NN may_MD appeal_VB
to_TO younger_JJR generations_NNS and_CC the_DT
blackberry_NN to_TO older_JJR ,_, there_EX is_VBZ
no_DT way_NN it_PRP is_VBZ geared_VBN towards_IN
a_DT less_JJR rich_JJ population_NN ._. in_IN fact_NN
it_PRP is_VBZ exactly_RB the_DT opposite_NN
._. it_PRP is_VBZ a_DT gimmick_NN ._. the_DT
initial_JJ purchase_NN may_MD be_VB half_PDT
the_DT price_NN ,_, but_CC when_WRB all_DT is_VBZ
said_VBN and_CC done_VBN you_PRP pay_VBP at_IN
least_JJS $_$ 200_CD more_JJR for_IN the_DT 3g_NN
._.
i have never understood the appeal of
the blackberry in the first place . i am a
treo 650 user myself , but as for iphone
- it gets my vote over blackberry . i love
the idea of not having to carry 2 - 3 devices . as it is , i carry a 60 gb iphone
and my phone . however , my treo 650
plays music , plays movies , has bluetooth , runs 3rd party application , etc . . .
. i love it . i may not switch at all , but
if i had to pick blackberry or iphone the chocie is clear .
i_FW have_VBP never_RB understood_VBN the_DT
appeal_NN of_IN the_DT blackberry_NN in_IN the_DT
first_JJ place_NN ._. i_FW am_VBP a_DT treo_NN
650_CD user_NN myself_PRP ,_, but_CC as_IN for_IN
iphone_NN -_: it_PRP gets_VBZ my_PRP$ vote_NN
over_IN blackberry_NN ._. i_FW love_VBP the_DT
idea_NN of_IN not_RB having_VBG to_TO carry_VB
2_LS -_: 3_CD devices_NNS ._. as_IN it_PRP is_VBZ
,_, i_FW carry_VB a_DT 60_CD gb_NN iphone_NN
and_CC my_PRP$ phone_NN ._. however_RB ,_,
my_PRP$ treo_NN 650_CD plays_NNS music_NN ,_,
plays_VBZ movies_NNS ,_, has_VBZ bluetooth_NN ,_,
runs_VBZ 3rd_CD party_NN application_NN ,_, etc_FW
._. ._. ._. ._. i_FW love_VBP it_PRP ._. i_FW may_MD
not_RB switch_VB at_IN all_DT ,_, but_CC if_IN
i_FW had_VBD to_TO pick_VB blackberry_NN or_CC
iphone_NN -_: the_DT chocie_NN is_VBZ clear_JJ ._.
i love firefox and defended it, but what i_FW love_NN firefox_NN and_CC defended_VBD
is odd is that this site is breaking in it. firefox_NN ,_, but_CC what_WP is_VBZ odd_JJ is_VBZ
that_IN this_DT site_NN is_VBZ breaking_VBG in_IN
firefox_NN ._.
61
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Figura 4.6 Etiquetas presentes no POS-tagger de Stanford.
O módulo do protótipo que implementa a etapa de classificação de sentimento contempla cinco submódulos, como é possível verificar na figura 4.7. O primeiro submódulo
(SM1) trata da resolução de anáforas nos post. O SM2 é responsável por identificar
as opiniões presentes nestes textos. O SM3 irá tratar das concessões, um fenômeno
linguístico comum em debates. O quarto submódulo (SM4) define a postura dos posts, e
o SM5 finaliza a etapa de classificação de sentimentos com a criação e análise do grafo
dos replies presentes nos corpora de debates.
4.4.1
Resolução de Anáfora
O primeiro submódulo da classificação de sentimento do ASDP é responsável por tratar
os pronomes anafóricos (SM1). As anáforas são elementos linguísticos de coesão que
fazem referência a alguma entidade anteriormente expressa no texto (Mitkov, 1999).
Segundo Jakob e Gurevych (2010), estes elementos contribuem no processo de Análise
de Sentimento, pois auxiliam no processo de identificação de entidades relacionadas a
opiniões através da resolução dos referenciais anafóricos.
Como apresentado na figura 4.7, o procedimento de resolução de anáfora é logo após
a etapa de pré-processamento. O algoritmo desenvolvido para resolução de anáfora é
62
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Figura 4.7 Arquitetura da etapa de classificação de sentimento do ASDP.
bem simples, e consiste apenas na averiguação da última entidade que foi citada antes
da ocorrência do pronome anafórico “it”. A lógica por trás deste método é que após
uma entidade ser citada no texto, é comum o indivíduo referenciar esta entidade com
o uso de algum pronome. A evolução deste processo de resolução de anáfora é uma
das recomendações de trabalhos futuros. A primeira sentença do quadro 4.3 tem uma
ocorrência de um referencial anafórico “it”. Após o submódulo de resolução de anáfora,
o referencial anafórico é substituído pelo produto mais próximo, i.e., blackberry. A
sentença deve ficar como ilustrado no exemplo 4.6.
Exemplo 4.6: Primeira sentença do exemplo 4.2 após a resolução de anáfora.
““while the iphone may appeal to younger generations and the blackberry to older , there
is no way blackberry is geared towards a less rich population .””
4.4.2
Atribuição Inicial de Polaridade
O segundo submódulo da classificação de sentimentos do ASDP é a Atribuição Inicial
de Polaridade. O objetivo deste submódulo é extrair triplas <produto, palavra opinativa,
senteça> que serão responsáveis por identificar a postura dos posts dos debates.
63
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Para a extração das triplas foram desenvolvidos padrões linguísticos a partir da
observação de três debates que integram os corpora utilizados neste trabalho: o debate
Mac OS X Leopard vs. Windows Vista3 , o debate PC vs. Mac 4 , e o debate Windows
vs. Mac5 . Os padrões linguísticos foram elaborados com o auxílio de uma gramática
da língua inglesa (Carter e McCarthy, 2006) e com o uso da ferramenta POS-tagger de
Stanford (Toutanova et al., 2003).
O quadro 4.5 descreve os padrões que foram aplicados para extração das triplas. Note
que os produtos/tópicos são respresentados pelas etiquetas PSubstantivo e as palavras
opinativas são as classes gramaticais que estão sublinhadas. O símbolo “|” sinaliza que o
padrão pode ter mais de uma classe gramatical para representar uma palavra opinativa, ou
seja, o padrão (5) pode ser PSubstantivo + Verbo + Advérbio, ou PSubstantivo + Verbo
Substantivo.
Formação das triplas
Conforme a figura 4.7, a entrada deste submódulo são os posts etiquetados pelo POSTagger de Stanford (Toutanova et al., 2003), juntamente com as anáforas resolvidas.
O quadro 4.4 apresenta as classes gramaticais utilzadas nos padrões linguísticos, e as
etiquetas associadas que foram utilizadas para este processo de extração.
Quadro 4.4: Classes Gramaticais e as etiquetas do Stanford Pos-tagger.
Classe Gramatical
Substantivo
Adjetivo
Advérbio
Verbo
Etiqueta
NN, NNS, NNP, NNPS
JJ, JJS, JJR
RB, RBR, RBS
VB, VBD, VBG, VBN, VBZ, VBP
Para demonstrar o procedimento de extração das triplas<produto, palavra opinativa,
sentença> iremos utilizar o exemplo 4.3 após o POS-tagging (ver quadro 4.3). Inicialmente, identifica-se um dos produtos/tópicos do debate (PSubstantivo) dado uma
sentença do post como entrada. Conforme o exemplo 4.3, o produto identificado seria o
“firefox”.
Após a identificação do tópico/produto, o método tenta encontrar alguma palavra
opinativa (candidata) com o uso dos padrões linguísticos descritos no quadro 4.5. Caso a
3 http://www.convinceme.net/debates/55/Mac-OS-X-Leopard-vs-Windows-Vista.html
4 http://www.convinceme.net/debates/7509/PC-vs-MAC.html
5 http://www.convinceme.net/debates/335/Windows-v-Mac.html
64
4.4. CLASSIFICAÇÃO DE SENTIMENTO
palavra encontrada esteja presente no léxico subjetivo, a tripla <produto, palavra opinativa,
sentença> é formada. Se esta palavra não estiver contida no léxico subjetivo, a tripla
não é formada. Este método repete esses passos para cada sentença em todos os posts
do debate. Dado o exemplo 4.3, as triplas formadas seriam: <firefox, love, i love firefox
and defended it, but what is odd is that this site is breaking in it.> e <firefox, odd, i love
firefox and defended it, but what is odd is that this site is breaking in it.>. Os padrões
responsáveis pela extração dessas triplas são indicados no quadro 4.6.
Quadro 4.5: Padrões Linguísticos.
Palavra Opinativa anterior ao Produto
(1) Advérbio + Adjetivo + PSubstantivo
(2) ( Adjetivo | Substantivo | Verbo) + PSubstantivo
Palavra Opinativa após o Produto
(3) PSubstantivo + ( Adjetivo | Advérbio | Verbo | Substantivo )
(4) PSubstantivo + Verbo + Advérbio + ( Adjetivo | Verbo )
(5) PSubstantivo + Verbo + ( Adjetivo | Advérbio | Substantivo )
(6) PSubstantivo + Advérbio + Verbo + Adjetivo
(7) PSubstantivo + Advérbio + ( Verbo | Substantivo | Adjetivo )
Para o processo de formação das triplas<produto, palavra opinativa, senteça> foram
desconsiderados os stopwords, que são palavras de classes gramaticais consideradas
irrelevantes para o desenvolvimento deste trabalho, como artigos, pronomes, preposições,
etc.
Atribuição de Polaridade da Tripla
Como dito anteriormente, o objetivo desse módulo é atribuir uma polaridade inicial
(positiva +, negativa -, neutra*) às palavras opinativas das triplas formadas pelos padrões
linguísticos. Logo, é analisado nesse módulo, apenas as palavras opinativas e as sentenças
onde se encontram, pois estes são os fatores que irão definir a polaridade da tripla.
Inicialmente, a atribuição de polaridade é realizada com base no léxico subjetivo
(léxico MPQA (Wilson et al., 2005) + léxico de Gírias). Após a formação das triplas,
substituímos as palavras opinativas de acordo com as suas polaridades associadas no
léxico subjetivo, +1 caso a polaridade da palavra seja positiva, -1 caso a polaridade seja
negativa e 0 caso a polaridade seja neutra.
Como apresentado na subseção 3.4, este dicionário fornece a cada palavra a sua
polaridade e seu grau de subjetividade (forte ou fraca). Contudo, neste trabalho os graus
65
4.4. CLASSIFICAÇÃO DE SENTIMENTO
de subjetividade não foram considerados, e portanto, tanto as palavras de subjetividade
fraca quanto as palavras de subjetividade forte recebem polaridades +1 , e -1 para as
palavras positivas e negativas respectivamente.
Outro fator de influencia neste módulo são as expressões negativas dentro das sentenças. Para esta análise, considera-se uma janela de tamanho 5 a partir da palavra
opinativa, e se por ventura, no intervalo de palavras dentro desta janela possuir algumas
das expressões negativas da figura 4.4.2, a polaridade da tripla é invertida. Observe que
nas duas primeiras sentenças no quadro 4.6, as expressões negativas invertem a polaridade
das palavras opinativas, definindo assim a nova polaridade da tripla.
not, none, nothing, neither, hardly, never, no one, cannot, nor, nowhere, against, absurd,
except, without
Figura 4.8 Lista de expressões negativas
4.4.3
Análise de Concessões
O terceiro submódulo da classificação de sentimento trata da análise de concessões (SM3).
As concessões são relações semânticas que ocorrem entre sentenças, onde a primeira
sentença apresenta uma relação de expectativa que é claramente negada na sentença
seguinte (Robaldo et al., 2010).
O algoritmo proposto para esta análise é similar ao introduzido em (Somasundaran
e Wiebe, 2009). Para o funcionamento deste procedimento, foi gerada uma lista de
conectivos a partir das categorias “Concession” e “Contra-expectation” do corpus Penn
Discourse Treebank, que é apresentada no figura 4.4.3.
• Se o conectivo estiver no início da sentença, esta é separada na primeira ocorrência
da virgula que estiver no meio da sentença. A primeira parte é considerada a
expectativa, e a segunda a não-expectativa.
• Se o conectivo for encontrado no meio da sentença, a parte do texto anterior a
sentença é considerada expectativa, e parte seguinte considerada não-expectativa.
• As opiniões presentes nas partes consideradas expectativas terão sua polaridade
invertida.
although, but ,even if, even though, however, still, though, while, yet, nonetheless
Figura 4.9 Lista de conectivos utilizados para a análise de concessões.
66
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Quadro 4.6: Exemplo de padrões linguísticos, e dos produtos associados a palavras
opinativas que são identificados na etapa de criação de triplas. Os termos
“PSUBTANTIVO” presentes na segunda coluna são referentes ao produtos em debate.
67
4.4. CLASSIFICAÇÃO DE SENTIMENTO
No exemplo 4.2 é possível verificar a ocorrência de concessão na segunda sentença
do post. No início desta sentença a expectativa é criada no momento em que o autor
afirma ser usuário do aparelho Blackberry. Porém, logo em seguida, o autor expressa uma
opinião positiva sobre o produto da Apple, adversário da Blackberry no debate. Se uma
tripla fosse identificada na primeira parte desta sentença, a sua polaridade seria invertida.
No exemplo 4.3, o autor do post começa enaltecendo o Firefox. Contudo, na sentença
seguinte o autor define qual é sua real posição sobre o produto no debate. Neste caso,
como houve uma tripla formada na primeira parte da sentença, a polaridade inicial dessa
tripla foi invertida, conforme mostra o quadro 4.7.
4.4.4
Classificação das Posturas dos Posts
Para a classificação das posturas dos posts do debate desenvolvemos as equações 4.1, 4.2
e 4.3.
4.1 stance = max(w, u)
4.2 u = Σ p j , +1 + Σ (pi , −1)
4.3 w = Σ (pi , +1) + Σ p j , −1
As equações 4.2 e 4.3 calculam a postura do post a partir da soma das polaridades
atribuídas às triplas que foram identificadas em cada comentário, onde pi e p j representam
os produtos (de cada tripla) debatidos no texto. A equação 4.1 define qual a postura
de cada post: caso w > u, a postura do comentário será pro-produto_1, já se u > w, a
postura do post receberá a classe pro-produto_2. Se o valor de u for igual ao valor de w,
atribuímos a classe empate ao post.
Aplicando as equações 4.1, 4.2 e 4.3 sobre o post ilustrado no exemplo 4.3, e com as
triplas formadas a partir dos submódulos de resolução de anáfora e análise de concessões
(ver quadro 4.7), onde, a variável pi representa o produto Firefox, e variável pj, por sua
vez, representa o produto Internet Explorer, teremos o seguinte cenário: a quantidade de
triplas favoráveis ao Firefox é 0 (u = 0), e a quantidade de triplas favoráveis ao Internet
Explorer é três (w = 3). Logo, de acordo com a equação 4.1, a postura desse post será
pro-internet explorer.
68
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Quadro 4.7: Exemplo de triplas e as polaridades associadas após os submódulos SM1,
SM2 e SM3.
69
4.4. CLASSIFICAÇÃO DE SENTIMENTO
4.4.5
Criação e Análise do Grafo de Replies
O último submódulo deste processo de classificação de sentimento analisa as estruturas
de replies presentes nos debates. Como visto no capítulo 3, alguns trabalhos já utilizaram
esta estrutura para tentar inferir concordância/discórdia entre os participantes no debate.
Contudo, neste módulo, os replies irão formar uma rede de discórdia entre os participantes
do debate.
Um dos sites de debates que foram utilizados para a criação dos corpora possui uma
característica peculiar quanto a estrutura de replies. No site convinceme.net, quando um
indivíduo discorda do ponto de vista de outro participante do debate, o usuário pode enviar
uma mensagem direcionada ao post do participante em que ele discorda. Se houver uma
réplica, esta mensagem será uma nova thread com o link rebuttal, que é uma mensagem
de discórdia à argumentação prévia dentro do debate. Desta forma, o convinceme.net
garante que a estrutura de replies só tenha um nível. Dentro desse contexto, o método
proposto pra este módulo é responsável por identificar quais posts são do tipo rebuttal, e
a quais comentários estes replies se direcionam, e assim, inferir a classificação dos posts.
Como visto na figura 4.7, a entrada deste submódulo recebe a classificação dos
posts, juntamente com os links de replies, i.e. os posts identificados como rebuttal são
novamente analisados a fim de identificar a qual comentário este reply foi direcionado. O
quadro 4.8 apresenta exemplos de comentários e de replies do debate Windows vs. Mac6 .
Após esta análise nos replies, cria-se uma matriz de adjacência para a representação do
grafo.
A matriz de adjacência é definida como uma matriz n x n A(G)=[aij], onde i = j = 0 ...
n, sendo n o número de vértices, e aij a aresta que liga os vértices vi e vj. Nesta matriz,
se aij tiver valor igual a 1, isso significa que os vértices vi e vj são adjacentes. Caso aij
seja igual a 0, os vértices vi e vj não são vértices adjacentes, e dessa forma não haverá
ligação entre eles. Os vértices do grafo formado pela matriz de adjacência são os posts
dos debates, e as arestas são as ligações entre os posts e os replies identificados nesta
rede de discórdia.
Após a fase de criação do grafo, o passo seguinte é classificar os posts do debate de
acordo com a de entrada deste submódulo (classicação do submódulo anterior), levando
em conta as ligações formadas na fase de criação do grafo. Como dito anteriormente,
os replies presentes no convinceme.net são mensagens de dicórdia a outros comentários
dentro do debate, e portanto, suas stance são contrárias. Dessa forma, a análise feita
sobre o grafo de replies percorre todos vértices do grafo, e verifica a existência de alguma
6 http://www.convinceme.net/debates/335/Windows-v-Mac.html
70
4.4. CLASSIFICAÇÃO DE SENTIMENTO
Quadro 4.8:Exemplos de posts e replies do debate Windows vs. Mac
Usuário
shem
Postura
Rebuttal para Posts
Windows is Better ——
For all my gaming needs, windows has kept me happy for
a long long time.
xboteb13 Mac is Better
gaara42
shem
You can dual-boot Windows on a Mac (though I don’t see
why you would). The only reason you think games are
better on a PC is because they have better graphics cards.
BUT this does NOT prove that Windows (an operating
system) is better than Mac OS (an operating system). You
are saying that the hardware that has Windows installed on
it is better. That’s fine.
Windows is Better ——
Forgot to add this in my last argument, but Windows also
has games, were as Macs don’t have nearly as many. For
many people, such as myself, this is a big differentiator for
with less games the Macs don’t fulfil the needs of certain
people.
xboteb13 Mac is Better
gaara42
"Forgot to add this in my last argument, but Windows also
has games, were as Macs don’t have nearly as many. For
many people, such as myself, this is a big differentiator for
with less games the Macs don’t fulfil the needs of certain
people."
Off of this...
1) Many game developers create games for Windows, but
many also create games for universal platforms, meaning
Mac and Windows.
2) You can dual-boot Windows on a computer running
Mac OS.
71
4.5. CONSIDERAÇÕES FINAIS
ligação a outro vértice. Se o vértice (origem) possuir uma arestra (i.e. é um comentário
que recebeu um reply), é verificado a stance do vértice adjacente, esta postura é invertida
e então é atribuída ao vértice origem.
4.5
Considerações Finais
Neste capítulo, foi apresentado o ASDP, um processo de Análise de Sentimento em
cima de debates não ideológicos. Através do uso de padrões linguísticos, o protótipo
ASDP propõe um método para a classificação de sentimento em debates polarizados. As
principais características deste protótipo são: a utilização de padrões linguísticos para
identificação de opiniões em debates não polarizados, uma abordagem para Resolução
de Anáfora, a Análise de Concessões, e por último, uma Análise em cima da Rede de
Rebuttal.
Como foi abordado anteriormente, o ASDP não possui a etapa de extração de característica, sendo uma tarefa proposta como trabalho futuro. A etapa de detecção de
subjetividade consiste apenas em verificar se os posts possuem ou não opiniões através
do uso do léxico subjetivo. Os posts que contêm palavras opinativas serão analisados, e
os comentários sem opiniões serão automaticamente removidos.
No próximo capítulo, serão apresentados os resultados dos experimentos, como
também comparações com outras duas abordagens encontradas na literatura, o trabalho
de (Somasundaran e Wiebe, 2009), e o trabalho de (Walker et al., 2012).
72
5
Experimentos e Resultados
Este capítulo apresenta os experimentos realizados para avaliação da ASDP, processo
proposto para Análise de Sentimento em Debates Polarizados.
Primeiramente, a seção 5.1 detalha a base de dados utilizada para a experimentação.
Em seguida, a seção 5.2 apresenta as métricas usadas na avaliação dos experimentos
realizados. A seção 5.3 descreve os experimentos e os resultados obtidos, e a seção 5.4
mostra que os resultados obtidos pelo ASDP estão próximos aos resultados de outros
trabalhos da literatura. Finalmente, a seção 5.5 traz as considerações finais deste capítulo.
Foram realizados três experimentos, sempre utilizando um léxico (dicionário) subjetivo para auxiliar a determinar a polaridade dos textos. Utilizamos o léxico MPQA
(Wilson et al., 2005) ampliado por um pequeno dicionário auxiliar de gírias com polaridades. Esse dicionário de gírias foi criado durante a realização do mestrado, com base
nos textos dos debates estudados. Nesses textos, o uso de gírias é bastante comum, pois
os participantes dos debates tendem a usarem gíria com uma carga opinativa.
Conforme foi apresentado no capítulo 4, a etapa de classificação de sentimento do
ASDP possui cinco submódulos (ver figura 4.7). Para a realização dos testes foram
propostas três configurações diferentes.
O primeiro experimento classifica o sentimento dos posts de debates somente com
base no léxico subjetivo. O segundo experimento trata da resolução de anáfora e faz
a análise de concessões dos textos dos debates. A resolução de anáfora é responsável
por determinar a qual entidade um determinado pronome se refere (Mitkov, 1999). Já
concessões ocorrem quando um autor, apesar de enaltecer alguns pontos de vista do lado
oposto do debate, permanece fiel às suas convicções, e não troca de lado no debate.
No terceiro experimento, adicionamos a informação dos links de rebuttal dos debates
do site convinceme.net. Estes links são replies sobre alguns comentários nos quais o autor
pode discordar diretamente de uma argumentação dada por outro participante do debate.
73
5.1. CORPORA DE DEBATES
Para analisar essa informação, foi necessário mapear todos os posts do debate em um
grafo. Cada nó do grafo representa o post e o respectivo autor. As arestas diretamente
conectadas representam as ligações entre os posts e os replies, os quais, por sua vez,
representam quem direcionou um critica para outrem.
5.1
Corpora de Debates
Os corpora de debates foram criados a partir dos sites de discussão online convinceme1 e
createdebate2 . Outros sites de debates polarizados são: forandagainst.com, e debatepolitics.com. Os textos extraídos foram sobre debates não ideológicos, que são argumentações
contra ou a favor entre tópicos referentes a produtos/marcas e detalhes técnicos.
Os textos dos debates foram extraídos da Web por um crawler. Ao total, foram
reunidos cerca de 807 posts de debates entre produtos como: 225 comentários no debate
Internet Explorer vs. Firefox, 88 comentários no debate PlayStation 3 vs. Nintendo WII,
entre outros. A tabela 5.1 apresenta a quantidade de posts extraídos por debate pelo
Webcrawler.
Tabela 5.1 Quantidade de posts extraídos por debate.
Debate
Desenvolvimento
Mac OS X Leopard vs. Windows Vista
Mac vs. Pc
Windows vs. Mac
Experimentos
Firefox vs. Internet Explorer
iPhone vs. Blackberry
Opera vs. Firefox
Sony Ps3 vs. Nintendo Wii
Sony Ps3 vs. Xbox 360
Número de Posts
58
17
27
225
27
16
88
349
Nos sites convinceme.net e createdebate.com, o usuário que iniciar um debate deve
fornecer um título que irá informar o tópico em discussão no debate. Em cada debate,
existem duas colunas que servem para separar as argumentações a favor das argumentações contrárias sobre o mesmo tema. Além disso, o usuário tem direito de discordar
1 www.convinceme.net
2 www.createdebate.com
74
5.1. CORPORA DE DEBATES
diretamente de uma argumentação do debate utilizando os replies. No convinceme.net, o
rebuttal é um reply direto ao post, no qual o autor pode argumentar diretamente sobre
o post em questão, ou até mesmo sobre o autor deste. O quadro 5.1 apresenta alguns
posts que são rebuttals presentes no debate Internet Explorer vs. Firefox, e o quadro 5.2
apresenta exemplos de posts comuns, ou seja, não são do tipo rebuttal.
Quadro 5.1: Exemplos de posts de rebuttal do debate Firefox vs. Internet Explorer.
Stance
Post
Pro-Firefox
Firefox is Free Software. Nothing more.
Pro-Internet Explorer when have you ever paid for MSIE? lol.
Pro-Firefox
Thats the funniest thing i’ve read today.
Pro-Internet Explorer I like those cute little popup windows. You
don’t get those with Firefox.
Quadro 5.2: Exemplos de posts Pro-Firefox, Pro-Internet Explorer.
Stance
Pro-Firefox
Post
Beginner use IE, Advance user choose Firefox!
Pro-Internet Explorer IE is much easier to use. It also is more
visually pleasing. It is much more secure as
well.
Pro-Firefox
I can reconfigure Firefox very easily to meet
my needs as my life changes. If I need great
SEO extensions I can get them. If I need
an HTML color picker instead when I get
more involved with other elements of site
development, FF is easily remodeled to suit
my new browsing needs. The breadth and
variety of FF add-ons is a critical advantage.
Pro-Internet Explorer I used to be a firefox user but I only have
2GBs of RAM on my system and I like to
use more than one program at a time. Firefox
sucks up way too much memory to justify
the one or two advantages.
Apesar dos sites de debate convince.net e createdebate.com fornecerem uma marcação inicial determinada pela coluna escolhida pelo usuário, todos os posts foram marcados manualmente com uma das seguintes classificações: pro-produt_1, pro-produto_2,
sem_opinião (none). A marcação dos textos foi feita manualmente porque, apesar dos
posts estarem organizados no site de forma que suas localizações nas colunas do site
75
5.2. MÉTRICAS DE AVALIAÇÃO
representem sua marcação, muitos usuários, por falta de conhecimento ou por negligência, acabam argumentando a favor de (ou contra) um produto na coluna onde deveriam
argumentar contra o (ou a favor do) outro produto. Além disso, foram também retiradas
manualmente as ironias, visto que esse tipo de post não são tratados neste trabalho.
Para facilitar a realização dos experimentos, todos os posts selecionados foram
armazenados em planilhas excel. Para trabalhar com esses dados nesse tipo de arquivo,
utilizamos a API Apache POI 3 . Todos os dados de cada post são armazenados em uma
linha da planilha, que está organizada em cinco colunas. O quadro 5.3 mostra quais são
as informações armazenadas para cada post. Todas as planilhas com os corpora estão
disponíveis na Web4 .
Quadro 5.3: Dados armazenados sobre cada post na base de dados.
Número
Autor
Título
Marcação manual
Texto
A primeira coluna representa somente a numeração do post no arquivo, a fim de
manter uma ordem. A segunda coluna contém o nome do autor. Esta informação é
utilizada para geração da rede de rebuttal, para auxiliar a classificação dos posts no
debate. O nome do autor é utilizado para identificar para qual postagem está sendo
direcionado o rebuttal.
As colunas título e texto são referentes ao título e ao texto do post respectivamente. A
coluna da marcação manual representa a categoria de cada post definida manualmente.
Por exemplo, no debate “Internet Explorer vs. Firefox”, um post que é favorável ao
Firefox receberá marcação de “firefox”, e caso o post seja pró-Internet Explorer, sua
marcação será “internetexplorer”.
5.2
Métricas de Avaliação
Para a avaliação dos nossos resultados, as métricas utilizadas foram as tradicionalmente
utilizadas em Classificações de Texto, que são ilustradas nas equações 5.1 a 5.6. A tabela
5.2 apresenta a matriz de confusão utilizada no cálculo dessas equações.
O termo true Ci (true positive) representa a quantidade de pares da classe i corretamente classificados, e o termo erro(Cj, Ci) é a quantidade de pares da Classe i
erroneamente classificados como sendo da classe Cj.
3 http://poi.apache.org/
4 https://www.dropbox.com/s/w50q7g4mnsjfc2a/corpora.zip
76
5.2. MÉTRICAS DE AVALIAÇÃO
Tabela 5.2 Matriz de confusão para o cálculo do erro de classificação
A partir da tabela 5.2 é possível calcular a precisão (Ps), a cobertura (Cs) e o Fmeasure (Fms) por classe.
Psi =
trueCi
(trueCi + erro (Ci,C j) + erro (Ci,Ck))
5.1 Csi =
trueCi
(trueCi + erro (C j,Ci) + erro (Ck,Ci))
5.2 2 ∗ Ps ∗Cs
5.3 Ps +Cs
As fórmulas 5.1, 5.2 e 5.3 são para a avaliação da classificação dos posts por classe, ou
seja, pro-produto_1, pro-produto_2, sem opinião (none). Conforme apresentado na seção
4.4.4, durante a fase de classificação das posturas dos posts é possível que a quantidade
de triplas a favor de um produto seja igual à quantidade de triplas a favor do produto
adversário. A estes casos de posts foi determinado a classe empate/não determinado (tie).
Para a classificação dos posts em relação ao debate, utilizamos as fórmulas 5.4, 5.5 e
5.6.
Fms(1)i =
Pe =
trueCi + trueC j + trueCk
totaldeposts − nodeterminados(empate)
5.4 Ce =
trueCi + trueC j + trueCk
totaldeposts
5.5 Acc =
trueCi + trueC j + trueCk
totaldeposts
5.6 A precisão em relação ao debate é determinada através da quantidade de posts
corretamente classificados sobre a quantidade total de posts que foram classificados. Aqui
desconsideramos os posts que recebem classe empate, pois são os posts que o nosso
77
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
classificador não consegue associar uma categoria.
A cobertura é determinada de forma idêntica à acurácia (Acc). Ambas são a razão
entre o número de posts classificados corretamente sobre a quantidade total de posts.
Portanto, daqui pra frente será utilizado apenas o termo cobertura.
5.3
Classificação de Opinião em Debates de Produtos
Como visto no capítulo 4, o processo de classificação de sentimento possui algumas
etapas. O primeiro passo é o pré-processamento do texto, responsável por normalizar os
textos dos debates de entrada e remover os posts sem palavras opinativas. O segundo
passo é a classificação de sentimento, que é responsável pela identificação das triplas
<produto, palavra opinativa, sentença> através de padrões linguísticos e da consulta ao
dicionário subjetivo. Ainda neste passo, são feitas as resoluções de anáforas, as análises
de concessões, e a criação e análise do grafo de replies.
Para avaliar o desempenho do processo de Análise de Sentimentos do ASDP, realizamos três experimentos com três configurações distintas. O primeiro experimento
classifica os posts somente com base nas polaridades das palavras opinativas, de acordo
com o léxico subjetivo utilizado (Seção 5.3.1). No segundo experimento foi acrescentada
a resolução de anáfora e análise de concessões (Seçõe 5.3.2).
O último experimento considera também as informações dos rebuttal links dos posts
do debate (Seção 5.3.3). A partir desses replies, construímos uma rede de posts que
discordam diretamente de outros comentários no debate. As taxas de desempenho de
cada configuração serão apresentadas na seções abaixo
5.3.1
Atribuição de Polaridade utilizando o Léxico Subjetivo
O primeiro experimento propõe classificar a postura dos posts apenas extraindo as triplas
<produto, palavra opinativa, sentença> através dos padrões linguísticos. Em seguida,
as palavras opinativas das triplas são substituídas pela sua polaridade, de acordo com o
dicionário subjetivo. São atribuídos os valores +1, -1 e 0, que representam as palavras
positivas e negativas respectivamente.
Por fim, a classificação geral do post é calculada a partir da soma da polaridade
dos pares que seriam favoráveis a cada lado do debate, segundo as equações 4.2 e 4.3,
conforme a seção 4.4.4. A equação que possuir maior valor numérico irá determinar a
classe do post, como mostra a equação 4.1. Por exemplo, se um dado post é representado
78
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
pelos pares (Firefox, +1), (Firefox, +1) e (Internet Explorer, -1), sua classificação final
será pro-firefox.
Como visto na seção 4.4.2, utilizamos neste experimento um parâmetro para a definir
o tamanho da janela de análise de expressões negativas. O valor empiricamente atribuído
aqui, assim como nos outros experimentos, foi o valor cinco.
Resultados Obtidos
Os dados apresentados nas tabelas 5.3 a 5.7 são as matrizes confusão com os resultados
para os corpora de debates Firefox vs. Internet Explorer5 , Iphone vs. BlackBerry6 , Opera
vs. Firefox7 , Playstation 3 vs. Xbox 3608 e Playstation 3 vs. Nintendo Wii9 . Como
visto anteriormente nesse capítulo, as métricas utilizadas foram Precisão, Cobertura e
F-Measure. A matriz confusão foi calculada considerando as três classes em que o post
pode ser classificado: pro-produto_1, pro-produto_2, objetivo/sem_opinião (none).
Tabela 5.3 Matriz confusão da classificação dos posts do debate Firefox vs. Internet Explorer
Como é possível observar nas tabelas 5.3, 5.4, 5.5, 5.6 e 5.7, essa primeira configuração do experimento classificou ao total 123 posts como None incorretamente. Alguns
posts são difíceis de serem classificados, mesmo que manualmente, e em alguns casos,
os padrões linguísticos não foram capazes de identificar opiniões nos textos, seja devido
a limitação dos padrões, ou devido a etiquetagem incorreta de palavras na etapa de
pré-processamento no texto. Alguns exemplos de posts classificados automaticamente
como None são ilustrados no quadro 5.4.
5 http://www.convinceme.net/debates/58/Firefox-vs-Internet-Explorer.html
6 http://www.convinceme.net/debates/109/iPhone-vs-Blackberry.html
7 http://www.convinceme.net/debates/214/Opera-vs-Firefox.html
8 http://www.createdebate.com/debate/show/Is_PS3_better_than_Xbox_360
9 http://www.convinceme.net/debates/20/Sony-PS3-vs-Nintendo-Wii.html
79
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Tabela 5.4 Matriz confusão da classificação dos posts no debate Iphone vs. Blackberry
Tabela 5.5 Matriz confusão da classificação dos posts no domínio Opera vs. Firefox
Tabela 5.6 Matriz confusão da classificação dos posts no domínio Playstation 3 vs. Nintendo Wii
80
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Tabela 5.7 Matriz confusão da classificação dos posts no domínio Playstation 3 vs. Xbox 360
Quadro 5.4: Exemplos de posts classificados automaticamente como None pelo ASDP.
Marcação Manual
pro-firefox
Marcação Automática
none
pro-firefox
none
pro-internet explorer
none
Post
ie is full of bugs , glitches , and horrible
slowness . . . . firefox has add ons and better
security and stability fixes : d
rebuttal to : rezmang apple doesn ’ t make
firefox . apple makes safari , an entirely unrelated browser , which incidentally is also
light years ahead of ie . ie is in fact mainstream , with more than 85 % of online users .
only among the technically literate do better
alternatives such as firefox , safari and opera
begin to dominate . not that i really think that
you ’ re being serious here , but one never
knows . besides , even if you ’ re not serious
, some poor soul might take you seriously !
till there comes a time when ff come
preinstall in pcs . . . . ie will continue to
dominate . enuff said
Outro fator que deve ser considerado é a limitação do léxico utilizado Wilson et al.
(2005). Existe uma grande quantidade de adjetivos comparativos, e adjetivos superlativos
que não estão presentes no dicionário subjetivo (e.g. trendiest, slowest, faster, bigger,
smoother, prettier,entre outros). Estas palavras são muito comuns nos corpora, devido a
grande quantidade de comparações existentes nos debates. Ainda outra provável causa é
a existência de opiniões que utilizam pronomes para se referir a algum produto (anáforas).
81
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
A ocorrência desses pronomes motivou a criação de um módulo para resolução de anáfora
(Mitkov, 1999), como será visto no segundo experimento (Seção 5.3.2).
Tabela 5.8 Resultado da classificação por posts do debate Firefox vs. Internet Explorer
Pro-Firefox
Pro-Internet Explorer
None
Precisão
0,8851
0,4571
0,2157
Cobertura
0,5923
0,50
1,0
F(1)-Measure
0,7097
0,4776
0,3548
Tabela 5.9 Resultado da classificação por posts do debate Iphone vs. Blackberry
Precisão
0,8851
0,90
0,25
Pro-iPhone
Pro-Blackberry
None
Cobertura
0,5923
0,75
1,0
F(1)-Measure
0,7097
0,8182
0,4
Tabela 5.10 Resultado da classificação por posts do debate Opera vs. Firefox
Pro-Opera
Pro-Firefox
None
Precisão
0,60
0,3333
0,0
Cobertura
0,3333
0,2857
0,0
F(1)-Measure
0,4286
0,3077
0,0
Tabela 5.11 Resultado da classificação por posts do debate Playstation 3 vs. Nintendo Wii
Pro-Playstation 3
Pro-Nintendo Wii
None
Precisão
0,5600
0,60
0,20
Cobertura
0,4375
0,3947
1,0
F(1)-Measure
0,4912
0,4762
0,3333
As tabelas 5.8 a 5.12 mostram os resultados em relação aos posts (postura do participante). As baixas taxas de precisão apresentadas na classe None para todos os debates
são devidas à baixa quantidade de posts marcados manualmente com esta classe. O
classificador consegue identificar os posts que são realmente da classe None, porém
82
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Tabela 5.12 Resultado da classificação por posts do debate Firefox vs. Internet Explorer
Pro-Playstation 3
Pro-Xbox 360
None
Precisão
0,7632
0,4918
0,5299
Cobertura
0,5878
0,4412
0,8158
F(1)-Measure
0,6641
0,4651
0,6425
Tabela 5.13 Resultado das classificações dos debates
Firefox vs. Internet Explorer
iPhone vs. Blackberry
Opera vs. Firefox
Playstation 3 vs. Nintendo Wii
Playstation 3 vs. Xbox 360
Precisão
0,6012
0,7500
0,3125
0,4533
0,6130
Cobertura
0,5417
0,5769
0,3125
0,4250
0,5576
F(1)-Measure
0,5699
0,6522
0,3125
0,4387
0,5840
classifica outros posts que seriam das classes pro-produto_1 , ou pro-produto_2 como
None incorretamente. Esse comportamento se repete nos demais experimentos.
É possível verificar que, apenas com o uso do léxico subjetivo, o nosso classificador
não foi capaz de obter resultados satisfatórios. O melhor resultado foi no debate Iphone
vs. Blackberry (ver tabelas 5.9 e 5.13).
5.3.2
Classificação com o uso de Resolução de Anáfora e Concessão
Nesse segundo experimento, além do léxico polarizado, foi também utilizado um algoritmo simples para resolução de anáfora (ver seção 4.4.1), bem como um método para
contabilizar concessões nos posts (seção 4.4.3). Por fim, utilizamos as equações 5.1, 5.2
e 5.3 para determinar a classificação do post.
A anáfora é um tipo de referência textual que aponta para alguma entidade mencionada
anteriormente no texto (Kabadjov, 2007). De acordo essa definição, podemos dizer que a
“resolução de anáfora” pode ser definida como o processo de identificar o antecedente de
uma anáfora (Mitkov, 1999). Existem vários tipos de anáforas (Mitkov, 1999), porém
este trabalho se restringe a tratar anáfora pronominal. Mais precisamente, buscou-se tratar
apenas o pronome pessoal “it”, pois as entidades que queremos cobrir são os produtos
dos debates.
Após as resoluções de anáforas, são feitas as análises de concessões nos posts dos
83
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
debates. Conforme já definido na seção 3.5.2, concessão é uma relação semântica que
ocorre entre uma argumentação que cria uma expectativa sobre algo, e uma segunda
argumentação que explicitamente nega a primeira (Robaldo et al., 2010).
Para tratar as ocorrências das concessões nos posts, criamos uma lista de conectivos
inspirados no trabalho de Somasundaran e Wiebe (2009). Os conectivos foram selecionados a partir da lista de conectivos das categorias “Concession” e “Contra-expectiation”
do Penn Discourse Treebank (Prasad et al., 2008).
Resultados Obtidos
As tabelas 5.14 a 5.18 apresentam as matrizes confusão de cada debate. Em seqüência
as tabelas 5.19 a 5.24 mostram os resultados utilizando as métricas já apresentadas
anteriormente.
Tabela 5.14 Matriz confusão da classificação dos posts do debate Firefox vs. Internet Explorer
Tabela 5.15 Matriz confusão da classificação dos posts no debate Iphone vs. Blackberry
84
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Tabela 5.16 Matriz confusão da classificação dos posts no domínio Opera vs. Firefox
Tabela 5.17 Matriz confusão da classificação dos posts no domínio Playstation 3 vs. Nintendo
Wii
Tabela 5.18 Matriz confusão da classificação dos posts no domínio Playstation 3 vs. Xbox 360
85
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Os resultados deste experimento em alguns debates apresentaram uma pequena
melhora em relação aos resultados do experimento anterior. As tabelas 5.19 a 5.23
mostram pequenas evoluções em relação às tabelas 5.8 a 5.12. A classe pro-iphone obteve
100% na precisão, porém sua cobertura obteve uma queda, visto que neste experimento,
três posts da classe pro-iphone foram classificados erroneamente como pro-blackberry.
De modo geral, nas demais classes houve um aumento na cobertura, e acreditamos que
isso seja graças ao uso da resolução de anáfora.
Tabela 5.19 Resultado da classificação por posts do debate Firefox vs. Internet Explorer
Pro-Firefox
Pro-Internet Explorer
None
Precisão
0,8977
0,4211
0,2340
Cobertura
0,6031
0,5161
1,0
F(1)-Measure
0,7215
0,4638
0,3793
Tabela 5.20 Resultado da classificação por posts do debate Iphone vs. Blackberry
Pro-iPhone
Pro-Blackberry
None
Precisão
1,0
0,75
0,3333
Cobertura
0,3750
0,9231
1,0
F(1)-Measure
0,5455
0,8276
0,5
Tabela 5.21 Resultado da classificação por posts do debate Opera vs. Firefox
Pro-Opera
Pro-Firefox
None
Precisão
0,6667
0,3333
0,0
Cobertura
0,50
0,3333
0,0
F(1)-Measure
0,5714
0,3333
0,0
De forma geral, a cobertura em todos os debates obtiveram melhoras, graças ao algoritmo de resolução de anáforas, como demonstrado na tabela 5.24. O debate Firefox vs.
Internet Explorer mostrou melhora de 1,15% na precisão, 1,04% na acurácia e cobertura,
e 1,09% no f-measure em relação ao experimento anterior (ver tabela 5.13). Pouquíssimos
posts tiveram sua classificação diferente em relação ao primeiro experimento. No debate
Iphone vs. Blackberry, a precisão teve uma piora de 2,27%, porém sua cobertura obteve
86
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Tabela 5.22 Resultado da classificação por posts do debate Playstation 3 vs. Nintendo Wii
Pro-Playstation 3
Pro-Nintendo Wii
None
Precisão
0,6818
0,6667
0,2083
Cobertura
0,4688
0,50
1,0
F(1)-Measure
0,5556
0,5714
0,3448
Tabela 5.23 Resultado da classificação por posts do debate Firefox vs. Internet Explorer
Pro-Playstation 3
Pro-Xbox 360
None
Precisão
0,7436
0,4058
0,5688
Cobertura
0,5800
0,4000
0,8267
F(1)-Measure
0,6517
0,4029
0,6739
Tabela 5.24 Resultado das classificações dos debates
Firefox vs. Internet Explorer
iPhone vs. Blackberry
Opera vs. Firefox
Playstation 3 vs. Nintendo Wii
Playstation 3 vs. Xbox 360
Precisão
0,6127
0,7273
0,4286
0,5205
0,60
Cobertura
0,5521
0,6154
0,3750
0,4750
0,5514
F(1)-Measure
0,5808
0,6667
0,40
0,4967
0,5747
uma melhora de 3,85%, e a f-measure melhorou 1,45%. Mesmo tendo uma melhora em
alguns resultados em relação ao debate, a cobertura da classe pro-iphone teve uma queda
de 21,73%.
Alguns posts que não foram corretamente classificados no primeiro experimento,
tiveram sua classe corretamente atribuída neste segundo momento. Ainda assim, em
pouquíssimos comentários este experimento definiu incorretamente a stance de posts que
foram classificados de forma correta no primeiro experimento, principalmente devido à
resolução de anáfora. A segunda linha do quadro 5.5 apresenta em destaque uma anáfora
que foi resolvida e adicionou ruído na classificação.
O debate Opera vs. Firefox teve uma melhora de 11,61% na precisão, 6,25% na
cobertura e 8,75% no f-measure. A análise das concessões contribuíram para o aumento
nas taxas de precisão e cobertura deste debate. A quarta linha do quadro 5.5 apresenta
em destaque uma sentença de um comentário do debate Opera vs. Firefox, que foi
87
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Quadro 5.5:Exemplos de posts tratados no segundo experimento.
Debate
Firefox vs. Internet Explorer
Postura
pro-ie
Posts
i love firefox and defended firefox, but what is odd is that
this site is breaking in firefox.
iPhone vs. Blackberry
pro-blackberry rebuttal to : coop show the iphone is $ 399 and the
pearl is $199 . not a "huge "difference , but yes ,
iphone is more expensive . i should not that i own both
. i upgraded from my pearl to the iphone shortly after
iphone came out . what ’ s this about the iphone being a
brick ? iphone ’ s 3 / 4 an inch taller and 1 / 4 an inch wider
. iphone ’ s just as thin ( exactly ) and iphone ’ s slightly
heavier which makes iphone feel more solid and durable .
and sure you can carry around your ipod and your pearl - i
’ ll carry my iphone . i mean you ’ re complaining about
bulge and you ’ re okay with having 2 devices to do the
work of 1 ? yes , the iphone is limited to 8gb , but if you ’
re so in need of 30gb of music then you might have some
issues . (...).
Playstation 3 vs. Nintendo Wii pro-wii
wii is a revolutionary system . nintendo has always been
the company to come out with something new ; usually
ahead of time with their new product . this time , wii
has actually turned out pretty damn good , rather than the
horrible turn out of the power glove which was a good
idea , but couldn ’ t be properly made because the censors
couldn ’ t direct the character in the right direction two
thirds of the time . anyways , to get to the point , sure ,
the ps3 has great graphics but when ps3 all comes down
to ps3 , aren ; t video games meant to be fun , rather than
good to look at ? if you want something good to look at
, go look at porn or some shiny object ; not some really
good looking video game . wii = better . deal with wii .
Opera vs. Firefox
pro-opera
having used both browsers extensively , opera in my
eyes is the better browser . it loads faster , generally
seems to load pages faster , has a slicker interface by
default , has a number of really nice features built in that
firefox doesn ’ t ( hover previews of tabs , for example ) ,
bittorrent support . . . . a better download manager . much
prefer the password manager ( wand ) as well . opera
also doesn ’ t seem to hog as much memory as firefox .
the main disadvantage of opera for me is that the widgets
simply don ’ t match the extensions in firefox , but this is
the fact that firefox has a much larger following , not a
direct failure of opera .
88
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
classificado como sem opinião no primeiro experimento e foi corretamente classificado
neste experimento, graças a análise de concessões.
O debate Playstation 3 vs. Nintendo Wii teve uma melhora de 6,72% na precisão,
5% na cobertura e 5,8% no f-measure. O principal destaque no aumento das precisão
no debate Playstation 3 vs. Nintendo Wii se deve ao fato de alguns posts classificados
erroneamente no primeiro experimento, terem sido classificados de forma correta ou
com a classe “tie” (empate) neste segundo momento. Na terceira linha do quadro
5.5 apresenta um exemplo de post do debate Playstation 3 vs. Nintendo Wii que foi
classificado corretamente graças ao algoritmo de resolução de anáfora e uma concessão
identificada.
O debate Ps3 vs. Xbox 360 apresentou uma pequena queda nos resultados em relação
ao experimento anterior. A justificativa para este fato está associada ao algoritmo simplista
de resolução de anáfora, que tratou pronomes que não eram anáforas, e desta forma,
adicionou ruídos à classificação de sentimentos.
5.3.3
Classificação do Grafo de Replies
O terceiro experimento consiste na composição do segundo experimento, mais as informações dos replies dos debates. Como dito anteriormente, no site convinceme.net os autores
têm a opção de fazer “rebuttal” a comentários de outro participante do debate, isto é,
o usuário pode argumentar contra outro comentário do debate de forma direta. Desta
forma, apenas os debates extraídos do convinceme.net foram utilizados neste experimento,
visto que apenas neste, podemos criar um grafo de replies de apenas um nível, conforme
apresentado na seção 4.4.5 do capítulo 4. Logo, o corpus de debate Playstation 3 vs.
Xbox 36010 não é utilizado neste experimento, pois não é possível gerar o grafo de replies
dos posts deste debate.
A partir desses replies, construímos uma rede com os posts dos debates, onde apenas
os comentários de usuários que discordam de outros posts possuem ligações. Os vértices
da rede são os posts e os autores associados. As arestas possuem sentido, já que os
“rebuttals” são direcionados. A figura 5.3.3 é um exemplo de como fica nossa rede de
“rebuttal”.
A partir da figura 5.3.3, é possível observar que a rede gerada é razoavelmente
conectada, e através dessas ligações podemos inferir as classes dos vértices olhando
a postura de seu vizinho. Cada um dos vértices do grafo de replies já possuem uma
classificação prévia oriunda dos submódulos SM1, SM2, SM3 e SM4 (ver figura 4.7).
10 http://www.createdebate.com/debate/show/Is_PS3_better_than_Xbox_360
89
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Figura 5.1 Rede de Replies do debate Playstation 3 vs. Nintendo Wii
Dessa forma, a análise no grafo de replies consiste em, dado um vértice com ligação,
verificar qual a postura do vértice vizinho, para então atribuir a stance contrária ao vértice
em análise.
Resultados Obtidos
A seguir, as tabelas 5.25 a 5.28 ilustram a matriz confusão da classificação de cada um
dos corpus de debate. A seguir, os resultados das métricas de avaliação são apresentados
nas tabelas 5.29 a 5.33.
Como esperado, os resultados deste experimento superaram os anteriores (vide tabelas
5.29 a 5.33). Com o uso dos links de rebuttal, além de conseguir reduzir a quantidade
de posts não determinados (empate), foi obtida também a classificação correta vários comentários dos debates que não foram corretamente classificados no experimento anterior.
O quadro 5.6 apresenta alguns exemplos de posts que tiveram suas posturas corretamente modificadas graças à analise nos links de replies. A primeira coluna apresenta
a postura inicial do post. A segunda coluna mostra a stance do post após a consulta
ao vértice vizinho. A terceira e quarta colunas apresentam os comentários referente ao
vértice em análise e o adjacente respectivamente.
As tabelas com os resultados por classe demonstram melhora nos resultados em
90
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Tabela 5.25 Matriz confusão da classificação dos posts do debate Firefox vs. Internet Explorer
Tabela 5.26 Matriz confusão da classificação dos posts no debate Iphone vs. Blackberry
Tabela 5.27 Matriz confusão da classificação dos posts no domínio Opera vs. Firefox
91
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
Tabela 5.28 Matriz confusão da classificação dos posts no domínio Playstation 3 vs. Nintendo
Wii
Quadro 5.6:Exemplos de posts que foram modificados com a análise nos replies.
Stance Inicial Stance após análise Posts do Vértice
none
pro-firefox
rebuttal to : kgbudz that
form of argument degrades
this forum , and will cause
the arguments to fall to the
lowest common denominator
. this word , "indisputable ",
i do not think it means what
you think it does . i dispute
your claim from personal
experience , if nothing else
. that makes it disputable . i
think yahoo ! has chat rooms
more attuned to your style of
debate . check them out .
Posts do Vizinho
Its an indisputable fact that
the average IE user gets
laid 2500% more than the
average firefox user.
tie
Opera Rules, I hate firefox.
It looks horrible (even with
themes), It is a lot slower
than Opera!
pro-firefox
rebuttal to :
nexus450
show ironic thing : opera
pioneered tabbed browsing
, but firefox handles large
amounts of open tabs much
better that opera does .
sorry firefox losers...
game
set
match
go cry about IE somewhere
else 8ˆ(
Opera RULES, no competition!!
92
5.3. CLASSIFICAÇÃO DE OPINIÃO EM DEBATES DE PRODUTOS
relação ao experimento anterior (tabelas 5.29 a 5.32), com destaque para o aumento de
12,5% na cobertura dos posts pro-iphone. A precisão e a cobertura dos posts pro-firefox e
dos posts pro-wii também tiveram um aumento significativo nos valores.
Tabela 5.29 Resultado da classificação por posts do debate Firefox vs. Internet Explorer
Pro-Firefox
Pro-Internet Explorer
None
Precisão
0,9029
0,4318
0,3140
Cobertura
0,6788
0,5588
1,0
F(1)-Measure
0,7750
0,4872
0,4783
Tabela 5.30 Resultado da classificação por posts do debate Iphone vs. Blackberry
Precisão
0,6667
0,75
1,0
Pro-iPhone
Pro-Blackberry
None
Cobertura
0,50
0,8571
1,0
F(1)-Measure
0,5714
0,80
1,0
Tabela 5.31 Resultado da classificação por posts do debate Opera vs. Firefox
Pro-Opera
Pro-Firefox
None
Precisão
0,6667
0,5
0,0
Cobertura
0,50
0,5714
0,0
F(1)-Measure
0,5714
0,5333
0,0
Tabela 5.32 Resultado da classificação por posts do debate Playstation 3 vs. Nintendo Wii
Pro-Playstation 3
Pro-Nintendo Wii
None
Precisão
0,6667
0,7222
0,3846
Cobertura
0,5294
0,7027
1,0
F(1)-Measure
0,5902
0,7123
0,5556
É importante ressaltar que todos os debates tiveram suas taxas de precisão superior
à classificação randômica (caso base), como pode ser verificado na tabela 5.33. O
debate Firefox vs. Internet Explorer teve um aumento 6,31% na precisão em relação
93
5.4. ANÁLISE DE TRABALHOS RELACIONADOS
Tabela 5.33 Resultado das classificações dos debates
Firefox vs. Internet Explorer
iPhone vs. Blackberry
Opera vs. Firefox
Playstation 3 vs. Nintendo Wii
Precisão
0,6758
0,7391
0,5333
0,6447
Cobertura
0,6406
0,6538
0,50
0,6125
F(1)-Measure
0,6578
0,6939
0,5161
0,6282
ao segundo experimento, e um aumento de 7,46% na precisão em relação ao primeiro
experimento. Sua cobertura aumentou em 8,85% e 9,89% em relação ao primeiro e ao
segundo experimento respectivamente.
No debate Iphone vs. Blackberry, a precisão melhorou em relação ao segundo
experimento, porém ainda está inferior ao primeiro experimento. Em compensação, a
cobertura e o F-measure superaram em 7,69% e 4,17% respectivamente os resultados
apresentados no primeiro experimento.
Os piores resultados nos três experimentos foram obtidos no debate Opera vs. Firefox.
Essa configuração obteve o melhor resultado em relação às outras duas. A precisão
alcançou 53,33%, a cobertura 50% e o F-measure 51,61%.
No debate Playstation 3 vs. Nintendo Wii, essa configuração obteve melhora acima de
10% em todas as medidas em relação ao segundo experimento. Em relação ao primeiro
experimento, as taxas foram superiores em quase 15% em comparação com a primeira
configuração.
5.4
Análise de Trabalhos Relacionados
Esta seção tem como foco apresentar que, os resultados obtidos no ASDP são semelhantes
aos resultados encontrados na literatura da área. Apesar de Somasundaran e Wiebe (2009)
e Walker et al. (2012) formarem seus corpora a partir do convinceme.net, não iremos
fazer comparações entre nossos resultados pois a quantidade de posts analisados (ver
tabela 5.35), e a época de extração destes comentários utilizados pelos trabalhos são
distintas.
No trabalho de Somasundaran e Wiebe (2009), os resultados demonstrados foram
obtidos com os debates Firefox vs. Internet Explorer, Windows vs. Mac, Playstation
3 vs. Nintendo Wii e Opera vs. Firefox. A tabela 5.34 apresenta os resultados dos
experimentos realizados por Somasundaran e Wiebe.
94
5.4. ANÁLISE DE TRABALHOS RELACIONADOS
Tabela 5.34 Resultados de Somasundaran e Wieber (2009)
95
5.4. ANÁLISE DE TRABALHOS RELACIONADOS
Os melhores resultados de Somasundaran e Weibe são com o experimento OpPr +
Disc na tabela 5.34. Segundo as autoras, essa configuração tem uma etapa inicial em
que identificam-se os targets, que seriam as features ou tópicos do debate, e utiliza um
corpus de textos da Web para relacionar esses targets à postura dos comentários no
debate. Em seguida, para efetuar a classificação, Somasundaran e Wiebe formulam um
problema de Programação Linear Inteira. A diferença do experimento OpPr + Disc para
o experimento OpPr é que o primeiro faz uma análise de concessões semelhante ao nosso
trabalho. Como é possível observar nas tabelas 5.33 e 5.34, apesar de utilizarmos técnicas
e corpora distintos, os nossos resultados são bem próximos.
Tabela 5.35 Comparação na quantidade de posts utilizados no ASDP, no trabalho de Somasundaran e Wiebe (2009) e no trabalho de Walker et al. (2012)
Outro trabalho voltado para a classificação de sentimento em debates é o de Walker
et al. (2012). Diferente da nossa abordagem e da abordagem de Somasundaran e Weibe,
Walker et al. utilizaram algoritmos de Aprendizagem de Máquina na classificação
dos posts (relatando apenas os resultados obtidos pelo algoritmo NaiveBayes). Outra
peculiaridade desse trabalho é a construção da rede de posts do debate.
Walker et al. apresentaram dois grupos de resultados, sendo uma classificação com
contexto e uma classificação sem contexto. Na classificação com contexto, eles utilizaram
os atributos do post corrente e do seu pai no grafo para a classificação. Na classificação
sem contexto, os autores não utilizaram os atributos do post pai. Nesses dois experimentos,
cada classificador é executado apenas com seus atributos, e posteriormente com todos os
atributos juntos (mais detalhes sobre os atributos ver em (Walker et al., 2012)).
A melhor acurácia no corpus Firefox vs. Internet Explorer obtida por Walker et al.
foi 63,75% na classificação sem contexto. Já na classificação com contexto, sua melhor
acurácia foi 66,25%. Para o debate Firefox vs. Internet Explorer, todos os 14 resultados
96
5.4. ANÁLISE DE TRABALHOS RELACIONADOS
apresentados pelos autores são próximos às nossas taxas de acurácias (ver seção 3.3),
sendo que, apenas um resultado de Walker et al. (2012) consegue superar a nossa acurácia
(ver tabela 5.33).
A tabela 5.36 apresenta um comparativo entre os melhores resultados obtidos pelo
ASDP, o trabalho de Somasundaran e Wiebe (2009) e a contribuição de Walker et al.
(2012). Somasundaran e Weibe apresentam resultados que alcançam o estado da arte no
debate Opera vs. Firefox. Contudo, as autoras utilizaram um corpus muito pequeno (ver
tabela 5.35) na classificação, e portanto, é possível afirmar que a quantidade de amostras
não é suficiente para boa inferência.
Tabela 5.36 Apresentação dos resultados dos trabalhos de Somasundaran e Wiebe (2009), Walker
et al. (2012) e o ASDP
97
5.5. CONSIDERAÇÕES FINAIS
5.5
Considerações Finais
Neste capítulo foram apresentados os resultados dos três experimentos conduzidos na
nossa pesquisa. Após a descrição de cada uma das configurações, apresentamos os
resultados e comparamos os valores entre si. Posteriormente citamos dois trabalhos
encontrados na literatura e comparamos cada um deles com nossa melhor configuração.
Conforme foi apresentado na seção 5.4, os resultados obtidos pelo ASDP são semelhantes aos resultados demonstrados por Somasundaran e Wiebe (2009) e Walker
et al. (2012). Apenas dois corpora utilizados são comuns ao ASDP e à contribuição
de Somasundaran e Wiebe (2009), e o corpus de debate Firefox vs. Internet Explorer
utilizado pelo ASDP também foi trabalhado por Walker et al. (2012).
Nossos melhores resultados foram 73,91% de precisão, 65,38% de acurácia e 69,39%
no f-measure sobre o corpus de debate iPhone vs. Blackberry. Também foi demonstrado
uma melhora nas taxas dos resultados com o uso de um algoritmo de resolução de anáforas
e análise de concessões, sendo 66,67% a melhor f-measure obtida.
O próximo capítulo irá apresentar a conclusão deste trabalho, indicando as principais
contribuições para a Análise de Sentimentos, bem como as dificuldades encontradas,
possíveis melhorias e trabalhos futuros.
98
6
Conclusão
Esta dissertação apresentou o ASDP, um processo de classificação de sentimentos baseado em regras linguísticas, responsável por capturar as palavras opinativas, os tópicos
associados e as sentenças onde estes dois termos foram encontrados. Através desses
dados, o ASDP consegue classificar sentimentos em debates não ideológicos com taxas
de até 73,91% de precisão.
O ASDP foi testado em três configurações distintas. A primeira, a classificação de
sentimento é feita apenas com o uso do léxico subjetivo, e dos padrões linguísticos. No
segundo experimento foi acrescentado um método para resolução de anáforas e análise
de concessões. O terceiro e último experiemnto, foi inserido uma abordagem que tenta
inferir a classe dos posts de acordo com os seus vizinhos no grafo.
Como visto nos capítulos 5 e 3, o ASDP foi capaz de apresentar resultados semelhantes em alguns corpora em comparação a dois trabalhos bem conhecidos na literatura
((Somasundaran e Wiebe, 2009), (Walker et al., 2012)). Além disso, o ASDP possui um
método de resolução de anáfora, que é um fenômeno linguístico comum em debates e
importante para o reconhecimento de entidades nomeadas. Nenhum dos dois trabalhos
citados anteriormente desenvolveram métodos para solucionar referenciais anafóricos.
A seguir, a seção 6.1 apresenta as principais contribuições do método aqui proposto,
e a seção 6.2 descreve propostas de trabalhos futuros a serem conduzidos a partir do que
já foi feito nesta pesquisa.
6.1
Contribuições finais
Destacamos abaixo as principais contribuições do trabalho realizado nesta pesquisa de
Mestrado:
99
6.2. TRABALHOS FUTUROS
• Realização de uma revisão bibliográfica extensa sobre Análise de Sentimentos,
incluindo os principais conceitos e etapas para o desenvolvimento de um sistema
completo de AS, bem como os principais trabalhos relacionados à classificação de
sentimento voltada a debates polarizados não ideológicos – foco do nosso trabalho.
• Desenvolvimento de padrões linguísticos, que podem ser facilmente expandidos e
refatorados, para a identificação de palavras opinativas em textos de debates não
ideológicos. As palavras opinativas são validadas com o uso do léxico subjetivo
MPQA (Wilson et al., 2005).
• Apresentação de fenômenos linguísticos pouco abordados na literatura de AS e a
apresentação de um mecanismo que lida com estes fenômenos.
• Proposta de um representação da estrutura de replies de um debate em forma de
grafo.
• Utilização da Abordagem Baseada em Conhecimento para AS em contraste com a
utilização dominante de técnicas de Aprendizagem de Máquina.
• Construção de um protótipo de sistema de AS que realiza a classificação de sentimentos, e apresenta taxas de desempenho semelhantes a trabalhos relacionados da
literatura ((Somasundaran e Wiebe, 2009), (Walker et al., 2012)).
6.2
Trabalhos Futuros
Como trabalhos futuros pretendemos desenvolver algumas extensões com o objetivo de
melhorar a pesquisa relatada nesta dissertação. A seguir, apresentaremos as propostas
para extensão:
• Extração de aspectos: esta importante etapa no processo de Análise de Sentimento
ficou ausente no ASDP. Contudo, o próximo passo é o desenvolvimento de um
método para a extração automática de atributos e/ou tópicos relacionados aos
debates não ideológicos, com o objetivo de transformar o ASDP em um processo
completo de AS.
• Resolução de Anáforas: apesar de estar implementado no ASDP, não foi feita uma
avaliação profunda sobre o algoritmo simplista de resolução de anáfora. Durante
uma avaliação superficial, foram identificados algumas resoluções erradas, e que
acrescentaram ruídos aos resultados.
100
6.2. TRABALHOS FUTUROS
• Utilização de um corretor ortográfico: a linguagem predominante nestes debates
online é uma linguagem informal, com a grande ocorrência de erros ortográficos,
visto que os usuários não se preocupam em escrever de forma correta. O uso de um
corretor ortográfico auxiliaria o pré-processamento do texto podendo melhorar a
precisão do ASDP.
• Análise dos posts no grafo: o quinto submódulo da etapa de classificação de
postura do ASDP apresentado no capítulo 4, cria um grafo a partir dos replies
identificados nos debates do site convinceme1 . Porém outros sites de debates
possuem mecanismos próprios para os usuários apresentarem críticas direcionadas
a outros comentários. Dessa forma, pretendemos criar um novo método para a
criação do grafo dos posts, e juntamente com esta nova estrutura, um mecanismo
para auxiliar no processo de classificação de sentimento através dos grafos criados.
1 www.convinceme.net
101
Referências
Abu-Jbara, A., Diab, M., Dasigi, P. e Radev, D. Subgroup Detection in Ideological Discussions. Proceedings of the 50th Annual Meeting of the Association
for Computational Linguistics: Long Papers - Volume 1, ACL ’12. Association
for Computational Linguistics, Stroudsburg, PA, USA, páginas 399–409. URL
http://dl.acm.org/citation.cfm?id=2390524.2390580, 2012.
Allen, J. Natural Language Understanding (2Nd Ed.). Benjamin-Cummings Publishing
Co., Inc., Redwood City, CA, USA, 1995.
Baccianella, S., Esuli, A. e Sebastiani, F. SentiWordNet 3.0: An Enhanced Lexical
Resource for Sentiment Analysis and Opinion Mining. N. C. C. Chair), K. Choukri,
B. Maegaard, J. Mariani, J. Odijk, S. Piperidis, M. Rosner e D. Tapias (editores),
Proceedings of the Seventh International Conference on Language Resources and
Evaluation (LREC’10). European Language Resources Association (ELRA), Valletta,
Malta, 2010.
Baeza-Yates, R. A. e Ribeiro-Neto, B. Modern Information Retrieval. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA, 1999.
Bansal, M., Cardie, C. e Lee, L. The Power of Negative Thinking: Exploiting Label
Disagreement in the Min-cut Classification Framework. D. Scott e H. Uszkoreit
(editores), COLING (Posters), páginas 15–18. URL http://dblp.uni-trier.
de/db/conf/coling/coling2008p.html#BansalCL08, 2008.
Carter, R. e McCarthy, M. Cambridge Grammar of English: A Comprehensive Guide :
Spoken and Written English Grammar and Usage. Cambridge University Press, 2006.
Castro, A. Detecção Automática de Subjetividade: Aprendizagem de Máquina Versus
Ferramentas Linguísticas. Trabalho de Graduação em Ciência da Computação - Centro
de Informática/UFPE, Recife, 2011.
Cooley, R., Mobasher, B. e Srivastava, J. Web Mining: Information and Pattern Discovery
on the World Wide Web. ICTAI ’97: Proceedings of the 9th International Conference
on Tools with Artificial Intelligence, ICTAI ’97. IEEE Computer Society, Washington,
DC, USA, página 558, 1997.
Dave, K., Lawrence, S. e Pennock, D. M. Mining the peanut gallery: opinion extraction
and semantic classification of product reviews. Proceedings of the 12th international
102
REFERÊNCIAS
conference on World Wide Web, WWW ’03. ACM, New York, NY, USA, páginas
519–528. URL http://doi.acm.org/10.1145/775152.775226, 2003.
Esuli, A. e Sebastiani, F. SENTIWORDNET: A Publicly Available Lexical Resource for
Opinion Mining. In Proceedings of the 5th Conference on Language Resources and
Evaluation (LREC’06, páginas 417–422, 2006.
Feldman, R. e Sanger, J. Text Mining Handbook: Advanced Approaches in Analyzing
Unstructured Data. Cambridge University Press, New York, NY, USA, 2006.
Gonçalves, J. E. L. As empresas são grandes coleções de processos. Revista de Administração de Empresas, 40:6 – 9. URL http://www.scielo.br/scielo.php?
script=sci_arttext&pid=S0034-75902000000100002&nrm=iso,
2000.
Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P. e Witten, I. H. The
WEKA Data Mining Software: An Update. SIGKDD Explor. Newsl., 11(1):10–18.
URL http://doi.acm.org/10.1145/1656274.1656278, 2009.
Hatzivassiloglou, V. e Wiebe, J. M. Effects of Adjective Orientation and Gradability
on Sentence Subjectivity. Proceedings of the 18th Conference on Computational
Linguistics - Volume 1, COLING ’00. Association for Computational Linguistics,
Stroudsburg, PA, USA, páginas 299–305. URL http://dx.doi.org/10.3115/
990820.990864, 2000.
Hotho, A., Nürnberger, A. e Paaß, G. A Brief Survey of Text Mining. LDV Forum - GLDV Journal for Computational Linguistics and Language Technology,
20(1):19–62. URL http://www.kde.cs.uni-kassel.de/hotho/pub/
2005/hotho05TextMining.pdf, 2005.
Hu, M. e Liu, B. Mining and summarizing customer reviews. Proceedings of the
tenth ACM SIGKDD international conference on Knowledge discovery and data
mining, KDD ’04. ACM, New York, NY, USA, páginas 168–177. URL http:
//doi.acm.org/10.1145/1014052.1014073, 2004.
Jakob, N. e Gurevych, I. Using Anaphora Resolution to Improve Opinion Target Identification in Movie Reviews. Proceedings of the ACL 2010 Conference Short Papers,
ACLShort ’10. Association for Computational Linguistics, Stroudsburg, PA, USA, páginas 263–268. URL http://dl.acm.org/citation.cfm?id=1858842.
1858891, 2010.
103
REFERÊNCIAS
Jindal, N. e Liu, B. Review spam detection. Proceedings of the 16th international
conference on World Wide Web, WWW ’07. ACM, New York, NY, USA, páginas 1189–
1190. URL http://doi.acm.org/10.1145/1242572.1242759, 2007.
Kabadjov, M. A. A Comprehensive Evaluation of Anaphora Resolution and Discoursenew Classification. Department of Computer Science - University of Essex, United
Kingdom, 2007.
Kim, S.-M. e Hovy, E. Determining the Sentiment of Opinions. Proceedings of the 20th
International Conference on Computational Linguistics, COLING ’04. Association for
Computational Linguistics, Stroudsburg, PA, USA. URL http://dx.doi.org/
10.3115/1220355.1220555, 2004.
Kosala, R. e Blockeel, H. Web Mining Research: A Survey. SIGKDD Explor. Newsl.,
2(1):1–15. URL http://doi.acm.org/10.1145/360402.360406, 2000.
Kruijff-Korbayova, I. e Webber, B. Interpreting concession statements in light of information structure, volume 3. Kluwer Academic Publishers, 2007.
Lima, D. PairExtractor: Extração de Pares Livre de Domínio para Análise de Sentimentos.
Trabalho de Graduação em Ciência da Computação - Centro de Informática/UFPE,
Recife, 2011.
Liu, B. Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data (DataCentric Systems and Applications). Springer-Verlag New York, Inc., Secaucus, NJ,
USA, 2006.
Liu, B. Sentiment Analysis and Subjectivity. Handbook of Natural Language Processing,
2nd ed, 2010.
Liu, B. Sentiment Analysis and Opinion Mining. Morgan & Claypool Publishers, 1
edição, 2012.
Malouf, R. e Mullen, T. Taking sides: User classification for informal online political
discourse. Internet Research, 2008.
Manning, C. D., Raghavan, P. e Schütze, H. Introduction to Information Retrieval.
Cambridge University Press, New York, NY, USA, 2008.
Manning, C. D. e Schütze, H. Foundations of statistical natural language processing.
MIT Press, Cambridge, MA, USA, 1999.
104
REFERÊNCIAS
Mitchell, T. M. Machine Learning. McGraw-Hill, Inc., New York, NY, USA, 1 edição,
1997.
Mitkov, R. Relatório Técnico Anaphora Resolution: The State Of The Art, School of
Languages and European Studies, University of Wolverhampton, 1999.
Morinaga, S., Yamanishi, K., Tateishi, K. e Fukushima, T. Mining Product Reputations
on the Web. Proceedings of the Eighth ACM SIGKDD International Conference
on Knowledge Discovery and Data Mining, KDD ’02. ACM, New York, NY, USA,
páginas 341–349. URL http://doi.acm.org/10.1145/775047.775098,
2002.
Mullen, T. e Malouf, R. A preliminary investigation into sentiment analysis of informal
political discourse. AAAI Symposium on Computational Approaches to Analysing
Weblogs (AAAI-CAAW, páginas 159–162, 2006.
Nadeau, D. e Sekine, S. A survey of named entity recognition and classification. Lingvisticae Investigationes, 30(1):3–26. URL http://www.ingentaconnect.com/
content/jbp/li/2007/00000030/00000001/art00002, 2007.
Pang, B. e Lee, L. Opinion Mining and Sentiment Analysis. Found. Trends Inf. Retr.,
2(1-2):1–135. URL http://dx.doi.org/10.1561/1500000011, 2008.
Pang, B., Lee, L. e Vaithyanathan, S. Thumbs up?: sentiment classification using
machine learning techniques. Proceedings of the ACL-02 conference on Empirical
methods in natural language processing - Volume 10, EMNLP ’02. Association for
Computational Linguistics, Stroudsburg, PA, USA, páginas 79–86. URL http:
//dx.doi.org/10.3115/1118693.1118704, 2002.
Popescu, A.-M. e Etzioni, O. Extracting product features and opinions from reviews.
Proceedings of the conference on Human Language Technology and Empirical Methods
in Natural Language Processing, HLT ’05. Association for Computational Linguistics,
Stroudsburg, PA, USA, páginas 339–346. URL http://dx.doi.org/10.3115/
1220575.1220618, 2005.
Prasad, R., Miltsakaki, E., Dinesh, N., Lee, A., Joshi, L., A.and Robaldo e Webber, B.
Relatório Técnico PDTB 2.0 Annotation Manual, Institute for Research in Cognitive
Science, University of Pennsylvania, http://www.seas.upenn.edu/ pdtb/PDTBAPI/pdtbannotation-manual.pdf, 2008.
105
REFERÊNCIAS
Qiu, G., Liu, B., Bu, J. e Chen, C. Opinion word expansion and target extraction through
double propagation. Comput. Linguist., 37(1):9–27. URL http://dx.doi.org/
10.1162/coli_a_00034, 2011.
Riloff, E. e Wiebe, J. Learning extraction patterns for subjective expressions. Proceedings
of the 2003 conference on Empirical methods in natural language processing, EMNLP
’03. Association for Computational Linguistics, Stroudsburg, PA, USA, páginas 105–
112. URL http://dx.doi.org/10.3115/1119355.1119369, 2003.
Robaldo, L., Miltsakaki, E. e Bianchini, A. Corpus-based Semantics of Concession:
Where do Expectations Come from? N. C. C. Chair), K. Choukri, B. Maegaard,
J. Mariani, J. Odijk, S. Piperidis, M. Rosner e D. Tapias (editores), Proceedings of the
Seventh International Conference on Language Resources and Evaluation (LREC’10).
European Language Resources Association (ELRA), Valletta, Malta, 2010.
Russell, S. J. e Norvig, P. Artificial Intelligence: A Modern Approach. Pearson Education,
2 edição, 2003.
Sebastiani, F. Machine Learning in Automated Text Categorization. ACM Comput. Surv.,
34(1):1–47. URL http://doi.acm.org/10.1145/505282.505283, 2002.
Silva, E. Um sistema para extração de informação em referências bibliográficas baseado
em aprendizagem de máquina. Dissertação de Mestrado - Centro de Informática/UFPE,
Recife, 2004.
Silva, G., N. PairClassif - Um Método para Classificação de Sentimentos Baseado em
Pares. Dissertação de Mestrado - Centro de Informática/UFPE, Recife, 2013.
Silva, N., Lima, D. e Barros, F. SAPair: Um processo de Análise de Sentimento no
Nível de Característica. IV International Workshop on Web and Text Intelligence (WTI
– 2012). Proc of the Brazilian Conference on Iteligent Systems, Curitiba, PR, Brasil,
páginas 1–10, 2012.
Siqueira, H. WhatMatter: Extração e visualização de características em opiniões sobre
serviços. Dissertação de Mestrado - Centro de Informática/UFPE, Recife, 2010.
Somasundaran, S. e Wiebe, J. Recognizing Stances in Online Debates. Proceedings of the
Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint
Conference on Natural Language Processing of the AFNLP: Volume 1 - Volume 1, ACL
106
REFERÊNCIAS
’09. Association for Computational Linguistics, Stroudsburg, PA, USA, páginas 226–
234. URL http://dl.acm.org/citation.cfm?id=1687878.1687912,
2009.
Somasundaran, S. e Wiebe, J. Recognizing Stances in Ideological On-line Debates. Proceedings of the NAACL HLT 2010 Workshop on Computational Approaches to Analysis and Generation of Emotion in Text, CAAGET ’10. Association
for Computational Linguistics, Stroudsburg, PA, USA, páginas 116–124. URL
http://dl.acm.org/citation.cfm?id=1860631.1860645, 2010.
Sommerville, I. Software Engineering (5th Ed.). Addison Wesley Longman Publishing
Co., Inc., Redwood City, CA, USA, 1995.
Steinbach, M., Karypis, G. e Kumar, V. A Comparison of Document Clustering Techniques. M. Grobelnik, D. Mladenic e N. Milic-Frayling (editores), KDD-2000
Workshop on Text Mining, August 20. Boston, MA, páginas 109–111. URL http:
//www-users.cs.umn.edu/~karypis/publications/ir.html, 2000.
Taboada, M., Brooke, J., Tofiloski, M., Voll, K. e Stede, M. Lexicon-based Methods
for Sentiment Analysis. Comput. Linguist., 37(2):267–307. URL http://dx.doi.
org/10.1162/COLI_a_00049, 2011.
Thomas, M., Pang, B. e Lee, L. Get out the Vote: Determining Support or Opposition
from Congressional Floor-debate Transcripts. Proceedings of the 2006 Conference
on Empirical Methods in Natural Language Processing, EMNLP ’06. Association for
Computational Linguistics, Stroudsburg, PA, USA, páginas 327–335. URL http:
//dl.acm.org/citation.cfm?id=1610075.1610122, 2006.
Toutanova, K., Klein, D., Manning, C. D. e Singer, Y. Feature-rich Part-of-speech
Tagging with a Cyclic Dependency Network. Proceedings of the 2003 Conference
of the North American Chapter of the Association for Computational Linguistics on
Human Language Technology - Volume 1, NAACL ’03. Association for Computational
Linguistics, Stroudsburg, PA, USA, páginas 173–180. URL http://dx.doi.org/
10.3115/1073445.1073478, 2003.
Tsytsarau, M. e Palpanas, T. Survey on Mining Subjective Data on the Web. Data
Min. Knowl. Discov., 24(3):478–514. URL http://dx.doi.org/10.1007/
s10618-011-0238-6, 2012.
107
REFERÊNCIAS
Turney, P. D. Thumbs up or thumbs down?: semantic orientation applied to unsupervised
classification of reviews. Proceedings of the 40th Annual Meeting on Association
for Computational Linguistics, ACL ’02. Association for Computational Linguistics,
Stroudsburg, PA, USA, páginas 417–424. URL http://dx.doi.org/10.3115/
1073083.1073153, 2002.
Turney, P. D. e Littman, M. L. Measuring Praise and Criticism: Inference of Semantic
Orientation from Association. ACM Trans. Inf. Syst., 21(4):315–346. URL http:
//doi.acm.org/10.1145/944012.944013, 2003.
Walker, M. A., Anand, P., Abbott, R., Tree, J. E. F., Martell, C. e King, J. That is Your Evidence?: Classifying Stance in Online Political Debate. Decis. Support Syst., 53(4):719–
729. URL http://dx.doi.org/10.1016/j.dss.2012.05.032, 2012.
Wang, H., Can, D., Kazemzadeh, A., Bar, F. e Narayanan, S. A System for Real-time
Twitter Sentiment Analysis of 2012 U.S. Presidential Election Cycle. Proceedings
of the ACL 2012 System Demonstrations, ACL ’12. Association for Computational
Linguistics, Stroudsburg, PA, USA, páginas 115–120. URL http://dl.acm.org/
citation.cfm?id=2390470.2390490, 2012.
Wang, Y.-C. e Rosé, C. P. Making Conversational Structure Explicit: Identification
of Initiation-response Pairs Within Online Discussions. Human Language Technologies: The 2010 Annual Conference of the North American Chapter of the Association for Computational Linguistics, HLT ’10. Association for Computational Linguistics, Stroudsburg, PA, USA, páginas 673–676. URL http://dl.acm.org/
citation.cfm?id=1857999.1858096, 2010.
Wiebe, J. M. Tracking Point of View in Narrative. Comput. Linguist., 20(2):233–287.
URL http://dl.acm.org/citation.cfm?id=972525.972529, 1994.
Wilson, T., Wiebe, J. e Hoffmann, P. Recognizing Contextual Polarity in Phrase-level
Sentiment Analysis. Proceedings of the Conference on Human Language Technology
and Empirical Methods in Natural Language Processing, HLT ’05. Association for
Computational Linguistics, Stroudsburg, PA, USA, páginas 347–354. URL http:
//dx.doi.org/10.3115/1220575.1220619, 2005.
Yu, H. e Hatzivassiloglou, V. Towards answering opinion questions: separating facts
from opinions and identifying the polarity of opinion sentences. Proceedings of the
2003 conference on Empirical methods in natural language processing, EMNLP ’03.
108
REFERÊNCIAS
Association for Computational Linguistics, Stroudsburg, PA, USA, páginas 129–136.
URL http://dx.doi.org/10.3115/1119355.1119372, 2003.
109
Apêndice
110
A
Bases de Substituições
A.1
Contrações
Contração
Palavra Real
i’m
i am
i’ll
i will
i’d
i had
i’ve
i have
you’re
you are
you’ll
you will
you’d
you had
you’ve
you have
he’s
he is
he’ll
he will
he’d
he had
she’s
she is
she’ll
she will
she’d
she had
it’s
it is
it’d
it had
we’re
we are
we’ll
we will
we’d
we had
we’ve
we have
they’re
they are
they’ll
they will
they’d
they had
they’ve
they have
there’s
there is
there’ll
there will
there’d
there had
that’s
that is
that’ll
that will
aren’t
are not
can’t
can not
Continua na próxima página
111
A.1. CONTRAÇÕES
Contração
Palavra Real
couldn’t
could not
didn’t
did not
doesn’t
does not
don’t
do not
hadn’t
had not
hasn’t
has not
isn’t
is not
mustn’t
must not
needn’t
need not
shouldn’t
should not
wasn’t
was not
weren’t
were not
won’t
will not
wouldn’t
would not
aren ’ t
are not
can ’ t
can not
couldn ’ t
could not
didn ’ t
did not
doesn ’ t
does not
don ’ t
do not
hadn ’ t
had not
hasn ’ t
has not
isn ’ t
is not
mustn ’ t
must not
needn ’ t
need not
shouldn ’ t
should not
wasn ’ t
was not
weren ’ t
were not
won ’ t
will not
wouldn ’ t
would not
they ’ re
they are
haven ’t
have not
don ’ t
do not
i ’ ll
i will
i’m
i am
i’d
i had
i ’ ve
i have
you ’ re
you are
you ’ ll
you will
you ’ d
you had
you ’ ve
you have
he ’ s
he is
he ’ ll
he will
he ’ d
he had
she ’ s
she is
she ’ ll
she will
she ’ d
she had
it ’ s
it is
it ’ d
it had
we ’ re
we are
Continua na próxima página
112
A.2. ABREVIÇÕES
A.2
Contração
Palavra Real
we ’ ll
we will
we ’ d
we had
we ’ ve
we have
they ’ re
they are
they ’ ll
they will
they ’ d
they had
they ’ ve
they have
there ’ s
there is
there ’ ll
there will
there ’ d
there had
that ’ s
that is
that ’ ll
that will
aren ’ t
are not
can ’ t
can not
couldn ’ t
could not
didn ’ t
did not
doesn ’ t
does not
don ’ t
do not
hadn ’ t
had not
hasn ’ t
has not
isn ’ t
is not
mustn ’ t
must not
needn ’ t
need not
shouldn ’ t
should not
wasn ’ t
was not
weren ’ t
were not
won ’ t
will not
wouldn ’ t
would not
Abrevições
Abreviação
Palavra Real
a.c.
before christ
a.m.
ante meridiem
abbrev.
abbreviation
ac.
before christ
acc.
account
acct.
account
adj.
adjective
adm.
administrator
adv.
adverb
am.
ante meridiem
app
application
app.
application program
applic.
application
apps
application
assoc.
association
aug.
august
Continua na próxima página
113
A.2. ABREVIÇÕES
Abreviação
Palavra Real
bbm
blackberry messenger
bhd.
bulkhead
brit.
british
bros.
brother
cap.
civil air patrol
capt.
captain
ceo.
chief executive officer
cia.
central intelligence agency
comm.
commercial
communic.
communications
compan.
companion
conf.
conference
const.
construction
contr.
contrast
contrib.
contribution
corp.
corporation
corresp.
corresponding
d.c.
after christ
dc.
after christ
dec.
december
def.
definition
dept.
department
descr.
description
dict.
dictionary
dr.
doctor
drs.
doctresse
ecol.
ecology
econ.
economy
ed.
edition
educ.
education
electr.
electricity
electron.
eletronic
elem.
element
encycl.
encyclopaedia
eng.
english
etc.
et cetera
exc.
except
exerc.
exercise
faq.
frequently asked question
feb.
february
fem.
feminine
fig.
figurative
fr.
french
freq.
frequent
fund.
fundamental
geogr.
geography
geol.
geology
geom.
geometry
gov.
government
govt.
government
Continua na próxima página
114
A.2. ABREVIÇÕES
Abreviação
Palavra Real
hist.
history
i.e.
that is
ie.
that is
illustr.
illustration
inc.
incorporated
ind.
industry
industr.
industry
infl.
influenced
inst.
institute
introd.
introduction
irreg.
irregular
jr.
junior
lang.
language
lt.
local time
ltd.
limited company
man.
manual
managem.
management
masc.
masculine
math.
mathematics
med.
medicine
mem.
memory
mr.
mister
mrs.
mistress
ms.
miss
nat.
natural
no.
number
nov.
november
nucl.
nuclear
o.e.
old english
obj.
object
oct.
october
oe.
old english
opt.
optics
org.
organization
orig.
origin
outl.
outline
oxf.
oxford
p.m.
post meridiem
pers.
person
photogr.
photography
phr.
phrase
phys.
physical
pict.
picture
pl.
plural
plur.
plural
pm.
post meridiem
pol.
politics
pop.
popular
pract.
practice
prec.
preceding
Continua na próxima página
115
A.2. ABREVIÇÕES
Abreviação
Palavra Real
prep.
preposition
pres.
present
princ.
principle
priv.
privative
prob.
probably
probl.
problem
proc.
proceeding
prof.
professor
pron.
pronoun
prop.
properly
ptt
push to talk
publ.
publications
quot.
quotation
rec.
record
ref.
reference
reg.
register
rel.
related
rep.
report
repr.
representative
res.
research
rev.
review
sel.
selection
sens.
sense
sept.
september
soc.
society
sociol.
sociology
spec.
specification
st.
saint
struct.
structure
subj.
subject
subord.
subordinate
subseq.
subsequently
subst.
substantively
superl.
superlative
surg.
surgery
syst.
system
techn.
technology
technol.
technological
teleph.
telephony
trans.
transactions
transf.
transferred
transl.
translation
trav.
travel
treas.
treasury
treatm.
treatment
u.s.
united states
u.s.s.r.
union of soviet socialist republics
us.
united states
ussr.
union of soviet socialist republics
vertebr.
vertebrate
Continua na próxima página
116
A.2. ABREVIÇÕES
Abreviação
Palavra Real
vet.
veterinary
vs.
versus
vulg.
vulgar
wd.
word
westm.
westminster
wks.
works
yrs.
years
zoogeogr.
zoogeography
zool.
zoology
yr
year
cuz
because
open-source
opensource
open - source
opensource
next - gen
next-gen
next - gen
next-gen
atleast
at least
dosnt
does not
cuz
because
cant
can not
dont
do not
ive
i have
crash bandicoot
crashbandicoot
cannot
can not
pop ups
popups
becuz
because
2b
to be
2bh
to be honest
2day
today
2ez
too easy
2g
too good
2g2bt
too good to be true
2l8
too late
2m
tomorrow
2moro
tomorrow
2moz
tomorrow
2mrw
tomorrow
2u
to you
2u2
to you too
2-you
to you
a/w
anyway
afaik
as far as i know
allshare
all share
alltel
all phone
alot
a lot
asap
as soon as possible
atb
all the best
batt
battery
biz
business
brb
be right back
bt
bluetooth
Continua na próxima página
117
A.3. SINÔNIMOS
Abreviação
A.3
Palavra Real
btfl
beautiful
btw
by the way
couldnt
could not
cya
see you
dat
that
dats
that is
didn
did not
didnt
did not
dis
this
doesnot
does not
doesnt
does not
dont
do not
dunno
do not know
dupe
duplicate
ftw
for the win
fyi
for your information
gfu
good for you
gimme
give me
gj
good job
gl
good luck
gratz
congratulations
havent
have not
idk
i do not know
idunno
i do not know
im
i am
imo
in my opinion
iow
in other words
isnt
is not
its
it is
its
it is
lmk
let me know
mic
microphone
micro
microusb
micro
microsd
moto
motorola
nite
night
np
no problem
omg
oh my god
otoh
on the other hand
ppl
people
tbh
to be honest
thats
that is
thx
thanks
txt
text
ty
thank you
whats
what is
Sinônimos
118
A.3. SINÔNIMOS
Sinônimo
Palavra Real
mozilla foundation
firefox
fire fox
firefox
firefox 3
firefox
ff2
firefox
ff
firefox
fx
firefox
microsoft
internetexplorer
internet explore
internetexplorer
ie’s
internetexplorer
ie
internetexplorer
msie’s
internetexplorer
msie
internetexplorer
m$
internetexplorer
ie6
internetexplorer
ie 6
internetexplorer
ie7
internetexplorer
ie 7
internetexplorer
windows
internetexplorer
ms
internetexplorer
apple
iphone
ipod
iphone
blackberry pearl
blackberry
pearl
blackberry
bb
blackberry
iphones
iphone
curve
blackberry
playstation3
ps3
playstation3’s
ps3
playstation 3
ps3
ps 3
ps3
sony
ps3
nintendo wii
wii
wii’s
wii
box
xbox360
psn
ps3
x box
xbox360
x box 360
xbox360
x box360
xbox360
xbox 360
xbox360
xbox live
xbox360
xbox
xbox360
x-box
xbox360
x-boxes
xbox360
ps
ps3
xbox360s
xbox360
playstation
ps3
119
B
Dicionário de Gírias
type=weaksubj len=1 word1=sucks pos1=verb stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=hype pos1=noun stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=pick pos1=verb stemmed1=y priorpolarity=positive
type=weaksubj len=1 word1=babble pos1=noun stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=pwns pos1=adj stemmed1=n priorpolarity=positive
type=weaksubj len=1 word1=breaks pos1=verb stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=freaking pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=preferring pos1=verb stemmed1=y priorpolarity=positive
type=weaksubj len=1 word1=copycat pos1=noun stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=rocks pos1=adj stemmed1=n priorpolarity=positive
type=weaksubj len=1 word1=rox pos1=adj stemmed1=n priorpolarity=positive
type=weaksubj len=1 word1=sucks pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=sux pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=sucked pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=copies pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=copied pos1=adj stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=crash pos1=verb stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=crashes pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=crashed pos1=adj stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=turds pos1=adj stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=breaking pos1=noun stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=diehard pos1=noun stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=crap pos1=noun stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=dropped pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=buddy pos1=noun stemmed1=n priorpolarity=positive
type=weaksubj len=1 word1=shiny pos1=adj stemmed1=n priorpolarity=positive
type=weaksubj len=1 word1=heavy pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=fad pos1=noun stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=gutted pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=bash pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=bashes pos1=verb stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=bug pos1=noun stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=bugs pos1=noun stemmed1=n priorpolarity=negative
type=weaksubj len=1 word1=rules pos1=noun stemmed1=n priorpolarity=positive
type=weaksubj len=1 word1=noob pos1=noun stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=noobs pos1=noun stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=n00b pos1=noun stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=n00bs pos1=noun stemmed1=y priorpolarity=negative
120
type=weaksubj len=1 word1=bloody pos1=adj stemmed1=y priorpolarity=negative
type=weaksubj len=1 word1=flawfree pos1=noun stemmed1=n priorpolarity=positive
type=weaksubj len=1 word1=sleeker pos1=noun stemmed1=n priorpolarity=positive
type= weaksubj len=1 word1=losers pos1=noun stemmed1=n priorpolarity=negative
121
Download

Visualizar/Abrir - Universidade Federal de Pernambuco