um processo para classificação de sentimentos no twitter ......catalogação na fonte...
TRANSCRIPT
Um Processo para Classificação de
Sentimentos no Twitter Utilizando
Termos Factuais e Retweets
Por
Gleibson Rodrigo Silva de Oliveira
Dissertação de Mestrado
Recife
2014
Gleibson Rodrigo Silva de Oliveira
Um Processo para Classificação de Sentimentos
no Twitter Utilizando Termos Factuais e
Retweets
Trabalho apresentado ao programa de 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
Orientadora:
Profa. Dra. Flávia de Almeida Barros
Recife
2014
Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572
O48p Oliveira, Gleibson Rodrigo Silva de.
Um processo para classificação de sentimentos no twitter utilizando
termos factuais e retweets / Gleibson Rodrigo Silva de Oliveira. – Recife: O
Autor, 2014.
67 f.: fig., tab.
Orientador: Flávia de Almeida Barros.
Dissertação (Mestrado) – Universidade Federal de Pernambuco. CIN,
Ciência da Computação, 2014.
Inclui referências.
1. Inteligência artificial. 2. Análise de dados. I. Barros, Flávia de Almeida (Orientador). II. Titulo.
006.3 CDD (22. ed.) UFPE-MEI 2015-115
Dissertação de Mestrado apresentada por Gleibson Rodrigo Silva de Oliveira à
Pós-Graduação em Ciências da Computação do Centro de Informática da
Universidade Federal de Pernambuco, sob o título “Um Processo para
Classificação de Sentimentos no Twitter Utilizando Termos Factuais e
Retweets” orientada por Profa. Flávia de Almeida Barros e aprovada pela Banca
Examinadora formada pelos professores:
_____________________________________________
Prof. Cleber Zanchettin
Centro de Informática / UFPE
_____________________________________________
Prof. Renato Fernandes Corrêa
Departamento de Ciência da Informação
_____________________________________________ Profa. Flávia de Almeida Barros
Departamento de Design / UFPE
Visto e permitida a impressão. Recife, 1 de julho de 2014.
_____________________________________________
Profa. Edna Natividade da Silva Barros
Coordenadora da Pós-Graduação em Ciências da Computação do
Centro de Informática da Universidade Federal de Pernambuco.
Agradecimentos
Agradeço à minha família, meu principal alicerce em meus processos de busca e
aprendizagem, sempre presente em momentos tristes e felizes. Agradecer em especial aos
meus pais, que sempre sonharam em ver seus dois filhos formados na UFPE. E concretizaram
este sonho, agora com o adicional desta finalização de mestrado, com promessas que não
pararei por aí. Ainda há muito a ser buscado e aprendido. Agradecer à minha namorada
Paula, fiel companheira sempre interessada no cumprimento de minhas metas e objetivos,
compartilhando a mesma busca pela felicidade, que um dia será uma só para nós dois.
Um especial agradecimento à minha professora e orientadora Flávia, que exercitou
incansavelmente sua paciência com este aluno durante o período do mestrado. De
conhecimento técnico inquestionável, Flávia sempre me orientou e incentivou na obtenção
deste título. Agradecer principalmente a honestidade e sinceridade de suas conversas a
respeito do mestrado e da vida profissional.
Agradeço também a todos os amigos que formei nesta Universidade, que desde a
graduação tem sido minha segunda casa. Agradeço aos professores, diretores,
coordenadores e funcionários deste centro de excelência que é o Centro de Informática –
UFPE.
Muito obrigado a todos.
“Never send a human to do a machines job”
Agent Smith – Filme Matrix
Resumo
A internet hoje pode ser considerada uma das maiores bases de informações do
mundo, acessível para qualquer pessoa. Com sua popularização e o crescimento da
necessidade de produção de conteúdo, popularizam-se também os blogs e principalmente as
redes sociais, onde milhões de usuários trocam informações e opinam sobre os mais
diferentes assuntos. Opiniões, por sua vez, são de grande valia no processo decisório, seja
de empresas ou de pessoas físicas. Entretanto, o crescimento vertiginoso dessas informações
na internet torna o trabalho de obter uma opinião geral acerca de um determinado assunto
uma tarefa complicada, sobretudo se for realizada de forma manual. Uma solução
automatizada apresenta-se como a melhor saída. Cresce, então, uma área bastante utilizada
para construção de sistemas que tratam opinião de forma automatizada, a Análise de
Sentimento (AS), também nomeada de Mineração de Opinião. Seu objetivo é classificar
textos, sentenças ou blocos de texto como positivos ou negativos acerca da opinião a respeito
de algum objeto, seja este um produto, serviço ou até mesmo uma pessoa. Muitos trabalhos
foram propostos na área de Análise de Sentimentos, provendo avaliações da opinião global
ou detalhada (para cada característica) a respeito do objeto analisado. Entretanto, a grande
maioria dos trabalhos obtém a opinião de uma característica do objeto através da análise do
adjetivo associado a mesma. O trabalho aqui proposto busca expandir essa análise para as
demais palavras, incluindo substantivos e palavras de outras classes gramaticais que possam
indicar opinião acerca do objeto. O processo proposto utiliza como fonte de opiniões o debate
político polarizado, onde os usuários, potenciais eleitores, se posicionam em um dos lados
da disputa. Os dados foram coletados do micro blog Twitter [TWITTER, 2006] até o horário
de início das votações. O processo tem como objetivo incluir termos pouco abordados na
literatura como representadas das opiniões dos usuários, evitando assim a eliminação
sumária de parte do corpus analisado.
Palavras Chaves: Análise de Sentimento. Classificação de Sentimento.
ABSTRACT
Nowadays, the internet can be considered one of the largest databases of information
in the world, accessible to anyone. With its popularity and growth of the need to produce
content, also become popular, blogs and especially social networks, where millions of users
exchange information and think of the most different subjects. Opinions, in turn, are of great
value in the decision making process, whether companies or individuals. However, the rapid
growth of such information on the Internet makes work to get a general opinion about a
given subject a complicated task, particularly if performed manually. An automated solution
is presented as a best option. Grows, then a quite area used to build systems that handle
automated opinion, the Sentiment Analysis (SA), also named Mining Opinion. Your goal is to
classify texts, sentences or blocks of text as positive or negative opinion about any object,
be it a product, service or even a person. Many works have been proposed in the area of
sentiment analysis, providing assessments of global or detailed view (for each feature) about
the analyzed object. However, the vast majority of researchs get the opinion of a
characteristic of the object by analyzing the adjective associated with it. The work proposed
here seeks to expand this analysis to other words, including nouns and other grammatical
classes of words that may indicate opinion about the object. The proposed process uses
polarized political debate as a source of opinions, where users, potential voters, are
positioned on one side of the race. Data were collected from the micro blog Twitter
[TWITTER, 2006] until the start time of voting. The process aims to include terms used poorly
in the literature as represented the views of users, thus avoiding the summary disposal of
the analyzed corpus.
Keywords: Sentiment Analysis. Sentiment Classification.
LISTA DE FIGURAS
Figura 1 - Processo Proposto ...................................................................................... 34
Figura 2 - Módulo de Limpeza .................................................................................... 37
Figura 3 - Módulo de Tradução................................................................................... 38
Figura 4 - Módulo de Marcação dos Dados .................................................................. 39
Figura 5 - Módulo de Classificação das Sentenças ........................................................ 40
Figura 6 - Interface de Seleção de Palavras Opinativas ................................................. 42
Figura 7 - Módulo de Identificação e Polarização de Palavras Candidatas ........................ 42
Figura 8 - Módulo de Análise de Substantivo ................................................................ 43
Figura 9 - Módulo de Construção da Rede de RT .......................................................... 45
Figura 10 - Módulo de Análise de Hashtags ................................................................. 47
Figura 11 - Agente Coletor de Dados .......................................................................... 50
Figura 12 - Exemplo de Tweets .................................................................................. 51
LISTA DA TABELAS
Tabela 1 - Traduzido dos resultados apresentados por [ZHANG e LIU, 2011] .................. 32
Tabela 2 - Métricas para experimento aleatório ............................................................ 55
Tabela 3 - Métricas para experimento sequencial ......................................................... 57
Tabela 4 - Comparativo entre resultado do Twitter e resultado das urnas ....................... 59
Sumário
1. Introdução......................................................................................................... 12
1.1 Motivação e Contexto ................................................................................... 13
1.2 Problema .................................................................................................... 13
1.3 Hipótese ..................................................................................................... 14
1.4 Objetivos .................................................................................................... 14
1.4.1 Objetivo Geral ....................................................................................... 14
1.4.2 Objetivos Específicos ............................................................................. 15
1.5 Trabalho realizado ....................................................................................... 15
1.6 Organização do Trabalho .............................................................................. 15
2 Análise de Sentimentos ....................................................................................... 17
2.1 Conceitos Básicos ........................................................................................ 18
2.2 Aplicações para Análise de Sentimentos ......................................................... 20
2.3 Etapas da Análise de Sentimento ................................................................... 20
2.3.1 Análise de Subjetividade ........................................................................ 21
2.3.2 Extração da Característica ...................................................................... 21
2.3.3 Classificação da Opinião ......................................................................... 22
2.3.4 Visualização e Sumarização .................................................................... 23
2.4 AS em debates polarizados ........................................................................... 23
2.5 Desafios e Limitações em AS ......................................................................... 24
2.6 Considerações Finais .................................................................................... 25
3 Análise de Sentimentos Considerando Termos Factuais .......................................... 27
3.1 O método proposto pelos autores .................................................................. 28
3.2 Agregando polaridade .................................................................................. 29
3.3 Determinando palavras candidatas ................................................................ 30
3.4 Podando palavras candidatas não opinativas .................................................. 31
3.5 Experimentos realizados por Zhang e Liu ........................................................ 31
3.6 Considerações Finais .................................................................................... 32
4 O Processo Proposto ........................................................................................... 33
4.1 Caracterização do Problema .......................................................................... 33
4.2 Estrutura Geral ............................................................................................ 34
4.3 Agente de obtenção dos dados ..................................................................... 34
4.4 Etapa de Limpeza e Tradução ....................................................................... 35
4.5 Marcação dos dados ..................................................................................... 38
4.6 Etapa de Análise de Subjetividade e Classificação ............................................ 39
4.7 Extração de Palavra Opinativa ....................................................................... 40
4.8 Etapa de Análise de Substantivo .................................................................... 43
4.9 Etapa de Análise de Rede de Retweet (RT) ..................................................... 44
4.10 Etapa de Análise de Hashtag ......................................................................... 46
4.11 Etapa de Apresentação dos Resultados .......................................................... 47
4.12 Considerações finais ..................................................................................... 48
5 Experimentos e Resultados.................................................................................. 49
5.1 Agente de obtenção dos dados ..................................................................... 49
5.2 Bases de Dados ........................................................................................... 51
5.2.1 Bases de Tweets ................................................................................... 51
5.2.2 Senti-WordNet ...................................................................................... 53
5.2.3 Bases de Substituições ........................................................................... 53
5.3 Tipos de Experimentos ................................................................................. 53
5.3.1 Métricas utilizadas ................................................................................. 53
5.3.2 Configuração dos experimentos .............................................................. 54
5.3.3 Experimento com Tweets Aleatórios ........................................................ 55
5.3.4 Experimento Sequencial ......................................................................... 57
5.3.5 Experimento completo ........................................................................... 58
5.4 Considerações finais ..................................................................................... 59
6 Conclusão e Trabalhos Futuros ............................................................................ 60
6.1 Considerações finais ..................................................................................... 60
6.2 Trabalhos futuros......................................................................................... 61
Referências .............................................................................................................. 62
12
1. Introdução
Nos últimos anos, o ambiente Web vem evoluindo de forma que os internautas são
servidos de páginas que se transformaram em documentos de conteúdo dinâmico e
diversificado, que interagem com o usuário das mais diversas formas. O usuário comum, que
antes era apenas um consumidor passivo da informação, recebe o papel de um agente ativo,
capaz de contribuir de forma simples com o crescente conteúdo da Web, onde sua opinião
acerca de qualquer tema possui valor em blogs, fóruns, entre outras ferramentas.
Dada essa evolução, a Internet representa hoje a maior base de conteúdo opinativo
no mundo. A popularização de ferramentas como redes sociais, através das quais usuários
fornecem conteúdo em forma de experiências e opiniões sobre os mais diversos assuntos,
apenas aumenta essa massa de dados que é a Web. Esse tipo de informação é de grande
importância para empresas que pretendem aprimorar seus serviços, e definir estratégias de
mercado com base nas opiniões sobre seus produtos e serviços. Essas opiniões também são
úteis a usuários comuns durante uma decisão de compra de um produto ou ao contratar um
serviço ou escolher um caminho a seguir.
Contudo, toda essa informação está dispersa na Web em formato livre, possuindo
características inerentes a cada um dos meios de divulgação, tornando impraticável a análise
manual desses dados de forma minimamente abrangente. Percebe-se, portanto, que a
análise manual de uma quantidade tão grande de opiniões consumiria vários dias de trabalho
do usuário, e ao final desta análise, uma nova massa de novas opiniões já teria surgido,
tornando a análise anterior obsoleta.
Automatizar é a palavra de ordem. Porém, realizar a compreensão da linguagem
natural não é uma tarefa trivial para o computador. Computadores são hábeis para lidar com
linguagens de programação (como Java, Delphi, C#, etc.), que são precisas e possuem
regras e semânticas bem definidas. Contudo, tratando-se da linguagem humana, a
complexidade aumenta bastante, devido às irregularidades e às ambiguidades inerentes às
línguas naturais.
Nesse contexto, surgiram sistemas para tratar opiniões automaticamente, utilizando-
se dos conceitos da área de Análise de Sentimentos (AS), também conhecida como Mineração
de Opiniões [LIU, 2006] [LIU, NARAYNAN e CHOUDHARY, 2009]. A Análise de Sentimentos,
dentre outros objetivos, preocupa-se em classificar opiniões expressas em textos a respeito
de um determinado objeto (produto, serviço, instituição ou pessoa) como positivas, negativas
13
ou neutras. Em geral, a classificação é feita com base nos adjetivos e advérbios encontrados
no texto, nomeados de palavras opinativas. Outras estratégias utilizam também palavras de
outras classes gramaticais para enriquecer essa análise.
Dado que o objetivo da análise de sentimentos, de forma simplificada, é identificar a
opinião dos usuários em um texto, a primeira tarefa deste processo é identificar se o texto
traz ou não uma opinião. Na grande maioria dos trabalhos encontrados na literatura esta
etapa resume-se a identificar se as sentenças contêm palavras opinativas. Esta mesma
literatura utiliza, quase que exclusivamente, adjetivos como palavras opinativas, com alguns
poucos trabalhos utilizando também advérbios e até mesmo verbos. Porém, substantivos são
quase sempre desconsiderados como representantes de opinião. Sentenças que não
possuem palavras opinativas são consideradas objetivas ou factuais, portanto, são
descartadas por não conterem uma opinião, mas apenas fatos.
1.1 Motivação e Contexto
Análise automática de sentimento é uma área de pesquisa recente, que ganhou
mais destaque no início deste século. Porém, muito já se desenvolveu nessa área,
utilizando-se desde abordagens baseadas em técnicas de aprendizagem de máquina [D.
e CONROY, 1997] até técnicas que usam abordagens linguísticas e estatísticas [WIEBE,
et al., 2004].
Segundo [LIU, 2006], a AS tem por objetivo identificar o sentimento expresso em
textos opinativos. Sentenças opinativas são ditas subjetivas, em contraste com as
sentenças objetivas (factuais), que contêm apenas fatos e, normalmente, não implicam
em opinião. Estas sentenças factuais geram debates na comunidade científica por
acreditar-se que o descarte sumário das sentenças gera perda de informação e, em
alguns casos, descarte de opiniões expressas de forma indireta. Considerando que
tenhamos um corpus sem grande ocorrência de adjetivos, teremos um descarte de
grande parte do corpus, o que pode comprometer a confiabilidade da solução em
identificar a opinião correta.
1.2 Problema
Dada a discussão presente na literatura pesquisada, podemos definir o problema
da pesquisa de forma direta:
Sentenças sem adjetivos são sumariamente descartadas. Porém, em um corpus com
poucos adjetivos, haverá demasiado descarte, influenciando negativamente na precisão
14
do processo (poucos dados utilizados para extrair opinião) e, consequentemente,
diminuição da cobertura do corpus e da confiabilidade no resultado apresentado.
1.3 Hipótese
O problema apresentado reside na identificação de palavras opinativas, e
consequentemente classificação das sentenças em subjetivas ou objetivas/factuais.
Como grande parte da literatura utiliza apenas adjetivos e advérbios como palavras
opinativas, surge o questionamento:
Apenas adjetivos e advérbios implicam em opinião?
No corpus, sentenças inicialmente identificadas como objetivas podem conter uma
opinião, a depender do contexto nas quais as mesmas são inseridas. Textos oriundos de
redes sociais comumente carregam a opinião do autor se utilizando de pouquíssimas
palavras, fato acentuado para o caso do Twitter, que impõe limitação de quantidade de
caracteres. Devido à limitação, essa opinião apresenta-se, muitas vezes, em forma de
sentenças objetivas/factuais que não devem ser descartadas simplesmente por não
conterem adjetivos ou advérbios.
1.4 Objetivos
Em [LIU, 2006], um sistema completo de Análise de Sentimentos pode ser dividido
em 4 etapas: Identificação de Opiniões (ou Detecção de Subjetividade), Extrações de
Características, Classificação de Sentimentos, e Visualização dos Resultados. Este mesmo
sistema pode realizar a análise em três níveis de granularidade: no nível do documento,
no nível de sentença e no nível de característica do objetivo a qual se destina a opinião.
A classificação de sentimentos é vista como a principal etapa na AS, pois é onde
ocorre a identificação da polaridade do texto. Assim como apresentado na seção anterior
de definição do problema, grande parte dos trabalhos encontrados na literatura
produzem um grande descarte para um corpus com poucos adjetivos e advérbios, comum
a textos de redes sociais e micro blogs.
1.4.1 Objetivo Geral
Dados os problemas e hipótese mencionados, este trabalho de mestrado
objetiva desenvolver um processo de classificação que diminui o descarte sumário de
sentenças objetivas que podem conter opiniões, mesmo na ausência de palavras
opinativas explícitas.
15
1.4.2 Objetivos Específicos
Como objetivos específicos desta pesquisa temos:
Aumento na cobertura do processo sobre o corpus utilizado.
Aumento na confiabilidade na identificação da opinião.
Aumento na taxa de acerto e na precisão do processo.
1.5 Trabalho realizado
Este trabalho foi desenvolvido no contexto de uma pesquisa sobre AS que utiliza
sentenças normalmente descartadas pela ausência de adjetivos e advérbios, para
computar a opinião dos usuários acerca de um determinado tema, produto, serviço ou
pessoa. O processo geral conta com as etapas de Extração e Classificação de Sentimento,
sendo esta última o foco do presente trabalho. Foi adotada aqui a abordagem baseada
em técnicas estatísticas e linguísticas, visando principalmente a independência de
domínio.
O tema utilizado como fonte para extração da opinião foi o debate político
polarizado, onde o eleitor, detentor da opinião, se posiciona em um dos lados da disputa.
Para isto, foram analisados tweets referentes ao segundo turno das eleições para prefeito
da cidade de São Paulo em 2012. Mais detalhes sobre a origem dos dados e seu processo
de obtenção são apresentados no decorrer deste relato de pesquisa, no detalhamento
dos experimentos realizados.
O protótipo implementado, como prova de conceito do processo proposto, foi
codificado em Java. Foram realizados diferentes testes utilizando 17 mil postagens
coletadas que serviram como ponto de partida para montagem das duas bases de testes
utilizadas. Os experimentos realizados revelaram uma taxa de cerca de 90% de precisão
na polarização dos posts, calculado com base no número de acertos da polaridade de
uma base de testes com polaridade identificada manualmente. O percentual de cobertura
também foi de 90%, indicando que houve pouco descarte e que maior parte do corpus
foi utilizada no processo de identificação da opinião do eleitor.
1.6 Organização do Trabalho
Esta dissertação está dividida em seis capítulos. Após o capítulo de Introdução, mais
cinco capítulos tratam da revisão bibliográfica, e dos detalhes do sistema proposto, bem
como dos experimentos realizados.
16
O Capítulo 2 apresenta resumidamente a área de Análise de Sentimentos. São
apresentados os principais conceitos, cada uma das etapas da AS, e as técnicas mais
conhecidas e utilizadas no meio acadêmico.
O Capítulo 3 apresenta o estado da arte da utilização de sentenças factuais para
obtenção das opiniões dos usuários, representando o foco principal deste trabalho.
No Capítulo 4, é mostrado o processo de AS proposto neste trabalho. São descritos
as técnicas e estratégias usadas no desenvolvimento do sistema.
No Capítulo 5, são mostrados, a metodologia e os experimentos realizados, bem como
uma comparação dos resultados obtidos com outros da literatura.
O último capítulo apresenta a conclusão do trabalho, fazendo uma análise dos
resultados obtidos e os objetivos alcançados, e propondo algumas possíveis melhorias
futuras.
17
2 Análise de Sentimentos
A análise de sentimentos (AS), também denominada de Mineração de Opinião
(Opinion Mining) [LIU, NARAYNAN e CHOUDHARY, 2009], é o campo de estudo que analisa
as opiniões, sentimentos, avaliações, atitudes e emoções de indivíduos relativos a entidades
como produtos, serviços, organizações, pessoas, problemas, eventos, tópicos e seus
atributos objetivando uma classificação das emoções e opiniões expressas no texto opinativo
[LIU, NARAYNAN e CHOUDHARY, 2009]. Nesta tarefa são empregados métodos e técnicas
de áreas como Processamento de Linguagem Natural (PLN) [ALLEN, 1995], Recuperação da
Informação (RI) [BAEZA-YATES e RIBEIRO-NETO, 1999] e classificação automática de texto
utilizando Inteligência Artificial (IA).
De acordo com pesquisas recentes realizadas pela Pesquisa Nacional por Amostra de
Domicílios (PNAD) do IBGE, existem 83 milhões de usuários de internet no Brasil em 2012,
o que correspondia a cerca de 47% da população. Já em 2013, segundo dados da Telebrasil
(Associação Brasileira de Telecomunicações), esse número chega a 133,7 milhões de
usuários. Desta forma, acompanhando o crescimento de conexões, houve um aumento
exponencial no número de textos opinativos na web, transformando as ferramentas de AS
em um fator importante para se extrair informação desse emaranhado de opiniões.
Esta análise de textos opinativos já é realizada de maneira manual e ad hoc por
usuários que buscam informações a respeito de produtos ou serviços na web. Porém, como
esta não é realizada de forma automatizada, o montante de informação utilizado como base
para consulta de opinião pode ser demasiadamente pequeno, perturbando o resultado final
da análise, que pode não representar uma opinião global sobre o objeto pesquisado. Essa
situação é acentuada devido à subjetividade inerente às opiniões [MAGALHÃES, 2009], sendo
essencial, portanto, aumentar o número de opiniões analisadas.
No sentido de automatizar a análise de opiniões, AS proporciona uma entrega rápida
e automática das opiniões acerca de produtos ou serviços. Esta análise, ao contrário da
manual, conta com milhares de opiniões, sendo possível extrair uma opinião global sobre o
objeto pesquisado. Sobre outro ponto de vista, empresas que oferecem produtos e serviços
podem se utilizar de AS para direcionar novas ações de marketing para trabalhar falhas dos
serviços oferecidos e até mesmo identificar a melhor estratégia de lançamento de um novo
produto.
18
Neste capítulo, será feita uma breve apresentação dos conceitos básicos de AS,
algumas limitações ainda não superadas nessa área e as etapas que a constituem.
2.1 Conceitos Básicos
A maioria dos conceitos usados nesse trabalho irá seguir o padrão proposto em [LIU,
2006], onde o autor se baseia nos conceitos mais comuns da literatura que trata de AS. O
texto abaixo irá servir de base para exemplificar cada um dos conceitos mostrados.
“ (1) Votei em Dilma para Presidente. (2) (2.1) Ela é uma pessoa confiável e (2.2) fez
um bom trabalho como Ministra da Casa Civil. (3) (3.1) A gestão foi bastante positiva,
mas (3.2) a imagem do governo estava manchada pelo mensalão. ”
Ao analisarmos a sentença exemplo, o primeiro fator a ser analisado é a subjetividade
do texto, ou seja, trata-se de um texto opinativo ou factual (referente a um fato simples,
sem opinião). Partindo desta análise temos a oração (1) tratando-se de um texto factual,
pois a mesma demonstra uma ação simples e não uma opinião acerca do objeto analisado
(Dilma). Já as orações (2) e (3) apresentam claramente uma opinião.
Neste exemplo, nem todas as sentenças são classificáveis, pois nem todas detêm
opinião do autor acerca do objeto sob análise. Essa primeira verificação traz os conceitos de:
Objeto: qualquer entidade (produto, serviço, pessoa, empresa, evento) que é
analisada pelo autor da opinião. No exemplo apresentado o objeto analisado é a atual
presidenta do Brasil, Dilma Rousseff.
Sentença Objetiva: texto que contém um fato ou informação sem o ponto de vista
do autor. A sentença (1) no exemplo representa uma sentença objetiva ou factual.
Sentença Subjetiva: também nomeado texto opinativo, expressa a visão do autor
sobre um objeto. As sentenças (2) e (3) do exemplo se encaixam nesta definição.
A oração (2) pode ser dividida em duas sentenças, (2.1) e (2.2). As duas sentenças
classificam o objeto como positivo. Já na oração (3) há opiniões divergentes a respeito do
mesmo objeto. Ao analisarmos a sentença (3.1) há uma opinião positiva, porém, na sentença
(3.2) ocorre o oposto. A distinção entre as duas sentenças ocorre no nível de aspecto, onde
o primeiro trata da gestão até então realizada pela presidenta, avaliada positivamente, e o
segundo trata da imagem do governo, avaliada negativamente.
19
Sentenças objetivas, tal qual a sentença (1), não são processadas em AS. As demais
carregam opinião sobre um objeto, e suas respectivas características. A seguir seguem os
demais conceitos:
Opinião: é um ponto de vista, atitude, sentimento, emoção ou avaliação acerca de
um objeto ou suas características, expressas por um autor, e que podem ter caráter
positivo, negativo ou neutro.
Polaridade: também é chamada de orientação de opinião, representa o caráter
positivo (+1), negativo (-1) ou neutro (0) da avaliação feita pelo autor.
Característica: também conhecida como aspecto, é um atributo, propriedade, parte
ou componente de um objeto.
Palavra opinativa: são termos que qualificam as características. Em sua maioria
são adjetivos e advérbios, e podem ter conotação positiva ou negativa em relação a
característica.
Outro fator importante ao analisarmos o texto é o tipo de classificação a ser utilizada,
pois dependendo da abordagem, o resultado final apresentado pode ser diferente. Para uma
classificação em nível de texto, poderia se dizer que a opinião do texto é positiva,
considerando que a maioria das opiniões é positiva, mas parte da informação é perdida. Já
na Classificação em nível de aspecto, cada uma das características seria analisada. Segundo
[LIU, 2010], a Análise de Sentimentos pode ser tratada em dois níveis distintos, e com
objetivos diferentes:
Classificação em nível de documento: a opinião está em torno de todo texto ou
sentença em questão. A opinião é dada como positiva, negativa ou neutra,
observando o texto ou sentença por completo.
Classificação baseada em aspecto: no lugar de classificar o texto como um todo,
cada aspecto é classificado separadamente.
Continuando a apresentação dos conceitos, podemos ver mais definições:
Detentor da opinião: É o autor, pessoa ou organização, que expressa a opinião.
Na maioria das ferramentas de expressão, como blogs e fóruns o detentor da opinião
é o responsável por postar os comentários. E, em alguns casos, a origem da opinião
não é do autor do comentário, porém, o Detentor da Opinião é referenciado no texto.
Por exemplo, em “FHC não recomenda o governo petista”, o detentor da opinião é
FHC (Fernando Henrique Cardoso).
Opinião direta: É a opinião que faz referência a apenas um objeto ou aspecto.
20
Opinião comparativa: É a opinião que apresenta uma relação comparativa das
semelhanças ou diferenças entre dois ou mais objetos. Uma opinião comparativa é
normalmente expressa usando um advérbio de comparação [LIU, 2010].
A opinião direta pode ser observada nas sentenças (2.1) e (2.2) do exemplo
apresentado. Já a opinião comparativa, não representada neste exemplo, é mais complexa
de ser tratada [MAGALHÃES, 2009].
2.2 Aplicações para Análise de Sentimentos
Dentre as possibilidades de aplicação prática para AS, as que mais se destacam, com
produtos já inseridos no mercado, são listados abaixo:
Análise de investimento no mercado de ações: Investidores iniciantes ou pequenos
podem contar com uma ferramenta, disponibilizada pela Vetta Labs [VETTA LABS,
2008], para identificação do humor do mercado em relação às empresas negociadas
na bolsa de valores. Este humor é obtido a partir das opiniões dos analistas, sendo
possível então, identificar a tendência dos preços na Bolsa de Valores dos EUA.
Análise de um produto: Representa a aplicação mais comum para AS. Opinião do
consumidor final tornou-se um fator de grande peso no momento da compra, ou até
mesmo na melhoria aplicada em determinado produto. Neste caso, muitas soluções
são baseadas em postagens dos consumidores realizadas em micro blogs, como o
Twitter. Exemplos de aplicações são o Sentweet [SENTWEET, 2012] e o Sentiment140
[SENTIMENT 140, 2013].
Análise de reputação ou qualidade de serviço: Empresas preocupadas em avaliar a
qualidade do atendimento se utilizam de AS em redes sociais para obter esse
feedback. Alguns bancos nacionais, como por exemplo, o Bradesco e o ITAÚ, utilizam
esta análise para avaliar a qualidade do serviço de atendimento ao público em geral.
Análise política eleitoral: Eleitorando [ELEITORANDO, 2013] é um software que visa
identificar opiniões dos eleitores acerca de candidatos a cargos políticos. O software
analisa as opiniões dos usuários e disponibiliza a informação através de gráficos para
o cliente.
2.3 Etapas da Análise de Sentimento
Um sistema completo de Análise de Sentimentos é dividido em quatro etapas
sequenciais e complementares: Análise de Subjetividade, Extração de Característica,
Classificação da Opinião e Visualização e Sumarização [LIU, 2006]. A divisão existe com o
objetivo de obter melhores resultados na avaliação devido à complexidade de cada uma
21
destas tarefas. Nas próximas seções serão detalhadas todas as etapas: Análise da
subjetividade do texto, extração da característica, classificação da opinião, visualização e
sumarização.
2.3.1 Análise de Subjetividade
Esta primeira etapa da AS identifica se uma determinada sentença é subjetiva
(possui uma opinião associada) ou objetiva (representa apenas um fato, sem
opinião). Em grande parte dos trabalhos encontrados na literatura, sentenças
objetivas, ou factuais, são descartadas do corpus.
Esta tarefa, em muitos casos, supera em complexidade a própria classificação
da polaridade do texto. Esta atividade de limpeza das sentenças, portanto, é bastante
crítica para a qualidade de todo o processo, o que significa que a escolha na técnica
utilizada aqui deve refletir no resultado de todo o processo [PANG e LEE, 2008].
Uma das técnicas usadas para identificar a subjetividade das sentenças é
proposta por Hatzivassiloglou e Wiebe em [HATZIVASSILOGLOU e WIEBE, 2000], que
faz a análise da subjetividade das sentenças através das orientações dos adjetivos.
Outras técnicas podem ser observadas em [WIEBE, et al., 2004] e [WILSON, WIEBE
e HWA, 2004].
2.3.2 Extração da Característica
Partindo do conjunto de sentenças opinativas, resultado da etapa de Análise
de Subjetividade, devem ser encontradas as características do objeto que estão sendo
avaliadas pelo autor da opinião. A classificação final do objeto dependerá de uma
ponderação entre as opiniões positivas e negativas associadas às suas características.
Esta representa uma das atividades menos propensas à automação em AS.
Em muitos casos são utilizadas técnicas específicas dependentes do domínio, ou seja,
específicas para uma determinada área, para assim ser possível extrair com maior
precisão essas características [SIQUEIRA, 2010].
Em [MAGALHÃES, 2009] são descritas algumas fases utilizadas em sistemas
de extração de informação, que apesar de existirem muitas variações, as mesmas se
aproximam deste tronco comum:
o O texto é divido em sentenças e palavras, para a aplicação de um Pos-Tagger,
que deve aplicar etiquetas para cada uma de suas classes gramaticais;
22
o É realizada uma análise da sentença efetuando-se uma identificação dos
grupos de substantivos, dos grupos de verbos, das expressões preposicionais
e das outras estruturas simples.
o Neste ponto a técnica se confina ao domínio da aplicação. Aqui são
identificados os termos relevantes no texto, ou seja, identificam-se os
aspectos a partir do grupo de substantivos previamente selecionados.
o Por fim, realiza-se uma resolução anafórica, ou simplesmente uma etapa de
“merging”: o sistema examina cada entidade encontrada no texto e
determina se tal entidade se refere a uma entidade já existente ou se ela é
nova e deve ser adicionada ao nível de discurso do sistema que representa o
texto.
Existem diversas outras técnicas para extração de características. Algumas
técnicas utilizam abordagens baseadas em estatística e linguística, observando a
classe gramatical, visto que a maioria dos aspectos avaliados são substantivos
presentes nas sentenças, e a frequência que a mesma surge no texto [HU e LIU,
2004].
2.3.3 Classificação da Opinião
Esta representa a etapa central da AS, onde são atribuídas polaridades
(positiva, negativa, neutra) aos elementos do texto. A depender da abordagem
utilizada, esta pode ser realizada em diferentes níveis de granularidade
(característica, sentença ou documento), sendo a classificação a nível de
característica a mais refinada e a única onde é necessária a presença da etapa
anterior, de extração de característica [FERNANDES, 2010].
Para realizar esta classificação são necessários vários passos, utilizando-se de
diversas técnicas. Para exemplificar esta etapa são descritos abaixo os passos de um
algoritmo de classificação encontrado em [DING, LIU e YU, 2008]:
o Encontrar e classificar as palavras opinativas: Este primeiro passo consiste em
encontrar as palavras opinativas na sentença e atribuir uma polaridade a elas.
o Cláusulas Negativas: Em um segundo momento, devem ser identificadas as
sentenças negativas, que resultam na inversão da polaridade já atribuída.
o Cláusulas Adversativas: Palavras que tratam de oposição (mas, entretanto,
porém, entre outros exemplos), mostram opiniões contrárias em relação ao
mesmo objeto de estudo. Sendo identificada esta formação adversativa em
23
uma sentença, deve-se garantir que as duas partes da sentença possuam
polaridades opostas.
Além destas, como mencionado em [LIU, NARAYNAN e CHOUDHARY, 2009],
sentenças condicionais podem mostrar algumas particularidades ao serem
classificadas como positivas, negativas ou neutras. Outras abordagens podem ser
encontradas em [LIU, 2010] [POPESCU e ETZIONI, 2005].
2.3.4 Visualização e Sumarização
A última etapa no processo de AS consiste em reunir e representar os
resultados de forma simples e clara permitindo o melhor entendimento por parte do
usuário final. Esta apresentação dos resultados pode ser feita em forma de textos
descritivos, gráficos realizando comparações entre objetos opositores (concorrentes).
[PANG e LEE, 2008] divide esta etapa em dois tipos distintos: Sumarização de
documento simples, Sumarização de documentos com diversos objetos.
o Sumarização de documentos simples: O objetivo é unir os textos que
relatam de opiniões semelhantes ou que relatam o mesmo aspecto, para
apresentar a opinião final dos usuários (positiva ou negativa) de cada aspecto
do objeto. Aqui os resultados, normalmente, são apresentados em forma de
texto.
o Sumarização de documentos com múltiplos objetos: O objetivo desta
análise é comparar cada um dos aspectos. Este tipo de sumarização está
relacionado ao resultado de vários objetos analisados, sendo interessante,
portanto, a comparação entre as características dos mesmos ao invés de
simplesmente apresentar um texto com pontos positivos e negativos das
características de cada objeto. Aqui os resultados são apresentados, em sua
grande maioria, de forma gráfica.
2.4 AS em debates polarizados
A respeito de polarização em debates políticos algumas evidências empíricas sugerem
que os usuários da internet politicamente ativos tendem a organizar-se em comunidades
homogêneas segregados segundo linhas partidárias [CONOVER, et al., 2011]. Esta divisão
torna-se mais evidente em disputas de segundo turno para cargos políticos majoritários,
devido à existência de apenas dois candidatos na disputa.
Comentários políticos, mesmo em segundo turno, entretanto, podem ser classificados de
acordo com 5 grupos. Comentários críticos ou a favor do candidato A, comentários críticos
24
ou a favor do candidato B e, por fim, comentários neutros, sem identificação de nenhum
candidato. Este último caso, em redes sociais, representa um caso menos frequente, tendo
em vista que a publicação em redes sociais comumente expressa o posicionamento político
do indivíduo.
Partindo do pressuposto que a quinta classe pode ser desconsiderada, devido à sua baixa
incidência nas postagens dos eleitores, podemos reduzir, de forma simplificada, as 4 classes
restantes em apenas duas, identificando as intenções de voto. Comentários contra o
candidato B, em uma disputa onde existem apenas duas opções de voto, pode ser
considerado um comentário a favor do candidato A, e vice-versa. Desta forma, podemos
concluir a seguinte formulação:
Candidato A:
o Comentários a favor de A.
o Comentários contra B.
Candidato B:
o Comentários a favor de B.
o Comentários contra A.
2.5 Desafios e Limitações em AS
Soluções envolvendo Análise de Sentimentos apresentam um conjunto de novos desafios
a serem superados na computação. Listados em [PANG e LEE, 2008] estão alguns dos
principais problemas e desafios da área.
Em situações onde a solução de AS esteja acoplada a algum engenho de busca,
o primeiro desafio encontrado seria identificar se o usuário deseja buscar
informações objetivas ou opiniões. Uma flag se mostra como uma alternativa para
contornar esse problema, obrigando ao usuário informar qual tipo de informação
o mesmo deseja buscar. Essa solução adiciona mais uma etapa no processo de
busca e a proposta de automação é a diminuição da intervenção humana;
Outro desafio está em determinar quais partes da fonte de dados possuem textos
opinativos. Essa tarefa poderia ser eliminada caso a fonte seja tratada
anteriormente à análise, contendo apenas textos opinativos. Porém, alguns
cenários, como Política, deve envolver fontes de dados não tratadas à priori, como
fóruns, blogs e tweets. No entanto, para este tipo de dado, a estrutura do texto
varia bastante.
25
Definidos os documentos utilizados como fonte de informações, um novo desafio
está relacionado a realizar a classificação desses. Existem inúmeras aplicações
baseadas em regras, aprendizagem de máquinas e em técnicas estatísticas que
apresentam uma baixa taxa de precisão. Uma difícil tarefa na classificação dos
documentos é a detecção de ironias e sarcasmos. O trabalho de [CARVALHO, et
al., 2009] são apresentadas regras para detecção de ironias nos textos,
analisando interjeições, morfologia do verbo, entre outros fatores. Apesar da
prova de conceito apresentada no trabalho, o mesmo ainda apresenta uma taxa
de precisão baixa.
A apresentação do resultado da análise de forma clara e simples para o usuário
final também constitui um desafio da área. O resultado da AS pode se referir a
um único produto, ou pode estar relacionado a dois ou mais produtos, trazendo
assim uma análise comparativa. Para o caso de dois ou mais produtos, o resultado
pode ainda ser apresentado em forma de maioria (concordando ou discordando)
ou mesmo a separação em grupos (cada grupo se referindo a um produto,
contendo opiniões positivas e negativas).
2.6 Considerações Finais
Análise de Sentimentos constitui uma área recente, mas que tem mostrando
excelentes contribuições e utilidade, e consequentemente, interesses variados. Seja por
técnicas de aprendizagem de máquina ou processamento de linguagem natural (PLN) a área
tem mostrado que o incrível crescimento da Web pode representar uma preciosa fonte de
informações para empresas e consumidores de produtos e serviços, novos ou já existentes.
Este enorme volume de informação exige uma interpretação automatizada para se poder
responder rapidamente às mudanças nas tendências das opiniões das pessoas.
Por outro lado, a web, em especial as redes sociais, tem cada vez mais se tornado
um terreno fértil para a discussão política, especialmente próximo a períodos eleitorais.
Certamente, um dos aspectos mais relevantes desta tendência está na possibilidade de medir
a opinião pública instantaneamente, o que tem atraído o interesse não apenas da academia,
mas da imprensa e do mercado [TIMES, N. Y., 2009].
Alguns estudos na literatura apontam que é possível prever o resultado de eleições
através dos dados das redes sociais. Nesse sentido, Tumasjan et al. (2010) analisaram o
Twitter para a previsão do resultado de eleições na Alemanha. No trabalho realizado chegou-
se à conclusão que apenas o número de menções aos partidos já é suficiente para prever o
resultado das eleições com grande taxa de acerto. Em [CHOY, et al., 2011], por sua vez, é
26
discutida a aplicação de detecção de sentimentos na previsão da percentagem de votação
dos candidatos na eleição presidencial de Singapura de 2011.
Porém, textos políticos muitas vezes não expressam opiniões no mesmo formato que
textos tradicionais acerca de produtos e serviços. Este segundo, frequentemente contém em
sua estrutura a figura do adjetivo, que representa o ponto de partida para a maioria das
análises de opinião. Textos políticos, em especial os textos de redes sociais sobre este tema,
contém críticas e elogios a determinados candidatos através de sentenças que muitas vezes
não possuem um adjetivo associado. Essas, na análise de sentimentos, são intituladas frases
objetivas ou factuais. No próximo capítulo será detalhado algumas estratégias para
tratamento desse tipo de sentença tão presente em textos políticos, foco deste trabalho.
27
3 Análise de Sentimentos Considerando Termos
Factuais
Palavras opinativas são aquelas que designam polaridade (positiva ou negativa) a
uma determinada sentença. Identificar estas palavras representa um problema
extremamente relevante na área de mineração de opinião [ZHANG e LIU, 2011]. Contudo, a
literatura tem focado apenas na utilização de adjetivos e, em alguns casos, advérbios para
realizar essa tarefa. Desta forma, palavras como substantivos são excluídas do processo de
identificação de opinião mesmo estando presente em abundância nos textos.
Este problema de identificação de palavras opinativas tem sido estudado em diversas
pesquisas recentes na literatura [ZHANG e LIU, 2011]. As principais abordagens encontradas
podem ser classificadas em dois grupos: a primeira delas, baseada em corpus
[HATZIVASSILOGLOU e WIEBE, 2000] [WIEBE, 2000] [KANAYAMA e NASUKAWA, 2006]
[QIU, et al., 2009] e a segunda, baseada em dicionário [HU e LIU, 2004] [KIM e HOVY, 2004]
[KAMPS, et al., 2004] [ESULI e SEBASTIANI, 2005] [TAKAMURA, INUI e OKUMURA, 2007]
[ANDREEVSKAIA e BERGLER, 2006] [DRAGUT, et al., 2010]. Abordagens baseadas em
dicionário são comumente ineficientes para identificar palavras específicas do domínio, visto
que os dicionários contêm pouca informação a respeito de algum domínio específico, sendo
portanto, melhor utilizadas em abordagens generalistas, livres de domínio [ZHANG e LIU,
2011].
O trabalho de [HATZIVASSILOGLOU e KATHLEEN, 1997] representa o primeiro
esforço para encontrar palavras opinativas utilizando corpus. O método desenvolvido explora
algumas construções linguísticas como, e, ou, mas, então, senão, com o objetivo de inferir
a polaridade de adjetivos não conhecidos pelo dicionário. Os trabalhos subsequentes de
[KANAYAMA e NASUKAWA, 2006], [DING, LIU e YU, 2008] e [QIU, et al., 2009] aperfeiçoam
o método, porém, a estratégia funciona apenas para adjetivos, descartando demais classes
gramaticais como substantivos, por exemplo. Um dos primeiros trabalhos a incluir
substantivos como palavras opinativas foi [ESULI e SEBASTIANI, 2006]. O mesmo descreve
o Senti-WordNet, um recurso léxico que apresenta termos/palavras associados a scores
numéricos indicando se o termo é Objetivo, Positivo ou Negativo. Desta forma, este último
trabalho possui uma capacidade de identificar um maior número de termos opinativos por
não descartar nenhuma classe gramatical. Entretanto, palavras opinativas comumente são
28
específicas a um determinado domínio, portanto, dicionários generalistas (como o Senti-
WordNet) contém pouca informação de um domínio específico [ZHANG e LIU, 2011].
Em [RILOFF, WIEBE e WILSON, 2003] foi proposto um método para extração de
palavras subjetivas. Entretanto, essas palavras normalmente pertencem à classe gramatical
adjetivo ou advérbio. Desta forma, o descarte de sentenças sem adjetivos (sentenças
objetivas / factuais) continuará ocorrendo. Porém, a contextualização das mesmas pode
evidenciar a existência de uma opinião, que pode ser representada por um substantivo, por
exemplo, ao invés de um adjetivo. A complexidade para identificar essas palavras é bastante
elevada, porque, sua identificação comumente requer conhecimento do domínio no qual a
sentença está envolvida [ZHANG e LIU, 2011].
Estudos experimentais encontrados na literatura apontam a utilização destas
palavras/sentenças factuais como um excelente ponto de melhoria na análise de
sentimentos, diminuindo drasticamente a quantidade de informação descartada. A principal
pesquisa utilizada como referência neste trabalho é [ZHANG e LIU, 2011], onde foram obtidos
bons resultados.
Este capítulo apresenta as abordagens utilizadas pelos autores [ZHANG e LIU, 2011]
para agregar a classe gramatical substantivo ao conjunto de palavras que implicam opinião.
Como resultado, os autores obtiveram um significativo aumento na cobertura do corpus. A
seção 3.2 apresenta o método proposto pelos autores, seguida da estratégia para agregar
polaridade aos substantivos, na seção 3.3. Na sequência, as seções 3.4 e 3.5 apresentam o
método para determinar os substantivos candidatos a conter opinião e o mecanismo de
diminuição dessa lista de substantivos candidatos, respectivamente. Por fim, na seção 3.6
são apresentados os experimentos conduzidos pelos autores. O capítulo é concluído na seção
3.7 de considerações finais, contendo uma avaliação das conclusões obtidas pelos autores.
3.1 O método proposto pelos autores
As observações iniciais de [ZHANG e LIU, 2011] fazem referência à presença
de palavras que não possuem adjetivo que as modifica diretamente. No exemplo
citado observamos que a palavra vale não é modificada por nenhum adjetivo.
Ex.1: “Por volta de um mês, um vale se formou no meio do colchão. ”
Ex.2: “Por volta de um mês, um maldito vale se formou no meio do colchão. ”
Percebe-se, pelo exemplo dado pelos autores, que o adjetivo negativo
maldito modifica a palavra vale para a polaridade negativa. Caso um outro adjetivo
29
(positivo) modifique a palavra vale para a polaridade positiva, a mesma é descartada
como candidata a palavra opinativa. Desta forma, o autor define duas etapas para
identificar palavras opinativas.
1- Identificação das candidatas: Determina o sentimento ao entorno de cada
palavra candidata. A ideia é avaliar se a palavra ocorre mais vezes em
contextos positivos ou contextos negativos. Esta etapa produz um
conjunto de palavras candidatas com polaridade positiva e um outro
conjunto de palavras candidatas com polaridade negativa.
2- Redução/Poda: Etapa responsável por diminuir o tamanho das listas de
candidatas. Aqui é avaliado se a palavra é diretamente modificada por um
adjetivo positivo e negativo, tornando-a inapta para se tornar uma palavra
opinativa.
Para auxiliar a resolução do primeiro passo os autores adotaram a estratégia
proposta por [DING, LIU e YU, 2008] que consiste na abordagem tradicional de AS
utilizando dicionários. Em um primeiro momento é necessário agregar polaridade aos
adjetivos existentes, para então, derivar polaridade das palavras candidatas,
concluindo o propósito do primeiro passo.
3.2 Agregando polaridade
Para viabilizar a execução do primeiro passo, é necessário que as sentenças
sejam polarizadas utilizando técnicas tradicionais de AS. A abordagem utilizada,
[DING, LIU e YU, 2008], funciona da seguinte forma: dada uma sentença contendo
um adjetivo associado a uma característica do produto avaliado, as palavras
opinativas são identificadas através da comparação das palavras da sentença com as
palavras do dicionário que possuem polaridade associada. Um score a respeito da
característica do produto é construído, somando +1 a cada palavra opinativa positiva
encontrada na sentença e subtraído -1 a cada palavra opinativa negativa encontrada.
Ao final da análise, se o score for positivo, então a característica do produto na
sentença é avaliada como positiva, caso o valor seja menor que zero, a característica
do produto é avaliada como negativa. A avaliação neutra ocorre para o score
resultante igual a zero.
Algumas sentenças possuem construções linguísticas que necessitam de
tratamento especial, sendo necessária a criação de um conjunto de regras a serem
aplicadas em diferentes casos [DING, LIU e YU, 2008] [LIU, 2010].
30
Regra de negação: Uma frase ou palavra de negação comumente
reverte a polaridade expressa em uma sentença.
Regra da cláusula mas: Sentenças contendo palavras como mas
apresentam polaridades opostas entre o texto presente antes do mas
e o texto presente depois do mas. O mesmo comportamento ocorre
com a palavra exceto.
Regra do decremento e incremento: O aumento ou diminuição de
algumas quantidades associadas a itens opinativos podem mudar a
orientação da opinião. Por exemplo: “Este comprimido diminuiu minha
dor de cabeça”. A palavra diminuir está associada a dor. Como dor
representa uma palavra negativa, a atenuação da mesma resulta em
uma polaridade positiva (resultado esperado do medicamento). Desta
forma, temos as seguintes possibilidades:
o Decremento de negativo → polaridade positiva
o Incremento de negativo → polaridade negativa
o Decremento de positivo → polaridade negativa
o Incremento de positivo → polaridade positiva
3.3 Determinando palavras candidatas
Como mencionado anteriormente neste trabalho, algumas palavras candidatas
são relacionadas a um contexto específico. [ZHANG e LIU, 2011] tratam essa
peculiaridade transformando informações locais em globais, através de uma regra de
conjunção simples. Utilizando esta regra, através de análise de sentenças como “Esta
câmera é muito boa e tem uma bateria de longa duração”, é possível inferir que longa
é positivo para bateria devido à conjunção com a palavra boa (de polaridade positiva).
Uma vez descoberta essa informação, que a palavra longa representa uma polaridade
positiva quando associada a bateria, a mesma pode ser utilizada em qualquer outra
sentença do texto analisado.
Utilizando o método exposto na seção anterior, é possível identificar a
polaridade de uma característica do produto em um contexto onde existam sentenças
positivas e negativas associadas. A partir desta análise inicial é determinada uma lista
de palavras candidatas verificando a ocorrência das mesmas nas sentenças positivas
e negativas. Através de experimentos, [ZHANG e LIU, 2011] realizaram uma
suposição empírica de que se uma palavra candidata ocorre em um contexto positivo
ou negativo com uma frequência maior que 70%, significa que a palavra candidata
31
representa uma palavra opinativa. A heurística básica para esta suposição é que se
uma palavra ocorre mais em contextos positivos (ou negativos), a mesma tem boas
chances de ser uma palavra que implica opinião positiva (ou negativa).
3.4 Podando palavras candidatas não opinativas
Algumas das palavras candidatas selecionadas como opinativas podem não
conter opinião associada. Portanto é necessário diferenciar palavras que possuem
opinião associada de palavras normais como por exemplo, “qualidade de voz” e
“duração da bateria”. Para palavras normais é comum encontrarmos diferentes
opiniões. Por exemplo, “qualidade de voz” é frequentemente encontrado em textos
opinativos modificado positivamente (“boa qualidade de voz”) e modificado
negativamente (“péssima qualidade de voz”). Palavras candidatas, como regra geral,
possuem uma única polaridade fixa para todo o texto (sempre positiva ou sempre
negativa) mas nunca apresentando polaridades distintas.
Com essas observações de polaridade fixa ao longo do texto, é possível
detectar as palavras candidatas que não implicam opinião. É realizada a análise do
texto em busca das polaridades de todas as palavras candidatas. Caso alguma
pertença à polaridade positiva de acordo com o dicionário e também à polaridade
negativa, é conclusivo que a mesma não representa uma palavra opinativa, portanto,
será eliminada no processo de poda.
3.5 Experimentos realizados por Zhang e Liu
Para o trabalho realizado pelos autores, foram dirigidos experimentos
utilizando 4 bases de dados obtidas de organizações comerciais. Para fins
comparativos, foi realizada uma implementação de AS utilizando adjetivos apenas,
para ser utilizada como baseline a ser comparado com os experimentos realizados.
Esta baseline avalia os adjetivos dentro de cada sentença e consulta o dicionário a
respeito de sua polaridade. Caso o adjetivo seja positivo, a sentença é avaliada como
positiva, caso contrário, é avaliada como negativa.
A tabela 2 apresenta os resultados obtidos nos experimentos realizados em
[ZHANG e LIU, 2011]. A tabela 1 apresenta o comparativo entre a baseline e o método
proposto. Podemos observar que o método proposto supera a baseline nos dois
quesitos: precisão e cobertura. Isso indica que muitas palavras que indicam opinião
não são diretamente modificadas por adjetivos, e portanto, estavam sendo
32
descartadas. Como não há adjetivo associado, essas palavras tiveram suas
polaridades definidas com base no contexto no qual estavam inseridas.
Baseline Método de Zhang e Liu
Precisão Cobertura Precisão Cobertura
Colchão 0.35 0.07 0.48 0.82
Medicamentos 0.40 0.15 0.58 0.88
Roteadores 0.20 0.45 0.42 0.67
Rádios 0.18 0.50 0.31 0.83
Tabela 1 - Traduzido dos resultados apresentados por [ZHANG e LIU, 2011]
3.6 Considerações Finais
O trabalho de [ZHANG e LIU, 2011] apresenta um método para identificar
termos que não são adjetivos, porém, que também podem indicar uma opinião do
usuário. O principal interesse dos pesquisadores é que ainda não havia trabalhos
publicados com essa temática de utilizar palavras diferentes de adjetivos visando
aumentar a cobertura da solução. O método determina a polaridade utilizando
informações contextuais, em torno da palavra avaliada, e não apenas uma consulta
simples a um dicionário. Os resultados dos experimentos são promissores e os
próximos passos, indicados por [ZHANG e LIU, 2011] é melhorar a precisão do
método.
É importante observar no trabalho apresentado que houve uma melhora
significativa na cobertura do método, gerando menos descarte de informação. O
impacto deste aumento no montante de informação não refletiu diretamente na
precisão do método, porém, em outros cenários, é possível que o aumento da
precisão seja notado de forma mais evidente.
No capítulo 4, a seguir apresenta o processo para classificação de sentimentos
utilizando-se de informações factuais ou objetivas definido com base na pesquisa de
[ZHANG e LIU, 2011] acrescido de outros elementos além do substantivo. No contexto
deste trabalho foi utilizado um corpus do micro blog Twitter [TWITTER, 2006]. Este
constitui uma rede social de compartilhamento de textos curtos entre os contatos,
estendendo-se também a outros tipos de mídia. O corpus desta rede social traz
algumas características peculiaridades que são tratadas nas etapas do processo. O
capítulo 5 traz os experimentos realizados para comprovar a eficácia da abordagem
proposta.
33
4 O Processo Proposto
Foi discutido no capítulo 2 o aumento no número de conexões à internet por parte da
população brasileira gera, consequentemente, o aumento no número de opiniões expressas
por estes indivíduos na web acerca de algum produto, serviço, pessoa ou instituição. Desta
forma, como expresso no mesmo capítulo, percebemos a importância de sistemas
responsáveis por analisar estas opiniões de forma automatizada, consistindo num importante
objeto de estudo da área de Análise de Sentimentos. No capítulo seguinte foi identificado um
dos grandes desafios atuais desta área, foco deste trabalho; a classificação de sentenças
inicialmente identificadas como factuais.
A principal motivação deste trabalho é a crescente demanda por automação para
Análise de Sentimentos, como discutido em capítulos passados. Potencializando esta
motivação, foi encontrado um ainda pequeno número de pesquisas trabalhando com
sentenças factuais ou objetivas. Desta forma, foi proposto um processo para inclusão destas
no resultado da Análise de Sentimentos. Aliado a estas sentenças, outros recursos foram
adicionados para melhorar a confiabilidade do resultado apresentado pelo processo. Para
prova de conceito foi construída uma ferramenta de modo a exercitar todas as etapas do
processo sugerido. Sua arquitetura é exposta nas seções seguintes com detalhamentos e
exemplos do próprio corpus utilizado.
Este capítulo se dedica a apresentar o trabalho desenvolvido nesta pesquisa de
mestrado, e está organizado em 12 seções. Na seção 4.1 é definido o problema que
buscamos resolver, bem como a delimitação do escopo adotado; na seção 4.2 é mostrada a
arquitetura do processo proposto completo; a seção 4.3 descreve o agente de obtenção dos
dados desenvolvido para a coleta de dados para composição do corpus; as seções 4.4 a 4.11
descrevem cada uma das etapas do processo proposto, apresentando o detalhamento da
implementação realizada para cumprir cada uma destas pela ferramenta desenvolvida, visto
que o processo é, em grande parte, automatizado; por fim, a seção 4.12 traz uma breve
conclusão a respeito do capítulo.
4.1 Caracterização do Problema
Como visto no capítulo 2, o processo completo de Análise de Sentimento envolve
diversas fases, revelando ser uma operação bastante complexa. Cada uma destas etapas
34
(Análise de Subjetividade, Extração de Característica, Classificação da Opinião e Visualização)
pode ser desmembrada em várias atividades. O processo proposto, na seção seguinte,
contempla três dessas fases, apresentando uma ou várias etapas para cada fase.
Como foco deste trabalho, será utilizada a rede social Twitter, também denominada,
em alguns casos, como micro blog, devido a suas postagens limitadas a 140 caracteres. As
postagens, intitulados de tweets, utilizadas para este trabalho representam um debate
político polarizado demonstrando o segundo turno das eleições para prefeito da cidade de
São Paulo ocorridas em 2012. O Twitter foi utilizado para os experimentos por ser uma
excelente ferramenta de expressão de opinião, já difundida entre os usuários, possuindo
também bibliotecas de terceiros que facilitam a extração de dados da mesma.
4.2 Estrutura Geral
A estrutura geral do processo proposto é apresentada na Figura 1, dividida em 4
fases. A primeira representa o esforço realizado para obtenção e tratamento dos dados
(limpeza e tradução). A segunda fase é a Extração, onde os dados são marcados e são
extraídas informações do corpus. A terceira fase é a Classificação, onde reside a principal
contribuição deste trabalho, detalhados nas seções seguintes. Por fim, a fase de Visualização,
onde o resultado final é apresentado em formato de texto.
Figura 1 - Processo Proposto
4.3 Agente de obtenção dos dados
Como o micro blog Twitter não disponibiliza suas bases de dados de forma estática
para manipulação e análise, foi necessário construir um agente que observasse a rede
social, acerca de um determinado tema detalhado nos experimentos do próximo capítulo,
com a finalidade de captar e armazenar os tweets para posterior processamento. Dada a
35
natureza temporal dos dados (tweets cronologicamente próximos normalmente
expressam opiniões sobre o mesmo assunto dentro do tema) foi necessário que o agente
executasse de forma autônoma e ininterrupta.
Para obter os dados foi construído um agente utilizando a linguagem de
programação Java. A conexão com o Twitter foi possível mediante a utilização de uma
biblioteca específica para este fim, o Java Twitter [CLINTON, 2009]. Esta biblioteca provê
uma interface puramente em Java para a API de dados do Twitter. Desta forma foi
possível criar um agente utilizando a infraestrutura de comunicação com o micro blog,
disponibilizada pelo Java Twitter, preocupando-se apenas com a lógica de que dados
seriam coletados.
O filtro dos tweets a serem coletados foi definido de acordo com o assunto do
corpus. A forma mais eficiente de realizar esta filtragem foi utilizando as hashtags
definidas com base na observação do comportamento da rede social. Hashtags são
marcações realizadas com o símbolo # posicionado antes de uma palavra relevante na
postagem do usuário com o objetivo de permitir ao micro blog categorizar as mesmas e
facilitar a busca de outros usuários [TWITTER, INC.]. O detalhamento da arquitetura
deste agente será realizado no capítulo 5 (experimentos), juntamente com o conjunto de
hashtags selecionadas para compor o filtro de obtenção de tweets.
4.4 Etapa de Limpeza e Tradução
A primeira etapa de qualquer processo de análise de sentimentos, considerando
que os dados já foram coletados e estão disponíveis, é realizar o pré-processamento
nestes para promover a limpeza de caracteres indesejados e textos que não fazem
sentido, podendo ter sido gerados por softwares, por exemplo [PANG e LEE, 2008] [PAK
e PAROUBEK, 2010] [GODBOLE, MANJA e STEVEN, 2007] [LIU, 2010]. Esta remoção de
termos indesejados tem sua importância aumentada quando o corpus trabalhado é
oriundo de redes sociais, caso do presente trabalho. Este tipo de texto é rico em
caracteres especiais, gírias e abreviações características do tema ou da própria rede
social.
Estes termos indesejados, mencionados anteriormente, podem ser classificados
em 3 tipos para o escopo desta pesquisa. O primeiro deles, e mais comum neste tipo de
base de dados devido a limitação imposta pelo Twitter de 140 caracteres por postagem,
são as abreviações realizadas pelos usuários com o objetivo de conseguir apresentar uma
maior quantidade de informação, obedecendo ao limite de caracteres por postagem.
36
Além destes, textos de redes sociais possuem muitos caracteres especiais, os
quais representam nosso segundo tipo de termo indesejado. O exemplo mais comum são
os smiles, como por exemplo, :-) e ;) , entre outros. Alguns smiles encontrados nos
tweets poderiam ser tratados como opiniões positivas ou negativas, porém, esta pesquisa
tratou os mesmos apenas para remoção, listando este ponto como limitação e
oportunidade de trabalho futuro. Finalizando a lista de termos a serem tratados na etapa
de limpeza, o terceiro tipo representa as gírias e expressões regionais ou específicas do
tema, que devem ser tratadas para que a classificação, etapa posterior no processo, não
as considere de forma equivocada.
O módulo de limpeza consome os tweets do corpus, armazenados em um banco
de dados, buscando abreviações conhecidas, contrações comuns de textos em redes
sociais e também gírias comuns a textos de internautas. O objetivo desta etapa é
normalizar os textos de entrada para que as etapas subsequentes de etiquetagem e
processamento sejam realizadas com uma menor incidência de erros. A figura a seguir
apresenta a arquitetura do módulo desenvolvido para exercitar esta etapa do processo.
As bases de substituição utilizadas neste processo foram criadas a partir das
apresentadas em [LIMA, 2011]. Essas bases foram estendidas para conter as
peculiaridades referentes ao tipo de corpus utilizado. Tweets contém pouca informação,
portanto, o uso de contrações e abreviações é bastante comum, observando, inclusive,
a criação de contrações não utilizadas em outros meios de comunicação. Esta decisão de
expansão foi tomada com base em uma análise amostral dos dados, onde pôde ser
verificado a presença de termos, sejam estes gírias, abreviações ou contrações, que as
bases de dados originalmente não continham. O resultado desta expansão foi a criação
de 3 novas bases de dados: Base de abreviações, Base de gírias e Base de contrações.
37
Figura 2 - Módulo de Limpeza
Uma vez que os temos acima mencionados foram substituídos, este módulo
realiza a tradução das sentenças para a língua inglesa. A tradução é uma etapa necessária
neste processo devido às ferramentas utilizadas em etapas seguintes possuírem um
melhor resultado quando aplicados a conteúdos na língua inglesa. Grande parte da
literatura [PANG e LEE, 2008] [PAK e PAROUBEK, 2010] [GODBOLE, MANJA e STEVEN,
2007] [LIU, 2010] realiza análise sobre textos em inglês, portanto, para efeito de
comparativo de resultados e melhor suporte de ferramentas, foi realizada a tradução dos
textos para que a análise fosse realizada sobre conteúdo em inglês.
Para isso foi desenvolvido um pequeno módulo de tradução que consume o
serviço de tradução Bing Translator, disponibilizado online pela Microsoft. O já difundido
serviço de tradução Google Translator não foi utilizado por não contar com uma versão
de demonstração gratuita disponível para ser consumido por uma aplicação. Ambos
possuem versões gratuitas para acesso através de um navegador web, porém, apenas o
Bing Translator disponibiliza uma biblioteca com funcionalidades limitadas de forma
gratuita para ser consumida programaticamente.
38
Figura 3 - Módulo de Tradução
4.5 Marcação dos dados
Após o processo de limpeza todos os tweets são salvos em uma tabela específica no
banco de dados para preservar os tweets originais. Com estes dados normalizados, inicia-se
a fase de marcação de dados (data labeling). Nesta etapa serão identificadas as classes
gramaticais de todas as sentenças do corpus. Como o processo prevê uma primeira
classificação no formato tradicional (utilizando adjetivos), é necessário identificá-los para
proceder com a polarização.
Para realizar essa identificação da classe gramatical de cada palavra, foi utilizada uma
ferramenta POS-tagger, cuja função é exatamente a pretendida nesta etapa do processo. Na
literatura são utilizados, mais comumente, dois POS-taggers. O primeiro deles, o Tree-
Tagger, com possibilidade de utilização em diferentes idiomas, inclusive o português.
Entretanto, nos testes de adequação foi utilizada a língua inglesa, visto que os dados já
sofreram tradução. A segunda alternativa é o Stanford POS-Tagger, disponível apenas para
inglês, cumprindo o mesmo propósito da primeira alternativa.
Nos testes de adequação, realizados para escolher o melhor POS-tagger, foi percebido
que o Tree-tagger classifica qualquer palavra não identificada como substantivo. Já o
Stanford POS-tagger classifica a mesma com a classe gramatical desconhecida. Essa
diferença de abordagens pode influenciar o resultado final do processo, visto que etapas
posteriores utilizam especificamente substantivos e outras etapas até mesmo palavras sem
39
nenhuma classe gramatical associada. Desta forma, a ferramenta foi construída utilizando o
Stanford POS-tagger.
Figura 4 - Módulo de Marcação dos Dados
4.6 Etapa de Análise de Subjetividade e Classificação
Tradicionalmente e etapa de Análise de Subjetividade em soluções de Análise de
Sentimento tem como objetivo marcar as sentenças, neste caso os tweets, que possuem
palavra opinativa. Como apresentado na seção 2.1 do segundo capítulo, palavras
opinativas são, em sua grande maioria, os adjetivos presentes no texto. Palavras, como
“votação”, “privataria” e “mensalão”, por exemplo, não apresentam nenhuma
polaridade associada quando analisados separadamente. Desta forma, sentenças que
não apresentam palavras opinativas são sumariamente descartadas do processo de
descoberta da opinião do autor da postagem. Como o objetivo principal deste trabalho é
incluir essas sentenças, minimizando ao máximo do descarte de sentenças no processo
de análise, a etapa de Análise de Subjetividade foi suprimida, por contrariar o objetivo
da presente pesquisa.
A etapa de classificação é responsável por atribuir uma polaridade para as
sentenças que possuem adjetivos. Nesta primeira classificação apenas o adjetivo é
utilizado, ou seja, a polaridade associada ao adjetivo é também associada a toda a
sentença. Casos onde são encontrados dois adjetivos na mesma sentença não foram
40
tratados por possuírem baixíssima incidência sobre o corpus utilizado, dada a limitação
de caracteres imposta pelo micro blog.
A atribuição da polaridade dos adjetivos é realizada com base no Senti-WordNet,
por ele possuir uma ampla base de palavras com polaridade atribuída. O SWN tem sido
bastante usado no meio acadêmico, por mostrar bons resultados e por sua cobertura. O
SWN oferece, para uma mesma palavra, diferentes scores positivos e negativos,
considerando o uso da palavra em cenários diferentes. Por exemplo, a palavra “cold”
possui várias entradas no SWN, cada uma considerando um cenário particular. Esses
cenários são diferenciados através de aplicações da palavra em frases exemplo.
Neste trabalho, é calculado um score para cada palavra sem distinção entre
cenários. Esse score final é obtido através da diferença entre o total de cenários positivos
e o total de cenários negativos. Essa diferença produz um novo score associado à
sentença que contém a palavra. Caso os dois scores inicialmente calculados iniciais sejam
iguais, nenhuma polaridade é associada. A classificação de sentenças factuais será
realizada em uma revisita ao corpus, sendo consideradas as sentenças neutras e sem
polaridade associada.
Figura 5 - Módulo de Classificação das Sentenças
4.7 Extração de Palavra Opinativa
Após a marcação e classificação, é executada a etapa de determinar as palavras
opinativas candidatas. Esse procedimento é realizado em duas etapas: coleta e poda. A
primeira etapa, como apresentado em [ZHANG e LIU, 2011], é realizada através de um teste
41
estatístico sobre os substantivos, única classe gramatical explorada pelos autores. Através
de experimentos, os autores assumiram a seguinte regra: se o percentual de ocorrências da
palavra em sentenças positivas ou negativas é significativamente maior que 70%, é admitido
que esta palavra implica em opinião. A heurística básica para esta ideia é que se existe maior
probabilidade de ocorrência de uma palavra em um contexto positivo (ou negativo), é mais
provável que esta apresente uma opinião associada a mesma, que obedece ao contexto na
qual está inserida, seja positivo ou negativo. Para tal, os autores realizaram um teste para
proporção da população, apresentado em detalhes abaixo:
𝑍 = 𝑝 − 𝑝0
√𝑝0 (1 − 𝑝0)𝑛
É calculado o índice Z para cada palavra candidata, onde 𝑝0 é o valor de hipótese (neste
caso, 0.7, que representa os 70% mencionados anteriormente), 𝑝 é a proporção da amostra
(o percentual de sentenças positivas ou negativas), e 𝑛 é o tamanho da amostra (total de
sentenças que contém a palavra sendo analisada). Com a confiabilidade estatística do teste
definida em 0,95 o valor de Z não deve ser menor que -1,64 para que a palavra seja
identificada como palavra opinativa.
A segunda etapa deste processo é a poda ou redução das palavras opinativas
selecionadas. Diferentemente do método apresentado pelos autores em [ZHANG e LIU,
2011], a redução realizada neste trabalho não será um procedimento automático,
representando o único ponto em que o atual trabalho não apresenta uma solução 100%
automatizada.
Para efeito de simplificação no processo proposto e envolvimento do usuário no processo
de decisão das palavras opinativas, visando diminuir a taxa de erro comum a processos
automáticos, a lista de palavras é apresentada para o usuário onde o mesmo seleciona as
palavras que deseja utilizar como opinativas. A Figura 6 demonstra a interface de seleção
das palavras encontradas. Esta etapa manual pode ser suprimida, acatando portanto, às
palavras selecionadas automaticamente pelo processo. Essa supressão tornaria o processo
100% automatizado.
Algumas palavras encontradas no texto possuem uma frequência bastante elevada, como
por exemplo, “prefeito”. Em alguns casos uma palavra frequente pode ser selecionada e
passar para etapa de poda/redução, onde o usuário final pode discernir entre as palavras
que realmente podem indicar uma opinião relevante do eleitor de palavras que são apenas
frequentes no texto.
42
Figura 6 - Interface de Seleção de Palavras Opinativas
As palavras candidatas selecionadas são armazenadas no banco de dados. Sua polaridade
será calculada na etapa seguinte do processo. Estas palavras devem reforçar a classificação
do Senti-WordNet, adicionando substantivos que determinam polaridade ao banco de
palavras.
Figura 7 - Módulo de Identificação e Polarização de Palavras Candidatas
43
4.8 Etapa de Análise de Substantivo
Após a primeira execução para polarizar os tweets, utilizando a ocorrência de adjetivos
como determinante, o corpus é novamente visitado. Nesta segunda visita, para cada
substantivo obtido na etapa anterior é calculado um score-subst com base nas ocorrências
do mesmo nos tweets já polarizados.
Esse score-subst é calculado da seguinte forma: Cada ocorrência do substantivo em um
tweet polarizado positivamente soma-se +1 ao score-subst. Cada ocorrência do substantivo
em um tweet polarizado negativamente soma-se -1 ao score-subst. Ao final da análise, a
polaridade do substantivo será positiva se score-subst > 0, e será negativa se score-subst <
0. Caso o score-subst seja igual a 0, o substantivo é descartado.
Após a polarização dos substantivos, é avaliada a ocorrência dos mesmos em cada tweet
com o objetivo de calcular a polaridade do tweet. Para cada tweet, são somadas as
polaridades de todos os substantivos. Caso a soma resulte um valor maior que zero, a
polaridade do tweet é positiva. Caso o resultado seja menor que zero, a polaridade do tweet
é negativa. O tweet será polarizado como neutro quando o resultado apresentar valor igual
a zero.
Ao final desta etapa um maior número de sentenças do corpus deve possuir polaridade
associada, diminuindo o descarte de informações. O principal benefício desta abordagem é
o aumento na cobertura do corpus.
Figura 8 - Módulo de Análise de Substantivo
44
4.9 Etapa de Análise de Rede de Retweet (RT)
Outra informação utilizada para obter a polaridade do tweet é a rede de retweet, ou
simplesmente RT. Um retweet é o tweet de outra pessoa escolhido para ser compartilhado
com todos os seus seguidores. Este compartilhamento pode ser realizado exatamente com a
mesma informação do tweet original ou pode ser adicionada mais informação por parte do
usuário que realiza o retweet [TWITTER, INC.]. Já que o usuário original do tweet
normalmente é citado no RT, esse tipo de compartilhamento resulta em uma rede de
recompartilhamento, neste trabalho intitulada de rede de RT.
Este comportamento de rede dentro do micro blog também pode ser explorado para
obter a polaridade dos tweets. Em uma análise inicial do comportamento desta rede de RT,
foi percebido, empiricamente, que os usuários que realizam RT desejam que a ideia ou
mensagem contida no tweet original atinja o maior número de usuários possível. Conclui-se,
portanto, que a realização de um RT por parte do usuário atribui a este a concordância com
assunto original. Desta forma, o RT realizado tenderá a possuir a mesma polaridade do tweet
original.
A construção da rede de RT é realizada analisando o conteúdo do próprio tweet. Um RT
possui a seguinte estrutura comum:
[conteúdo adicional opcional] RT @usuario_original: [conteúdo original]
Essa estrutura pode ser encontrada nos seguintes exemplos de dados coletados abaixo.
Ambos com conteúdo adicional ausente, situação bastante frequente para os RT’s. Percebe-
se também o RT de um RT, situação que ocorrem com menos frequência na rede social.
RT @AldoNunes57: RT @OsvaldoPalmeira: São Paulo tem o dever de livrar o Brasil de um
sociopata http://t.co/yJSb3z8p #HaddadPrefeito
RT @Welbi O candidato @joseserra_ diz que pretende aumentar para até 7 horas as aulas
por dia,da rede municipal de ensino. #Serra45 #SerraJa
Existem duas formas de utilizarmos a rede de RT neste trabalho. A primeira delas, e
mais simples, é construir a rede de RT definido os nós como sendo os tweets. Desta forma,
a polaridade de um RT tende a seguir o tweet original, a menos que no conteúdo adicional
opcional surjam palavras negativas ou adversativas.
45
Figura 9 - Módulo de Construção da Rede de RT
A segunda forma de utilizar a rede de RT é definindo os usuários como os nós da rede.
Desta forma, a polaridade é extrapolada do tweet e associada ao usuário. Considerando que
poucos eleitores mudam sua opinião de forma drástica para o segundo turno, todas as
manifestações do usuário devem seguir a mesma polaridade a respeito de determinado
candidato. Com essa informação temos, para os usuários, as inclinações positivas e negativas
a respeito de cada candidato.
No âmbito deste trabalho, essa segunda forma foi utilizada apenas como reforço a outras
etapas para compor a polaridade do tweet. Esta decisão foi tomada porque, em determinados
momentos do debate eleitoral entre os candidatos, alguns temas específicos vieram à tona
e permaneceram apenas por algum momento na discussão do Twitter. Caso esse intervalo
fosse utilizado como semente para identificar a polaridade dos usuários acerca dos
candidatos, a mesma poderia ser ruidosa devido ao tema passageiro, e propagada
erroneamente para os demais dados do corpus.
Outro fator observado empiricamente sobre o comportamento da rede de RT foi que as
relações da rede são mais fortes em tweets próximos no quesito tempo. Assim, tweets muito
antigos são menos retweetados que os mais recentes.
46
4.10 Etapa de Análise de Hashtag
Esta etapa utiliza um elemento bastante popular no Twitter, a Hashtag. O símbolo #,
chamado de hashtag, é utilizado para marcar palavras chave ou tópicos em um tweet. Essas
palavras chave são criadas pelos próprios usuários da rede como uma maneira de categorizar
suas postagens [TWITTER, INC.]. Essa estratégia foi criada em 2007 por um usuário comum
do Twitter, e posteriormente adotada como sistema de organização oficial do micro blog,
tornando-se popular também em outras redes sociais como Flickr, Instagram, Tumblr,
Facebook e Google+.
Hashtags são utilizadas para representar e indexar os tópicos discutidos. Por este motivo,
e por sua larga utilização pelos usuários, as hashtags foram utilizadas neste trabalho como
ponto de partida para coleta de dados. Entretanto, nesta fase, as mesmas são analisadas
com o intuito de associar uma polaridade a cada uma delas. Além de categorizar, foram
observados diversos casos de utilização das hashtags para expressar uma posição eleitoral
bem definida. Abaixo, alguns exemplos encontrados que reforçam a decisão de que estas
palavras chave carregam opiniões independentes do restante do conteúdo do tweet.
O candidato @joseserra_ fala dos erros das pesquisas no #CBNSP #Serra45 #SerraJa
Haddad no MEC em 6 anos BR perdeu 16 posições no ranking da Unesco. #ForaPT
Haddad esta Enem ai com educação! #SerraPrefeito
A Privataria Tucana de @joseserra_ agora em vídeo!!!! http://t.co/zwjGFDyn #serra
#serranuncamais
Segundo turno chegando: #ondavermelha para "afogar" os Tucanos nas urnas!
#Haddad13 em São Paulo! #Vote13 HaddadPrefeito.
É o novo e é pra mudar! #ÉHaddadNaPrefeitura #HaddadPrefeito
Como observado pode-se concluir que a ocorrência de determinadas hashtags determina
claramente a opinião política do usuário. No último exemplo, mesmo com pouca informação,
onde não contamos com adjetivos, podemos concluir que a opinião do texto é positiva em
relação ao candidato citado, devido à hashtag marcada em negrito.
A definição da polaridade da hashtag é calculada através da mesma estratégia utilizada
para cálculo da polaridade dos substantivos. Todas as hashtags obtidas a partir do corpus
são confrontadas com os tweets já classificados onde é verificado se o percentual de
ocorrências da hashtags em sentenças positivas ou negativas é significativamente maior que
70% [ZHANG e LIU, 2011]. Caso a verificação resulte em sucesso, a polaridade recebida
hashtag é a da maior proporção de ocorrência no corpus.
47
Através de observação dos dados, foi possível entender que a hashtag possui um ciclo
de vida mais longo que o RT. Essas tags são utilizadas, na maioria dos casos, para indexar
palavras chaves de assuntos discutidos no momento. Para os experimentos deste trabalho,
que contaram com um tema fechado, a vida dessas hashtags foi bastante longa, superando
a vida útil de uma rede de RT. Portanto, para análise de longos períodos de tempo, as
hashtags são mais representativas do que as redes RT.
Figura 10 - Módulo de Análise de Hashtags
4.11 Etapa de Apresentação dos Resultados
A etapa de apresentação dos resultados foi simplificada neste trabalho, visto que o
objetivo central da pesquisa é incluir sentenças antes descartadas, aumentando assim a
cobertura da análise no corpus. Desta forma, os resultados apresentados são apenas em
formato de texto, contando com as seguintes informações:
Para os dados de teste, são apresentadas as seguintes informações:
Percentual de acerto
Taxa de cobertura
Precisão
Para os dados reais são apresentadas as seguintes informações:
Taxa de cobertura
48
Comparativo de percentual dos candidatos
4.12 Considerações finais
Neste capítulo, foi apresentada a estrutura do processo proposto para Análise de
Sentimento de textos livres de formatação, neste trabalho, oriundos do micro blog
Twitter. O processo foi exercitado através da implementação de uma ferramenta
contendo todas as etapas do processo, implementadas como módulos independentes.
Esta decisão arquitetural de implementação foi tomada para que fosse possível adicionar
e remover etapas, com o objetivo de avaliar o impacto do mesmo na eficácia final do
processo. A ferramenta implementada conta ainda com um agente adicional, construído
para realizar a coleta de dados da rede social, visto que esta coleta deve ocorrer em
tempo real.
O processo, e consequentemente a ferramenta, abrangem as 3 principais etapas
de um sistema de Análise de Sentimentos (Extração, Classificação e Visualização). Porém,
a principal contribuição deste trabalho recai sobre a etapa de Classificação, uma vez que
a etapa de Extração foi construída tomando como base a pesquisa realizada em [ZHANG
e LIU, 2011] e a visualização não representa o foco do atual trabalho. A atual pesquisa
se utiliza de sentenças factuais (sem a presença de adjetivos), portanto, a etapa de
Análise de Subjetividade não foi contemplada no processo, visto que seu objetivo
(identificar sentenças objetivas com o intuito de descarta-las) vai de encontro ao principal
objetivo da pesquisa, que é utilizar estas sentenças, aumentando principalmente a
cobertura da análise.
O próximo capítulo enumera e detalha os experimentos e resultados obtidos,
incluindo uma comparação com os principais resultados encontrados na literatura.
49
5 Experimentos e Resultados
Este capítulo apresenta os experimentos realizados com a implementação do processo
para validá-lo. Como vimos no capítulo 4, o processo, e consequentemente a implementação
da ferramenta, abrange as 3 principais áreas de Análise de Sentimento, sendo suprimida a
Análise de Subjetividade por apresentar objetivo conflitante com o deste trabalho.
O capítulo inicia com uma descrição detalhada do agente coletor de dados. Este foi
responsável por construir a base de dados utilizada nos experimentos. A construção do
agente foi necessária porque não é possível o download de grandes massas de dados
passados pelo Twitter, sendo possível apenas a consulta. Com isso, o agente foi
implementado para realizar esta coleta em tempo real, à medida que os usuários do Twitter
postavam suas opiniões no micro blog.
Foram realizados dois tipos de experimentos. O primeiro deles utilizou um conjunto
aleatório de postagens do Twitter para compor a base de testes. Com esta base de dados
foram realizados 7 experimentos, contemplando e removendo etapas do processo (módulos
da ferramenta). Identificamos a necessidade de realizar o segundo tipo de experimento com
base nos resultados apresentados neste primeiro tipo. Com isso, uma segunda base de testes
foi composta, utilizando tweets sequenciais. Assim sendo, foi possível observar fenômenos
temporais e avaliar a pertinência deles para compor o resultado final.
5.1 Agente de obtenção dos dados
O agente executou por 20 dias consecutivos ininterruptos (período entre a
votação do primeiro turno e a votação do segundo turno), coletando dados que
contivessem alguma das hashtags: #Haddad, #Haddad13, #HaddadPrefeito,
#HaddadJa, #PT, #Serra, #Serra45, #SerraPrefeito, #SerraJa, #PSDB. Este
conjunto de hashtags foi obtido através da observação da rede social ao final do primeiro
turno das eleições para prefeito da cidade de São Paulo e logo após o anúncio que haveria
segundo turno para este município. Ao final do período de coleta, encerrado às 18 horas
do dia da votação do segundo turno, foram contabilizados pouco mais de 17 mil tweets
coletados. A figura abaixo apresenta a arquitetura do agente.
50
Figura 11 - Agente Coletor de Dados
A API de dados do Twitter permite a obtenção de dados de duas formas: tempo
real e dados históricos. Existe uma restrição na API disponibilizada que limita a obtenção
de apenas 10 registros de dados históricos. Desta forma, se o agente permanecesse off-
line por um intervalo maior que 10 tweets, o mesmo perderia dados. Dada a restrição,
para que não houvesse perda de dados foi implementada uma rotina de recuperação
rápida de falha do agente.
Como a implementação do agente foi realizada da forma mais simples possível, a
curta janela de tempo (ocorrência de 10 tweets sobre o tema) foi suficiente para
recuperação/reinício do mesmo. A respeito da conexão com internet, foi disponibilizada
uma redundância de acesso, sendo composta do acesso primário, realizado por uma rede
cabeada residencial, e acesso secundário, realizado por um modem 3G conectado ao
computador onde o agente foi hospedado.
Os dados coletados foram armazenados em um banco de dados relacional visando
facilitar a manipulação e aumentar a disponibilidade dos mesmos, para as etapas do
processo. A cada tweet coletado, um identificador (ID) foi atribuído ao mesmo. Além
deste, o ID fornecido pelo micro blog também era armazenado, composto de uma
sequência de 19 números. Completando as informações que representam um registro no
banco de dados, seguem o usuário responsável pelo tweet (coletado para testes de rede
de RT), o tweet propriamente dito e a data em que o mesmo foi publicado, com precisão
de segundos.
51
Nestes dados coletados podemos observar o extensivo uso de hashtags e RT, o
que encoraja a utilização destes recursos para entender o funcionamento das opiniões na
rede. Abaixo, são apresentados alguns exemplos destes dados.
id tweet_id user_name tweet date 26499 258163402038460416 Telfag RT @cidoli: Ato de apoio
#HaddadPrefeito Mov.Populares e Sociais, Casa de Portugal,
Av.Liberdade, 602 - 17/10 Quarta-Feira 19h, divulguem @SomosHaddad
16/10/2012 08:12:06
26500 258161657132511233 dishumor A Privataria Tucana de @joseserra_ agora em vídeo!!!!
http://t.co/zwjGFDyn #serra #serranuncamais
16/10/2012 08:05:10
26501 258161011859800064 dishumor A extrema grosseria de @joseserra_ com jornalistas http://t.co/foyXuzLI #serra #serranuncamais
16/10/2012 08:02:36
26502 258160956113293312 cidoli RT @M100Globope: RT @cidoli: Ato
de apoio #HaddadPrefeito Mov.Populares e Sociais, Casa de Portugal, Av.Liberdade, 602 - 17/10 Quarta-Feira 19h,
16/10/2012
08:02:22
26503 258160505741512704 Welbi Obrigado #VqV RT
@YvoneCarvalho: @Welbi conte comigo .. e Parabéns pelo seu belo trabalho.na campanha . #Serra45
16/10/2012
08:00:35
26504 258160256843149312 M100Globope RT @cidoli: Ato de apoio #HaddadPrefeito Mov.Populares e
Sociais, Casa de Portugal, Av.Liberdade, 602 - 17/10 Quarta-Feira 19h,
16/10/2012 07:59:36
26505 258160026030583808 blogdoboroski Programa de Governo de José Serra = Festival de ataques ao PT
http://t.co/wXjNRpQc E as propostas mais uma vez não apareceram... #HADDAD13
16/10/2012 07:58:41
26506 258159542246969344 Buque17 RT @AldoNunes57: RT
@OsvaldoPalmeira: São Paulo tem o dever de livrar o Brasil de um sociopata http://t.co/yJSb3z8p #HaddadPrefeito
16/10/2012
07:56:45
Figura 12 - Exemplo de Tweets
5.2 Bases de Dados
Para realização dos experimentos, foram utilizadas 3 bases de dados diferentes: A
base de tweets (Base de Tweets Aleatórios e Base de Tweets Sequenciais); Senti-WordNet e
Base de substituições (Base de Abreviações, Base de Contrações, Base de Gírias). Estas serão
detalhadas nas seções seguintes.
5.2.1 Bases de Tweets
Como base de opiniões foram utilizados dois subconjuntos da base de tweets
principal, que contém todos os registros obtidos pelo agente coletor. A decisão de utilizar
duas bases de opiniões ocorreu após os testes iniciais, onde foi observado que a
52
sequência de tweets resultavam em uma pequena influência na taxa de acerto do
classificador. Portanto, com o intuito de avaliar a dimensão deste impacto foram utilizadas
duas bases de opiniões. A primeira base conta com tweets selecionados de forma
automática e aleatória, formando uma base mosaico, composta de pequenas partes da
base original. A outra base de testes contém tweets que ocorreram de forma sequencial,
representando uma fatia da base principal.
Como as bases de tweets são subconjuntos obtidos a partir da base principal, e a
mesma passou por todo o processo de limpeza, tradução e marcação, ambos os
subconjuntos utilizados nos experimentos também sofreram ação de todas estas etapas
do processo, não sendo necessário repetir estas etapas para as bases de teste. Estas
bases foram analisadas manualmente, onde foi atribuído um posicionamento político para
cada tweet, representando o gabarito final, que será utilizado para aferir as taxas de
acerto e precisão da solução proposta.
O cálculo da amostra necessária para obtermos um nível de confiança de 95% foi
realizado segundo a fórmula:
n - amostra calculada
N - população
Z - variável normal padronizada associada ao nível de confiança
p - verdadeira probabilidade do evento
e - erro amostral
Para facilitar o cálculo dessa amostra, foi utilizada a ferramenta disponibilizada
por [SANTOS, 2014]. O resultado do cálculo indica uma amostra de 385 tweets.
Desta forma, cada uma das bases de dados contém 385 registros selecionados de
forma aleatória, para compor a primeira base, e de forma sequencial, para compor a
segunda base. Esses subconjuntos são utilizados para extrair as métricas de avaliar a
corretude e confiabilidade da solução proposta. O resultado da aplicação do processo
sobre esses tweets é confrontado com uma análise e classificação realizada a priori nestes
mesmos dados. A partir deste comparativo são extraídas informações como taxa de
acerto e precisão da solução. Por fim, a solução é aplicada sobre a base contendo todos
os tweets coletados, onde se espera que as taxas de acerto e precisão se repitam,
refletindo a confiabilidade da solução.
53
5.2.2 Senti-WordNet
O Senti-WordNet (SWN) [LOPES, et al., 2008] é um recurso lexical livremente disponível
para fins de pesquisa, sendo dotado de uma interface gráfica baseada na Web. A base do
SWN é um arquivo de texto formado por mais de 110 mil palavras da língua inglesa, divididas
entre verbos, substantivos, adjetivos e advérbios. Para cada palavra, o SWN oferece
diferentes scores positivos e negativos, diferenciados pelo contexto da aplicação da palavra.
Entretanto, nem sempre podemos encontrar o contexto da palavra nos exemplos do SWN,
portanto, foi realizada uma simplificação para este trabalho. Para a palavra pesquisada, todos
os scores positivos são somados e todos os scores negativos também são somados. A palavra
recebe a polaridade de maior score, podendo receber a polaridade neutra para score positivo
igual a score negativo.
A base do SentiWordNet pode ser obtida através de uma solicitação no site da
ferramenta, ou mesmo, em sites não oficiais. No site oficial é encontrado um artigo que
detalha a formatação da base, disponibilizada em formato texto (.txt). A rotina de consulta
a esta base foi implementada no ScoreBuilder, no módulo de Classificação da ferramenta.
5.2.3 Bases de Substituições
As bases de substituições são subdividas em três: base de contrações, base de gírias e
base de abreviações. As bases foram evoluídas a partir do trabalho [LIMA, 2011]. Foram
adicionados manualmente algumas palavras, gírias e abreviações características do Twitter.
5.3 Tipos de Experimentos
Antes de apresentar os resultados obtidos nos experimentos, veremos o detalhamento
das métricas utilizadas para obter os resultados numéricos.
5.3.1 Métricas utilizadas
Para avaliação de desempenho da solução, foram utilizadas três métricas
tradicionais na área de Recuperação de Informação [BAEZA-YATES e RIBEIRO-NETO,
1999]: Precisão (Pe), Cobertura (Ce) e F-measure (FMe).
A precisão consiste na fração de instâncias relevantes em um determinado
conjunto. No nosso contexto, a Pe consiste na fração de pares corretamente extraídos
(relevantes) em relação ao total de pares retornados pelo Extrator.
A cobertura consiste na proporção de instâncias relevantes contidas em um
determinado conjunto, com relação ao número total de instâncias relevantes possíveis.
54
No nosso caso, a Ce consiste na fração de pares corretamente extraídos em relação ao
total de pares relevantes existentes no corpus.
A precisão pode ser obtida através da equação 𝑃𝑒 =𝑡𝑝
𝑡𝑝+𝑓𝑝 e cobertura pode ser
definidas a partir da equação 𝐶𝑒 =𝑡𝑝
𝑡𝑝+𝑓𝑛. Onde 𝑡𝑝 (true positive) consiste nas instâncias
corretamente polarizadas, 𝑓𝑝 (false positive) consiste nas instâncias onde houve erro de
polarização, e 𝑓𝑛 (false negative) consiste nas instâncias que não foram polarizadas
(descartadas).
A terceira medida, F-measure, consiste na média harmônica entre precisão e
cobertura, que pode ser definida pela equação: 𝐹𝑀𝑒 = 2∗𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜∗𝐶𝑜𝑏𝑒𝑟𝑡𝑢𝑟𝑎
𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜+𝐶𝑜𝑏𝑒𝑟𝑡𝑢𝑟𝑎.
5.3.2 Configuração dos experimentos
Utilizando a base de tweets construída a partir da base principal, foram realizados
sete testes permutando algumas etapas do processo, portanto, de alguns módulos da
ferramenta construída. Esta permutação de módulos foi realizada com o objetivo de
identificar etapas no processo que se sobrepõe a outras, sendo, portanto, passíveis de
descarte. Os testes foram realizados utilizando as seguintes configurações:
Cenário 1. Apenas Senti-WordNet. Neste teste, foram considerados apenas
adjetivos como palavras opinativas;
Cenário 2. Senti-WordNet em conjunto com os substantivos, como proposto
por [ZHANG e LIU, 2011];
Cenário 3. Senti-WordNet em conjunto com a rede de retweets (rede de RT);
Cenário 4. Senti-WordNet em conjunto com as informações das hashtags;
Cenário 5. Senti-WordNet em conjunto com os substantivos e com a rede de
RT;
Cenário 6. Senti-WordNet em conjunto com os substantivos e com
hashtags;
Cenário 7. Senti-WordNet em conjunto com rede de retweets (rede de RT) e
hashtags;
Cenário 8. Senti-WordNet em conjunto com os substantivos, rede de RT e
hashtags.
Esta mesma configuração de experimentos foi repetida para a base aleatória e a
base sequencial. Para cada um dos cenários expostos acima, em cada uma das bases,
foram coletadas as métricas e interpretadas nas seções a seguir.
55
5.3.3 Experimento com Tweets Aleatórios
Utilizando a base de registros aleatórios, foram obtidas as seguintes métricas para
cada um dos cenários propostos:
Tweets Aleatórios
Pe Ce FMe
C1 (SWN) 0,800 0,150 0,25
C2 (SWN+Subs) 0,817 0,710 0,76
C3 (SWN+RT) 0,816 0,380 0,51
C4 (SWN+#) 0,864 0,810 0,83
C5 (SWN+Subs+RT) 0,847 0,720 0,77
C6 (SWN+Subs+#) 0,899 0,890 0,89
C7 (SWN+RT+#) 0,870 0,815 0,84
C8 (SWN+Subs+RT+#) 0,900 0,910 0,90
Tabela 2 - Métricas para experimento aleatório
Com base nos resultados apresentados podemos concluir que a utilização apenas
no Senti-WordNet para Análise de Sentimentos para textos obtidos do Twitter não
representa uma boa opção. Neste cenário 1 podemos observar a boa precisão (0,800),
porém, uma baixíssima cobertura devido à pouca informação nos posts do micro blog. A
ausência de adjetivos nesse tipo de postagem gera o descarte de grande parte do corpus
(apenas 15% foi efetivamente avaliado).
O cenário 2, baseado na proposta de [ZHANG e LIU, 2011], apresenta uma
pequena melhora na precisão, porém, um grande avanço na cobertura. Como identificado
pelos autores, o principal benefício da estratégia é exatamente o aumento da cobertura.
Entretanto, o aumento na cobertura é limitado, neste caso, ao tipo do texto. É possível
identificar muitas postagens apenas com hashtags somadas a uma ou duas palavras, o
que resulta em postagens sem substantivos, sendo descartadas na estratégia adotado
no cenário 2, como por exemplo, “RT @achatasoueu: #Haddad tô contigo” ou
“#Serra tem que ganhar”.
O cenário 3 apresenta uma queda tanto na cobertura quanto na precisão da
avaliação. Podemos concluir que o uso dos substantivos [ZHANG e LIU, 2011] é mais
eficiente que o uso da rede de RT. Neste cenário é percebido que a rede de RT oferece
pouca melhoria de precisão e cobertura principalmente para a base aleatória (veremos
uma melhor contribuição na base sequencial, nos experimentos da seção seguinte). A
pouca contribuição da rede de RT dá-se pelo fato de retweets serem realizados pouco
56
tempo após a postagem do tweet original. Com a aleatoriedade em uma base de 17 mil
tweets, a distância temporal entre as postagens selecionadas impede a contribuição dos
RT’s.
Já o cenário 4 apresenta o elemento que traz o maior benefício na avaliação das
sentenças: a hashtag. O uso desta tag apresenta uma boa elevação nas métricas de
precisão e cobertura, chegando a 81% de cobertura e 86% de precisão, superando a
melhoria apresentada apenas com o uso de substantivos. Como a abordagem para
associar valor a hashtag é a mesma utilizada para associar valor ao substantivo,
percebemos que essa abordagem pode ser expandida, além dos substantivos, com bons
resultados.
Percebemos que o cenário 5 apresenta resultado bastante semelhante ao obtido
no cenário 3. Concluímos, portanto, que para o cenário aleatório, a rede de RT pouco
agrega em cobertura e precisão, podendo ser descartada neste tipo de base.
O cenário 6 representa a extensão do conceito aplicado ao substantivo para as
hashtags. Como o mecanismo de atribuição de valor ao substantivo é igual ao mecanismo
aplicado para as hashtags, consideramos neste caso, apenas uma extensão do conceito
proposto por [ZHANG e LIU, 2011] para palavras de outras classes gramaticais ou
marcadores incluídos no texto. Para o caso de corpus originados do Twitter, essa
extensão é bastante bem vinda, tendo em vista a melhora nos indicadores quando se
utiliza as hashtags.
O cenário 7 possui pouca melhora quando comparado com o cenário 4. Esse
indicativo reforça que a rede de RT agrega pouco valor tanto para cobertura quanto para
precisão.
Por fim, o cenário 8 une todas as estratégias elaboradas neste trabalho.
Novamente percebemos que a contribuição apresentada pelo uso da rede de RT, em
dados aleatórios, é mínima. A maior contribuição encontrada para dados aleatórios foi o
uso de hashtags.
Foi percebido, em análise dos dados, que o tempo de vida da uma hashtag é
superior ao de um RT. Uma hashtag é capaz de sobreviver alguns dias de postagens
enquanto os RT’s normalmente não ultrapassam essas 24 horas. Percebemos também a
pouca presença de adjetivos no texto, o que dificulta uma Análise de Sentimentos mais
tradicional, baseada na avaliação de palavras desta classe gramatical.
57
5.3.4 Experimento Sequencial
Utilizando a base de registros sequenciais, foram obtidas as seguintes métricas
para cada um dos cenários propostos:
Tweets Sequenciais
Pe Ce FMe
C1 (SWN) 0,808 0,173 0,285
C2 (SWN+Subs) 0,821 0,673 0,740
C3 (SWN+RT) 0,898 0,800 0,846
C4 (SWN+#) 0,935 0,890 0,912
C5 (SWN+Subs+RT) 0,903 0,870 0,886
C6 (SWN+Subs+#) 0,915 0,903 0,909
C7 (SWN+RT+#) 0,915 0,903 0,909
C8 (SWN+Subs+RT+#) 0,923 0,937 0,930
Tabela 3 - Métricas para experimento sequencial
Para a grande maioria dos cenários o teste com dados sequenciais, apresentou
resultados similares aos dados aleatórios. O cenário 1 apresenta baixos valores para os
indicadores, contrastando com o salto na cobertura do cenário 2. Os cenários 4, 5, 6 e 7
apresentam pouca diferença entre si para os valores dos indicadores, assim como
apresentado nos experimentos com dados aleatórios, com uma pequena melhora na
cobertura obtida no cenário 5, devido à proximidade temporal das postagens,
influenciando principalmente o resultado da rede RT. O mesmo efeito ocorre na cobertura
obtida no cenário 3.
Com essa proximidade de datas das postagens a presença de RT’s é mais
frequente no corpus utilizado para o experimento. Muitos RT’s foram encontrados na base
de dados sequencial, tornando a estratégia de rede RT mais eficaz no aumento dos
indicadores, como mostrado no cenário 3. Apesar da diminuição na precisão, comparado
ao cenário 2, a cobertura apresentou sensível melhora.
A sequência de tweets também influenciou a análise com hashtags, presente nos
cenários 4, 6, 7 e 8. Como a base de dados é construída com dados sequenciais, a mesma
representa uma janela de tempo nas postagens. O fato de ser limitado por uma janela de
tempo curta, reduziu o número de hashtags que surgiram em outros momentos. Por
exemplo, apesar de algumas hashtags estarem presentes em praticamente todo o corpus
como #HaddadPrefeito e #SerraPrefeito, algumas outras surgiram em determinados
momentos da disputa para segundo turno e desapareceram com o tempo, como por
58
exemplo: #HaddadNaBand, #Mensalão, #PrivatariaTucana, #LulaMente, entre
outras. Porém, mesmo com a limitação no uso das hashtags que poderiam ajudar a
classificar melhor a postagem, a estratégia de utilização das hashtags apresentou ótimos
resultados.
Desta forma, como conclusão, percebemos que é possível utilizar o benefício da
rede RT quando os dados analisados apresentam uma proximidade temporal. Percebemos
também que o uso das hashtags é imprescindível na extração de informação a partir de
postagens no micro blog Twitter, e consequentemente, em outras ferramentas sociais que
utilizam tal recursos de marcação.
5.3.5 Experimento completo
Como conclusão da fase de experimentos, o processo foi aplicado sobre toda a
base de dados, 17 mil tweets, e o resultado comparado com o resultado do segundo
turno das eleições para prefeitura de São Paulo. Para derivarmos as intenções de votos
foram assumidas as seguintes premissas:
Tweet falando mal do candidato José Serra – ponto para Haddad
Tweet falando bem do candidato Fernando Haddad – ponto para Haddad
Tweet falando bem do candidato José Serra – ponto para Serra
Tweet falando mal do candidato Fernando Haddad – ponto para Serra
O usuário do Twitter possui várias postagens referentes às eleições. Cada uma
dessas postagens recebeu uma classificação de intenção de voto, como mencionado
acima. Como um usuário possui diversas postagens, o mesmo deve possuir uma
pontuação para Haddad e uma pontuação para Serra (representando o comportamento
de suas postagens ao longo do tempo, contra ou a favor dos candidatos). Caso o usuário
possua mais pontos referentes a Serra, sua intenção de voto é José Serra, caso contrário,
sua intenção de voto é Fernando Haddad. Desta forma, o problema pode ser reduzido a
debate polarizado, onde existem apenas duas classes para a classificação.
Por exemplo: O usuário possui 5 postagens contra Serra e 1 a favor. Esse mesmo
usuário ainda possui 10 postagens a favor de Haddad e 0 postagens contra. A pontuação
deste usuário ficaria: Serra = 1 e Haddad = 15. Desta forma, podemos dizer que a
intenção de voto do usuário é para Fernando Haddad.
Caso o eleitor inicie o período eleitoral se posicionando a favor de Serra, e ao
longo do tempo, mude sua orientação de voto se posicionando a favor de Haddad, as
pontuações devem indicar em qual candidato o eleitor se posicionou durante mais tempo
59
(ou postou mais vezes). Apesar desse mecanismo implementado, capaz de identificar
troca de intenção de voto, não foi identificada nenhuma mudança de candidato por parte
dos usuários nos dados coletados.
Apesar da pequena diferença percentual, percebemos que a ferramenta apresenta
uma boa aproximação e confirma o resultado final da eleição:
Intenção de voto
no Twitter
Resultado das
Urnas
Fernando Haddad 60,01% 55,57%
José Serra 39,99% 44,43%
Tabela 4 - Comparativo entre resultado do Twitter e resultado das urnas
5.4 Considerações finais
Como observado nos experimentos, podemos perceber que uma única estratégia
pode gerar alto impacto na melhoria da Análise de Sentimento dos usuários. Porém,
características peculiares do corpus, como a distância temporal entre as postagens, o tipo
da linguagem empregada, os recursos oferecidos pela rede social, podem interferir em
algumas dessas estratégias em determinados cenários.
Como conclusão dos experimentos, observamos que a aplicação de uma única
estratégia para resolver o problema de classificação pode gerar um resultado parcial
(ótimo para alguns cenários apenas). Portanto, a melhor abordagem é a combinação das
estratégias para montagem de um score (onde cada estratégia colabora com uma
pontuação na classificação final). Esta situação pode ser observada no cenário 8 dos
testes aleatórios e sequenciais. A união das abordagens representa a melhor classificação
acerca da opinião dos usuários, sofrendo menos com variações do corpus.
60
6 Conclusão e Trabalhos Futuros
Esta dissertação apresentou uma proposta de processo de Análise de Sentimento com
a inclusão de sentenças factuais (sem adjetivos) e características referentes ao tipo de base
de dados utilizada (hashtag e retweet inerentes ao micro blog Twitter). É realizada
inicialmente uma classificação de sentimento tradicional, observando apenas as sentenças
opinativas (contendo adjetivos) com o auxílio do Senti-WordNet.
Como visto, este trabalho foi desenvolvido no contexto de pesquisa de AS para
debates polarizados, que resultou em uma especificação de processo geral, podendo ser
instanciada para debates não polarizados. O processo engloba todas as etapas da Análise de
Sentimento, com forte contribuição na etapa de Classificação.
Foram utilizadas técnicas estatísticas e linguísticas visando a independência da
solução para com o domínio aplicado. Algumas etapas do processo proposto, Análise de
Hashtag e Análise de Rede de Retweet (RT), possuem dependência com o tipo de base de
dados utilizada, neste caso, tweets. Entretanto, os conceitos presentes no micro blog
mencionado não são exclusividade do mesmo. Elementos como hashtags já encontram-se
presentes em redes sociais bastante difundidas, como Facebook e Google+. Já o conceito de
retweet pode ser expandido para o compartilhamento de postagens de outros usuários,
considerando as redes sociais mencionadas. Com isso, percebemos que não existe uma forte
dependência entre o processo proposto e o micro blog Twitter, podendo, portanto, ser
utilizada outra rede social como fonte para construção das bases de dados opinativas.
As seções a seguir enumeram as principais contribuições apresentadas neste trabalho
de pesquisa, presentes na seção 6.1. A seção seguinte, 6.2, descreve pontos deste estudo
que geraram oportunidades futuras de pesquisa, partindo do que já foi realizado.
6.1 Considerações finais
Destacamos abaixo as principais contribuições do trabalho realizado, e
relatado nesta Dissertação de Mestrado:
61
Realização de uma revisão bibliográfica sobre Análise de Sentimentos, bem
como os principais trabalhos relacionados à classificação de sentimento
utilizando sentenças objetivas – foco do atual trabalho.
Definição de um processo de classificação de postagens considerando
sentenças objetivas, descartadas em abordagens tradicionais.
Utilização da abordagem linguística e estatística, favorecendo a
independência do domínio de aplicação.
Extensão da abordagem proposta por [ZHANG e LIU, 2011], originalmente
ineficiente no corpus utilizado neste trabalho.
Construção de uma ferramenta, aderente ao processo, de forma modular,
visando facilidade na inserção de novos módulos e independência entre os
já existentes, apresentando ótimas taxas de precisão e cobertura.
6.2 Trabalhos futuros
Este trabalho deixa em aberto diversas extensões, que podem ser
implementadas de modo a complementar o trabalho aqui realizado. Dentre essas
propostas, podemos citar:
Polarização de smiles (emoticons) como positivos ou negativos.
Utilização de corretor ortográfico: são frequentes os erros de português ou
mesmo de digitação em postagens de redes sociais. Esse tipo de erro se
propaga pelo processo, gerando perda de informação na classificação final.
Combinação de POS-Tagger: Apesar do melhor desempenho do Stanford POS-
Tagger, o mesmo apresenta alguns pequenos erros na marcação das palavras.
A utilização combinada de vários POS-Tagger deve melhorar essa classificação,
evitando a propagação do erro.
Tratamento de ironias: Apesar de representar um dos maiores desafios da AS,
as ironias devem ser tratadas, principalmente, em corpus proveniente de redes
sociais, onde esse tipo de construção é bastante frequente.
Identificação de cabos eleitorais. Atualmente a solução polariza os registros sem
considerar que alguns usuários podem representar cabos eleitorais. Esse caso
pode ser eliminado com base na frequência e no teor das postagens do mesmo.
62
Referências
ALLEN, J. Natural Language Understanding. California: The Benjamin/Cummings
Publishing Company, Inc, v. 2nd, 1995.
ANDREEVSKAIA, A.; BERGLER, S. Mining WordNet for a fuzzy sentiment: Sentiment
tag extraction from WordNet glosses. Conference of the European Chapter od the
Association for Computational Linguistics, Trento, Italy, April 2006.
BAEZA-YATES, R.; RIBEIRO-NETO. Modern Information Retrieval. New York, EUA:
Addison Wesley-ACM Press, 1999.
CARVALHO, P.; SARMENTO, L.; SILVA, M.; OLIVEIRA, E. Clues for detecting irony in
user-generated contents: oh.!it's "so easy" ;-). 1st international CIKM workshop on
Topic-sentiment analysis for mass opinion, New York - USA, 2009.
CHOY, M.; CHEONG, M. L.; LAIK, M. N.; SHUNG, K. P. A sentiment analysis of singapore
presidential election 2011 using twitter data with census correction. Singapore:
arXiv preprint. 2011.
CLINTON, D. Java Twitter. Google Code, 2009. Disponivel em:
<https://code.google.com/p/java-twitter/>. Acesso em: 2013.
CONOVER, M. D.; RATKIEWICZ, J.; FRANCISCO, M.; GONÇALVES, B. Political Polarization
on Twitter. Fifth International AAAI Conference on Weblogs and Social Media, Barcelona,
Spain, 17-21 July 2011.
D., D.; CONROY, G. A review of machine learning. In: D., D.; CONROY, G. The Knowledge
Engineering Review. New York, NY, USA: The Knowledge Engineering Review, v. 12, 1997.
Cap. 4, p. p.341–367.
DING, X.; LIU, B.; YU, P. A holistic lexicon-based approach to opinion mining.
International Conference on Web Search and Web Data Mining, Stanford, CA, USA, 2008.
231-240.
DRAGUT, C. E.; YU, C.; SISTLA, P.; MENG, W. Construction of a sentimental word
dictionary. International Conference of Information and Knowledge Management, Toronto,
Canadá, October 2010.
ELEITORANDO. Eleitorando, 2013. Disponivel em: <http://www.eleitorando.com.br/site/>.
Acesso em: abr. 2014.
ESULI, A.; SEBASTIANI, F. Determining the Semantic Orientation of Terms though
Gloss Classification. International Conference on Information and Knowledge
Management, Bremen, Germany, October 2005.
ESULI, A.; SEBASTIANI, F. SentiWorkNet - A Publicly Available Lexical Resource for
Opinion Mining. International Conference on Language Resources and Evaluation, Genoa,
Italy, May 2006.
FERNANDES, F. Um Framework para Análise de Sentimento em Comentários sobre
Produtos em Redes Sociais. Dissertação (Mestrado em Ciência da Computação) - Centro
de Informática/UFPE, Recife - PE, 2010.
63
GODBOLE, N.; MANJA, S.; STEVEN, S. Large-Scale Sentiment Analysis for News and
Blogs. ICWSM 7, 2007.
HATZIVASSILOGLOU, V.; KATHLEEN, M. Predicting the Semantic Orientation of
Adjectives. ACL, Madrid, Spain, 1997.
HATZIVASSILOGLOU, V.; WIEBE, J. Effects of adjective orientation and gradability on
sentence subjectivity. Conference on Computational linguistics, Universität des
Saarlandes, Saarbrücken, Germany, July 2000.
HU, M.; LIU, B. Mining opinion features in customer reviews. National Conference on
Artifical intelligence, San Jose, California, USA, July 2004.
KAMPS, J.; MARX, M.; ROBERT, J. . M.; RIJKE, M. Using WordNet to Measure Semantic
Orientations of Adjectives. Conference on Language Resources and Evaluation, Lisbon,
Portugal, May 2004.
KANAYAMA, H.; NASUKAWA, T. Fully Automatic Lexicon Expansion for Domain-
Oriented Sentiment Analysis. EMNLP, Sydney, Australia, July 2006.
KIM, S.; HOVY, E. Determining the Sentiment of Opinions. International Conference on
Computational Linguistics, Geneva, Switzerland, August 2004. 1367-1373.
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. Disponível em: http://www.cin.ufpe.br/~tg/2011-
2/dclal.pdf.
LIU, B. Web data mining: Exploring Hyperlinks, Contents and Usage Data. SIGKDD
Explorations, Chicago - USA, 10, n. 3, 2006.
LIU, B. Sentiment Analysis and Subjectivity. In: INDURKHYA, N.; DAMERAU, F. J. Handbook
of Natural Language Processing. 2ª. ed. New York, NY, USA: CRC Press, v. 2, 2010. Cap.
26, p. 627-665.
LIU, B. Sentiment Analysis and Subjectivity. Flórida – USA: Chapman and Hall/CRC, v.
2, 2010.
LIU, B.; NARAYNAN, R.; CHOUDHARY, A. Sentiment Analysis of Conditional Sentences.
Conference on Empirical Methods in Natural Language Processing, Singapore, 1, 2009.
LOPES, T.; HIRATANI, G.; BARTH, F.; RODRIGUES, O. Mineração de Opiniões aplicada
à Análise de Investimento. WebMedia'08 Companion Proceedings of the XIV Brazilian
Symposium on Multimedia and the Web, New York – USA, 2008. 117-120.
MAGALHÃES, T. Uma metodologia de mineração de opiniões na web. Doutorado em
Engenharia - COPPE/UFRJ, Rio de Janeiro, 2009.
PAK, A.; PAROUBEK, P. Twitter as a Corpus for Sentiment Analysis and Opinion
Mining. LREC, 2010.
PANG, B.; LEE, L. Opinion Mining and Sentiment Analysis. Foundations and Trends in
Information Retrieval, Hanover, MA, USA, 2, n. 1-2, 2008.
POPESCU, A. M.; ETZIONI, O. Extracting product features and opinions from reviews.
Human Language Technology and Empirical Methods in Natural Language Processing, Morris-
town - New Jersey - USA, 2005.
64
QIU, G.; LIU, B.; BU, J.; CHEN, C. Expanding Domain Sentiment Lexicon through
Double Propagation. International Joint Conferences on Artificial Inteligence, California,
USA, July 2009.
RILOFF, E.; WIEBE, J.; WILSON, T. Learning Subjective Nouns using Extraction
Pattern Bootstrapping. Conference on Natural Language Learning, 2003.
SANTOS, G. E. O. Cálculo Amostral. calculadora on-line, 2014. Disponivel em:
<http://www.publicacoesdeturismo.com.br/calculoamostral/>. Acesso em: jul. 2014.
SENTIMENT 140. Sentiment 140, 2013. Disponivel em: <http://www.sentiment140.com/>.
Acesso em: mar. 2014.
SENTWEET. Github Sentweet. Sentweet, 2012. Disponivel em:
<https://github.com/azuranop/sentweet>. Acesso em: fev. 2014.
SIQUEIRA, H. WhatMatter: Extração e visualização de características em opiniões
sobre serviços. Mestrado em Ciências da Computação - Cin-UFPE, Recife, 2010.
TAKAMURA, H.; INUI, T.; OKUMURA, M. Extracting Semantic Orientations of Phrases
from Dictionary. North American Chapter of the Association for Computational Linguistics,
Rochester, NY, USA, April 2007. 292–299.
TIMES, N. Y. Mining the Web for Feelings, Not Facts. The New York Times, New York -
USA, 2009. Disponivel em:
<http://www.nytimes.com/2009/08/24/technology/internet/24emotion.html?r=2>. Acesso
em: 10 Fev. 2014.
TUMASJAN, A.; SPRENGER, T. O.; SANDNER, P. G.; WELPE, I. M. Predicting elections
with twitter: What 140 characters reveal about political sentiment. International
AAAI Conference on Weblogs and Social Media, George Washington University, Washington,
DC, 10, May 2010. 178-185.
TWITTER. Twitter, 2006. Disponivel em: <https://twitter.com/>. Acesso em: 2013.
TWITTER, INC. Support Twitter. Using hashtags on Twitter. Disponivel em:
<https://support.twitter.com/entries/49309>. Acesso em: 2014.
VETTA LABS. Soluções para Mercado Financeiro. Vetta Labs, 2008. Disponivel em:
<http://www.vettalabs.com/financeiro.html>. Acesso em: fev. 2014.
WIEBE, J. Learning Subjective Adjectives from Corpora. National Conference of
Artificial Inteligence, Austin, Texas, EUA, 2000.
WIEBE, J. M.; WILSON, T.; BELL, M.; MARTIN, M. Learning subjective language.
Computational Linguistics, Cambridge, MA, USA , 30, n. 3, September 2004. 277-308.
WILSON, T.; WIEBE, J.; HWA, R. Just how mad are you? Finding strong and weak
opinion clauses. National Conference on Artifical intelligence, San Jose, Califórnia, USA,
July 2004.
ZHANG, L.; LIU, B. Identifying Noun Product Features that Imply Opinions. Annual
Meeting of the Association for Computational Linguistics, Portland, Oregon, USA, June 2011.