UNIVERSIDADE FEDERAL DO TOCANTINS-UFT
CAMPUS UNIVERSITRIO DE PALMAS
THALES RIBEIRO EVANGELISTA
ANLISE DE SENTIMENTOS EM REDES SOCIAIS UTILIZANDO TCNICAS DE MINERAO DE TEXTOS
PALMAS-TO, 2013
THALES RIBEIRO EVANGELISTA
ANLISE DE SENTIMENTOS EM REDES SOCIAIS UTILIZANDO TCNICAS DE MINERAO DE TEXTOS
Monografia apresentada Universidade Federal do Tocantins, Campus Universitrio de Palmas, como parte dos requisitos necessrios para a obteno do ttulo de Bacharel em Cincia da Computao. Sob a orientao da Professora Thereza Patrcia Pereira Padilha.
Palmas-TO, 2013
TERMO DE APROVAO
THALES RIBEIRO EVANGELISTA
ANLISE DE SENTIMENTOS EM REDES SOCIAIS UTILIZANDO TCNICAS DE MINERACAO DE TEXTOS
Monografia submetida ao corpo docente do curso de graduao em cincia da computao da Fundao Universidade Federal do Tocantins, como parte dos requisitos necessrios para a obteno do Ttulo de Bacharel em Cincia da Computao.
___________________________
Thereza Patrcia Pereira Padilha D. Sc. /Universidade Federal do Tocantins - UFT
___________________________ Eduardo Ferreira Ribeiro Ms. / Universidade Federal do Tocantins - UFT
___________________________ Fabricio Guedes Bissoli Ms. /Universidade Federal do Tocantins - UFT
Palmas,____de____de 201
Dados Internacionais de Catalogao na Publicao (CIP)
Biblioteca da Universidade Federal do Tocantins
Campus Universitrio de Palmas
E92a Evangelista, Thales Ribeiro
Anlise de sentimentos em redes sociais utilizando tcnicas de minera-
o de textos / Thales Ribeiro Evangelista. Palmas, 2013.
74f.
Monografia (TCC) Universidade Federal do Tocantins, Curso de Cin-
cia da Computao, 2013.
Orientadora: Prof. Dr Thereza Patrcia Pereira Padilha.
1. Anlise de sentimentos. 2. Aprendizagem de mquina. 3. Minerao
de textos. 4. Redes Sociais. 5. Minerao de opinio. I. Padilha, Thereza
Patrcia Pereira. II. Ttulo.
CDD 004
Bibliotecria: Emanuele Santos CRB-2 / 1309
Todos os Direitos Reservados A reproduo total ou parcial, de qualquer forma ou
por qualquer meio deste documento autorizado desde que citada a fonte. A violao dos
direitos do autor (Lei n 9.610/98) crime estabelecido pelo artigo 184 do cdigo penal.
Dedico esse trabalho aos meus
pais, Tito Albino e Katia Maria, pela
educao, apoio e investimento.
AGRADECIMENTOS
Agradeo a todos os que me ajudaram na
elaborao deste trabalho: Em geral minha fa-
mlia, pelo apoio dado, minha orientadora The-
reza Padilha e a UFT que me proporcionou
uma formao de qualidade e excelncia.
When I do good, I feel good. When I do bad, I feel bad. That's my religion.
Abraham Lincoln
RESUMO
Este trabalho tem como objetivo o desenvolvimento de um sistema web capaz de
classificar publicaes feitas em redes sociais, tais como Facebook e Twitter, como
positivas, negativas e neutras. A classificao direcionada para as publicaes
escritas na lngua portuguesa sobre empresas de comrcio eletrnico. Para isso, foi
realizado um estudo e apresentado conceitos sobre a rea de minerao de texto e
anlise de sentimentos. Para a implementao do prottipo, foi escolhida a lingua-
gem Java e foi utilizado uma abordagem lxica com o SentiWordNet, e uma aborda-
gem com aprendizado de mquina, utilizando o classificador Naive Bayes.
Palavras-chave: Anlise de sentimentos. Aprendizagem de mquina. Minerao de
textos. Redes Sociais. Minerao de opinio.
ABSTRACT
This study aimed to develop a system able to classify web publications made
on social networks such as Facebook and Twitter, as positive, negative and neutral.
The classification is directed to publications written in portuguese on e-commerce
companies. For this, a study was conducted and presented concepts on the area of
text mining and sentiment analysis. For the prototype implementation, was chosen
the Java language and approach was utilized with SentiWordNet lexical, and an ap-
proach to machine learning, using the Naive Bayes classifier.
Keywords: Sentiment analysis. Machine learning. Text mining. Social Networks.
Opinion mining.
LISTA DE ILUSTRAES
Figura 1 Etapas dos Processos de MT ..................................................................... 17
Figura 2 Etapas do Pr-processamento .................................................................... 19
Figura 3 Seleo de atributos .................................................................................... 22
Figura 4 Processos da API de Streaming ................................................................. 48
Figura 5 Processos da REST API ............................................................................. 49
Figura 6 Prottipo da tela de pesquisa ...................................................................... 52
Figura 7 Prottipo da visualizao dos resultados .................................................... 54
Figura 8 Avaliaes de usurios e-bit ....................................................................... 55
Figura 9 Adicionar avaliaes a base de dados ........................................................ 56
LISTA DE TABELAS
Tabela 1 - Exemplo ilustrativo - Documentos x Palavras (Primeira etapa) ................ 39
Tabela 2 - Exemplo ilustrativo - Documentos x Palavras (Segunda etapa) ............... 40
Tabela 3 - Exemplo ilustrativo - Documentos x Palavras (Terceira etapa) ................ 40
Tabela 4 - Orientao semntica das palavras ......................................................... 41
Tabela 5 - Alguns dos parmetros suportados pela classe Selector ......................... 46
Tabela 6 - Parmetros de chamada da Search API .................................................. 49
Tabela 7 - Resultados para o experimento 1 Twitter ................................................. 60
Tabela 8 - Resultados para o experimento 1 Facebook ............................................ 60
Tabela 9 - Resultados para o experimento 2 Twitter ................................................. 61
Tabela 10 - Resultados para o experimento 3 Twitter ............................................... 62
Tabela 11 - Resultados para o experimento 3 Facebook .......................................... 63
LISTA DE ABREVIATURAS E SIGLAS
HTTP : Hypertext Transfer Protocol
API : Application Program Interface
JSON : JavaScript Object Notation
REST : Representational State Transfer
URL : Uniform Resource Locator
SUMRIO
1. INTRODUO .................................................................................................... 12 1.1 Identificao do problema ........................................................................................... 12 1.2 Objetivos ..................................................................................................................... 13 1.2.1 Objetivo Geral ............................................................................................................................ 13 1.2.2 Objetivos Especficos ................................................................................................................. 14 1.3 Justificativa .................................................................................................................. 14 1.4 Estrutura do trabalho ................................................................................................... 15 2. MINERAO DE DADOS TEXTUAIS ............................................................... 16 2.1 Conceitos Bsicos ....................................................................................................... 16 2.2 Processos de Minerao de Textos ............................................................................. 17 2.2.1 Seleo ou coleta ....................................................................................................................... 18 2.2.2 Pr-processamento .................................................................................................................... 18 2.2.3 Representao dos documentos (transformao) ..................................................................... 26 2.2.4 Minerao de textos ................................................................................................................... 27 2.2.5 Avaliao e interpretao dos resultados .................................................................................. 30 3. ANLISE DE SENTIMENTOS ............................................................................ 31 3.1 Desafios Enfrentados na Anlise de Sentimentos ....................................................... 32 3.1.1 Fatos e opinies ......................................................................................................................... 32 3.1.2 Opinio Implcita e divergentes .................................................................................................. 33 3.1.3 Contexto ..................................................................................................................................... 34 3.1.4 Dependncia de domnio ........................................................................................................... 34 3.1.5 Erros ortogrficos ....................................................................................................................... 35 3.1.6 Negao ..................................................................................................................................... 35 3.2 Tcnicas de classificao ............................................................................................ 36 3.2.1 PMI (Pointwise Mutual Information) ........................................................................................... 37 3.2.2 Naive Bayes ............................................................................................................................... 38 3.2.3 Baseada em palavras (lxico) .................................................................................................... 41 3.3 Trabalhos Relacionados .............................................................................................. 42 4. MATERIAIS E MTODOS .................................................................................. 44 4.1 Materiais Utilizados ..................................................................................................... 44 4.1.1 Weka .......................................................................................................................................... 44 4.1.2 SentiWordNet ............................................................................................................................. 45 4.1.3 Stanford CoreNLP ...................................................................................................................... 45 4.1.4 Jsoup .......................................................................................................................................... 46 4.1.5 Twitter ......................................................................................................................................... 46 4.1.6 Facebook .................................................................................................................................... 51 4.2 Mtodos ...................................................................................................................... 51 4.2.1 Mdulo de Busca ........................................................................................................................ 52 4.2.2 Mdulo de Visualizao dos Resultados ................................................................................... 53 4.2.3 Base de Treinamento ................................................................................................................. 55 4.2.4 Mdulo para classificao .......................................................................................................... 57 5. EXPERIMENTOS REALIZADOS ....................................................................... 59 5.1 Experimento 1 - Ponto Frio .......................................................................................... 59 5.2 Experimento 2 - Balo da Informtica .......................................................................... 61 5.3 Experimento 3 - Apple ................................................................................................. 62 5.4 Anlise Comparativa dos Resultados .......................................................................... 63 6. CONCLUSES E TRABALHOS FUTUROS ...................................................... 66 6.1 Concluses ................................................................................................................. 66 6.2 Trabalhos futuros ......................................................................................................... 67 REFERNCIAS ......................................................................................................... 68
12
1. INTRODUO
Este trabalho ter um foco em anlise de sentimentos (ou minerao de opi-
nio), que o estudo computacional de opinies, avaliaes e emoes em relao
a entidades, eventos e s pessoas. Nos ltimos anos, atraiu uma grande quantidade
de ateno da academia e da indstria, devido a muitos problemas de pesquisa de-
safiadoras e uma ampla gama de aplicaes (LIU, 2010a).
Fazendo o uso de tcnicas de recuperao de informao, minerao de
textos e anlise de sentimento, este trabalho tem como finalidade procurar descobrir
se as pessoas esto falando bem ou mal sobre uma determinada empresa de co-
mercio eletrnico. Com isso possvel tentar ajudar a empresa a determinar o valor
da sua marca e descobrir qual a imagem que os consumidores tm de sua compa-
nhia ou da de seus concorrentes e at mesmo ajudar a identificar os principais pro-
blemas que os consumidores tm em relao sua empresa. E claro, esse tipo de
informao pode ser til tambm para os consumidores, para que esses tenham
uma ideia da reputao que a empresa tem no mercado.
1.1 Identificao do problema
J no de hoje que as redes sociais tm se transformado em uma das
principais plataformas para o compartilhamento de experincias do dia a dia, o que,
naturalmente, inclui a exposio de opinies sobre determinados produtos e servios
(GUIMARES, 2013). comum as pessoas irem a alguma rede social (como o Twit-
ter) quando querem fazer alguma reclamao ou elogio a uma empresa, e os clien-
tes tm percebido que eles vm obtendo uma resposta mais rpida por esse meio, e
assim o Twitter acabou se tornando um canal de SAC. As empresas sabem que a
repercusso de um comentrio em um rede social pode atingir uma quantidade
grande de clientes, e uma mensagem de algum conhecido elogiando ou criticando
uma determinada loja tem um peso muito maior do que uma propaganda convenci-
13
onal. Outro fator importante nas redes sociais que possvel atingir um pblico
especfico, sendo muito mais efetivo do que uma propaganda em massa.
A Burson-Marsteller fez um estudo, o LatinAmerica Social Media Check-Up
2013, de acordo com o mesmo, 88% das empresas brasileiras utilizam pelo menos
uma rede social. Esse ndice o maior da Amrica Latina, que tem a mdia de 65%,
e da mdia global, de 87%.
O uso das redes sociais ajuda a fortalecer uma marca, alm de divulgar pro-
dutos e servios para um pblico especfico. As companhias j perceberam isso e
hoje muitas j esto com uma atuao forte nas redes sociais, se tornando quase
obrigatrio a presena em redes como Facebook, Twitter entre outras. Devido ao
grande volume de informao que temos na internet, hoje humanamente imposs-
vel para uma pessoa sem ajuda de ferramentas especficas monitorar tudo o que
esto falando sobre uma determinada marca.
As redes sociais tm hoje um papel fundamental na qualidade dos relacio-
namentos das marcas com os consumidores e, principalmente, na gesto de sua
reputao (CASTRO, 2013). Hoje a presena da empresa na internet no mais um
diferencial, mas sim algo fundamental. Sendo a concorrncia entre as empresas ca-
da vez mais acirrada, a importncia do valor de uma marca forte faz a diferena,
principalmente em um mundo globalizado, onde todos esto conectados e a troca de
informao muito rpida.
Para alguns analistas de Brand Equity, as marcas duram mais que os produ-tos e instalaes fsicas de uma empresa, e so o seu principal bem dur-vel. Uma marca bem posicionada no mercado pode torna-se o bem mais va-lioso de uma empresa, cabendo mesma, zelar e gerenciar de forma inteli-gente sua marca (CALDAS 2007).
1.2 Objetivos
1.2.1 Objetivo Geral
O objetivo deste projeto desenvolver uma ferramenta para monitoramento
da reputao em redes sociais de empresas de comercio eletrnico. A ferramenta
proposta buscar as postagens que os usurios fizeram sobre uma determinada
14
companhia em redes sociais, reconhecendo padres em comentrios postados na
lngua portuguesa e determinando se aquele comentrio positivo ou negativo.
1.2.2 Objetivos Especficos
Para alcanar o objetivo geral, tm-se os seguintes objetivos especfi-
cos:
Estudar mecanismos de buscas e recuperao da informao;
Extrair conhecimento dos resultados encontrados nas redes sociais utilizando
tcnicas de minerao de texto e anlise de sentimentos;
Pesquisar sobre as ferramentas computacionais necessrias para o desen-
volvimento desse projeto;
Pesquisar sobre tcnicas de minerao de textos;
Pesquisar sobre tcnicas de anlise de sentimentos.
Estudar a API do Twitter e Facebbok;
1.3 Justificativa
O monitoramento de redes sociais pode dar uma vantagem competitiva
importante em relao a outras empresas, ainda mais levando em conta o mercado
competitivo atual, qualquer diferencial pode se tornar importante.
Dados de uma pesquisa realizada pelo AltimerGroup e Wetpaint para a re-vista Business Week com as 100 empresas mais valiosas ao redor do globo mostraram que os empreendimentos que investem em mdias sociais apre-sentam melhores resultados e receitas finais mais recheadas. Em mdia, empresas que investiram em mdias sociais cresceram 18% em um ano, enquanto aquelas que investiram pouco nas redes tiveram queda em mdia de 6% em suas receitas no mesmo perodo (PILLEGGI, 2010).
Os nmeros do comrcio eletrnico no Brasil continuaro em ascenso em
2013. De acordo com previso realizada pela e-bit, empresa especializada em in-
formaes do setor, o e-commerce B2C (business-to-customer) deve apresentar um
15
crescimento nominal de 25%, chegando a um faturamento de R$ 28 bilhes em
2013 (E-BIT, 2013).
As redes sociais no so s mais um meio para ser fazer propaganda e
vender produtos, mas sim um lugar para se comunicar com seus clientes, conhecer
seus consumidores e saber o que eles esto pensando sobre a empresa ou sobre o
seus concorrentes. Sendo assim, o monitoramento da mesma fundamental, mas
devido a grande quantidade de informao que produzida todo dia pelos usurios
em redes sociais, se torna necessrio o uso de ferramentas que ajudem a fazer o
monitoramento dessa informao.
Estas informaes podem auxiliar as empresas a decidir quais aes
devem tomar para melhorar o valor de sua marca perante seus consumidores, e
descobrir quais so os pontos fortes e fracos de sua empresa e de suas concorren-
tes, garantindo assim uma vantagem competitiva. O seu uso pode ser til tanto para
empresas como usurios, pois hoje j se tornou um hbito do consumidor antes de
comprar fazer uma pesquisa sobre a reputao da empresa na internet.
1.4 Estrutura do trabalho
O trabalho est organizado em seis captulos, de forma que cada um deles
se completa para atingir o obtivo final deste trabalho. Neste primeiro capitulo se en-
contra a justificativa e os objetivos que se espera obter. Nos captulos dois e trs
apresentado todo o levantamento bibliogrfico necessrio para entender os concei-
tos de minerao de texto e anlise de sentimentos. No captulo quatro ilustra todas
as ferramentas usadas para a construo da ferramenta, assim como quais tcnicas
foram utilizadas e a interface da ferramenta desenvolvida. Por fim, nos dois ltimos
captulos so feitos os testes com o sistema web desenvolvido e apresentada a con-
cluso da monografia.
16
2. MINERAO DE DADOS TEXTUAIS
Neste captulo so apresentados os principais tpicos referentes minera-
o de dados textuais, destacando seus conceitos e fundamentos.
2.1 Conceitos Bsicos
A Recuperao de Informao (RI) um conjunto de operaes consecuti-
vas executadas para localizar, dentro da totalidade de informaes disponveis,
aquelas realmente relevantes (CESARINO, 1985, p. 157). Minerao de textos (MT),
tambm conhecida como minerao de dados textuais, pode ser visto como uma
evoluo da rea de recuperao de informao e uma especializao do processo
de minerao de dados ou da descoberta de conhecimento em bases de dados es-
truturadas (MORAIS e ABRSIO, 2007) e (ARANHA e PASSOS, 2006). Na literatu-
ra, existem vrias definies para minerao de textos, mas de maneira geral, os
autores definem minerao de dados textuais como um campo multidisciplinar que
inclui conhecimentos de reas como inteligncia artificial, redes neurais, recupera-
o da informao, aprendizado de mquina, estatstica, lingustica e cincia cogniti-
va (MORAIS e ABRSIO, 2007) e (ARANHA e PASSOS, 2006). Atuando com a
aplicao de algoritmos computacionais que processam grandes volumes de textos
em linguagem natural no estruturados com o objetivo de extrair informaes rele-
vantes, teis e inovadoras no explcitas atravs da identificao de regularidades,
tendncias e de padres no triviais, que no poderiam ser recuperadas utilizando
mtodos habituais de consulta (ARANHA e PASSOS, 2006), (BARION e LAGO,
2008) e (MORAIS e ABRSIO, 2007). Pois a informao que se quer obter desses
textos no pode ser obtida de forma direta, de modo que o usurio no solicita exa-
tamente uma busca, mas sim uma anlise da coleo de textos (MORAIS e
ABRSIO, 2007).
17
A partir dos anos 80, com o aumento exponencial do volume de informaes
armazenadas pelas empresas, surgiu a necessidade de extrao, de maneira auto-
matizada, de informaes relevantes e de padres de comportamento em grandes
massas de dados (LOPES, 2009). Em um contexto no qual grande parte da informa-
o corporativa armazenada em linguagem natural, a Minerao de Textos surge
como importante ferramenta para gesto do conhecimento, englobando tcnicas e
ferramentas inteligentes, a fim de satisfazer objetivos estratgicos e atender s ne-
cessidades do negcio das empresas (PASSINI, 2012).
A seguir sero apresentadas as etapas do processo de Minerao de Tex-
tos.
2.2 Processos de Minerao de Textos
As etapas do processo de minerao de texto constituem em seleo ou co-
leta, pr-processamento, transformao (Representao dos documentos), minera-
o de texto e avaliao dos resultados (interpretao). Na figura 1 pode ser obser-
vado o fluxo dessas etapas que, ao chegar ao seu final, obtido o conhecimento
descoberto acerca da coleo textual analisada.
Figura 1. Etapas dos Processos de MT (FAYYAD et al. (1996) apud BRITO, 2013).
18
2.2.1 Seleo ou coleta
A primeira etapa fazer uma busca pelos documentos que se tem interesse
em extrair informaes, formando a base de conhecimento, conhecido em minera-
o de textos como corpus. Essa busca pode ser feita em diversas fontes diferentes,
como blogs, sites de review entro outros. Para isso pode ser interessante o uso de
web crawlers (rastreador web), que um software desenvolvido para realizar uma
varredura na internet de maneira sistemtica atravs de informao vista como rele-
vante a sua funo (POZZEBON, 2011).
2.2.2 Pr-processamento
Os dados armazenados normalmente esto escritos em lngua natural, no
estruturados, dessa forma ocorre a preparao dos dados para que os algoritmos de
minerao possam ser aplicados.
O objetivo do pr-processamento eliminar e tratar os dados que no se
adequam s informaes, sendo assim necessrio o tratamento e padronizao da
coleo textual e seleo dos termos (palavras) mais significativos (REZENDE et al.,
2011). Para isso, feito uso de mtodos para extrao e integrao, limpeza, sele-
o e reduo de volume destes dados, para que a etapa de minerao possa ser
feita de maneira mais rpida e eficiente (MORAIS e ABRSIO, 2007).
A etapa de pr-processamento demanda maior parte do tempo do processo
de extrao de conhecimento, pois exige um bom planejamento para ser obter um
bom desempenho na MT e boa parte do processamento feito nessa etapa (SILVA,
2004).
O pr-processamento tem como um dos objetivos principais a reduo do
nmero de palavras, que pode ser obtida identificando similaridades em funo de
variaes morfolgicas ou de sinonmia, no somente pela questo computacional,
mas tambm para alcanar uma melhor informatividade das palavras mantidas (pa-
lavras relevantes que detm uma boa representatividade dos documentos), propor-
cionando um ganho na qualidade e performance na etapa da aplicao dos algorit-
mos de minerao de texto (GUELPELI, 2012).
19
Na etapa de pr-processamento pode ser fazer uso de uma srie de tcni-
cas, como anlise lxica, remoo de termos considerados irrelevantes, ou
stopwords, a eliminao de redundncias e/ou variaes morfolgicas dos termos
(radicalizao de termos com stemming, com a remoo de prefixos e sufixos) e se-
leo de termos.
No existe uma definio de quais tcnicas devem ser usadas, cada pro-
blema tem suas caractersticas e requer diferentes implementaes e tcnicas ne-
cessrias para uma minerao de dados textuais mais eficaz.
Os dados frequentemente so encontrados com diversas inconsistncias:
registros incompletos, valores errados, dados inconsistentes e erros de digitao,
sendo assim tcnicas de limpeza destes dados so importantes para garantir a qua-
lidade dos mesmos (CAMILO E SILVA, 2009).
Os mtodos mais comuns do pr-processamento a eliminao de termos
irrelevantes dos textos, como a remoo de stopwords (palavras irrelevantes) e a
normalizao morfolgica (stemming), como ilustra a imagem 2 (SILVA, 2004).
Figura 2. Etapas do Pr-processamento (SILVA, 2004).
2.2.2.1 Anlise lxica
A anlise lxica a etapa para converter uma sequncia de caracteres (o
texto dos documentos) numa sequencia de palavras (BARION e LAGO, 2008), isso
feito se observando os separadores de palavras (como espao e nova linha).
20
na anlise lxica que feita a normalizao do documento, eliminando-se
os dgitos e os sinais de pontuao e convertendo todos os caracteres para um ni-
co tamanho, maisculo ou minsculo (case folding) (SILVA, 2004).
A seguir sero descritas algumas tcnicas que so usadas para auxiliar a
etapa da seleo de atributos, como (stopwords) e normalizao morfolgica.
2.2.2.2 StopWords
Esta fase envolve a eliminao de algumas palavras que no devem ser
consideradas no documento (MORAIS e ABRSIO, 2007). Stopwords pode ser de-
finida como um conjunto de palavras que aparecem com muita frequncia, o que
torna esses termos irrelevantes, pois nada acrescentam para a representatividade
dos documentos. A remoo de termos irrelevantes visa retirada de conectores tex-
tuais e lexicais (conjunes e preposio) e alguns verbos (tais como: ser estar),
artigos, pronomes, interjeies, advrbios e outras classes de palavras auxiliares
que so consideradas com menos relevncia, por esse fato so removidas
(GUELPELI, 2012) e (BARION e LAGO, 2008).
A elaborao da lista de palavras que pertence ao conjunto do stopwords
um processo manual, sendo necessrio avaliar quais palavras devem estar contidas
na lista de stopwords. Como explicado em (BARION e LAGO, 2008), este processo
retira do texto palavras que no tem nenhuma importncia, como consequncia di-
minui o tamanho das estruturas de indexao, facilitando assim o processo de mine-
rao.
2.2.2.3 Radicalizao da palavra ou normalizao morfolgica
(Stemming)
O processo de stemming utilizado para remover todas as variaes de pa-
lavras permanecendo somente a raiz (BARION e LAGO, 2008). Essa tcnica de
identificao de radicais denominada lematizao ou stemming, que em ingls
significa reduzir uma palavra ao seu radical (ou raiz) e encontrar a sua forma primiti-
21
va. Alm da eliminao dos prefixos e sufixos, caractersticas de gnero, nmero e
grau das palavras so eliminadas (MORAIS e ABRSIO, 2007).
Por exemplo, carro, carro ser reduzido a um nico termo: carr. Esse
mtodo no s diminui o nmero de entradas, como tambm aumenta a ocorrncia
do radical nos documentos (SILVA, 2004).
Dois erros podem ocorrer durante o processo de stemming, que so: overs-
temming e understemming. O overstemming ocorre quando a cadeia de caracteres
removida no s o sufixo, mas tambm uma parte do radical. Por exemplo, a pala-
vra gramtica, aps o processamento reduz para grama, o que no representa
o seu radical, que gramat. J understemming ocorre quando um sufixo no
removido totalmente, ou apenas reduzido parcialmente. Por exemplo, a palavra
referncia, aps o processamento reduz para refernci, ao invs de refer,
que o radical correto (MORAIS e ABRSIO, 2007) e (PASSINI, 2012).
Os algoritmos de stemming so dependentes das lnguas para os quais fo-
ram escritos, sendo necessrio utilizar um stemmer especialmente projetado para o
processamento de palavras escritas em portugus (PASSINI, 2012).
A eliminao de stopwords e a normalizao morfolgica diminui significati-
vamente a quantidade de termos e simplifica a representao dos mesmos, dimi-
nuindo assim o custo computacional das prximas etapas (PASSINI, 2012).
Para exemplificar, considere a frase Essa loja tem um bom atendimento,
com base na frase exemplificada, o resultado da remoo dos termos irrelevantes
ficaria: loja tem bom atendimento. Em seguida, feita a normalizao morfolgi-
ca, que reduz os radicais dos termos restantes da etapa anterior. Para a frase dada
como exemplo, a realizao do Stemming ficaria: loj ter bom atend.
2.2.2.4 Processamento de linguagem Natural (PLN):
A rea de Processamento da Linguagem Natural (PLN), lida com problemas
relacionados automao da interpretao da lngua humana em aplicaes como
categorizao textual, recuperao e extrao de Informao (SBC, 2013).
Utilizando conhecimentos da rea de lingustica, o PLN permite extrair enti-
dades (Identificando nomes de pessoas ou empresas), seus relacionamentos, detec-
22
tar sinnimos, corrigir palavras escritas de forma errada e ainda pode desambigu-
las (ARANHA e PASSOS, 2006).
2.2.2.5 Seleo de atributos (termos):
Mesmo aps a retirada das stopwords, ainda existe um nmero muito gran-
de de atributos (GUELPELI, 2012), sendo que muitos deles so redundantes e des-
necessrios (REZENDE et al., 2011), e ai que entra fase de seleo de atributos.
Um nmero elevado de atributos gera a alta dimensionalidade, isso ocorre porque
toda palavra, no documento, pode ser considerada como um atributo, o que exige
um tempo maior de processamento, o que pode inviabilizar o uso de algoritmos de
minerao de texto, e para manter a capacidade de discriminao do atributo, ne-
cessrio manter baixa a dimensionalidade dos dados, tendo um fator crucial para a
um bom resultado e um melhor desempenho (GUELPELI, 2012).
Na Figura 3, com os textos j pr-processados (por exemplo, com o uso de
tcnicas como stopwords e normalizao morfolgica) feita a seleo dos atribu-
tos.
Figura 3. Seleo de atributos
A seleo de termos tem como objetivo obter um subconjunto sucinto e re-
presentativo de termos da coleo textual, conservando as caractersticas do con-
23
junto original de dados, sendo necessria devido a limitaes de espao ou tempo
de processamento, assim segundo Guelpeli (2012), a seleo de atributos tem como
finalidade principal reduzir a dimensionalidade dos atributos, os deixando com uma
maior capacidade de representar a coleo de documentos.
Passini (2012) define a seleo de atributos como o ato de identificar e se-
gregar o que realmente ser relevante para o processo de extrao de padres de
modo que se obtenha dados efetivamente expressivos. Como esclarece Morais e
Abrsio (2007), corresponde etapa de seleo das palavras retiradas do texto que
constituem o ncleo que melhor expressa o contedo destes textos, podendo ser
baseado na frequncia em que o termo aparece (peso) ou na sua posio sinttica
em relao ao texto. Silva (2004) explica que a seleo de atributos visa eliminar
termos que no so representativos, ou ento combinar mais de um termo em um
nico atributo.
As principais tcnicas de seleo de termos so: seleo baseada no peso
do termo, seleo por anlise de co-ocorrncia, seleo por Latent Semantic Inde-
xing e seleo por anlise de linguagem natural (MORAIS e ABRSIO, 2007).
Se informaes relevantes forem descartadas nesta etapa, no podero ser
recuperadas depois. De modo que se a codificao inicial dos dados contiver muita
informao irrelevante ou rudos, a busca por uma seleo adequada pode se tornar
difcil ou consumir muito tempo, e propriedades importantes destes dados podem ser
perdidas em meio ao rudo (MORAIS e ABRSIO, 2007). A seleo de atributos in-
fluencia, por exemplo, os algoritmos de agrupamento que so extremamente sens-
veis alta dimensionalidade e a dados esparsos (GUELPELI, 2012).
A importncia de uma palavra em um texto pode ser avaliada na frequncia
que essa palavras ocorre no documento, na anlise estrutural do documento ou na
sua posio sinttica de uma palavra (MORAIS e ABRSIO, 2007).
As abordagens com o uso de estatsticas costumam ser as mais utilizadas,
essas abordagens tm como principal vantagem ser de simples implementao em
comparao com mtodos no estatsticos, pois no se faz uso de anlise morfos-
sinttica (GUELPELI, 2012),mas atuam selecionando palavras ou combinaes de
palavras estatisticamente mais significantes na coleo (REZENDE et al., 2011).
24
Nessa etapa tambm importante a identificao de termos compostos, le-
vando em considerao que muitas palavras tm significados diferentes quando uti-
lizadas em conjunto. Isso acontece porque existem conceitos que somente so des-
critos atravs da utilizao de duas ou mais palavras adjacentes. Como, por exem-
plo, Processo Cvel ou Processo Criminal (MORAIS e ABRSIO, 2007).
Em seguida sero explicados alguns dos mtodos de seleo de atributos
conhecidos na literatura:
2.2.2.5.1 Abordagem estatstica
Uma forma de realizar a seleo de termos com uma abordagem estatstica
usando medidas estatsticas simples, como a frequncia de termo, conhecida co-
mo TF (do ingls term frequency), que a frequncia absoluta de um determinado
termo ao longo do documento, e a frequncia de documentos, conhecida como DF
(do ingls document frequency), que contabiliza o nmero de documentos em que
um determinado termo aparece (REZENDE et al., 2011). Neste tipo de abordagem a
importncia de um termo dada pelo nmero de vezes que este aparece no texto,
sendo conhecida como Filtragem baseada no peso do termo (MORAIS e ABRSIO,
2007).
Como a determinao da importncia de um termo geralmente dada pelo
seu peso, esta tcnica consiste em eliminar os termos inferiores a um limiar
(threshold) estabelecido pelo usurio ou pela aplicao (MORAIS e ABRSIO,
2007). Esse limiar estabelece um nmero mximo de caractersticas a serem utiliza-
das para caracterizar um documento e todas as outras so eliminadas. Essa tcnica
de seleo conhecida como truncagem (MORAIS e ABRSIO, 2007) e (SILVA,
2004). Um problema determinar a quantidade mnima de termos necessrios para
uma melhor representao dos documentos, para que seus atributos mais relevan-
tes no sejam perdidos no processo (SILVA, 2004).
Para se definir o peso do termo pode-se usar diferentes mtodos (critrios):
Ranking pela frequncia de termo (RTF) ou frequncia absoluta
25
O RTF utiliza TF como medida de melhor desempenho para um determina-
do atributo, dando maior valor quele que apresenta a maior frequncia ao longo da
coleo (GUELPELI, 2012).
Ranking pela frequncia de documentos (RDF)
O RDF baseado na frequncia de documentos e calcula o nmero de do-
cumentos em que os termos aparecem. No RDF considera-se a possibilidade de
certos termos que aparecem em poucos documentos no serem relevantes para a
coleo (GUELPELI, 2012).
Frequncia inversa de documentos ou inverse document frequency (IDF)
Essa abordagem parte do princpio que os termos que so mais frequentes
so mais relevantes que os menos frequentes (GUELPELI, 2012). Entretanto, um
termo comum, tambm pode aparecer em quase toda coleo textual. Quando isso
ocorre, esses termos no so teis para uma boa discriminao, deste modo in-
troduzido o valor da frequncia inversa de documentos. Sendo assim, os termos
aparecem em uma grande quantidade de documentos, tero sua importncia dimi-
nuda (PASSINI, 2012), mesmo que tenha uma alta frequncia de ocorrncias desse
termo nos documentos, e tambm ser aumentada a importncia de termos que
aparecem em poucos documentos, justamente pelo fato que os termos de baixa fre-
quncia so normalmente mais discriminantes (MORAIS e ABRSIO, 2007).
2.2.2.5.2 Seleo por anlise de linguagem natural
Tcnicas de anlise sinttica e semntica so usadas para identificar os
termos mais relevantes de um documento, sendo possvel influenciar o peso dos
termos encontrados em posies sintticas especficas do texto (adjetivo, por exem-
plo) com o objetivo de torn-los mais ou menos relevantes (MORAIS e ABRSIO,
2007), e tambm para a desambiguao do significado da palavra.
26
2.2.3 Representao dos documentos (transformao)
Uma vez selecionado os termos mais representativos da coleo textual, de-
ve-se buscar uma representao que preserve as principais caractersticas da cole-
o textual, de maneira estruturada e concisa, de modo a facilitar a utilizao em
algoritmos de minerao de textos (REZENDE et al., 2011). A escolha do modelo
para representao do documento influencia na alta dimensionalidade e na questo
dos dados esparsos (GUELPELI, 2012), influenciando na quantidade de recursos
computacionais que sero necessrios.
Existe uma variedade de modelos usados para a representao do espao
amostral que foram desenvolvidos no campo de Recuperao de informao (RI),
incluindo o booleano, o espao-vetorial, o probabilstico, o difuso, o da busca direta e
os lgicos indutivos (GUELPELI, 2012). A seguir, sero explicados dois desses mo-
delos.
2.2.3.1 Modelo booleano
O modelo booleano uma das representaes de documentos mais clssi-
cas utilizadas em RI. Essa abordagem avalia a presena ou ausncia do termo no
documento, sendo binrios, isto , {0,1} os pesos atribudos a esses termos. A maior
vantagem deste modelo sua simplicidade e necessidade de pouco espao de ar-
mazenamento (SILVA, 2004).
2.2.3.2 Espao vetorial ou Vector Space Model (VSM)
Nesse modelo uma representao vetorial multidimensional, onde cada do-
cumento um vetor nesse espao multidimensional, e cada palavra encontrada re-
presenta uma dimenso. Assim, VSM representa os documentos com a forma de
uma matriz simples e manipulvel, e permite medir a distncia entre documentos
com graus de similaridade entre todos os elementos de um conjunto de dados, que
pode ser calculada atravs de algum coeficiente de similaridade (LEE et al. (2010)) e
(GUELPELI, 2012).
27
O modelo de espao vetorial uma representao da estrutura tambm co-
nhecida como bag of words. Morais e Abrsio (2007) comenta que esta codificao
considerada uma simplificao de toda a informao expressa pela coleo textual
no fornecendo assim uma descrio fiel de seu contedo. Essa abordagem tam-
bm ignora a ordem que as palavras aparecem nos textos, perdendo a informao
da sintaxe da coleo textual, s retendo nmero de vezes que a palavra aparece, o
que torna essa tcnica insuficiente para interpretao completa a respeito da cole-
o textual, mas ela prov uma quantidade considervel de informaes sobre as-
sociaes entre palavras e documentos que tem se apresentado suficiente para clu-
stering e para recuperao de informaes (MORAIS e ABRSIO, 2007).
2.2.4 Minerao de textos
aqui que acontece a etapa de descoberta do conhecimento onde so pro-
cessados os algoritmos de minerao, com a finalidade de encontrar conhecimen-
tos, reconhecimento de padres e tendncia ou similaridades entre os documentos
(BARION e LAGO, 2008).
Essa a etapa mais importante do processo de descoberta de conhecimen-
to, em que tem como objetivo descobrir informaes teis. Os mtodos mais comuns
de descoberta de conhecimento em texto so: extrao de informaes, sumariza-
o, clustering e classificao ou categorizao (WIVES, 2002).
Esses mtodos podem utilizar diferentes abordagens para a implementao,
sendo as mais comuns as que utilizam tcnicas estatsticas, raciocnio baseado em
casos, redes neurais, rvores de deciso, induo de regras, redes de Bayes, algo-
ritmos genticos, conjuntos difusos (fuzzy) ou conjuntos aproximados (rough sets)
(WIVES, 2002).
Algumas tcnicas utilizam a abordagem do aprendizado supervisionado e
outras do aprendizado no supervisionado. O aprendizado supervisionado quando
o processo de aprendizado se utiliza um conjunto de exemplos (amostras), onde as
amostras so descritas por atributos e cada uma delas j tem definida a classe a
que pertence. Os exemplos e os resultados esperados so apresentados ao algo-
ritmo de aprendizado com o objetivo de aprender como classificar um novo registro,
28
tentando se adaptar visando conseguir o resultado esperado para cada exemplo,
essa etapa conhecida como treinamento ou aprendizado, e nesse momento que
construdo um modelo que descreve um conjunto predeterminado de classes de
dados. O aprendizado chamado de no supervisionado quando se possuem os
dados, mas no se possuem modelos ou exemplos que possam ser ensinados ao
algoritmo (PASSINI, 2012) e (WIVES, 2002).
A seguir sero apresentadas as tarefas mais comuns de minerao de da-
dos:
2.2.4.1 Classificao
A classificao tem o objetivo de identificar a que classe determinado regis-
tro pertence, utilizando como base o seu contedo (WIVES, 2002), sendo que mui-
tos algoritmos de classificao utilizam a abordagem de aprendizado supervisiona-
do.
2.2.4.2 Descrio
a tarefa utilizada para descrever os padres e tendncias revelados pelos
dados. A descrio geralmente oferece uma possvel interpretao para os resulta-
dos obtidos. A tarefa de descrio muito utilizada em conjunto com as tcnicas de
anlise exploratria de dados, para comprovar a influncia de certas variveis no
resultado obtido (CAMILO E SILVA, 2009).
2.2.4.3 Predio
A tarefa de predio tambm similar s tarefas de classificao e estima-
o, entretanto, tem como objetivo prever o resultado do valor futuro de um atributo
especfico (CAMILO E SILVA, 2009), como por exemplo, a previso de distrbios
urbanos.
29
2.2.4.4 Agrupamento ou Clusterizao (Clustering)
A tarefa de agrupamento visa identificar e aproximar os registros baseado
em alguma medida de proximidade, sendo um processo que tenta descobrir as ca-
tegorias que um determinado registro contm ou pertence. Um agrupamento (ou
cluster) uma coleo de registros similares entre si, porm dissimilares dos outros
agrupamentos, de tal maneira que o agrupamento baseado no princpio de maxi-
mizar a similaridade interna dos grupos (intragrupo) e minimizar a similaridade entre
os grupos (intergrupos) (REZENDE et al., 2011), (GUELPELI, 2012), (WIVES, 2002)
e (CAMILO E SILVA, 2009).
Essa tcnica utiliza o aprendizado no supervisionado, e no tem o objeto
de classificar (identificando a que classe o documento pertence), estimar ou predizer
o valor de uma varivel, ao invs disso ela simplesmente identifica quais so os as-
suntos de que o documento trata, identificando os grupos de dados similares, sendo
assim essa tcnica geralmente utilizada antes de um processo de classificao,
facilitando a definio de classes (WIVES, 2002) e (CAMILO E SILVA, 2009).
2.2.4.5 Associao (Association)
A tarefa de associao consiste em identificar quais atributos esto relacio-
nados, tendo a forma: SE atributo X ENTO atributo Y, "Se antecedente, em segui-
da, consequente," junto com uma medida de confiana associada regra. muito
utilizada, principalmente nas anlises da "Cestas de Compras" (Market Basket), on-
de se tenta descobrir as regras de relao dos itens mais frequentes, descobrindo se
a presena de um determinado item implica na presena de outro. Esta construo
recebe o nome de Regras de Associao (AssociationRules) (CAMILO E SILVA,
2009), (LAROSE, 2005) e (WIVES, 2002).
Nesse trabalho ser dada mais nfase na classificao, onde os algoritmos
que j so normalmente utilizados em minerao de textos podem ser aplicados na
tarefa de anlise de sentimentos, em (LIU, 2010a) explicado que os mtodos de
aprendizagem supervisionados existentes podem ser facilmente aplicados classifi-
30
cao de sentimento, por exemplo, Naive Bayes e Support Vector Machines (SVM),
entre outros mtodos, com o objetivo de classificar o sentimento de um post feito por
algum usurio na rede social como positivo, negativo ou neutro.
2.2.5 Avaliao e interpretao dos resultados
A avaliao e interpretao dos resultados a ltima etapa da minerao de
textos, nessa etapa feita a avaliao e validao das descobertas obtidas, visando
examinar se o conhecimento extrado relevante e til, com finalidade de constatar
que o objetivo da aplicao foi alcanado. Em caso negativo, iniciada uma averi-
guao de quais etapas do processo esto influenciando negativamente o resultado.
Por meio dessa investigao feito alguns ajuste nessas etapas que esto ocasio-
nando a piora no resultado, tentando alcanar uma melhora na aplicao (SILVA,
2004).
Embora a definio de Minerao de textos der a entender que a obteno
do conhecimento acontece de forma inteiramente automtica, em (LAROSE, 2005)
mostrado que no, que necessria a superviso e interao humana em todas as
fases do processo. Sendo assim, como constatado em (CAMILO E SILVA, 2009), os
resultados ainda precisam de uma anlise humana, mas mesmo assim a minerao
colabora de forma expressiva no processo de descoberta de conhecimento, propor-
cionando que se possa concentrar esforos apenas nas partes mais importantes dos
dados. Sendo assim, deve-se dar ateno especial para a forma como os resultados
obtidos so mostrados aos usurios finais, de modo que estes sejam de fcil enten-
dimento e compreenso.
31
3. ANLISE DE SENTIMENTOS
Anlise de Sentimento (AS) um ramo da minerao de textos preocupado
em classificar textos no por tpicos, e sim pelo sentimento ou opinio contida em
determinado documento (SANTOS, 2010). Sendo o estudo computacional de opini-
es, sentimentos e emoes expressas em texto (LIU, 2010b), fazendo-o reconhe-
cimento automtico de emoes em informao textual (MARTINAZZO, 2010) com a
utilizao de tcnicas para identificar e extrair informaes subjetivas contidas em
um dado material (ALEM, 2013), verificando qual sentimento eles representam e de-
cidir se o documento exprime uma opinio positiva, negativa, neutra ou, at mesmo,
tentar classificar qual emoo est presente, como raiva, felicidade, tristeza, e etc
(NASCIMENTO et al. (2012)). Na literatura pode-se encontrar anlise de sentimento
como sinnimo de Minerao de opinio (SIEDLER, 2013).
Geralmente associado tarefa de classificao binria entre sentimentos
positivos e negativos (SIEDLER, 2013), em documentos com carga opinativa, a an-
lise de sentimentos pode ser formulada como um problema de classificao, onde a
tarefa classificar as mensagens em duas classes, dependendo se eles transmitem
sentimentos positivos ou negativos (ALEM, 2013), realizando o estudo computacio-
nal de opinies, sentimentos e emoes expressas em texto (JOSE et al. (2010)).
No analisado o que o contedo dos textos expressa, mas sim a sua emo-
o predominante (positivo ou negativo), mas pode-se ir mais alm, detalhando um
sentimento como sendo de raiva, tristeza ou decepo, ao invs de apenas negati-
vo. Esta anlise pode ainda ser realizada em diversos nveis de granularidade,
desde documentos inteiros, at cada sentena individual (ALEM, 2013).
Nesse trabalho, anlise de sentimento refere-se a o mtodo geral para extra-
ir a polaridade do texto (positivo, negativo ou neutro) e orientao semntica refere-
se a polaridade das palavras, frases ou textos.
32
Os algoritmos de AS podem atuar de forma flexvel, utilizando tcnicas de di-
ferentes reas da computao, com esse mesmo fim (SIEDLER, 2013). A Classifi-
cao de sentimento baseou-se e contribuiu para a pesquisa sobre a classificao
de texto, processamento de linguagem natural, adaptao entre domnios (cross-
domain adaptation), e os efeitos da conversa boca-a-boca (word-of-mouth) (LI et al.
(2011)).
A Classificao de sentimento semelhante classificao texto clssica
baseada em tpicos, mas tem suas diferenas. Na classificao baseada em tpi-
cos, palavras relacionadas so importantes. No entanto, na classificao de senti-
mento, palavras relacionadas com o tema no so importantes. Em vez disso, pala-
vras com teor subjetivo (que carregam consigo um contedo opinativo) que indicam
sentimentos (opinies) positivos ou negativos so importantes como, por exemplo,
timo, excelente, maravilhoso, horrvel e mau (LIU, 2010b).
3.1 Desafios Enfrentados na Anlise de Sentimentos
3.1.1 Fatos e opinies
O texto para ser analisado por um classificador de sentimento no neces-
sariamente sempre opinativo. Por exemplo, a tarefa de classificar uma notcia em
boa ou m tem sido considerada uma tarefa de classificao sentimento, apesar de
que uma notcia tenha intrinsecamente um carter imparcial (PANG e LEE, 2008).
De acordo com Liu (2010b) informaes textuais podem ser classificadas em
dois tipos principais, que so fatos e opinies, assim, antes de definir a polaridade
do sentimento existe outra tarefa importante a se fazer, que a necessidade de
filtrar textos que contm carga opinativa daqueles que so objetivos (SANTOS,
2010). O problema de distinguir situaes subjetivas em relao objetivo muitas ve-
zes provou ser mais difcil do que subsequente classificao de polaridade, essa
tarefa de classificar uma sentena como opinativo ou no opinativo chamado de
subjectivity classification (LIU, 2010b), (JOSE et al. (2010)) e (SANTOS, 2010). Os
fatos so expresses objetivas (informaes factuais) sobre as entidades ou even-
tos, enquanto opinies so geralmente expresses subjetivas (sentimentos pesso-
ais) que descrevem sentimentos ou julgamento das pessoas em relao s entida-
33
des ou eventos. Um documento considerado opinativo quando alguma de suas
sentenas tem um carter opinativo (subjetivo). A melhora na classificao da subje-
tividade pode impactar positivamente na classificao de sentimento (JOSE et al.
(2010)).
3.1.2 Opinio Implcita e divergentes
Uma opinio pode ser dada de maneira explicita ou implcita. Um exemplo
de frase que expressa uma opinio positiva explicita : A tela do celular incr-
vel, um exemplo de opinio implcita negativa seria: O celular era para ter che-
gado dia 05, hoje dia 06.
Um documento pode conter uma quantidade significativa de informaes de
forma muito comprimida, apresentando simultaneamente sentenas positivas e ne-
gativas sobre diferentes caractersticas de um produto, contendo opinies divergen-
tes (BIFET e FRANK, 2010). A Classificao de Sentimento avalia o documento in-
teiro com a finalidade de obter apenas uma opinio geral (SIEDLER, 2013). A or-
dem na qual as opinies divergentes so apresentadas podem ser um fator determi-
nante para definir a polaridade do sentimento geral de um documento (PANG e LEE,
2008). Por exemplo, a frase Esse filme uma grande produo, com atores fa-
mosos, com todos os requisitos para fazer um grande sucesso, mas me de-
cepcionou. Apesar da orientao predominantemente positiva o sentimento geral
negativo, devido a ltima sentena. Alm disso, um texto pode referenciar mais de
um item de interesse (pode citar Xbox e PlayStation) com opinies diferentes sobre
os itens, o que pode confundir a classificao (RODRIGUES et al. (2012)).
Alm disso, um post (uma publicao de um usurio) pode conter uma quan-
tidade significativa de informaes de forma muito comprimida, e carregar simulta-
neamente sentimentos positivos e negativos (BIFET e FRANK, 2010). Por exemplo,
a frase Esse smartphone tem um bom desempenho, mas o seu acabamento
horrvel.
No caso deste trabalho que usa as redes sociais Twitter e Facebook para
classificar os posts dos seus usurios, essa no uma preocupao muito importan-
34
te, pois os usurios em redes sociais costumam fazer publicaes (post) curtos,
principalmente no Twitter h uma limitao de 140 caracteres.
3.1.3 Contexto
Como explicado em (PANG e LEE, 2008), o significado de uma palavra, as-
sim como sua polaridade, sensvel a seu contexto. Por exemplo, Estou para ficar
louco, mal posso esperar at o dia do lanamento para pode jogar esse jogo,
no consigo esconder minha impacincia. A presena das palavras louco e
impacincia sugere a existncia de sentimento negativo, o que no verdade, j
que a frase mostra que o a pessoa est interessada em comprar o jogo.
Outro exemplo a frase: "Eu estou procurando um bom carro para mi-
nha famlia", "bom" aqui no expressa uma opinio positiva ou negativa sobre qual-
quer carro em especfico (LIU, 2010b).
3.1.4 Dependncia de domnio
Classificao de sentimento altamente sensvel ao domnio, onde a preci-
so da classificao pode ser influenciada pelo domnio no qual so extrados os
dados de treino. Apesar de tais classificadores funcionarem muito bem no domnio
que eles so treinados, muitas vezes o seu desempenho cai bruscamente quando
aplicado ou testado em textos opinativos de um domnio diferente (PANG e LEE,
2008), (LIU, 2010b) e (TABOADA et al., 2011).
A dependncia de domnio no s em consequncia de alteraes no vo-
cabulrio, um motivo para que isso acontea que a mesma palavra (ou frase) pode
ter um significado positivo em um domnio, mas em outro domnio pode significar
negativo, contendo sentimentos diferentes em diferentes domnios (PANG e LEE,
2008) e (LIU, 2010b). Por exemplo, o adjetivo imprevisvel pode ter uma orientao
negativa quando se fala de um carro, mas poderia ter uma orientao positiva quan-
do se trata de um filme (LIU, 2010b). Outro exemplo seria a frase, "ir ler o livro"
provavelmente indica sentimento positivo para resenhas de livros, mas o sentimento
negativo para resenhas de filmes (PANG e LEE, 2008).
35
3.1.5 Erros ortogrficos
O contedo do usurio compartilhado em redes sociais apresenta desafios
adicionais para a anlise devido falta de estrutura da frase e do uso da linguagem
informal da Internet (CVIJIKJ e MICHAHELLES, 2011), sendo mais propensas a ter
erros gramaticais e ortogrficos, coloquialismos e grias, principalmente no Twitter
onde se h um limite de 140 caracteres que se impe sobre os usurios (PARIKH e
MOVASSATE, 2009). Por exemplo, um usurio pode escrever a palavra gosto
como goooosto, em que negligenciada a ortografia correta, predominando a lin-
guagem casual.
Devido s grias que so usadas nas redes scias, necessrio criar um vo-
cabulrio padronizado para o jargo usado na Internet (CVIJIKJ e MICHAHELLES,
2011) e (RODRIGUES et al. (2012)), determinando assim a qual polaridade pertence
(emoo positiva ou negativa). Tambm h smileys ou emoticons, que so elemen-
tos visuais que esto associados com os estados emocionais (BIFET e FRANK,
2010). Por exemplo, o uso de termos como blz (beleza) ou kkkkkkkkkkkkk (rin-
do), ou o uso de emotions como : ) (sorriso), que podem carregar consigo uma
carga opinativa.
3.1.6 Negao
A presena de palavras de negao podem mudar a orientao da opinio.
Por exemplo, a frase "Eu no gosto desse celular" negativa. No entanto, deve-se
tomar cuidado com as palavras de negao, porque nem todas as ocorrncias de
tais palavras significam negao. Por exemplo, "no" em "no s ... mas tambm"
no muda a direo a orientao (LIU, 2010b).
A abordagem bvia de negao simplesmente para inverter a polaridade
do item lexical ao lado de um negador, mudando bom (3) para no bom (-3).
(TABOADA et al., 2011). Como explicado em (TABOADA et al., 2011), no somen-
te a palavra no que pode inverte a polaridade do item lexical, outras termos que
podem ter o mesmo efeito nenhum, ningum, nunca, e nada, como exem-
plificado nas frases a seguir.
36
A) Ningum d um bom comentrio em relao a essa cmera. (ningum
nega bom).
B) De cada uma das dez participantes, nenhum delas so fracas. (nenhum
nega fraco).
C) Apenas um filme medocre, nada de espetacular. (nada nega espetacu-
lar.).
Outra dificuldade com a negao que a negao muitas vezes pode ser
expressa de formas bastante sutis (de uma maneira eufmica), ou por meio de sar-
casmo e ironia, que so complexos de serem identificados e podem ser muito dif-
ceis de detectar. Como por exemplo essa frase Depois de 5 horas longe do tra-
balho, eu tenho que voltar novamente, eu tenho muita sorte! (BIFET e FRANK,
2010), (PANG e LEE, 2008) e (RODRIGUES et al. (2012)).
3.2 Tcnicas de classificao
Existem diferentes tipos abordagens para alcanar o objetivo da classifica-
o de sentimentos. Duas abordagens frequentemente utilizadas para extrair uma
opinio de textos a lexical e aprendizagem de mquina (WAILA et al. (2012)) e
(TABOADA et al. (2011) ) :
Aprendizagem de mquina
uma abordagem estatstica, utilizando um classificador de texto, tal como
Naive Bayes, SVM (Support Vector Machine) ou kNN (K-Nearest Neighbor), que faz
uso de uma abordagem de aprendizagem de mquina, onde necessrio o uso de
uma coleo textual previamente classificada para o treinamento do classificador,
para ento rotular os documentos em grupos positivos e negativos (WAILA et al.
(2012)).
Abordagem baseada em palavras (lxico)
A abordagem baseada em palavras (lxico) envolve o clculo da orientao
de um documento a partir da orientao semntica das palavras ou frases no docu-
mento. Nessa abordagem se faz uso de dicionrios com palavras anotadas com sua
orientao semntica (polaridade e fora), que utilizado para calcular a polaridade
do documento (TABOADA et al., 2011).
37
3.2.1 PMI (Pointwise Mutual Information)
PMI-IR faz uso da recuperao de Informao (RI) e informaes mtuas
pontuais (Pointwise Mutual Information - PMI) para medir a relao entre uma ou
mais palavras, dentro de um conjunto de texto. Dessa forma, as estatsticas da co-
ocorrncias de palavras utilizada para comparar a probabilidade de encontrar dois
itens juntos com a probabilidade de estarem separados, a fim de calcular a fora da
associao semntica entre as palavras (LOPES et al. (2008)), (TURNEY, 2002) e
(TURNEY e LITTMAN, 2002). O PMI entre duas palavras, word1 e word2 definida
da seguinte forma (TURNEY e LITTMAN, 2002):
PMI (word1 e word2) = log2 ((word1 & word2)
(word1) (word2)) (1)
Onde (word1 & word2) a probabilidade P fornecida pela contagem da co-
ocorrncia das palavras word1 e word2 numa janela (intervalo) definida de texto, que
pode ser uma distncia d entre palavras, uma frase, um pargrafo ou at mes-
mo um documento no corpus (conjunto de dados) analisado (TURNEY e
LITTMAN, 2002) e (LOPES et al. (2008)). J (word1) (word2) a probabilidade
de que os dois termos co-ocorram se eles so estatisticamente independentes (LIU,
2010b) e (TURNEY e LITTMAN, 2002).
Dessa forma, a razo entre o (word1 & word2) e (word1) (word2) a
medida do grau de dependncia estatstica entre as palavras (LIU, 2010b) e
(TURNEY e LITTMAN, 2002). O registro desta relao a quantidade de informa-
es que adquirimos sobre a presena de uma das palavras quando observamos a
outra (LIU, 2010b).
A orientao semntica de uma palavra calculada com base em sua asso-
ciao com palavras de referncia positivas e negativas (TURNEY e LITTMAN,
2002), como mostra a equao abaixo (LIU, 2010b):
SO-PMI-IR (word) = PMI (word, {paradigmas positivos}) - PMI (word, {para-
digmas negativos}) (2)
38
Nessa equao, como explicado em (TURNEY e LITTMAN, 2002), paradig-
mas positivos representam palavras com orientao semntica positiva (por exem-
plo: bom, feliz rico, maravilhoso), e paradigmas negativos representam palavras com
orientao semntica negativa (ruim, triste, fraco).
3.2.2 Naive Bayes
O classificador Naive Bayes um mtodo simples e frequentemente utiliza-
do para o aprendizado supervisionado. Essa tcnica fornece uma maneira flexvel
para lidar com qualquer nmero de atributos ou classes, e o classificador baseado
com base em um modelo probabilstico do teorema de Bayes, assumindo que cada
caracterstica condicionalmente independente de outras caractersticas (JOSE et
al. (2010)) e (NASCIMENTO et al. (2012)).
o algoritmo de aprendizagem assintoticamente mais rpido, que examina todas as suas entradas de treinamento e demonstrou-se sair surpreenden-temente bem em uma grande variedade de problemas, apesar da natureza do modelo simplista (JOSE et al., 2010).
Os textos so representados com a representao bag of words (saco-de-
palavras), ou seja, suas posies exatas so ignoradas (NASCIMENTO et al.
(2012)) e (BIFET e FRANK, 2010). Assumindo que c a classe, e d o documento
que se quer classificar, e o nmero de vezes que a palavra w ocorre no docu-
mento d, e P(c) sendo a probabilidade a priori da classe c, que estimado pela pro-
poro de documentos de treino que pertencem classe, a probabilidade da classe
c dado um documento de teste calculado como se segue (BIFET e FRANK, 2010):
(|) =() (|)
() (3)
No nosso caso, o valor da classe c pode ser positivo, negativo ou neutro, e d
seria um post de um usurio. O objetivo escolher o valor de c para maximizar
(|), e assim obter a classe com a maior probabilidade como previso (JOSE et
al. (2010)). (|) a probabilidade da caracterstica (apalavra) w aparecer no do-
39
cumento dada classe c (JOSE et al. (2010)) e (BIFET e FRANK, 2010). preciso
treinar os parmetros () e P(w|c) (JOSE et al. (2010)), que calculada a partir
dos dados de treinamento, onde se calcula a frequncia relativa de cada palavra na
coleo de documentos de treinamento da classe (BIFET e FRANK, 2010).
Sendo que () um fator de normalizao. Para evitar o problema de fre-quncias zero, comum utilizar a correo de Laplace para todas as proba-bilidades condicionais envolvidas, o que significa que todos os contadores so inicializados com o valor um, em vez de zero. (BIFET e FRANK, 2010).
Pequenas quantidades de dados ruins, ou rudo, no atrapalham muito os
resultados (JOSE et al. (2010)). A desvantagem dessa tcnica est na necessidade
do uso de um conjunto de contedos previamente classificados para realizar seu
treinamento, e a partir do modelo j treinado, novos contedos so classificados.
Mas para diferentes tpicos, diferentes modelos, e consequentemente diferentes
conjuntos de treinamentos devem ser adotados (RODRIGUES et al. (2012)). Por
exemplo, um modelo que foi treinado em um domnio referente a carros no ade-
quado para classificar opinies referentes viagens.
Para demostrar melhor o funcionamento do Naive Bayes, ser mostrado um
exemplo prtico. Um documento ser classificado em Classe1 e Classe2, e a base
de treinamento usada para esse exemplo mostrada na tabela 1, com DocClasse1
e DocClasse2, pertencentes a Classe1 e Classe2 respectivamente. Onde cada do-
cumento poder conter ou no as palavras 1, . . . 4.
p1 p2 p3 p4
DocClasse1 5 3 0 2
DocClasse2 1 0 6 5
Tabela 1: Exemplo ilustrativo - Documentos x Palavras (Primeira etapa)
A metodologia empregada exige que em todos os resultados em que no h
a palavra no documento, seja colocado uma ocorrncia, para no alterar significati-
vamente os outros resultados, somado 1 em todas as ocorrncias (SIEDLER,
2013).
40
p1 p2 p3 p4
DocClasse1 6 4 1 3
DocClasse2 2 1 7 6
Tabela 2: Exemplo ilustrativo - Documentos x Palavras (Segunda etapa)
Como exemplificado na tabela 2, p1 ocorre tanto no documento Class1 e
Class2, mas a probabilidade dessa palavra ser encontrada na Class1 de 6/8 (de
um total de oito vezes que essa palavra aparece nos documento de treinamento,
seis dela ocorre em documentos da Classe1), e na Classe2 de 2/8. Na prxima
etapa so convertidos os dados da base de treinamento em frequncias, para ento
serem adicionados dois arquivos de testes, o doc3 e doc4, os quais devem ser tes-
tados a fim de definir a categoria. Os novos dados so mostrados na Tabela 3.
(SIEDLER, 2013).
p1 p2 p3 p4
Classe1 0,75 0,8 0,12 0,33
Classe2 0,25 0,2 0,87 0,66
Doc3 2 1 0 0
Doc4 0 0 2 1
Tabela 3: Exemplo ilustrativo - Documentos x Palavras (Terceira etapa)
A seguir so calculadas a probabilidades de Doc3 e Doc4 de pertencer a
Class1 ou Class2:
{3 = 1} = (0,752 0,8) = 0.45 (4)
{3 = 2} = (0,252 0,2) = 0.0125 (5)
{4 = 1} = (0,122 0,33) = 0.0047 (6)
{4 = 2} = (0,872 0,66) = 0.499 (7)
Assim, possvel concluir atravs das probabilidades que Doc3 pertence a
Classe1 e Doc4 pertence a Classe2 (SIEDLER, 2013).
41
O classificador Naive Bayes possui o modelo binrio e o modelo multinomial,
no modelo binrio cada documento representado por um vetor de atributos bin-
rios, de modo que cada atributo indica a ocorrncia ou no de um evento no docu-
mento (OGURI, 2006).
Multinomial Naive Bayes (MNB) a verso do Naive Bayes que comumen-
te usada para problemas de categorizao de texto (FRANK e BOUCKAERT, 2006).
No modelo multinomial, cada documento representado por um vetor de atributos
inteiros caracterizando o nmero de vezes que cada palavra ocorre no documento
(OGURI, 2006).
3.2.3 Baseada em palavras (lxico)
Abordagem na qual um determinado texto avaliado com base no resultado
da avaliao de suas palavras, tendo como base um conjunto de palavras opinativas
previamente classificadas, que utilizada para determinar a polaridade da informa-
o subjetiva sendo avaliada (RODRIGUES et al. (2012)) e (ALEM, 2013). Na litera-
tura, palavras de opinio tambm so conhecidas como palavras polares, que so
palavras portadoras de opinio ou palavras de sentimento (LIU, 2010b), e o carter
avaliativo de uma palavra chamado de orientao semntica (TURNEY e
LITTMAN, 2002). Sendo assim necessrio ter um dicionrio de palavras positivas e
negativas, com seus graus numricos para indicar o quanto uma palavra ou expres-
so indica o sentimento avaliado (RODRIGUES et al. (2012)). Por exemplo, em um
dicionrio que contem basicamente a palavra e o seu valor da orientao semntica
(valor esse normalizado entre -1 e 1), ficaria dessa forma:
Palavra Valor
bom 0.530
triste -0.430
incrvel 0.630
Tabela 4. Orientao Semntica das Palavras.
42
Na tabela 4, as palavras bom e incrvel expressam sentimento positivo,
j a palavra triste expressa sentimento negativo.
Porm, isto resulta em algumas desvantagens, como principalmente o custo
de se montar tal lista de palavras de forma manual, ou o rudo de se tentar ger-la
de forma automtica (ALEM, 2013).
A abordagem baseada em palavras utiliza basicamente palavras de opinio e frases em uma sentena para determinar a orientao da opinio. Pala-vras de opinio so palavras que so comumente usados para expressar sentimentos positivos ou negativos. Apesar de que muitas palavras de opi-nio so adjetivos e advrbios, os substantivos (por exemplo, lixo, sucata e porcaria) e verbos (por exemplo, odiar e gostar) tambm podem indicar opi-nies. Alm de palavras individuais, h tambm frases e expresses de opi-nio, por exemplo, isso custa um brao e uma perna. Palavras de opinio e frases so instrumentos para anlise de sentimentos, por razes bvias (LIU, 2010b).
A vantagem desta tcnica est na sua simplicidade, e o fato de no ser ne-
cessrio classificar previamente um conjunto de contedo para treinamento
(RODRIGUES et al. (2012)). Entretanto, palavras subjetivas podem representar sen-
timentos totalmente opostos em diferentes contextos ou domnios, como um monitor
grande e um carregador grande, ou ainda uma bebida gelada e uma comida gelada.
(ALEM, 2013). Dessa forma, o conjunto de palavras deve ser cuidadosamente sele-
cionado, tratando ainda a ambiguidade de uma mesma palavra em um mesmo tpi-
co (RODRIGUES et al. (2012)).
A abordagem baseada em dicionrio e as palavras de opinio coletadas tm
uma grande falha. A abordagem incapaz de encontrar palavras de opinio com
orientaes especficas de domnio. Uma abordagem baseada em corpus pode aju-
dar a lidar com este problema (LIU, 2010b).
3.3 Trabalhos Relacionados
O trabalho desenvolvido por Oliveira (2013) utiliza uma abordagem de
aprendizado no supervisionado com SentiWordNet para anlise de comentrios na
lngua portuguesa, pra tal ele teve que traduzir os comentrios de portugus para
ingls (no qual foi utilizado o Google Translate), j que o SentiWordNetfoi feito para
43
a lngua inglesa, tambm foi necessrio montar uma base de comentrios para trei-
namento, onde cada comentrio foi classificado manualmente.
J o estudo realizado por Martinazzo (2010) descreve um experimento de
um sistema que identifica emoes em textos de lngua portuguesa do Brasil, com o
objetivo de identificar uma das seis emoes bsicas (alegria, raiva, tristeza, des-
gosto, medo e surpresa) de notcias de pginas de jornais, com a utilizao de um
mtodo baseado em LSA (LatentSemanticAnalysis).
Turney (2002) usa o algoritmo PMI-IR para estimar a orientao semntica
de uma frase. Para isso se faz uso do operador NEAR (prximo) do AltaVista (hoje
do Yahoo), que restringe a busca a textos em que as palavras-chave aparecem a
uma distncia de 10 palavras uma da outra, em qualquer ordem. A classificao de
um review dada pela mdia da orientao semntica das frases. Li et al., (2011)
utiliza uma abordagem parecida com o PMI, mas ao invs de usar o operador NEAR
utilizado o snippets, que so as informaes resumidas das pginas retornadas
pelo motor de busca.
O trabalho feito por Nascimento et al., (2012) visa analisar o sentimento de
tweets em relao s principais notcias que esto sendo divulgadas na mdia e que
foram propagadas no Twitter, avaliando assim a reao das pessoas a estas not-
cias. Esse trabalho tambm tem como objetivo comparar o desempenho de diferen-
tes implementaes de modelos N-grama. Foi realizada uma classificao dos
tweets de forma manual para gerar a base de treinando, que ento foi utilizada para
treinar os classificadores.
O trabalho apresentado nessa monografia utiliza tanto uma abordagem de
aprendizado no supervisionado com SentiWordNet, como uma abordagem de
aprendizado supervisionado com Naive Bayes, onde a base de treinamento foi obti-
da a partir de um site onde os usurios podem deixam sua avaliao sobre a compra
de produtos em uma determinada empresa.
44
4. MATERIAIS E MTODOS
Neste captulo sero apresentados os materiais utilizados para o desenvolvimento
do sistema, bem como os mdulos que a compem, descrevendo a metodologia uti-
lizada.
4.1 Materiais Utilizados
4.1.1 Weka
WEKA um produto da Universidade de Waikato (Nova Zelndia) e foi im-
plementado pela primeira vez em sua forma moderna em 1997 (ABERNETHY,
2010). Weka uma coleo de algoritmos de aprendizado de mquina para tarefas
de minerao de dados, contendo ferramentas para pr-processamento de dados,
classificao, regresso, clustering, regras de associao e visualizao. Tambm
bem adequado para o desenvolvimento de novos sistemas de aprendizagem de m-
quina (WEKA, 2013).
Ele tambm possui uma API, sendo assim possvel que os algoritmos pos-
sam ser aplicados diretamente a um conjunto de dados ou chamados a partir do seu
prprio cdigo Java (WEKA, 2013). Tornando possvel que seus prprios aplicativos
possam fazer tarefas de minerao de dados automatizadas no lado do servidor
(ABERNETHY, 2010).
Weka um software de cdigo fonte aberto, emitida sob o GNU General Pu-
blic License (GPL), sendo portanto possvel estudar e alterar o cdigo fonte.
45
4.1.2 SentiWordNet
SentiWordNet um recurso lexical para a minerao de opinio, onde atribui
a cada synset da WordNet trs pontuaes de sentimento: positividade, negativida-
de, a objetividade. SentiWordNet distribudo sob a licena Attribution-ShareAlike
3.0 Unported (CC BY-SA 3.0) (SENTIWORDNET, 2013).
WordNet um grande banco de dados lexical em Ingls. Substantivos, ver-bos, adjetivos e advrbios so agrupados em conjuntos de sinnimos cogni-tivos (synsets), cada um expressando um conceito distinto.[..] WordNet su-perficialmente se assemelha a um thesaurus (dicionrio de sinnimos), em que ele agrupa palavras com base em seus significados (WORDNET, 2012).
Apesar da WordNet ser na lngua inglesa, j existem vrios projetos para se
construir uma WordNet em outras linguagens, por meio da Global WordNet Associa-
tion, que uma livre, pblica e no-comercial organizao, que fornece uma plata-
forma para discutir, compartilhar e se conectar wordnets para todos os idiomas do
mundo (GLOBALWORDNET, 2013).
4.1.3 Stanford CoreNLP
Stanford CoreNLP fornece um conjunto de ferramentas para processamento
de linguagem natural no idioma Ingls. As suas funcionalidades incluem tokenizati-
on, part-of-speech tagging, reconhecimento de nomes de entidades (sejam eles no-
mes de empresas, pessoas e etc), parsing, coreference, lemmatization (dar as for-
mas bsicas de palavras) e marcar a estrutura de sentenas em termos de frases e
as dependncias das palavras (STANFORD NLP, 2013).
O objetivo deste projeto permitir que se obtenha de forma rpida e simples
anotaes lingusticas completa de textos em linguagem natural. O Stanford Co-
reNLP foi desenvolvido pelo Stanford NLP Group, da Stanford University, escrito
em Java e licenciado sob a GNU General Public License, tendo seu cdigo fonte
disponvel (STANFORD NLP, 2013).
46
4.1.4 Jsoup
Jsoup um analisador HTML escrita em Java e fornece uma API muito con-
veniente para a extrao e manipulao de dados, usando o melhor do DOM, CSS e
mtodos jquery-like. Jsoup um projeto de cdigo aberto distribudo sob a licena
MIT (JSOUP, 2013).
Por exemplo, para buscar e analisar uma pgina HTML de um site na Inter-
net, e encontrar dados dentro dele, se deve usar a funo Jsoup.connect(String url)
(JSOUP, 2013):
Document doc = Jsoup.connect("http://exemplo.com/").get();
String title = doc.title();
Para encontrar ou manipular elementos se deve usar a funo select, por
exemplo, para obter os links da pagina web: Elements links = doc.select("a[href]"). A
tabela 5 mostrar algumas das opes que se pode usar como argumento da funo
select.
tagname encontra elementos por tag (ex: a)
#id encontra elementos pelo id (ex: #logo)
.class encontra elementos pelo classe (ex: .masthead)
[attribute] Elementos com atributo (ex: [href] )
Tabela 5. Alguns dos parmetros suportados pela classe Selector
4.1.5 Twitter
Twitter um servio de micro-blogging que surgiu em 2006, com uma pro-
posta simples, a de permitir aos seus usurios divulgarem o que esto fazendo
(NASCIMENTO et al. (2012)), onde os usurios tm a possibilidade de enviar atuali-
zaes (tweets), na forma de mensagens com o tamanho mximo de 140 caracteres
para um grupo de amigos (seguidores) (JOSE et al. (2010)). Apesar de ser possvel
restringir a visualizao de mensagem para apenas amigos, os tweets so em sua
maioria pblicos, o que permite que as pessoas sigam os outros e leiam os tweets
47
uns dos outros sem dar permisso mtua, fornecendo uma base rica de informao
e de fcil acesso (RODRIGUES et al. (2012)) e (JOSE et al. (2010)).
Surgiu ento uma nova forma de comunicao na internet, com o objetivo de
descobrir e divulgar o que est acontecendo a qualquer momento do tempo, em
qualquer lugar do mundo, com mensagens curtas e geradas constantemente (BIFET
e FRANK, 2010). Esse modelo de rede social permitiu que, mais tarde, o Twitter se
tornasse uma rede baseada na troca de informaes, onde o dado transmitido a
opinio dos usurios, tornando o Twitter uma importante fonte de opinies e senti-
mentos sobre eventos e acontecimentos, que podem ser analisados e, posterior-
mente, utilizados em diversas reas, como poltica, social e marketing empresarial
(NASCIMENTO et al. (2012)).
Uma funo bastante usada no Twitter o retweet, que consiste em replicar
uma determinada mensagem de um usurio para a lista de seguidores, dando crdi-
to a seu autor original (SIEDLER, 2013) e as hashtags, que representa os assuntos
principais do tweet.
O Twitter disponibiliza APIs para usurios cadastrados a fim de permitir o
desenvolvimento de aplicativos que utilizam a rede social (SIEDLER, 2013). Duas
APIs atualmente fornecidas so a REST API v1.1 e a API de streaming (ou Strea-
ming API).
Atravs da API de Streaming os usurios podem obter acesso em tempo re-
al a uma amostragem do Twitter Firehose (TWITTER, 2012b). "Firehose" o nome
dado ao enorme e em tempo real, fluxo de tweets que passam pelo Twitter todo dia
(APIVOICE, 2012). A principal desvantagem que a API de Streaming do Twitter
fornece apenas uma amostra de tweets que esto ocorrendo. A porcentagem real do
total de tweets que os usurios recebem com API de Streaming do Twitter varia for-
temente em relao ao critrio de busca feito pelo usurio e o trfego atual
(BRIGHTPLANET, 2013). API de Streaming permite que grandes quantidades de
palavras-chave sejam especificadas e monitoradas. Isso requer que se estabelea
uma conexo HTTP de longa durao e mantenha essa conexo (TWITTER,
2012b).
Dados do Streaming do Twitter pode potencialmente permitir que qualquer
usurio possa descobrir o que est acontecendo no mundo em um determinado
48
momento no tempo, sendo bem adequado para descoberta de conhecimento usan-
do minerao de fluxo de dados (BIFET e FRANK, 2010). O funcionamento da API
de Streaming ilustrado na figura 4, onde o processo de streaming recebe os tweets
de entrada e executa qualquer anlise necessria antes de armazenar o resultado
em um arquivo de dados, e o processo de manipulao HTTP consulta o armaze-
namento de dados por resultados em resposta s solicitaes dos usurios
(TWITTER, 2012a):
Figura 4. Processos da API de Streaming (TWITTER, 2012a).
A REST API permite que possamos procurar por tweets de forma automati-
zada. REST (Representational State Transfer) permite aos desenvolvedores acessar
informaes e recursos usando uma invocao HTTP simples (JOSE et al. (2010)).
Sendo a API mais poderosa que o Twitter oferece, permite o acesso informao
completa do usurio, timelines e os status de atualizaes (SIEDLER, 2013). Mas
para isso essa API exige que o aplicativo se autentique com OAuth 1.0a ou Applica-
tion-only authentication. O OAuth um protocolo aberto que permitir a autorizao
segura em um mtodo simples e padro para aplicaes web, mveis e desktop
(OAUTH,2013). Alm de consultas ao Twitter, essa API permite executar todas as
aes de usurio (SIEDLER, 2013).
49
O limite de taxa padro para chamadas da REST API varia de acordo com o
mtodo de autorizao a ser utilizado e se o prprio mtodo requer autenticao.
Para chamadas no autenticadas so permitidas 150 pedidos por hora, que so me-
didos em relao ao nmero IP acessvel publicamente do servidor ou dispositivo
que faz o pedido. Para chamadas autenticadas com OAuth so permitidos 350 pedi-
dos por hora, que so medidos com o oauth_token usado no pedido (TWITTER,
2013). O funcionamento REST API ilustrado na Figura 5, onde uma aplicao web
aceita solicitaes de usurios, faz uma ou mais solicitaes para a API do Twitter,
em seguida formata e imprime o resultado para o usurio como uma resposta soli-
citao inicial do usurio (TWITTER, 2012a):
Figura 5. Processos da REST API (TWITTER, 2012a).
A busca feita por meio de uma keyword (ou palavra-chave), onde so re-
tornados todos os ltimos tweets da timeline pblica que contm a palavra pesqui-
sada (SIEDLER, 2013). Na verso atual da REST API v1.1, o resultado da pesquisa
s pode ser recuperada em formato JSON (javaScript Object Notation). Para refinar
a busca permitida a utilizao de operadores, conforme mostrado na Tabela 6:
Parmetro Requerimento Descrio
q Obrigatrio Contedo da busca. Pode conter operadores e
tem limitao de 1000 caracteres
50
callback Opcional Endereo de retorno de dados
geocode Opcional Raio em quilmetros do alcance da busca. O
Raio calculado em relao a uma longitude e
latitude dadas.
lang Opcional Linguagem do tweet.
Locale Opcional Local de origem do tweet
page Opcional Nmero de pginas retornadas.
result_type Opcional Tipo de tweet que deve ser retornado.
Possvel escolher entre tweets populares e recen-
tes.
rpp Opcional Nmero de tweets por pginas
show_user Opcional inclui o usurio no corpo do tweet.
until Opcional Retorna tweets enviados antes da data explicitada
since_id Opcional No retorna resultados de tweets mais antigos
que o id enviado.
max_id Opcional No retorna resultados de tweets mais recentes
que o id enviado.
Tabela 6: Parmetros de chamada da Search API (SIEDLER, 2013)
4.1.5.1 Twitter4J
Twitter4J uma biblioteca Java no oficial para a API do Twitter, onde per-
mite integrar uma aplicao Java com o servio do Twitter. liberada sob a licena
Apache 2.0 e tem seu cdigo fonte disponvel (TWITTER4J, 2013). O Twitter4J for-
nece vrias funcionalidades que facilita a utilizao das APIs do Twitter, por exem-
plo, o Twitter4J que lida com a resposta no formato JSON da API do Twitter, para
isso includo o software de JSON.org para analisar a resposta JSON da API
(TWITTER4J, 2013), e depois gera um objeto com a resposta obtida da API. No ca-
so de uma busca por tweets ele cria uma lista de objetos, onde cada objeto tem seus
atributos correspondentes de um tweet, como a mensagem que foi postada, o autor,
as urls e hashtags contidas na mensagem. Alm disso, o Twitter4J tem suporte a
paginao do resultado da consulta, a poder postar um tweet, autenticao OAuth e
vrios outros recursos.
51
4.1.6 Facebook
O Facebook uma rede social que permite conversar com amigos e com-
partilhar mensagens, links, vdeos e fotografias. A ferramenta foi lanada em 2004
pelos americanos Mark Zuckerberg, Dustin Moskovitz, Chris Hufghes e pelo brasilei-
ro Eduardo Saverin (CASTRO, 2011).
Apesar de haver poucos trabalhos de anlise de sentimentos com Facebook,
essa rede social est entre as maiores redes sociais do mundo, o que torna ela inte-
ressante a ser estudada.
A Graph API a principal maneira que os dados so recuperados ou posta-
dos no Facebook. baseada em HTTP de baixo nvel (low-level HTTP-based), e a
API permite que se possa consultar dados, fazer post e outras tarefas que um apli-
cativo pode precisar fazer (FACEBOOK, 2013).
4.1.6.1 RestFB
Rest