TCC Thales

76
UNIVERSIDADE FEDERAL DO TOCANTINS-UFT CAMPUS UNIVERSITÁRIO DE PALMAS THALES RIBEIRO EVANGELISTA ANÁLISE DE SENTIMENTOS EM REDES SOCIAIS UTILIZANDO TÉCNICAS DE MINERAÇÃO DE TEXTOS PALMAS-TO, 2013

Transcript of TCC Thales

  • 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