um processo para classificação de sentimentos no twitter ......catalogação na fonte...

65
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

Upload: others

Post on 21-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Um Processo para Classificação de Sentimentos no Twitter ......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

Por

Gleibson Rodrigo Silva de Oliveira

Dissertação de Mestrado

Recife

2014

Page 2: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 3: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 4: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 5: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 6: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

“Never send a human to do a machines job”

Agent Smith – Filme Matrix

Page 7: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 8: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 9: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 10: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 11: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 12: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 13: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 14: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 15: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 16: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 17: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 18: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 19: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 20: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 21: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 22: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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;

Page 23: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 24: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 25: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 26: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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, é

Page 27: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 28: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 29: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 30: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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].

Page 31: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 32: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 33: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 34: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 35: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 36: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 37: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 38: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 39: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 40: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 41: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 42: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 43: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 44: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 45: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 46: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 47: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 48: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 49: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 50: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 51: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 52: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 53: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 54: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 55: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 56: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 57: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 58: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 59: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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

Page 60: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 61: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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:

Page 62: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 63: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 64: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.

Page 65: Um Processo para Classificação de Sentimentos no Twitter ......Catalogação na fonte Bibliotecária Joana D’Arc Leão Salvador CRB4-572 O48p Oliveira, Gleibson Rodrigo Silva de

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.