Upload
felipe-henrique-ziliotti
View
155
Download
1
Embed Size (px)
DESCRIPTION
As redes sociais online fazem parte do cotidiano de milhões de pessoas do mundo inteiro, possibilitando interagir, expressar opinião e compartilhar conteúdos sobre os mais diversos assuntos. Geralmente, os usuários realizam postagens sobre a vida pessoal como, por exemplo: o que estão fazendo; o que vão fazer; o que aconteceu; o que desejam e entre outros, porém muitos acontecimentos são tardiamente percebidos e divulgados pelos meios de comunicação tradicionais, mas podem ser percebidos em tempo real nas redes sociais ficando suscetíveis aos mecanismos de busca. O objetivo desta monografia é utilizar o conteúdo disponível nas redes sociais para extrair informações relevantes para os mais variados seguimentos. Para realizar essa tarefa, foi proposta uma metodologia que compreende desde a coleta das posts em redes sociais até a interação automática com os usuários. A aplicação contêm filtros de buscas avançados, e é capaz de exibir estatísticas sobre os resultados. A metodologia proposta foi aplicada a dois cases, sendo utilizado para SAC 2.0 em uma empresa de telecomunicação e para monitorização da eleição presidencial 2014 no Brasil. No caso da empresa de telecomunicações, os resultados obtidos demonstram que cerca de 30% dos clientes utilizam as redes sociais para salientar o grau de insatisfação ou satisfação dos serviços prestados, e a partir da busca realizada pelo aplicativo desenvolvido, possibilitou aos funcionários da empresa executar um atendimento diferenciado aos usuários das redes sociais. No segundo caso, foi feito um levantamento prevendo as intenções de votos em diversas regiões do país, sendo possível identificar em qual delas o atual eleito tem mais apoio, e traçar um perfil dos eleitores. Isso demonstra a aplicabilidade dessa proposta como complemento a mecanismos de buscas tradicionais, muitas vezes permitindo que ações sejam realizadas mais rapidamente no caso do SAC 2.0, e através das amostragens obtidas nas redes sociais sobre as eleições, foi possível prever com exatidão o resultado das eleições presidenciais.
Citation preview
FELIPE DE SOUSA FERREIRA FELIPE HENRIQUE ZILIOTTI
INTERAÇÃO EM REDES SOCIAIS ATRAVÉS DA MINERAÇÃO DE DADOS
Trabalho de Curso apresentado como exigência parcial, para obtenção de grau no curso de Ciência da Computação, da Universidade de Franca. Orientadora: Profa. Esp. Claudia Vicci Amadeu
FRANCA 2014
FELIPE DE SOUSA FERREIRA FELIPE HENRIQUE ZILIOTTI
INTERAÇÃO EM REDES SOCIAIS ATRAVÉS DA MINERAÇÃO DE DADOS Orientadora: _____________________________________________
Nome: Profa. Esp. Claudia Vicci Amadeu Instituição: Universidade de Franca
Examinador(a): _____________________________________________ Nome: Profa. Claudia Vicci Amadeu
Instituição: Universidade de Freanca Examinador(a): _____________________________________________ Nome: Profa. Claudia Vicci Amadeu
Instituição: Universidade de Freanca
Franca, ___/___/______
DEDICAMOS este estudo nossos pais, pela educação e ensinamentos
que muito nos auxiliaram dando-nos base necessária para vencer esta
e todas as etapas que estão por vir; e também, aos nossos amigos,
namoradas e professores, pelo carinho, atenção e incentivo.
AGRADECEMOS a Deus, fonte de amor, justiça e sabedoria; à
nossa orientadora e amiga, Profa. Claudia Vicci Amadeu, que muito
nos apoiou e auxiliou através de seu profundo conhecimento; a todos
que direta ou indiretamente contribuíram para a realização deste
trabalho.
A ciência nunca resolve um problema sem criar pelo menos outros
dez.
George Bernard Shaw
RESUMO
FERREIRA, Felipe de Sousa; ZILIOTTI, Felipe Henrique. Interação em redes sociais através da mineração de dados. 2014. ???? f. Trabalho de Curso (Ciência da Computação) – Universidade de Franca, Franca.
As redes sociais online fazem parte do cotidiano de milhões de pessoas do mundo inteiro, possibilitando interagir, expressar opinião e compartilhar conteúdos sobre os mais diversos assuntos. Geralmente, os usuários realizam postagens sobre a vida pessoal como, por exemplo: o que estão fazendo; o que vão fazer; o que aconteceu; o que desejam e entre outros, porém muitos acontecimentos são tardiamente percebidos e divulgados pelos meios de comunicação tradicionais, mas podem ser percebidos em tempo real nas redes sociais ficando suscetíveis aos mecanismos de busca. O objetivo desta monografia é utilizar o conteúdo disponível nas redes sociais para extrair informações relevantes para os mais variados seguimentos. Para realizar essa tarefa, foi proposta uma metodologia que compreende desde a coleta das posts em redes sociais até a interação automática com os usuários. A aplicação contêm filtros de buscas avançados, e é capaz de exibir estatísticas sobre os resultados. A metodologia proposta foi aplicada a dois cases, sendo utilizado para SAC 2.0 em uma empresa de telecomunicação e para monitorização da eleição presidencial 2014 no Brasil. No caso da empresa de telecomunicações, os resultados obtidos demonstram que cerca de 30% dos clientes utilizam as redes sociais para salientar o grau de insatisfação ou satisfação dos serviços prestados, e a partir da busca realizada pelo aplicativo desenvolvido, possibilitou aos funcionários da empresa executar um atendimento diferenciado aos usuários das redes sociais. No segundo caso, foi feito um levantamento prevendo as intenções de votos em diversas regiões do país, sendo possível identificar em qual delas o atual eleito tem mais apoio, e traçar um perfil dos eleitores. Isso demonstra a aplicabilidade dessa proposta como complemento a mecanismos de buscas tradicionais, muitas vezes permitindo que ações sejam realizadas mais rapidamente no caso do SAC 2.0, e através das amostragens obtidas nas redes sociais sobre as eleições, foi possível prever com exatidão o resultado das eleições presidenciais.
Palavras-chave: redes sociais; motores de buscas; interação; monitorização; busca social;
ABSTRACT
FERREIRA, Felipe de Sousa; ZILIOTTI, Felipe Henrique. Interação em redes sociais através da mineração de dados. 2014. xxx f. Trabalho de Curso (Ciência da Computação) – Universidade de Franca, Franca.
Online social networks are part of everyday life for millions of people worldwide, making it possible to interact, express opinions and share content on various subjects. Generally, users do posts about the personal life such as: what they are doing; what they will do; what happened ; you want and among others, but many events are later perceived and reported by the traditional media, but can be seen in real time on social networks susceptible to getting search engines. The purpose of this monograph is to use the available content on social networks to extract information relevant to the various segments. To accomplish this task, a methodology was proposed comprising from collection of posts in social networks to automatically interact with users. The application contains advanced search filters, and is able to display statistics about the results. The proposed methodology was applied to two cases, being used for CS 2.0 in a telecommunications company and monitoring the presidential election 2014 in Brazil. In the case of the telecommunications company, the results show that about 30 % of customers use social networks to emphasize the degree of satisfaction or dissatisfaction of services, and from the search performed by the application developed, allowed their officers to run a differentiated services to users of social networks. In the second case, a survey was done predicting the intentions of votes in several regions of the country, it is possible to identify which of them elected the current has more support, and draw a profile of voters. This demonstrates the applicability of this proposal as a complement to traditional search engines, often allowing actions to be performed faster in case of SAC 2.0, and samples were obtained through the social networks on the elections, it was possible to accurately predict the outcome of elections presidential.
Key-words: social networks; search engines; interaction; monitoring; social search;
LISTA DE ABREVIATURAS
API Application Programming Interface (Interface de Programação de Aplicativos)
ARPANET Advanced Research Projects Agency Network (Agência de Pesquisas em Projetos Avançados)
CERN European Organization for Nuclear Research (Organização Europeia para Pesquisa Nuclear)
CGI Common Gateway Interface (Interface de Entrada Comum) CRM Customer Relationship Management Social (Gestão de Relacionamento
com o Cliente) DNS Domain Name System (Sistema de Nomes de Domínio) FBML Facebook Marckup Language (Linguagem de Marcação do Facebook) FQL Facebook Query Language (Linguagem de Consulta do Facebook) GNU General Public Licence (Licença Pública Geral) HTML Hyper Text Markup Language (Linguagem de Marcação de Hipertexto) HTTP Hyper Text Transfer Protocol (Protocolo de Transferência de
Hipertexto) HTTPS Hyper Text Transfer Protocol Secure (Protocolo de Transferência de
Hipertexto Seguro) ID Identity (Identidade) IDE Integrated Development Environment (Ambiente Integrado de
Desenvolvimento) iOS Iphone Operating System (Sistema Operacional da Aple) JSON Javascript Object Notation (Notação de Objetos Javascript) JUDE Java and UML Developers Environment (Ambiente para
Desenvolvedores UML e JAVA) JVM Java Virtual Machine (Máquina Virtual Java) KDD Knowledge Discovery in Databases (Descoberta de Conhecimento nas
Bases de Dados) OAuth Open Authorization (Autorização Aberta). OGP Open Graph Protocol (Protocolo Gráfico Aberto) ONG Non-Governmental Organization (Organização Não Gorvenamental) PHP PHP: Hypertext Preprocessor (Linguagem Interpretada Livre) REST Representational State Transfer (Transferência de Estado
Representativo) RSS Rich Site Summary (Rico Sumário Local) ou Really Simple Syndication
(Realmente Simples Sindicação) ou Resource Description Framework (Recurso de Descrição do Quadro)
SAML Security Assertion Markup Language (Linguagem de Marcação de Afirmação de Segurança)
SDK Software Development Kit (Kit de Desenvolvimento de Software) SGBD Database Management System (Sistema de Gerenciamento de Banco de
Dados)
9
SQL Structured Query Language (Linguagem de Consulta Estruturada) TCP/IP Transmission Control Protocol / Internet Protocol (Protocolo de
Controle de Transmissão / Protocolo de Internet) UML Unified Modeling Language (Linguagem Unificada de Modelagem) URI Uniform Resource Indentifier (Identificador de Endereços na Internet) URL Uniform Resource Locator (Localizador Padrão de Recursos) W3C World Wide Web Consortium (Consórcio Teia Mundial (WWW)) WEB (Teia) WWW World Wide Web (Teia Mundial) XML Extensible Markup Language (Linguagem Extensível de Marcação
Genérica)
LISTA DE FIGURAS
Figura 1 – Evolução da Web de 1.0 a 3.0. 00
Figura 2 – Esquema do funcionamento de um motor de busca. 00
Figura 3 – Propagação da informação nas redes sociais. 00
Figura 4 – Gráfico informativo dos acessos aos sites mais visitados na
Web no período de 2009/2010. 00
Figura 5 – Representação do processo de KDD. 00
Figura 6 – Fluxo do servidor Web utilizando o protocolo OAuth. 00
Figura 7 – Compilação de um programa desenvolvido em Java. 00
Figura 8 – Logotipo do Java. 00
Figura 9 – Logotipo da biblioteca Twitter4J. 00
Figura 10 – Logotipo da biblioteca Facebook4J. 00
Figura 11 – Logotipo do PHP. 00
Figura 12 – Logotipo do MySQL. 00
Figura 13 – Logotipo do NetBeans. 00
Figura 14 – Logotipo do Astah. 00
Figura 15 – Diagrama de casos de uso. 00
Figura 16 – Diagrama de classes. 00
Figura 17 – Diagrama de sequência: Cadastrar Usuário. 00
Figura 18 – Diagrama de sequência: Realizar Login. 00
Figura 19 – Diagrama de sequência: Cadastrar Mensagem. 00
Figura 20 – Diagrama de sequência: Realizar Busca. 00
Figura 21 – Diagrama de sequência: Interação Automática. 00
Figura 22 – 00
Figura 23 – 00
Figura 24 – 00
LISTA DE QUADROS
Quadro 1 – Top 10 sites de redes sociais do Brasil e do mundo. 00
Quadro 2 – Estatisticas das redes sociais no Brasil. 00
Quadro 3 – Exemplo de consulta FQL simples. 00
Quadro 4 – Exemplo de consulta multipla FQL. 00
Quadro 5 – Requisitos funcionais. 00
Quadro 6 – Requisitos não funcionais. 00
LISTA DE TABELAS
Tabela 1 – Lista de casos de uso do projeto. 00
Tabela 2 – Tabela de referências cruzadas. 00
SUMÁRIO
1 MOTORES DE BUSCA E REDES SOCIAIS ................................................................... 17
1.1 CONSIDERAÇÕES INICIAIS .............................................................................. 17
1.2 HISTÓRIA E EVOLUÇÃO DOS MOTORES DE BUSCA ................................... 17
1.2.1 Como funcionam os motores de busca ................................................................... 22
1.2.2 Aplicações de busca social ..................................................................................... 23
1.2.2.1 Aplicações nacionais .............................................................................................. 24
1.2.2.2 Aplicações estrangeiras .......................................................................................... 26
1.3 REDES SOCIAIS .................................................................................................. 26
1.3.1 Vertentes das Redes Sociais ................................................................................... 29
1.3.2 Principais Redes Sociais ........................................................................................ 30
1.3.3 Cenário das Redes Sociais no Brasil ...................................................................... 33
1.3.4 Redes sociais: Facebook e Twitter ......................................................................... 34
1.3.5 Mercado nas redes sociais ...................................................................................... 36
1.3.6 Exemplo do uso das redes sociais nas empresas ..................................................... 38
1.4 CONSIDERAÇÕES FINAIS ................................................................................. 39
2 MINERAÇÃO DE DADOS ................................................................................................. 41
2.1 CONSIDERAÇÕES INICIAIS .............................................................................. 41
2.2 INTRODUÇÃO À MINERAÇÃO DE DADOS .................................................... 41
2.2.1 Descoberta de conhecimento (KDD) ...................................................................... 42
2.2.2 Dados qualitativos vs Dados quantitativos .............................................................. 43
2.2.3 Pré-processamento de dados .................................................................................. 43
2.2.4 Métodos de aprendizado ........................................................................................ 44
2.2.5 Técnicas da mineração de dados ............................................................................ 45
2.2.6 Algoritmos ............................................................................................................. 46
2.2.6.1 Algoritmos de classificação .................................................................................... 46
2.2.6.2 Algoritmos de Agrupamento .................................................................................. 48
2.2.6.3 Algoritmos de associações ...................................................................................... 48
2.2.7 Mineração de estruturas complexas ........................................................................ 49
2.3 MINERAÇÃO DE DADOS DA WEB SOCIAL .................................................... 51
14
2.3.1 OAuth .................................................................................................................... 51
2.3.2 Coleta e manipulação dos dados do Twitter ............................................................ 53
2.3.3 Coleta e manipulação dos dados do Facebook ........................................................ 56
2.4 CONSIDERAÇÕES FINAIS ................................................................................. 59
3 DESENVOLVIMENTO ...................................................................................................... 60
3.1 CONSIDERAÇÕES INICIAIS .............................................................................. 60
3.2 METODOLOGIA .................................................................................................. 60
3.2.1 Java ....................................................................................................................... 60
3.2.2 Twitter4J ............................................................................................................... 62
3.2.3 Facebook4J ............................................................................................................ 63
3.2.4 PHP ....................................................................................................................... 64
3.2.5 MySQL.................................................................................................................. 66
3.2.6 NetBeans ............................................................................................................... 67
3.2.7 Astah ..................................................................................................................... 68
3.3 REQUISITOS FUNCIONAIS ............................................................................... 69
3.4 REQUISITOS NÃO FUNCIONAIS ...................................................................... 69
3.5 REGRAS DE NEGÓCIO ....................................................................................... 70
3.6 LISTA DE CASOS DE USO ................................................................................. 71
3.7 CASO DE USO EXPANDIDO .............................................................................. 71
3.8 DIAGRAMA DE CASOS DE USO ....................................................................... 77
3.9 TABELA DE REFERÊNCIAS CRUZADAS ........................................................ 77
3.10 DIAGRAMA DE CLASSES ................................................................................. 78
3.11 DIAGRAMA DE SEQUÊNCIA ............................................................................ 79
3.12 DIAGRAMA DE ESTADOS .................................... Erro! Indicador não definido.
3.13 DIAGRAMA DE ATIVIDADES ........................................................................... 85
3.14 CONSIDERAÇÕES FINAIS ................................................................................. 85
CONCLUSÃO ...................................................................................................................................... 86
REFERÊNCIAS ................................................................................................................................... 87
ANEXOS ............................................................................................................................................... 91
15
INTRODUÇÃO
O sistema capitalista exige o crescimento das marcas e identificação de
consumidores em potencial. Com a mobilidade e o acesso à internet nos dias atuais, nota-se
um grande uso das redes sociais. Geralmente, as informações transcorrem mais rapidamente
via internet, do que em qualquer outro meio de comunicação como televisão, rádio e outros.
Segundo o Jornal Folha de São Paulo, em 2011, mais de 38 milhões de brasileiros se
conectaram nas redes sociais.
O processo de mineração de dados, responsável por explorar grandes
quantidades de dados, juntamente aplicado às redes sociais, pode ser muito útil para as mais
diversas áreas, desde negócios até a identificação do comportamento humano.
As redes sociais proporcionam uma comunicação instantânea, a qual esta sendo
alvo de grandes estudos e investimentos em monitorização.
Propõe-se o desenvolvimento de uma aplicação que realize análise de textos
pré-definidos, que realize a interação através de frases (determinadas previamente) e ambos
estabelecidos pelo usuário do sistema, de forma automática com o post.
A análise de texto será realizada nas redes sociais, e poderá ser utilizada pelos
mais variados setores, a fim de identificar palavras de interesse, termos ou assuntos
relacionados a uma determinada atividade. Após localizar o texto, a aplicação realizará uma
interação automática com o usuário que realizou o post, podendo sugerir produtos, canais de
atendimento, publicidade, auxílio, entre outras possibilidades, por meio de frases previamente
elaboradas e programadas de forma aleatória. Tal procedimento favorece, principalmente,
pequenas empresas e organizações que não dispõem de uma equipe de especialistas em redes
sociais, que filtram e tratam manualmente os posts de seu interesse.
Visando oferecer maior interação, competitividade, publicidade, visibilidade e
divulgação, será desenvolvida uma aplicação para tratamento das informações nesse meio de
comunicação. Esta ferramenta também pode ser de grande utilidade em casos de emergência,
pedidos de socorro, protestos e desastres naturais em função de sua grande eficiência na
propagação de informações.
16
A aplicação proposta é um serviço disponível gratuitamente aos usuários que
tiverem interesse de se interagir com os usuários das redes sociais.
17
1 MOTORES DE BUSCA E REDES SOCIAIS
1.1 CONSIDERAÇÕES INICIAIS
Neste capitulo, serão apresentados os assuntos referentes ao embasamento
teórico, necessários para desenvolvimento deste trabalho.
Serão abordados a história, a evolução, o estado da arte e o futuro dos motores
de busca e das redes sociais online.
1.2 HISTÓRIA E EVOLUÇÃO DOS MOTORES DE BUSCA
Especialistas dizem que a pesquisa por informações em computadores surgiram
ao mesmo tempo em que este foi criado, pois, para utilizar seus recursos é necessário inserir
dados, que poderão ser processados ou simplesmente arquivados para uma futura consulta.
Wall (2014) afirma que em 1945 a revista The Atlantic Monthly publicou um
artigo de Vannaver Bush, abordando questões sobre o desenvolvimento de um mecanismo
que reunisse o conhecimento humano de forma organizada e em larga escala, para que este
pudesse ser disponibilizado de forma rápida e eficiente.
Goulart (2014) acrescenta que, nesta época, não havia recursos suficientes para
desenvolver este tipo de sistema imediatamente, porém, no decorrer dos anos e com a
evolução da computação foi possível desenvolver, em parte, a realização dessas ideias.
No final da década de 60, a criação da ARPANET (Advanced Research
Projects Agency Network) possibilitou uma nova perspectiva de comunicação entre
computadores, tornando-se a precursora da Internet e, nas décadas seguintes, a criação dos
protocolos TCP/IP (Transmission Control Protocol / Internet Protocol) e DNS (Domain
Name System) conduziram as redes de computadores a uma nova era: o armazenamento
distribuído de dados.
18
Em 1989, o pesquisador britânico Tim Berners-Lee (2014 apud GOULART,
2014, p.120), membro do CERN (European Organization for Nuclear Research), em
Genebra, propôs um sistema baseado no conceito de hipertextos, com a finalidade de facilitar
o compartilhamento e a atualização de informações entre pesquisadores.
Berners-Lee definiu então os três componentes essenciais que constituem a Internet: um sistema de formatação de texto, conhecido como HTML (Hyper Text Markup Language), um padrão de comunicação entre equipamentos conhecido como HTTP (Hyper Text Transfer Protocol) e um esquema de endereçamento para localizar sites na Internet, conhecido como URL (Uniform Resource Locator). Berners-Lee também criou um navegador rudimentar. (CUSSUMANO e YOFFIE apud DONZELLI, 2010, p.3)
Tim Berners-Lee uniu então, os conceitos tecnológicos de TCP/IP e DNS com
o de hiperlinks, criando, em 1990, a World Wide Web (WWW), o primeiro navegador e
editor, e o primeiro website, utilizando o conceito de diretórios.
Com a rápida expansão da WWW, algumas questões passaram a comprometer
a utilização de diretórios, como os resultados das pesquisas qualitativamente ruins e de
manutenção cara, por serem realizadas por pessoas. Logo se percebe a necessidade de uma
busca mais rápida e automatizada. Surgem então os denominados robôs e sites puramente de
pesquisa.
A partir de então, diversos motores são desenvolvidos, novas empresas de
busca são criadas, com o mesmo intuito de prover acesso às informações relevantes, buscadas
pelo utilizador. Simultaneamente à evolução dos motores de busca, há também o crescimento
do número de blogs, de ferramentas colaborativas do tipo wiki, e as redes sociais online
passam a ganhar milhares de usuários no decorrer dos próximos anos.
Neste cenário, percebendo a grande evolução da Internet, em uma conferência
de brainstorming entre a O’Reilly Media, uma editora de livros e websites americana na área
de tecnologia da informação, e a MediaLive International, uma renomada empresa de
marketing digital, surge o termo Web 2.0. Entre diversos tipos de pontos de vista, tem como
principal fundamento e definição, o usuário como principal ator, devido à criação e
compartilhamento de conteúdo gerado pelos mesmos, em blogs, wikis e também nas redes
sociais.
De acordo com Taurion (2014), o Google é o sinônimo de buscas na Web.
Porém, o ritmo em que a Internet apresenta inúmeras novidades está se acelerando, na qual
milhões de informações são geradas a cada minuto, através dos blogs, wikis e redes sociais
19
online, assim com em outras plataformas de publicação. Mesmo possuindo os mais eficientes
motores de busca, o Google não consegue captar as informações na velocidade em que
surgem.
Desta forma, tais necessidades geraram inovação, e algumas startups se
lançaram neste mercado com motores de busca voltados à coleta de informações praticamente
em tempo real, visando buscar informações recém-postadas na WWW por meio das redes
sociais, ao invés de buscá-las em sites Web, onde muitas vezes as informações foram geradas
muitos anos atrás.
Taurion (2014) justifica que, quando acontece algo expressivo, como um
acidente aéreo ou uma catástrofe, uma enorme quantidade de mensagens são postadas nas
redes sociais. Com isto, surge então, a necessidade de uma nova forma de buscar informações,
que seja capaz de obter resultados relevantes através das redes sociais, denominada de busca
social.
Em uma apresentação realizada no Social Media Brasil 2009, Zaiantchick
(2014) comparou a relação entre a busca tradicional (motores de busca1) e as buscas em redes
sociais (busca social2). Segundo ele, diferentemente da busca tradicional, a busca social
combina tecnologias de sistemas de busca, juntamente com o comportamento individual dos
usuários. E acrescenta que, quanto mais interações acontecerem no mundo, mais difícil será
encontrar informação considerável pela busca tradicional.
Percebendo esta evolução da Internet, os grandes sites de busca passaram a
incluir em seus resultados informações significativas obtidas nas redes sociais.
Tal evolução permitiu que os próprios desenvolvedores das redes sociais
criassem mecanismos de busca para seus usuários. Todos estes recursos de buscas estão
disponíveis para desenvolvedores de outras aplicações e softwares, através das APIs
(Application Programming Interface), que foram programadas e disponibilizadas por meio de
cada rede social.
A API de rede social permite o acesso a diversos dados pessoais de seus
usuários, como idioma, localização, foto do perfil e outros mais, além de permitir a pesquisa
por palavras chaves postada por qualquer usuário, em qualquer lugar do mundo.
Tais recursos fizeram com que os órgãos governamentais e de proteção aos
direitos humanos começassem a se preocupar com a privacidade destes usuários, propondo
algumas regulamentações para os serviços de busca. “Como os sites de rede social incentivam
1 Search Engines
2 Social Search
20
os usuários a colocarem dados pessoais e íntimos, pessoas mal intencionadas podem usar tais
dados para violar a segurança dos usuários [...], alguns sites de rede social adotaram níveis de
privacidade.” (XAVIER; CARVALHO, 2014, p.2).
Foster (2014) define estes motores de busca como intermediadores de conteúdo
e os principais são as maiores empresas norte-americanas: Google, Facebook, Apple, Amazon
e Yahoo. Neste estudo ele conclui que os intermediadores podem desempenhar um papel
muito positivo, no sentido de facilitar o acesso amplo e aberto ao conteúdo em geral, mas as
decisões tomadas por eles podem, igualmente, restringir ou controlar o acesso às informações
relevantes.
Os novos e poderosos intermediários […] podem desempenhar um papel muito positivo no sentido de facilitar o acesso amplo e aberto ao conteúdo noticioso em geral […]. Conclui que as decisões que essas plataformas tomam, podem restringir ou controlar o acesso às notícias. (FOSTER, 2014, p.5).
De acordo com um estudo de Foster (2014), 30% dos usuários de notícias
online utilizam motores de busca como uma das principais formas de acessar notícias, 22%
utilizam os agregadores de notícias e 20% usam as redes sociais.
Desta forma, estar atento ao que se diz na Internet, pode ser estratégico e
financeiramente interessante para diversos tipos de organizações e seguimentos de atuação, o
que depende de uma busca mais inteligente por parte dos buscadores.
Conforme a FIG.1, Hayes (2014) apresenta a evolução da Internet e as suas
principais características em cada fase. Em 1995 a tradicional WWW foi denominada como
Web 1.0, e permitia publicações de texto, hiperlinks e gráficos. A partir do ano 2000, com o
surgimento dos blogs, wikis e redes sociais, passou a ser chamada de Web 2.0, conhecida
como a era do compartilhamento. Por fim, ilustra o futuro com a descrição da Web 3.0, que
deverá permitir a busca semântica de informações, interoperação de perfis, tudo em tempo
real e de forma colaborativa.
21
Figura 1 – Evolução da Web de 1.0 a 3.0. Fonte: HAYES, 2014, p. 1.
Segundo Tim Berners-Lee (2014, apud GOULART, 2014), a limitação por
parte das páginas HTML traz um grande problema devido à inexistência de marcações
semânticas nas atuais páginas, fazendo com que as mesmas sejam entendidas apenas pelos
humanos, não fazendo sentido para os programas de computador, que ainda estão muito
distantes de imitar o funcionamento da mente humana. Uma tecnologia ainda em estudo e
desenvolvimento, chamada de Web Semântica, é uma tentativa de solução para o problema
apresentado anteriormente. O autor complementa dizendo que em vez de pensar na
informação para os humanos, a ideia é também pensar na máquina, fazendo com que ela seja
capaz de entender a informação e o contexto que as palavras estão aplicadas e relacionadas.
A W3C (World Wide Web Consortium) define a Web Semântica como uma
evolução da clássica e conhecida Web dos documentos. E trabalha, ainda, no
desenvolvimento de tecnologias que darão suporte à Web dos dados, viabilizando pesquisas,
assim como em um banco de dados. O objetivo final da Web de dados é possibilitar com que
computadores façam coisas mais úteis, e com que o desenvolvimento de sistemas possa
oferecer suporte às interações na rede.
Portanto, se os computadores conseguirem interpretar o significado do
conteúdo, eles serão capazes também de entender a informação, e desta forma será possível
obter uma grande quantidade de resultados realmente relevantes.
22
1.2.1 Como funcionam os motores de busca
Goulart (2008) afirma que os sites de busca são a evolução dos sites de
diretórios para um estágio em que o usuário tem acesso simples e rápido à informação, através
de uma busca eficiente, tarefa esta, que exige um processo automatizado e complexo de busca
através dos robôs, denominados também de bots, crawlers ou spiders.
Bots, crawlers ou spiders são programas que automatizam o processo de navegação e surgiram da dificuldade em avaliar manualmente uma grande quantidade de sites e taxonomias. Os robôs executam uma etapa importante no funcionamento dos sites de busca atuais, a busca de informações. Utilizando um processo automático de navegação na internet, os robôs percorrem os mesmos passos que uma pessoa manualmente faria na construção de um diretório em larga escala. (GOULART, 2014, p. 121).
Norvig (2014, p. 1) descreve que um motor de busca Web precisa,
obrigatoriamente, ser capaz de proporcionar quatro funcionalidades, conforme a seguir:
1. Navegar de forma automatizada na Web (crawling). 2. Indexar páginas para criar um índice de cada palavra e local onde ela
ocorre. 3. Classificar as páginas, de forma que, as melhores apareçam primeiro. 4. Apresentar os resultados de forma fácil ao entendimento do usuário.
Os robôs dos motores de busca têm como função principal visitar diversas
páginas de websites e os links que estão contidos nesta página. Após vasculhar os conteúdos,
estes robôs criam uma lista de palavras chaves juntamente com uma associação de um ou
mais websites. Em seguida, todo o conteúdo é comprimido, armazenado e indexado, se
tornando uma grande base de dados. Alguns sites utilizam algoritmos de rankeamento de
páginas, assim como o PageRank3, desenvolvido pelo Google, que é capaz de examinar e
calcular através da estrutura de hiperligações contida na WWW, quais as páginas mais
relevantes sobre a palavra chave pesquisada. Através da FIG. 2, (CHAFFEY apud
ASCENÇÃO, 2014, p.1), ilustra-se o funcionamento dos motores de busca, conforme descrito
anteriormente.
3 PageRank: algoritmo de classificação das páginas.
23
Figura 2 – Esquema do funcionamento de um motor de busca. Fonte: CHAFFEY apud ASCENÇÃO, 2014, p.1.
1.2.2 Aplicações de busca social
O desenvolvimento de aplicações de busca social tem aumentado
significativamente nos últimos anos. Com a popularização das redes sociais online e o
aumento da inclusão digital, diversos órgãos e organizações, tanto do setor público, privado e
estatal, têm investido neste tipo aplicação. Tal fato tem motivado também, diversos estudos na
área da computação, conforme descrito a seguir.
Redes sociais online são ambientes perfeitos para o estudo de vários temas da computação, incluindo sistemas distribuídos, padrões de tráfego na Internet, mineração de dados, sistemas multimídia e interação humano-computador. Além disso, por permitir que usuários criem conteúdo, redes sociais vêm se tornando um tema chave em pesquisas relacionadas à organização e tratamento de grandes quantidades de dados, além de constituírem um ambiente ideal para extração de conhecimento e aplicação de técnicas de mineração de dados. (BEVENUTO, 2012 et al., p.4).
Através da API desenvolvida por cada rede social online, é possível realizar
consultas em toda a base dados dessas redes, logo, percebendo as grandes possibilidades de
24
tratamento da informação, começaram o desenvolvimento de aplicações sob diversos pontos
de interesses. A seguir descreveremos alguns exemplos dessas aplicações.
Empresas transmissoras de televisão produziram aplicações para interagir com
os seus telespectadores através das redes sociais online, permitindo votações, perguntas,
expressão de opinião, criando uma nova experiência de comunicação em tempo real com os
telespectadores.
Setores do governo e mídias especializadas em política criaram aplicações para
medir e analisar dados postados nas redes sociais online, durante o período de eleições de
2010, no Brasil, a fim de prever resultados antes mesmo da analise de todas as urnas
eletrônicas, assim como na Alemanha, onde os sentimentos expressos nas redes sociais online
refletiram-se fielmente aos sentimentos percebidos nas ruas.
Na área da saúde, há diversos estudos para analisar e identificar através das
redes sociais online, regiões com possíveis focos de epidemias e doenças, como por exemplo,
a doença da dengue.
Órgãos de monitoramento e prevenção de catástrofes, também aderiram ao
poder das redes sociais, como forma de auxiliar a detecção de desastres. Segundo seus estudos
(SAKAKI apud BEVENUTO, 2012 et al.), já é possível detectar terremotos através das redes
sociais, antes mesmo dos alertas das agencias sismológicas existentes pelo mundo.
As empresas privadas perceberam o poder das informações disponíveis nas
redes sociais e também aderiram a esta nova forma de acesso a informação. O interesse em
aplicações de monitoramento de redes sociais online teve um aumento exponencial, e nos dias
atuais, o maior foco de desenvolvimento é voltado para área de marketing digital e social
media. Este artefato tem permitido que empresas destaquem-se no mercado, pois, através da
analise das informações obtidas, ações estratégicas podem ser tomadas rapidamente,
acompanhando assim, todo o dinamismo das redes sociais online.
1.2.2.1 Aplicações nacionais
A seguir, apresentam-se cinco aplicações que utilizam as técnicas de busca
social.
A plataforma PostX, foi produzida pelo grupo Miti Inteligência, com sede em
São Paulo, fundada no ano 2000. O grupo Miti Inteligência possui foco em monitoramento de
25
notícias online, oferecendo informações estratégicas de mercado e da concorrência, que visam
auxiliar o processo de planejamento de ações e gerenciamento de crises. Por meio de estudos
e análises individualizadas adequadas as necessidades específicas de cada cliente, atuam em
pesquisas e avaliações de forma consistente e objetiva, sempre visando expansão,
fortalecimento e rentabilidade.
Livebuzz é uma aplicação desenvolvida pelo grupo Dinamize, uma empresa
com foco em comunicação digital. Atualmente suas aplicações funcionam somente via
Internet, através de browsers, utilizando o conceito de cloud computing. Fundada em 2001, o
objetivo do grupo Dinamize é eliminar a distância entre fornecedor e cliente, causando grande
impacto na marca e nos resultados de uma empresa. A empresa se destaca pela grande
presença nacional, com filiais espalhadas em nove cidades diferentes, nos estados do RS, SC,
PR, SP, RJ, MG, BA e DF, sendo cinco próprias e quatro franquias. Além da presença
regionalizada, o grupo Dinamize também se destaca pelo atendimento personalizado,
realizado através de uma equipe com mais de 30 gerentes de conta.
A empresa Scup, foi fundada em São Paulo, no ano de 2009, com o objetivo de
ajudar empresas a trabalharem de forma eficiente com as mídias sociais. Diferentemente de
outras aplicações, o Scup defende um monitoramento mais humano, com foco nos
profissionais que estão à frente da operação. Esta plataforma permite que os usuários ouçam
efetivamente tudo que é falado sobre marcas e empresas na Web, identifiquem o impacto de
conversas online e gerenciem essas informações. Algumas características distinguem o Scup,
tais como a eficiência na operação, significado e qualidade dos dados. A Scup possui um
grande diferencial, que é o investimento na formação de profissionais, criação de conteúdos
de qualidade, além de promover a troca de experiências em um blog voltado aos profissionais
de redes sociais online, chamado de Scup Ideas.
Sediada na cidade de Salvador, a PaperCliq é uma agência de comunicação
digital, com foco em mídias sociais, fundada em 2009. Seu objetivo é auxiliar as organizações
a se posicionarem estrategicamente no universo digital, com base na inovação e criatividade.
Partindo dessa premissa, a agência PaperCliq atua no mercado através de três eixos
complementares que, juntos, através de serviços especializados, reforçam o conceito de
comunicação e estratégia digital. São eles: ensino e treinamento, pesquisa e análise e
estratégia e tática.
O Social Media Monitor é um software desenvolvido para auxiliar e otimizar o
monitoramento de mídias sociais, gerenciando em tempo real, tudo o que está sendo dito e
compartilhado sobre uma determinada marca. O objetivo do Social Media Monitor, é se tornar
26
um aliado das empresas no monitoramento das mídias sociais e buzz4, que é espalhado em alta
velocidade pelos consumidores e internautas, oferecendo ferramentas e segurança para reagir
certeira e imediatamente, contornando mal entendidos, traçando estratégias e tomando
decisões.
1.2.2.2 Aplicações estrangeiras
A Topsy é uma empresa de busca social e análise, com sede em San Francisco,
Califórnia. A Topsy é certificada pelo Twitter como parceiro, e mantém a maior base de dados
que se conhece, dos tweets. Tal fato fez com que sua avaliação de mercado, superasse a casa
dos de dólares, pois, devido a esta grande base de dados, ela é capaz de remontar tudo o que já
foi publicado no Twitter, desde 2006. Esta plataforma e capaz de pesquisar, analisar e extrair
insights de conversas e tendências nos sites sociais públicos, incluindo Twitter e Google+.
No ano de 2013, com o recurso de análise de sentimentos Topsy, através do
monitoramento das redes sociais online, conseguiu prever corretamente cinco dos seis
ganhadores do Oscar 2013. Ainda em 2013, a Apple comprou a empresa Topsy, por cerca de
US$ 200 milhões de dólares, mas não divulgou detalhes sobre os motivos da aquisição.
1.3 REDES SOCIAIS
As redes sociais são uma forma de representação dos relacionamentos afetivos
ou profissionais dos seres entre si, ou entre seus agrupamentos de interesses mútuos. São
responsáveis pelos compartilhamentos de ideias entre pessoas de interesse e objetivo em
comum. Segundo Capra (2012, p. 6) “redes sociais são redes de comunicações que envolvem
a linguagem simbólica, os limites culturais e as relações de poder”.
Os diversos padrões de formação de redes de indivíduos e grupos sociais
começaram a ser estudados a partir da década de 1940 por sociólogos e antropólogos sociais
4 Buzz: é uma técnica de marketing com foco em cadeia de consumidores.
27
dos EUA, Inglaterra e Alemanha (BARNES, 1972; ROGERS e KINCAID, 1981; SCOTT,
1992 apud AGUIAR, 2014, p. 16).
No Brasil, em 1990, as redes sociais despertaram interesse acadêmico, na onda
das pesquisas sobre novas formas associativas e organizativas que emergiam dos processos de
resistência à ditadura militar, de redemocratização do país, de globalização da economia e
desenvolvimento sustentável, afirma Aguiar (2014 p. 4-6).
Essas redes sociais estão hoje presentes principalmente na Internet, devido ao
fato de possibilitar a comunicação instantânea com outros usuários, acelerando a divulgação e
a absorção de novos elementos em busca de algo em comum. Paralelamente, permitem a
expressão de ideias politicas e econômicas inovadoras, desde combate à pobreza, exclusão
social, inovação nos pensamentos, valores e atitudes destes usuários.
Recuero (2009, p. 2) afirma que as redes sociais na internet são constituídas de
representações dos atores sociais e de suas conexões, sendo estas individualizadas e
personalizadas através de um perfil nas redes sociais como: Orkut, Facebook, Twitter,
Instagram, Badoo, MySpace, LinkedIn e outros serviços, onde os usuários podem possuir
centenas ou milhares de conexões, possibilitando serem muito maiores e mais amplas que as
redes off-line, uma vez que estes vínculos não se delimitam às fronteiras geográficas e
culturais (etnias, religião, idioma, gênero etc).
Segundo Boyd (2007, apud RECUERO, 2014 p. 121), as redes sociais na
internet seriam “espaços públicos mediados”, mais detalhadamente, seriam “ambientes onde
as pessoas podem se reunir publicamente através da mediação da tecnologia”, e se tornaram
plataformas bastante populares. Com essa quantidade de interações, assuntos e interesses
diferentes, criam-se valiosos acervos de informações sobre os utilizadores e as atividades que
estes desenvolvem nessas plataformas. Conforme Beer (2008, apud LEITE et al., 2014), essas
redes podem ser avaliadas em milhões de dólares.
Segundo Cipriani (2011, p. 2), o homem que deseja se expressar e através das
redes sociais, encontra um espaço amplo para expressar suas escolhas e uma pequena barreira
para que ela se espalhe: apenas o acesso à internet. Define as redes sociais como “um
aglomerado de indivíduos se expressando livremente (ao menos até certo ponto) e se
relacionando sem limites”, e afirma que isso está trazendo grandes impactos para a sociedade
(governos, leis, religiões, empresas, culturas e valores).
Com este sucesso das redes sociais houve uma preocupação na melhora de suas
opções, estratégias comerciais e operacionais de todos os ramos. Um exemplo seriam as
28
universidades que utilizam as redes sociais para valorizar a sua imagem e obter uma forte
exposição perante os antigos, novos e futuros alunos.
Essa nova técnica de interação vem se transformando em importantes
plataformas para a disseminação de informações e conteúdos, como mostra na FIG. 3 (HAN
& NIU, 201 apud LEITE et al., 2014 p. 142); o ponto preto (destacado) representa uma fonte
de informação (plataforma), e o restante seriam os nós por onde a mesma se propaga.
Figura 3 – Propagação da informação nas redes sociais. Fonte: HAN & NIU, 2012 apud LEITE et al., 2014 p.142.
Segundo o site InternetWorldStats.com (2013), quase três bilhões de pessoas já
possuem acesso à internet, sendo que mais de um bilhão delas usam o Facebook e mais de
quinhentos milhões usam Twitter. Só no Brasil, mais de setenta e oito milhões de internautas,
o equivalente a 38% da população possui algum perfil nas redes sociais.
No atual cenário das redes sociais, o Facebook é realmente um fenômeno de
popularidade, segundo o site G1 (2014), com mais de 1,19 bilhões de usuários; chegou a
superar o site do Google e outros, como a página Web mais visitada em 2010, conforme
provado a seguir na FIG 4.
29
Figura 4 – Gráfico informativo dos acessos aos sites mais visitados na Web no período de 2009/2010. Fonte: comScore, 2014.
1.3.1 Vertentes das Redes Sociais
As redes sociais são dividas em três vertentes: primária, secundária e
intermediária, conforme definições a seguir.
Redes Sociais Primárias ou Informais: são redes de relações entre
indivíduos, em decorrência de conexões pré-existentes, relações
semiformalizadas que dão origem aos grupos Warren (2013, p.168).
São formadas por todas as relações que as pessoas estabelecem durante
a vida cotidiana, familiares, vizinhos, amigos, colegas de trabalho,
organizações etc. As redes de relacionamento começam na infância e
contribuem para a formação das identidades. Exemplos: Orkut,
Facebook, Hi5, Sonico, etc.
Redes Sociais Secundárias ou Globais: são redes formadas por
profissionais e funcionários de instituições públicas ou privadas, por
organizações não governamentais, organizações sociais, entre outras, e
fornecem atenção, orientação e informação. Exemplos: Dell IdeaStarm,
My Starbucks, GenteCia, TechNet.
30
Redes Sociais Intermediárias ou Redes Associativas: formadas por
pessoas que receberam capacitação especializada, tendo como função a
prevenção e apoio, podendo vir do setor da saúde, igreja, comunidade
ou pelo coletivo. Seu foco é o poder de mobilização e articulação para
que seus objetivos sejam atingidos. Exemplos: Wikipédia, Twitter,
ReclameAqui.
1.3.2 Principais Redes Sociais
O Quadro 1, apresenta um ranking das dez principais redes acessadas no
mundo e no Brasil, conforme Compete (2012 apud HENDGETS 2014, p. 2) demonstra e
comprova com dados da empresa infográfica.
10 SITES DE REDES SOCIAIS MAIS
ACESSADOS NO MUNDO
10 SITES DE REDES SOCIAIS MAIS
ACESSADOS NO BRASIL 01º - Facebook.com 02º - Youtube.com 03º - Twitter.com 04º - LiveJournal.com 05º - MySpace.com 06º - LinkedIn.com 07º - Badoo.com 08º - Orkut.com 09º - Tagged.com 10º - Ning.com
01º - Facebook.com 02º - Youtube.com 03º - Orkut.com 04º - Twitter.com 05º - LinkedIn.com 06º - Flickr.com 07º - Badoo.com 08º - Dihitt.com.br 09º - Ning.com 10º - Foursquare.com
Quadro 1 – Top 10 sites de redes sociais do Brasil e do mundo. Fonte: COMPETE, 2012 apud HENDGETS, 2014, p. 2.
A seguir, é apresentado um histórico das primeiras redes sociais:
ClassMates.com (1995), criada com o propósito de realizar um
reencontro entre amigos de faculdade ou escola. Foi à primeira rede
social na internet que levou para online os laços sociais que haviam
sido criados em ambiente off-line. Uso intenso no Canadá e nos Estados
Unidos, tratando-se de um modelo de serviço pago.
31
AOL Instant Messenger (1997): um dos primeiros provedores de
internet, a America Online, também foi uma das pioneiras na categoria
de bate papo. Mensagens instantâneas começaram a ser enviadas pela
internet mesmo com acesso limitado pelos assinantes.
Sixdegress (1997): primeira rede social que permitiu a criação de um
perfil virtual, bem como a publicação e listagem de contatos,
permitindo a visualização de perfis de terceiros (OLIVEIRA apud
NICKSON; CRISTOPHER, 2009, p. 5). O nome dado a esta rede
referencia os seis graus de amizade, uma teoria originada através de um
estudo cientifico, que comprova a necessidade de no máximo seis laços
de amizade para que duas pessoas quaisquer estejam ligadas.
Friendster (2002): conquistou milhares de internautas. Pesquisas feitas
na época revelaram que um em cada cento e vinte e seis usuários
utilizava esta rede social. Com o conceito de círculo de amizade,
encorajou laços de relacionamentos entre pessoas de interesses em
comum. Também a permitia a criação e a interação através de um
perfil.
MySpace (2003): concebida como um “clone” da Friendster. Uma
curiosidade em relação a essa rede é que sua primeira versão foi
codificada em apenas dez dias. Após um tempo, foi aperfeiçoada com
espaço para músicas, fotos e blog para cada usuário. Tornou-se uma das
principais redes sociais mais populares no mundo.
LinkedIn: criada em 2003, conhecida como rede social para
empresários, com assuntos relacionados ao profissionalismo, possibilita
que empresários ou funcionários se comuniquem com outros
profissionais; o termo de contatos passou a ser chamado com conexão.
Em 2004 surge a WEB 2.0, que por sua vez indicava a chegada da segunda
geração de comunidades, uma espécie de evolução da internet, com uma nova forma de
utilizá-la e encará-la por seus usuários e desenvolvedores. Muitos afirmam que essa evolução
seria apenas uma estratégia de marketing, mas foi a maior mudança que a internet sofreu.
Conforme visto no site Tecmundo (2009, p. 1), com a WEB 2.0 foi possível obter uma
participação efetiva dos usuários nas redes sociais e páginas repletas de vídeos, wikis e blogs.
Com essa evolução surgiram um novo conceito para as redes sociais, como:
32
Orkut (2004): criado por um engenheiro turco e funcionário do Google,
chamado Orkut Büyükkokten, com a proposta de possibilitar aos
usuários a criação de novas amizades, inicialmente com o público
americano. Após lançamento mundial em 2006, os países que mais
utilizaram esta rede foram: Brasil e Índia. O Orkut se tornou uma febre
e, inicialmente para fazer parte da rede, era necessário que um dos
participantes lhe enviasse um convite, o que fez com que se difundisse.
Facebook (2004). No início chamado de The Facebook, criado pelos
ex-estudantes da Universidade de Harvard: Mark Zuckerber, Dustin
Moskovitz, Eduardo Saverin e Cris Haughes. Inicialmente, seu uso era
restritivo aos estudantes da universidade e, com o passar do tempo, para
outros campos estudantis, mas somente em 2006, qualquer usuário com
mais de 13 anos poderia criar seu perfil na rede. Atualmente, lidera o
ranking de redes sociais e, em julho de 2012, aparece com 54,99% da
preferência nacional em visitas. Utiliza diversas estratégias, com o claro
objetivo de manter seus usuários conectados o maior tempo possível à
sua plataforma. Também em 2012, o Facebook compra a empresa
Opera, desenvolvendo assim o seu próprio navegador, que contava com
jogos, recursos e interface voltada à rede social, proporcionando aos
usuários uma grande variedade de interação.
Twitter (2006), considerada a mais inovadora no que se refere à
velocidade da informação. O termo Twitter foi inspirado no som de um
pássaro que emite sons para comunicar aos demais pássaros sua atual
localização e atividade. Mostrou-se um pouco diferente das demais
redes sociais, pois permite apenas 140 caracteres para publicação de
algum conteúdo. Em 2008, o Orkut liderava a preferência de uso, mas
em 2009 o Twitter conquistou não só este espaço, como também se
tornou uma das principais redes sociais do mundo. Altos ganhos com
publicidade marcaram esta plataforma. Estudos em 2012 apontavam
que o Twitter poderia gerar até U$$ 1 bilhão de vendas até 2014,
representando um crescimento duas vezes maior do que previsto. Dados
de 2013 informam que o Twitter possuía 230 milhões de usuários.
33
Pinterest (2010), plataforma desenvolvida por Paul Sciarra, Evan Sharp
e Bem Silbermann em um pequeno apartamento, com o foco de ser
voltada para compartilhamento de fotos, ganhou fama por permitir aos
usuários uma personalização. Caracterizada por um layout simples, mas
com uma opção fácil e eficiente de compartilhar imagens na internet.
Em 2012 veio ao Brasil, porém não se destacou.
Instagram (2010), uma rede social que permite aos usuários capturar
imagens, aplicar filtros e publicar gratuitamente através do seu
aplicativo, tornando um sucesso . Lançado oficialmente em outubro de
2013 alcançou seu sucesso mundial no final deste mesmo ano. Criado
com a participação do brasileiro Mike Krieger, liberado para sistemas
Android e IOS, já está chegando perto de quase 10 milhões de usuários,
com uma equipe de apenas seis funcionários.
Google+ (Google Plus, 2011). O Google lançou esse novo projeto após
algumas tentativas frustradas de lançar uma rede social que fizesse
sucesso, no intuito de permitir aos utilizadores uma ferramenta seletiva,
com a qual possam dividir em círculos cada grupo de amizade. Uma de
suas aplicações é a Hangout, que permite realizar uma videoconferência
em tempo real com vários usuários. Para difundir sua rede social trouxe
diversos artistas para representar sua plataforma. Com um pico de 90
milhões de cadastros foi um verdadeiro sucesso, porém, isso não se
converte em usuários ativos da rede social, dados divulgados pela
Experian Hitwise em agosto de 2012, apontam que o Google Plus
possui cerca de 1,17% da participação do mercado, atrás do Youtube
com 17,92% e do Orkut com 12,42%.
1.3.3 Cenário das Redes Sociais no Brasil
Segundo dados de 2012 da comScore (2014), uma empresa que presta serviços
de análise de acessos à internet, o Brasil é um dos maiores países que utilizam as redes
sociais. Vejamos algumas das informações desta pesquisa:
34
90,8% dos internautas brasileiros acessam as redes sociais. Em média, 4,9 horas mensais são gastas nestes sites. 60% dos internaturas se inscreveram em alguma rede social nos últimos 3 meses, sendo as redes que mais possuem inscritos são : Facebook (27,5%), Google+ (27%), Twitter (11,8%) e Youtube (9,4%). Sites com mais usuários: Facebook (94%), Orkut (75%), Twitter (73%), Youtube (69%) e Google+ (56%). Sites com maior frequencia de uso: Facebook (88,9%), Twitter (41%), MSN (34,3%), Orkut (31,7%) e Youtube (21,7%). 58,7% da quantidade de acessos das redes sociais são das mulheres. 41% pesquisam nas redes sociais antes de comprar. 2 a cada 3 dão feedback para as marcas via redes sociais. 54% seguem empresas no Twitter. 74% curtem empresas no Facebook. 68,5% usam aplicativos para acessar as redes sociais. 56% usam celulares ou smartphones para acessar o Facebook, 70% usam desktops e 60% notebooks.
Quadro 2 – Estatísticas das redes sociais no Brasil. Fonte: comScore. 2014.
1.3.4 Redes sociais: Facebook e Twitter
Facebook, como dito anteriormente, é um sistema criado pelo americano Mark
Zuckerberg enquanto aluno de Harvard, com foco aos alunos que saíam e entravam na
universidade, para realizarem vínculos de amizades e laços de trabalho. Lançado em 2004 ao
mundo, é considerado um dos sistemas com maior base de usuários.
É um espaço para discussão de ideias, compartilhamento, encontro e uso de
aplicações e jogos. Tornou-se uma ferramenta popular, de fácil de uso, não necessitando de
softwares específicos, apenas a internet e qualquer navegador. É possível interligar recursos
como RSS (Rich Site Summary), blogs, Twitter em sua rede.
Funciona através de perfis e comunidades, no qual em cada perfil é possível
criar e/ou acrescentar módulos de aplicativos (jogos, ferramentas etc). A plataforma
possibilita mais privacidade do que os outros sites de redes sociais, pois é possível controlar
quem pode visualizar a informação específica ou realizar determinadas ações, como por
exemplo, apenas os usuários que fazem parte da lista de amigos podem visualizar seu perfil se
assim o usuário o configurar.
35
Possui um léxico próprio, como:
Book Tag: cria listas de livros para leitura ou até mesmo para
comentário;
Books iRead: permite compartilhar livros lidos ou que deseja ler e
adicionar tags5;
Apply: possibilita a organização de aplicativos externos;
Calendar: organizam as atividades diárias, avisos e compartilhamento
com amigos;
Chat/Messenger: comunicação em tempo real com outros usuários ou
um grupo;
Events: permite criar eventos, convidar pessoas e promover o evento;
Favorite Pages: adiciona páginas aos favoritos;
Files: permite armazenar e recuperar dados;
Flashcards: cria cartões em flash para estudar;
Like: criou o termo “curtir” na rede social, com o intuito de
compartilhar de maneira mais rápida o conteúdo com seus amigos,
com apenas um clique.
Twitter, como citado acima, foi fundado em 2006 por Jack Dorsey, Biz Stone e
Evan Willians como um projeto da empresa Odeo, sendo um serviço classificado como um
microblogging devido aos seus pequenos textos com um pensamento ou evento como em um
blog, a partir da pergunta “O que você está fazendo?”. Estruturado com seguidores e pessoas
a seguir, é uma ferramenta pouco intuitiva com apenas 140 caracteres. A página inicial de sua
conta conhecida como timeline, apresenta tweets apenas das contas que você considera
interessantes.
Em contrapartida sua popularidade está em crescimento, indicando que é
possível se comunicar muito bem.
Possui um léxico próprio como:
Tweet: uma atualização ou post com menos ou igual a 140 caracteres;
Retweet: retransmitir um tweet para outra pessoa de sua lista;
Hashtag: associação de uma palavra ou assunto antecedido pelo
símbolo cerquilha (#), as quais podem ser interligadas como um tópico,
discussão ou referência;
5 Tag: etiqueta; em informática palavra-chave.
36
Tweeps: seria uma sugestão de pessoas que você possui um vinculo em
outras redes sociais, e que atualmente não possui no seu Twitter.
Twitosfera: comunidade total de tweeters;
@nome_do_usuario: assim que é feito um link com um usuário
especifico onde, será o símbolo arroba (@) seguido do nome do
utilizador do Twitter;
DM: sigla para Direct Mensage (Mensagem Direta), sendo possível
enviar uma mensagem a outro usuário de forma privada e dentre outros
léxicos.
Trending Topics ou Trends: são tópicos populares. Uma lista em tempo
real dos nomes mais postados no Twitter em todo mundo, para isso são
utilizados as listas de hastags.
1.3.5 Mercado nas redes sociais
Não só como o Facebook e Twitter, todas as redes sociais têm sido vistas como
mais um importante meio de comunicação e aproximação entre as empresas e o seu mercado
alvo.
Segundo Cipriani (2011, p. 20), “as empresas veem nas mídias sociais,
meramente uma mídia e não uma plataforma de relacionamento, diálogo, conversação com o
mercado” Com isso, as empresas não devem achar que as redes sociais são de carácter
exclusivo para marketing, mas, principalmente um meio de se comunicar e ter um feedback 6
com os consumidores ou futuros consumidores.
Segundo Sayon (2008, p. 2), o “impacto” da publicidade em redes sociais é 500
vezes maior do que em outras mídias, o que demanda cautela na hora de elaborar a campanha,
pois acima de tudo um fator influenciador são que seus membros são formadores de opinião.
O monitoramento deve atender a cinco etapas: configurações, coleta de dados,
refinamento, análise do sentimento e resultado e plano de ações. Os processos de
configurações devem definir as três diretivas de pesquisa: quem será monitorado, onde será
feito o monitoramento e o que será monitorado. A etapa de coleta de dados será realizada com
6 Feedback: termo utilizado para dar uma resposta a ação ou situação.
37
ajuda de uma das ferramentas de monitoramento; no processo de refinamento devem ser
analisados os dados e verificada a efetividade das buscas e filtrados aqueles que serão
relevantes. A análise de dados é uma etapa humana, conduzida manualmente por uma equipe,
onde deverão ser avaliados os resultados e sua colocação (positiva ou negativa). E os
resultados e planos de ações seriam as estratégias que a empresa deverá tomar para se
sobressair ou melhorar sua imagem diante aos consumidores.
Os objetivos estratégicos buscados pela empresa nas redes sociais são:
Relacionamento e proximidade com os clientes, fornecedores, parceiros
e concorrência;
Percepção da marca no mercado;
Inovação e criatividade nos produtos e serviços, modelos de negocio,
processos internos e marketing.
Eficiência e efetividade das operações da empresa, cumprindo
processos com o melhor uso de recursos possíveis, reduzindo custos.
Um conceito que vem ganhando força desde 2008 é o chamado CRM Social
definida como: gestão de relacionamento com o cliente, tradução de Customer Relationship
Management Social. Cipriani (2011, p. 78) define como:
[...] uma estratégia e uso de ferramentas sociais de interação pelas empresas que, por meio de conversação, da colaboração e do estabelecimento de um relacionamento significativo com os clientes, promovem a transparência e a acessibilidade dos processos, dão mais poder de influencia e negociação na decisão de consumidores e, ao mesmo tempo, garantem a boa reputação da marca e aumentam a fidelidade do mercado para com ela.
Com isso podemos dizer que os clientes são motivados a participar da tomada
decisões e ações de marketing, tendo um relacionamento colaborativo, gerando benefícios
mútuos entre consumidores e empresas.
Não podemos deixar de falar nas métricas nas redes sociais. As formas mais
usadas para medir o desempenho nas redes sociais são as métricas quantitativas de atividades.
E quase nenhuma empresa utiliza métricas qualitativas, mais complexas, porém mais
estratégicas e reconhecidas no meio corporativo. Estes dois tipos de indicadores são definidos
como:
Métricas quantitativas são resultados financeiros diretos, como retorno
sobre o investimento receita, margem, custos das iniciativas e reduções
38
de custos e também resultados diretos do uso das ferramentas de mídias
sociais: número de usuários, tráfego, número de comentários, número
de visitas, frequência de visita. São índices financeiros e de atividades.
Métricas qualitativas são resultados indiretos do relacionamento
estabelecido com clientes nas mídias sociais. São difíceis de mensurar,
pois normalmente incluem a percepção da marca e do cliente. Exemplo:
imagem da empresa, reputação da marca, satisfação do cliente ou
funcionário, custo de oportunidade. Geralmente, são medidas através de
pesquisas que perguntam aos clientes qual a sua opinião a respeito da
empresa.
Com o uso e monitoramento das redes sociais, é possível abordar alguns
assuntos propostos a seguir:
Monitoramento da marca ou mercado;
Suporte ao cliente;
Vendas ou busca de oportunidades;
Ações de marketing e divulgação;
Desenvolvimento de produtos ou inovação por meio da colaboração;
Identificação de talentos para contratação;
Comunicação e relação com o mercado e partes interessadas;
Integração interna ou suporte a equipes;
Gestão do conhecimento
1.3.6 Exemplo do uso das redes sociais nas empresas
A seguir estão destacados seis exemplos de empresas, que utilizaram as redes
sociais para seu crescimento e acompanhamento de sua marca e de seus consumidores.
Fiat, uma das pioneiras no uso das mídias sociais, a qual criou em 2005 um
blog com um personagem não humano, chamado Gino, um ursinho de pelúcia que falava as
vantagens das revisões na rede de concessionária. Mais tarde, começou a utilizar o Twitter
fortemente, no qual era possível acompanhar os novos lançamentos de modelos e versões dos
carros com fotos publicadas antes do lançamento oficial dos veículos. Uma de suas atividades
39
por colaboração foi o projeto Fiat Mio, um carro-conceito desenvolvido com a participação de
qualquer pessoa por meio do seu portal.
Boehringer Ingelheim, uma indústria multinacional farmacêutica, a qual
utilizou as redes sociais para criar um canal digital de discussões sobre doenças e saúde, com
a participação dos médicos representantes da empresa para orientarem os usuários. Uma das
ferramentas é o site Pharmaton, o qual monitora como se sentem os brasileiros nos quesitos:
sono, disposição, nutrição e estresse por meio de análises das mensagens no Twitter.
A Nokia teve sua principal iniciativa que envolve a comunidade de seus
clientes e fãs com o projeto Nokia Gurus, formado por pessoas ou “gurus”, que atuam no
suporte a dúvidas de outros usuários dos aparelhos celulares da empresa. E como incentivo, os
“gurus” que mais ajudassem as pessoas iriam ganhar o último lançamento de aparelho da
Nokia. Assim a empresa pode avaliar os produtos e serviços prestados, além de segmentar os
clientes e criar processos e relatórios de acompanhamentos.
Bradesco, um dos pioneiros no serviço de atendimento ao cliente via redes
sociais. Começou a monitorar as redes sociais desde 2008, o qual a empresa decidiu abrir um
canal de atendimento chamado Alô Bradesco, que conta com 8 pessoas dedicadas em tempo
integral, 24 horas por dia para monitor e prestar suporte aos clientes.
Tecnisa, uma construtora imobiliária nacional, o qual disponibilizava a venda
de apartamentos em seu blog e mais tarde no Twitter. A empresa investia em tecnologia no
seguimento de vendas, presente na maioria das redes sociais e se organizou para que todos os
setores da empresa pudessem responder todas as dúvidas dos consumidores.
IBM, desde 2005 possui uma política que regula e orienta seus funcionários no
uso adequado desses novos canais de comunicação, com intuito de aumentar o número de
porta-voz para o mercado. Todos os funcionários tem liberdade de publicar em um blog
individual e tem responsabilidade pelo que escrevem. Em 2011, existia cerca de dezesseis mil
blogs ativos de funcionários da empresa.
1.4 CONSIDERAÇÕES FINAIS
Com base na revisão da literatura apresentada neste capitulo, conclui-se que
com o crescimento das redes sociais, gerando grande quantidade de informações, foi
necessária a aplicação dos motores de buscas, para a extração de dados.
40
Atualmente, as redes sociais e os motores de buscas operam em conjunto
provendo informações em tempo real aos usuários e organizações, agilizando a busca por
informações.
41
2 MINERAÇÃO DE DADOS
2.1 CONSIDERAÇÕES INICIAIS
Neste capitulo, serão apresentadas as definições e tipos de mineração de dados,
e sua aplicação para extrair informações nas redes sociais online através do uso de APIs, onde
algumas técnicas já estão implementadas.
2.2 INTRODUÇÃO À MINERAÇÃO DE DADOS
Com o surgimento dos sistemas computacionais, um dos principais objetivos
das organizações tem sido o de armazenar dados. Nas últimas décadas, isto ficou ainda mais
evidente, com a queda nos custos para a aquisição de hardware, permitindo armazenar
quantidades cada vez maiores de dados. Para atender esta demanda, novas estruturas de
armazenamento foram desenvolvidas, tais como: banco de dados, data warehouse7,
bibliotecas virtuais, Web e outras.
A seguir, Bramer exemplifica a quantidade de dados, que são gerados por
algumas aplicações existentes.
Os satélites de observação da NASA geram cerca de um terabyte de dados por dia. O projeto Genoma armazena milhares de bytes para cada uma das bilhões de bases genéticas. Instituições mantêm repositórios com milhares de transações dos seus clientes. (BRAMER, 2007 apud CAMILO; SILVA, 2009, p. 1)
Com o volume de dados armazenados crescendo diariamente, surgiram os
primeiros questionamentos, "o que fazer com os dados armazenados?", "como representar o
conteúdo desses dados?", desta forma, as técnicas tradicionais de exploração de dados não são
7 Data warehouse: armazém de dados.
42
mais recomendados para tratar grandes volumes de dados. A partir destes questionamentos,
foi proposta no final da década de 80, a mineração de dados, do inglês, data mining8.
A mineração de dados é uma das tecnologias mais promissoras da atualidade, e
o principal fator deste sucesso, é o grande investimento realizado pelas companhias na coleta
dos dados. Porém, mesmo com grandes investimentos, nenhuma informação útil ou relevante
era identificada. Han (2006 apud CAMILO; SILVA, 2009), faz uma analogia a este fato,
dizendo: "rico em dados, pobre em informação", e acrescenta que o setor privado, o setor
público e o terceiro setor, como por exemplo, ONG’s, podem se beneficiar com as técnicas de
mineração de dados.
A mineração de dados combina métodos e ferramentas das seguintes áreas:
aprendizagem de máquina, estatística, banco de dados, sistemas especialistas e visualização
de dados, e um dos principais objetivos da mineração de dados são, descobrir relacionamentos
entre dados, fornecendo subsídios para que possa ser feita uma previsão de tendências futuras
baseada no passado.
Os resultados obtidos com a mineração de dados podem ser usados no
gerenciamento de informação, processamento de pedidos de informação, tomada de decisão,
controle de processo e outras aplicações.
2.2.1 Descoberta de conhecimento (KDD)
O modelo tradicional para transformação dos dados em conhecimento consiste
em um processamento manual de todas essas informações por especialistas, que irão produzir
relatórios a serem analisados. Com o grande volume de dados gerados, esse processo manual
se torna inviável.
O KDD (Knowledge Discovery in Database) é uma tentativa de solucionar o
problema causado pela chamada "era da informação". A seguir, na FIG 5, (FAYYAD apud
CAMILO; SILVA, 2009, p.4) ilustra o processo de KDD, que segundo ele, deve ser realizado
de forma iterativa, interativa e dividida em fases.
8 Data mining: mineração de dados.
43
Figura 5 – Representação do processo de KDD. Fonte: FAYYAD apud CAMILO; SILVA, 2009, p.4.
2.2.2 Dados qualitativos vs Dados quantitativos
Na mineração de dados é fundamental que se conheça o tipo de dado que será
utilizado em seus trabalhos ou pesquisas, para em seguida definir o método de mineração a
ser aplicado. Existem duas classificações para os dados, são elas: qualitativos e quantitativos.
Os dados qualitativos são expressos em categorias, e basicamente são
utilizados em segmentação e classificação. Dados quantitativos são representados por valores
nominais e ordinais. Tais diferenças demonstram o quanto é importante, explorar, conhecer e
preparar os dados antes da aplicação de algoritmos.
2.2.3 Pré-processamento de dados
O processo de preparação dos dados é conhecido como pré-processamento.
Nesta etapa, devem ser realizadas quatro operações, para somente depois aplicar o algoritmo
desejado. A preparação dos dados envolve: limpeza dos dados, integração dos dados,
transformação dos dados e redução dos dados.
44
Na atividade de limpeza dos dados geralmente são encontrados diversos
problemas, como por exemplo, registros incompletos, valores incorretos e inconsistência de
dados. Pretende-se nesta etapa eliminar estes problemas, para que os mesmos não influam no
resultado do algoritmo aplicado.
A fase de integração dos dados envolve técnicas para integrar os dados de
diferentes fontes e repositórios, criando um repositório único e consistente.
Em seguida, de acordo com o algoritmo a ser utilizado, é necessário realizar a
transformação dos dados, pois alguns algoritmos reconhecem apenas valores numéricos e
outros apenas valores categóricos.
Freitas (1993 apud CABRAL et al. 2005) afirma que não há uma técnica que
resolva todos os problemas de mineração de dados. Existem alguns métodos que servem para
diferentes propósitos, cada método oferece suas vantagens e suas desvantagens. A
familiaridade com as técnicas é necessária para facilitar a escolha de uma delas de acordo com
os problemas apresentados. A seguir são descritas as técnicas de mineração de dados
normalmente usadas.
Suavização: realiza a remoção dos valores errados dos dados.
Agrupamento: realiza o agrupamento de valores em faixas sumarizadas.
Generalização: converte valores específicos em valores genéricos.
Normalização: define as variáveis em uma mesma escala.
Criação de novos atributos: são gerados a partir de outros atributos já
existentes.
Por fim, realiza-se a redução dos dados, pois, geralmente o volume dados
costuma ser muito elevado. Esta técnica é aplicada para reduzir a massa de dados, sem perder
a representatividade dos dados originais, permitindo em alguns casos, ganho de performance
na aplicação dos algoritmos. As principais estratégias aplicadas na redução dos dados é a
redução da dimensionalidade e a discretização.
2.2.4 Métodos de aprendizado
Os métodos de aprendizagem voltados à mineração de dados foram divididos
em dois, e são conhecidos como supervisionado ou preditivo, e não supervisionado ou
45
descritivo. Nos dias atuais, já existem técnicas que utilizam destes dois métodos
simultaneamente, e são chamados de abordagem semi-supervisionado.
Na abordagem de aprendizado supervisionado, utiliza-se um conjunto de
dados, juntamente com uma variável alvo pré-definida e os registros são categorizados em
relação a ela. Nesta abordagem são utilizadas técnicas de classificação e regressão.
O aprendizado não supervisionado, não precisa que os registros estejam pré-
categorizados. Nesta abordagem utiliza-se a similaridade entre os atributos, e são
consideradas como não supervisionadas, as técnicas de agrupamento e associação.
2.2.5 Técnicas da mineração de dados
Dentro da mineração de dados, são aplicadas diversas técnicas, e as principais,
são descritas as seguir:
Descrição, utilizada para descrever padrões e tendências reveladas
pelos dados, oferecendo uma possível interpretação dos resultados. A
tarefa de descrição geralmente é utilizada em conjunto com as técnicas
de análise exploratória de dados, tendo como objetivo comprovar a
influência de certas variáveis no resultado obtido.
Classificação realiza a identificação a qual classe um determinado
registro pertence, com o objetivo de aprender como classificar um novo
registro.
Estimação ou Regressão realiza a classificação quando os valores de
um registro são numéricos, podendo estimar o valor de uma variável,
quando analisa os valores das demais.
Predição, similar a classificação e estimação, mas visa descobrir o valor
futuro de um determinado atributo.
Agrupamento identifica e aproxima registros similares. Um
agrupamento é uma coleção de registros similares entre si, porém
diferentes dos outros registros, de outros agrupamentos.
Associação realiza a identificação de quais atributos estão relacionados,
utilizando a condição: SE atributo X ENTÃO atributo Y.
46
2.2.6 Algoritmos
Os algoritmos são aplicados, utilizando as diferentes técnicas da mineração de
dados. A seguir, serão brevemente descritos, alguns exemplos dos algoritmos mais utilizados
em cada técnica apresentada no capitulo anterior.
2.2.6.1 Algoritmos de classificação
Árvores de Decisão: Pichiliani (2014) diz que, o algoritmo de árvores
de decisão gera uma estrutura de árvore que ajuda na classificação e
predição das amostras desconhecidas. Com base nos registros do
conjunto de treinamento, uma árvore é montada e, a partir desta árvore,
pode-se classificar a amostra desconhecida sem necessariamente testar
todos os valores dos seus atributos. O algoritmo de classificação por
árvores de decisão é considerado um algoritmo supervisionado, pois é
necessário saber quais são as classes de cada registro do conjunto de
treinamento. Segundo Carvalho (2005) um algoritmo de árvore de
decisão é induzido a partir de um conjunto de exemplos de treinamento,
onde as classes são previamente conhecidas. A estrutura da árvore é
organizada de tal forma que, a cada nó interno (não folha) é rotulado
com o nome de um dos atributos previsores, as arestas saindo de um nó
interno são rotulados com valores do atributo naquele nó, cada folha é
rotulada com uma classe, a qual é a classe prevista para exemplos que
pertençam àquele nó folha. O processo de classificação de um exemplo
ocorre percorrendo a árvore, a partir do nó raiz, procurando percorrer os
arcos que unem os nós, de acordo com as condições que estes mesmos
arcos representam. Ao atingir um nó folha, a classe que rotula aquele nó
folha é atribuída àquele exemplo. Na literatura os principais algoritmos
de arvores de decisão citados, são: ID3, C4.5 e CART;
47
Classificação Bayesiana: O algoritmo de classificação Bayesiana recebe
este nome por ser baseado no teorema de probabilidade de Bayes. O
algoritmo tem como objetivo calcular a probabilidade, que uma amostra
desconhecida pertença a cada uma das classes possíveis, ou seja,
realizar a predição da classe mais provável, chamada de classificação
estatística, pois é completamente baseada em probabilidades. A
classificação Bayesiana obtém melhores resultados quando os valores
dos atributos são discretos ao invés de contínuos. Pichiliani (2014) diz
que este algoritmo requer um conjunto de dados prévio que já esteja
classificado, ou seja, um conjunto que linha que já estejam separadas
em classes. Baseado neste conjunto de dados prévio, que também é
chamado de conjunto de treinamento, o algoritmo recebe como entrada
uma nova amostra desconhecida, ou seja, que não possui classificação,
e retorna como saída a classe mais provável para esta amostra de acordo
com cálculos probabilísticos. A classificação Bayesiana não necessita
de uma métrica para comparar a ‘distância’ entre as instâncias e nem
classifica a amostra desconhecida automaticamente, pois é necessário
um conjunto de dados já classificados. Devido a esta necessidade
considera-se o algoritmo de Classificação Bayesiana como um
algoritmo de mineração de dados supervisionado.
Redes Neurais: Castanheira (2008) diz que, uma rede neural artificial é
um modelo matemático, de um sistema neural biológico simplificado,
com capacidade de aprendizado, generalização, associação e abstração.
Bem como no cérebro humano, as redes neurais são uma estrutura
paralelizada, composta por neurônios artificiais conectados entre si.
Conforme Elmasri e Navathe (2011), as redes neurais se auto adaptam,
pois, elas aprendem pela informação sobre um problema especifico,
funcionando muito bem em tarefas de classificação, portanto, se tornam
uteis na mineração de dados. As redes neurais podem ser classificadas
redes supervisionadas, bem como redes não supervisionadas. O objetivo
das redes neurais é deduzir uma função de um conjunto de amostras,
permitindo o aprendizado através de uma amostra de teste que é
utilizada para inferência e aprendizado iniciais.
48
2.2.6.2 Algoritmos de Agrupamento
Métodos de Particionamento: utiliza um conjunto de dados,
denominado de D, com n registros, e k é o número de agrupamentos
desejados. O objetivo deste algoritmo é mapear estes registros através
de sua similaridade, e realizar o agrupamento, utilizando como
parâmetro de posicionamento todos os registros analisados
anteriormente. Os algoritmos mais comuns de agrupamento são, o k-
Means e o k-Medoids.
Métodos Hierárquicos: tem por objetivo a criação de um agrupamento
por meio da aglomeração ou da divisão dos elementos do conjunto.
Através da análise e da forma gerada por este método, extrai-se o
dendrograma, uma espécie de gráfico em formato de árvore. Há dois
tipos básicos de métodos hierárquicos, denominados de aglomerativos e
divisivos.
2.2.6.3 Algoritmos de associações
Mineração de Itens Frequentes: Esse algoritmo é aplicado em dois
passos, primeiramente, através de um conjunto de itens frequentes
criado, define-se um valor mínimo de frequência para estes itens, em
seguida, são geradas regras de associação pela mineração desse
conjunto. Segundo Camilo e Silva (2009) para garantir resultados
válidos, os conceitos de suporte e confiança são utilizados em cada
regra produzida. A medida de suporte indica o percentual de registros
que se encaixam nessa regra, e a confiança mede o percentual de
registros que atendem especificamente a regra, por exemplo, o
percentual de quem compra leite e pão e também compra manteiga. Um
dos mais tradicionais algoritmos de mineração utilizando a estratégia de
itens frequentes é o Apriori.
49
2.2.7 Mineração de estruturas complexas
A mineração de dados foi concebida inicialmente para utilizar-se em
repositórios estruturados de dados (arquivos, banco de dados, etc), porém atualmente os dados
são representados por diversos formatos: não estruturados, espacial e temporal, multimídia,
Web, entre outros. A seguir serão abordadas algumas dessas estruturas:
Mineração de Fluxo de Dados: As aplicações que trafegam com alto
volume de dados, temporalmente ordenados e voláteis, segundo Camilo
e Silva (2009, p. 21), “Minerar estas informações após terem sido
armazenadas é uma tarefa inviável”, devido a mineração ocorrer à
medida que os dados são lidos. Devido este fator foram surgindo
diversos frameworks para extração padrões temporais de fluxo de
dados.
Mineração de Séries Temporais: Segundo Spiegel (1993, apud NETO;
LOUREIRO, 2014), é um conjunto de observações tomadas em tempos
determinados, comumente em intervalos iguais de tempo, ou seja,
realiza previsões futuras de acordos com o comportamento passado dos
dados.
Mineração de Grafos: a representação através dos grafos vem sendo
cada vez mais utilizados para modelagem de interações em variados
cenários como circuitos, imagens, proteínas, redes biológicas, redes
neurais, etc. Variações de algoritmos tradicionais e novos algoritmos
têm sido desenvolvidos para esse fim.
Mineração de Relacionamentos: Este tipo de estrutura representa o
relacionamento entre as entidades envolvidas (semelhante a uma
estrutura de grafos), com grande riqueza de padrões que podem ser
extraídos por meio das redes sociais. Matsuo, 2008 (apud NETO;
LOUREIRO, 2014), apresenta uma abordagem de mineração pra esta
estrutura.
50
Mineração de Dados Multirelacionais: A maior parte das bases
relacionais armazena os dados de forma normalizada e distribuída.
Devido a isso as tabelas devem ser agrupadas e simplificadas, podendo
gerar alguns problemas, tais como: variáveis desnecessárias ou
duplicadas, complexidade dos dados, tempo de análise e entendimento,
etc. Com isso, visa criar algoritmos que utilizam as estruturas originais
das bases, sem a necessidade de conversão.
Mineração de Objetos: As bases orientadas a objetos armazenam os
dados em forma de objetos, respectivamente com seu identificador,
seus atributos e métodos, diferentemente das bases relacionais.
Mineração de Dados Espaciais: Este método visa identificar os padrões
armazenados nos dados espaciais (topologia, distancia, radiações) de
uma forma implícita.
Mineração de Dados Multimídia: Através das bases de dados
multimídias que armazenam conteúdos de áudio, vídeo, imagens,
gráficos, textos e outros, é possível realizar estudos de padrões nestes
arquivos, como por exemplo: associação de documentos textuais
escaneados, padrão das faces nas imagens, e outras aplicações.
Mineração de Textos: Segundo Morais e Ambrósio, grande parte dos
dados é armazenada de forma semiestruturada e não estruturada, através
de e-mails, artigos, documentos, etc. Porém a maioria das vezes, a
busca por padrões e conhecimento nestes arquivos é falha: documentos
não relacionados, o volume muito alto de informações dispensáveis,
entre outros. Por isso, surge esta mineração para ajudar neste processo.
Mineração da Internet: Segundo Camilo e Silva (2014, p. 21) “A
mineração da Internet tem sido alvo de recentes pesquisas, pois ela
reúne em seu ambiente, quase a totalidade dos tipos de estruturas
complexas e simples que existem.”, com isso o volume de dados é
gigantesco, atendendo às diversas necessidades e conteúdos. A Web
Mining consiste em extrair estruturas de ligações, conteúdos, padrões
de acesso, classificação de documentos, entre outros.
51
2.3 MINERAÇÃO DE DADOS DA WEB SOCIAL
As redes sociais proporcionam plataformas para aplicações sociais,
necessitando do colaborativismo e do relacionamento entre as pessoas. Com o
desenvolvimento das APIs, os próprios usuários podem construir suas próprias aplicações
sociais.
Para que as aplicações consigam interagir com aplicações Web, são utilizados
os Web Services. As APIs das redes sociais online são Web Services9 destinados a oferecer
recursos, funcionalidades, acesso e manipulação de informações, presentes nas redes sociais.
A maioria das APIs são implementadas através dos princípios REST
(Representational State Transfer), as mensagens trocadas são encapsuladas diretamente no
protocolo HTTP (Hyper Text Transfer Protocol). Os recursos oferecidos pelo REST são
representados por URIs(Uniform Resource Indentifier) e também por métodos.
Primeiramente, será apresentado informações sobre o padrão OAuth (Open
Authorization) e após sobre as APIs da rede Twitter e Facebook.
2.3.1 OAuth
OAuth é um padrão aberto de autorização, que permite aos usuários de um site
garantirem acesso por uma aplicação externa, permitindo acessos de recursos privados sem ter
que compartilhar logins10 e senhas.
É possível definir os níveis de autorização que o usuário pode aceitar ou não,
criado em 2006, baseando nos padrões proprietários Google AuthSub, Yahoo BBAuth e Flickr
API Auth. Seu funcionamento baseia em duas partes: a primeira parte define um processo no
browser, o qual redireciona o usuário final para autorização aos seus recursos; e a segunda
define um método para realizações de requisições HTTP autenticadas, utilizando dois
conjuntos de credenciais: identificação do cliente (quem está requisitando os recursos) e do
dono do recurso (usuário).
9 Web Services: são aplicativos na web que permite enviar e receber dados no formato XML. 10
Logins: é um conjunto de caracteres solicitado para os usuários que por algum motivo necessitam acessar algum sistema computacional
52
Segundo definições de Hammer-Labav, (2009 apud XAVIER; CARVALHO,
2011), este protocolo é composto por:
Token de requisição: quando o usuário entrar na aplicação, esta requisita
ao servidor um token11 de requisição, redirecionando o usuário para a tela
de autenticação do servidor.
Autenticação e autorização: uma vez autenticado, o usuário recebe um
questionamento acerca da autorização para a aplicação.
Redirecionamento à aplicação consumidora: caso o usuário autorize o
acesso, o servidor marca o token de requisição como autorizado, após é
redirecionado para o URI previamente informado.
Token de acesso: ele realiza o intercambio do token de requisição por um
token de acesso, permitindo o acesso aos recursos privados do usuário. É
possível definir sua duração em curta ou longa, e ao expirar será necessária
obtenção de outro token.
Acesso aos recursos privados: com o token de acesso, a aplicação externa
pode consultar todos os recursos privados, os quais foram concedidos
permissões.
Em 2009, o protocolo OAuth lança a versão 2.0 o qual foi reformulado
completamente. Provê uma opção para autenticação sem criptografia utilizando HTTPS
(Hyper Text Transfer Protocol Secure) e ganhou melhorias em três grandes áreas, são elas:
Autenticação e assinaturas: na versão anterior, havia uma complexidade
causada pela criptografia, e obrigava aos desenvolvedores instalarem e
configurarem bibliotecas externas.
Experiência do usuário e opções alternativas de emissão de tokens: o
método para obtenção do token é chamado de flow, na versão anterior
possuía três flows (Web, desktop e mobile), na mais recente é apenas um
único flow.
Performance em escala: na versão anterior, o protocolo não possuía um
bom escalonamento, necessitando de gerenciamento de estados.
Foram criados mais seis novos flows, são eles:
User-Agent Flow: clientes para navegadores Web.
11
Token: chave eletrônica.
53
WebServer Flow: clientes que são parte de uma aplicação em um
servidor Web.
Device Flow: cliente de execução em dispositivos limitados.
Username and Password Flow: o grau de confiança entre o
usuário e o cliente foi elevado, possibilitando guardar suas
credenciais.
Client Credentials Flow: o cliente usa suas credenciais para obter
o token de acesso.
Assertion Flow: o cliente faz uma afirmação como uma SAML
(Security Assertion Markup Language) para o servidor de
autorização, obtendo seu token de acesso.
2.3.2 Coleta e manipulação dos dados do Twitter
As informações apresentadas a seguir, foram coletadas do termo de uso
(http://twitter.com/tos), API (http://apiwiki.twitter.com) e as regras
(http://twitter.com/apirules) do Twitter.
A API do Twitter consiste em três partes, sendo duas delas baseadas no REST
e uma, para fluxo continuo de dados12. As duas baseadas em REST são inteiramente
relacionadas ao histórico de mensagens publicadas. Existe também outra API para buscas13 e
outra para manipulação de dados.
Para autenticação e autorização, o Twitter utiliza o protocolo OAuth na versão
1.0a, sendo um pouco mais burocrática que a versão atual, sendo necessário o envio de
informações no cabeçalho HTTP de requisição.
Para a API do Twitter são necessários quatro componentes, são eles:
Registrar uma aplicação: cada aplicação possui uma API Key14, uma
Consumer Key15 e um Consumer Secret16.
12
Fluxo contínuo de dados: streaming. 13
API de buscas: search API. 14 API Key: chave de API 15
Consumer Key: chave de consumidor. 16
Consumer Key: chave secreta de consumidor.
54
Token de requisição: é necessário esse token para autenticação, é
obtido através do URI https://api.twitter.com/oauth/request_token. O
seu retorno é uma string17 com três parâmetros concatenados
(oauth_token, oauth_token_scret e oauth_callback_confirmed).
Autorizando a aplicação pelo usuário: existem dois tipos, authorize e
authenticate, a diferença é que authorize deve obter uma confirmação
de autorização em todas as requisições, e na authenticate o usuário deve
autorizar apelas uma vez.
Token de acesso: Com a autorização efetuada pelo usuário, é
necessário obter este token para utilizar nas requisições, é obtida pelo
link https://api.twitter.com/oauth/access/_token. O seu retorno é
concatenado com o token de acesso, uma palavra-chave secreta, o ID e
o nome do usuário que autorizou.
Segundo RUSSELL (2011, p. 108) o método de autenticação do Twitter
chamado de Basic Authentication18 é insegura e está em desuso, pois consiste em enviar o
usuário e a senha pelo cabeçalho HTTP.
Search API é uma API de busca do Twitter que não necessita de autenticação
de usuário, nem de uma aplicação registrada e vinculada às requisições. Desenvolvida em
2008 por uma empresa chamada Summize. Seu mecanismo de busca é otimizado e mistura
resultados populares com resultados recentes, disponibiliza os resultados em quatro formatos:
JSON (Javascript Object Notation), XML (Extensible Markup Language) e RSS (). É
possível passar alguns parâmetros de busca como mixed19, popular20, geocode21 etc.
A API principal do Twitter é responsável pela consulta e manipulação de
dados, contendo alguns métodos que necessitam ou não da autorização/autenticação do
usuário. Um exemplo é o método statuses/user_timeline, este retorna os últimos envios de um
usuário por ordem cronológica. Outro método é trends o qual retorna palavras que são
tendências (mais faladas), e pode ser aplicados filtros por dia, semana, mês, localidade e
outros.
Os métodos que necessitam de autenticação ou autorização são necessários os
envios de parâmetros em qualquer requisição através do método POST22, o qual envia os
parâmetros para outra página, sem ser mostradas na URL através de caches. Segundo
17 String: cadeia de caracteres. 18
Basic Authentication: autenticação básica. 19
Mixed: padrão de busca 20 Popular: popularidade 21
Geocode: localização geográfica. 22
POST: publicar
55
Dicionário Aurélio a palavra cache é um “dispositivo de memória em computador, que guarda
temporariamente dados que são acessados com frequência, agilizando seu processamento”.
Outro método é a Streaming API, que possui métodos de buscas semelhantes a
Search API, porém à medida que os usuários vão enviando posts ela atualiza os dados para
consulta sem a necessidade de novas requisições.
A FIG 6 representa um fluxo do servidor Web utilizando o protocolo OAuth,
Inicie no cliente Web e siga as setas em ordem lexicográfica, para voltar ao cliente depois de
completos os passos A-E.
Figura 6: Fluxo do servidor Web utilizando o protocolo OAuth. Fonte: RUSSEL, 2011, p. 111
O token rt é um símbolo especial, frequentemente anexado antes da mensagem
para indicar que você está fazendo um retweet em nome de alguém, assim é possível
distinguir as mensagens duplicadas.
Para obter o consumer_key e consumer_secret para desenvolver algo através da
API, é necessário realizar o registro da aplicação através do link
<http://de.twitter.com/app/new>, assim é possível acessar dados de sua conta para uma
aplicação.
Conforme documentação online, as solicitações de dados de amigos seguidores
retornarão até 5.000 Ids por chamada e pode ser definido um limite através do friends_limit. E
56
através do comando friends/ids é possível recuperar até 1.750.000 de ID por chamada com
base na métrica de 350 solicitações/hora.
Através dos recursos friends_in_common e followers_in_common é possivel
descobrir os seguidores e amigos de dois ou mais usuários do Twitter, conseguindo verificar a
similaridade entre os mesmos e seus interesses em comum.
A medição da influencia do tweets é calculada pelo número de retweets dados
pela mensagem original, e os usuários que “retwitta” tweets não sendo de sua autoria, recebe o
nome de mavens (“pessoas excepcionalmente bem conectadas, que gostam de compartilhar
informações” RUSSELL, 2011, p.128).
Buscar dados no Twitter seria fazer uma solicitação, armazenar a reposta e
repetir, se necessário. Porém existem outros problemas como rede e os desagradáveis rate
limits23 da API.
A métrica strong links, retorna uma lista dos usuários com os quais o usuário
consultado se comunica com mais frequência, através de uma simples solicitação GET24,
enviando os parâmetros em modo texto através da URL.
Um tweet especifica muitas informações uteis sobre seu autor por meio do
campo user no objeto status.
2.3.3 Coleta e manipulação dos dados do Facebook
Antes de falar da API, é necessário ter uma conta no Facebook através do link
http://facebook.com e completar o registro, após é necessário instalar a aplicação Developer25,
através do link http://facebook.com/developers e clicar em “Set Up New Application”. Com
isso você possuirá um ID e um segredo à aplicação que será desenvolvida.
A API do Facebook chamada Graph API, permite a leitura e a escrita de dados
em seu núcleo, realizando requisições de informações como o relacionamento entre usuários,
fotos, gostos, eventos, páginas e outras coisas. Necessita de uma autorização que é obtida
através do protocolo OAuth 2.0.
Para isso a aplicação que utilizará a API necessita:
23 Rate limits: limite de requisições. 24
GET: obter. 25
Developer: Desenvolvedor.
57
Registro da aplicação: A aplicação registrada possui um ID e um
código secreto, necessários para autorização;
Redirecionar o usuário para o processo de autorização: É necessário
passar os parâmetros de ID da aplicação e um URI para
redirecionamento após a etapa de autorização.
Código de segurança: Com a autorização concedida pelo usuário, ele
será redirecionado para a URL informada no item anterior, através do
parâmetro code26. Caso o usuário não dê autorização, ele será
redirecionado para outro URI definida no parâmetro error_reason.
Token de acesso: O código de segurança deve ser trocado por um token
de acesso, devendo ser enviado para API em toda requisição que
necessite de autorização.
Com essa autorização é garantido o acesso às informações publicas do usuário,
sendo elas acessíveis em seu perfil, poderão ser recuperados o nome, foto do perfil, lista de
amigos e outras informações. Algumas outras funções como acesso ao álbum de fotos do
usuário, gerenciamento de eventos e páginas, postar no mural de recados e acesso ao chat são
necessárias uma maior permissão, requisitado por um parâmetro extra, chamado scope.
A tela de login e a requisição de permissões estendidas são feitas a partir de
uma janela pop-up, e para abrir esta tela pode ser enviado o parâmetro display pelo URI.
Todos os retornos da API são feitos no formato JSON, e para facilitar seu uso o
Facebook dispõe de alguns SDKs (Software Development Kit). Algumas SDK dão suporte a
outras linguagens como Javascript27, PHP (PHP: Hypertext Preprocessor) e Python28 e para
os sistemas operacionais, smartphones, iOS (Iphone Operationg System) e Android29.
O código pode ser embutido em um HTML e é internacionalizável, podendo
mudar de idioma mudando apenas uma tag. As consultas de dados são feitas através de uma
linguagem própria chamada FQL (Facebook Query Language), que é bem semelhante ao
SQL (Structured Query Language). E também possui uma linguagem de marcação própria
chamada FBML (Facebook Marckup Language).
26
Code: código 27
Javascript: linguagem de programação interpretada. 28 Python: linguagem de programação em alto nível (orientada a objeto, imperativa, funcional, de tipagem dinâmica e forte). 29
Android: sistema operacional desenvolvido pela Google para dispositivos móveis.
58
Quando acessar pela primeira vez a aplicação, será notificado de que ela está
solicitando muitas permissões estendidas, mas por padrão a aplicação pode acessar alguns
dados básicos do perfil dos usuários.
Esta API está em constante evolução segundo o site Developer Roadmap
(http://developers.facebook.com.br/roadmap), e é necessário saber algumas particularidades
como as leis de privacidade (http://facebook.com/privacy/explanation.php), sobre os padrões
API REST (http://developers.facebook.com/docs/reference/rest), FQL
(http://developers.facebook.com/docs/reference/fql), e sobre a OGP (Open Graph Protocol,
http://opengraphprotocol.org) e a API Graph
(http://developers.facebook.com/docs/reference/api).
A OGP é um mecanismo que permite que você transforme qualquer pagina
Web em um objeto de gráfico social, injetando nela metadados enquanto a API Graph é um
mecanismo simples e intuitivo que permite consulta esse gráfico.
As consultas FQL tem a forma select [fields] from [table] where [conditions],
mas existem várias restrições que diferenciam da linguagem SQL, um dos exemplos que na
cláusula from só pode possuir uma única tabela, e os campos na cláusula where todos os
campos devem ser indexados na documentação FQL. A seguir um exemplo simples que busca
o nome, sexo e status de um relacionamento de amigos do usuário conectado.
select name, sex, relationship_status from user where uid in
(select target_id from connection where source_id = me() and target_type = ‘user’)
Quadro 3: Exemplo de consulta FQL simples. Fonte: Os Autores.
A diretriz me() é um atalho que retornar o ID do usuário atualmente conectado,
na tabela user permite consultas que procuram os amigos desse usuário, a clausula target_type
é um filtro que retorna o tipo de relacionamento.
Outro diferencial da consulta FQL é a consulta múltipla que funciona
executando diversas consultas referenciando os resultados como nomes de tabela utilizando o
código cerquilha (#), como mostrado no exemplo a seguir.
select name, sex, relationship_status from user
where uid in(select target_id from #ids)
ids: select target_id from connection
59
where source_id = me() and target_type = ‘user’
Quadro 4: Exemplo de consulta múltipla FQL. Fonte: Os Autores.
2.4 CONSIDERAÇÕES FINAIS
Com base na revisão da literatura realizada neste capitulo, conclui-se que
existem diversas técnicas de mineração de dados, que podem ser aplicadas a diversas áreas, o
que permitiu os desenvolvedores das redes sociais, criarem uma API, que realize buscas de
texto, utilizando as técnicas de mineração de dados.
60
3 DESENVOLVIMENTO
3.1 CONSIDERAÇÕES INICIAIS
Neste capitulo, serão apresentados os detalhes sobre a estrutura do projeto
desenvolvido, os requisitos funcionais e não funcionais, as regras de negócio, o método de
desenvolvimento e os seus respectivos diagramas.
3.2 METODOLOGIA
A seguir serão descritas as ferramentas utilizadas para o desenvolvimento deste
trabalho juntamente com seu histórico. Primeiramente será apresentada a linguagem Java que
será utilizada na programação deste aplicativo, após as Bibliotecas e APIs AAAAAAA que
serão utilizadas para o acesso às redes sociais.
3.2.1 Java
É uma linguagem de programação, orientada a objetos que foi criada em 1991
em San Hill Road, uma empresa filiada a Sun Microsystem, segundo seu site oficial, “um
pequeno grupo de engenheiros da Sun chamado “Green Team" acredita que a próxima onda
na computação foi à união de dispositivos de consumo digitais e computadores” 30, e
confirmou-se esta tese.
30
“A small group of Sun engineers called the "Green Team" believed that the next wave in computing was the union of digital consumer devices and computers.”
61
A primeira invenção deste grupo foi o *7 (StarSeven), um controlador com
interface touchscreen controlado remotamente, e possuía um mascote que ensinava o usuário
a utilizar, a linguagem primeiramente foi nomeada de Oak, um nome de uma árvore.
Nesta época, a internet estava ficando mais popular e a equipe Green Team,
começou a projetar aplicações interativas, em 1995 foi lançado oficialmente o Java, uma
versão para internet do Oak. A partir daí, desenvolvedores de toda parte do mundo
descobriram o potencial da tecnologia e a novidade se popularizou na Web. Uma das
primeiras empresas a utilizar foi a IBM, anunciando que seus produtos iriam rodar aplicativos
desenvolvidos em Java.
Segundo seu próprio site, com inicio em 2006 e término em 2007, a Sun lançou
o Java como software livre sobre os termos da GNU (Licença Pública Geral) 31.
As principais características e vantagens da linguagem Java são:
Suporte à orientação a objetos;
Portabilidade;
Segurança;
Linguagem simples;
Alta performance;
Dinamismo;
Interpretada (o compilador pode executar os bytecodes32 do Java
diretamente na máquina);
Distribuído;
Independente de plataforma;
Tipada (detecta os tipos de variáveis quando declaradas).
A independência de plataforma necessita de um emulador conhecido como
JVM (Máquina Virtual Java) 33, é um software que executa os códigos Java simulando uma
máquina física, executando vários programas, gerencia processos, memórias e arquivos,
através de uma máquina virtual.
Na FIG 7, é mostrado como é realizado uma compilação de um programa
desenvolvido na linguagem Java.
31 GNU: General Public Licence. 32
Bytecodes: é um estágio intermediário entre o código-fonte e a aplicação final. 33
JVM: Java Virtual Machine.
62
Figura 7: Compilação de um programa desenvolvido em Java. Fonte: DEVMEDIA, 2014.
Conforme a FIG 8 apresenta o logotipo do Java, o qual é possível identificar
uma xícara com café, a bebida que a equipe de desenvolvimento da empresa consumiu, em
grandes quantidades, durante o processo de criação da linguagem, se tornando assim o
logotipo da linguagem.
Figura 8: Logotipo do Java. Fonte: Oracle, 2014.
3.2.2 Twitter4J
63
Twitter4J é uma biblioteca Java não oficial para a API do Twitter, podendo
facilmente integrar seu aplicativo Java com o serviço do Twitter. Algumas das suas
características:
100% Java puro;
Funciona em qualquer plataforma Java versão 5 ou superior;
Plataforma Android e Google App Engine pronto;
Sem dependência com outras bibliotecas;
Protocolo de autenticação OAuth;
Compatível com Twitter API 1.1.
Suporte qualquer sistema operacional que suporta Java.
Para utilizar essa biblioteca basta adicionar a biblioteca twitter4j-core-
XXXX.jar para o classpath 34 do seu projeto em Java (XXXX seria a versão), é aconselhável
sempre utilizar a última versão disponível em: <http://twitter4j.org/en/index.html>.
Seu código-fonte é Open Source 35 disponibilizado através do link do GitHub
36: <http://github.com/yusuke/twitter4j/>, liberado sob a licença Apache 2.0, e inclui o funções
JSON para analisar as respostas da API do Twitter. E com isso possibilita o uso do mesmo em
projetos comerciais e não comerciais, e conta com contribuições (doações) para manter o
projeto.
Figura 9: Logotipo da biblioteca Twitter4J. Fonte: Twitter4J, 2014.
3.2.3 Facebook4J
34
Classpath: é uma opção suportada na linha de comando ou através de variável de ambiente da JVM, onde indica os pacotes e classes definidos pelo usuário para executar os programas. 35 Open Source: código aberto. 36
GitHub: é um Serviço de Web Hosting Compartilhado para projetos que usam o controle de versionamento Git.
64
Dos mesmos criadores da Twitter4J, Facebook4J também é uma biblioteca
Java não oficial para a API do Facebook Graph, permitindo o acesso a algumas
funcionalidades do Facebook, algumas características são:
100% Java puro;
Funciona em qualquer plataforma Java versão 5 ou superior;
Protocolo de autenticação OAuth;
Sem dependência com outras bibliotecas;
Para utilizar essa biblioteca basta adicionar a biblioteca facebook4j-core-
XXXX.jar para o classpath do seu projeto em Java (XXXX seria a versão), é aconselhável
sempre utilizar a última versão disponível em: <http://facebook4j.org/en/index.html>.
Seu código-fonte é Open Source disponibilizado através do link do GitHub:
<https://github.com/roundrop/facebook4j>, liberado sob a licença Apache 2.0, e inclui o
funções do Twitter4J para analisar os pedidos/respostas HTTP. E com isso possibilita o uso
do mesmo em projetos comerciais e não comerciais, e conta com contribuições (doações) para
manter o projeto.
Figura 10: Logotipo da biblioteca Facebook4J. Fonte: Facebook4J, 2014.
3.2.4 PHP
PHP é uma linguagem interpretada livre, utilizada para o desenvolvimento de
aplicações presentes e atuantes no lado do servidor, capaz de gerar conteúdo dinâmico na
65
Web. Trabalha juntamente com o HTML, toda a parte de código é interpretada no servidor
gerando uma pagina que é visualizada pelo cliente.
É o sucessor do produto chamado PHP/FI, criado em 1994, por Rasmus
Lerdof, a primeira versão foi simplesmente um conjunto de binários CGI (Interface de
Entrada Comum) 37, escrito em linguagem C.
Ao longo do tempo, Rasmus reescreveu o PHP, produzindo uma maior e rica
implementação, capaz de interações com banco de dados e fornecendo uma estrutura no qual
os usuários poderiam desenvolver simples e dinâmicas aplicações Web. Em 1995, foi liberado
o código-fonte para o público, permitindo assim os usuários fornecerem correções para os
bugs no código, aperfeiçoando-o.
Em 1995, Rasmus liberou uma completa reescrita do código, trazendo o nome
do PHP com outro significado de Personal Home Page Construction Kit (Kit de Construção
Para Página Pessoal), considerado uma interface avançada scripting.
Posteriormente, em 1997, surgiu a versão 2.0, o qual incluía suporte embutido
dos bancos de dados DBM, mSQL e Postgres95, cookies, funções de apoio definidas pelo
usuários e outros.
PHP 3.0 foi a primeira versão que se assemelha ao PHP existente hoje, o qual
os alunos Andi Gutmans e Zeev Suraski de Tev Aviv, Israel começaram outra completa
reescrita da codificação existente do PHP, para uso em uma aplicação eCommerce 38.
PHP 4.0 surgiu após o desenvolvimento de um motor chamado Zend Engine,
desenvolvido por Gustmans e Suraski, alcançando o objetivo de melhor a performance das
aplicações complexas e a modularização do código base do PHP, com isso em 1999 surgiu
essa versão oficialmente.
O PHP 5.0 surgiu em julho de 2004, após um longo aprimoramento no motor
Zend Engine, composto por um novo modelo de objeto e dezenas de outros novos recursos.
Atualmente o PHP se encontra na versão 5.6.0 e está em constante evolução.
37 CGI: Common Gateway Interface. Interface que permite gerar páginas dinâmicas e permite enviar parâmetros para um servidor. 38
eCommerce: comércio eletrônico.
66
Figura 11: Logotipo do PHP. Fonte: PHP, 2014.
3.2.5 MySQL
O MySQL é um SGBD (Sistema de Gerenciamento de Banco de Dados) 39 que
utiliza a linguagem SQL como interface. Segundo o site DB-engines e disponível no link
<http://db-engines.com/en/ranking_trend>, o MySQL é o segundo gerenciador de banco de
dados mais utilizado no mundo, e dentro de seus usuários estão a NASA, Friendster, Banco
Bradesco, Google, Cisco, HP, Nokia, Motorola, Sony, Wikipédia e outras empresas.
Criado na década de 1980 na Suécia por David Axmark, Allan Larsson e
Michael Widenius. Em 2008, a empresa foi comprada pela Sun Microsystems, e
posteriormente, em 2009, a Oracle comprou a Sun e todos os seus produtos.
Seu sucesso veio com a fácil integração com o PHP, e segundo dados da
própria Oracle (2014), atualmente contam com mais de 400 profissionais no mundo inteiro
para desenvolvimento e manutenção do MySQL.
Algumas das características deste gerenciador são:
Portabilidade;
Multiencadeado;
Compatibilidade (drivers e módulos de interface para acesso ao banco
com diversas linguagens de programações);
Excelente desempenho e estabilidade;
Exige poucos recursos de hardware;
Manuseio fácil;
Software livre;
39
SGBD: Database Management System.
67
Suporta controle transacional, triggers 40; procedures41 e functions42.
Figura 12: Logotipo do MySQL. Fonte: MySQL, 2014.
3.2.6 NetBeans
NetBeans é uma IDE (Ambiente Integrado de Desenvolvimento) 43 gratuita , de
código aberto e oficial para o Java. Disponível para os sistemas operacionais Windows, Linux,
Solaris e MacOS. Oferece aos desenvolvedores, ferramentas necessárias para criar aplicativos
profissionais desktops, comerciais, Web e móveis.
Criado por tchecos em 1996, na Universidade de Charles, em Praga, quando a
linguagem Java ainda não era tão popular. Seu primeiro nome foi Xelfi com base na
programação Delphi.
Em 1999, a Sun Microsystems adquiriu a IDE, e a nomeou de NetBeans
DeveloperX2. No ano seguinte, a Sun disponibilizou o código fonte tornando-o uma
plataforma OpenSource. Desde então, os desenvolvedores utilizam e contribuem para o
aprimoramento da ferramenta, atingindo um alto índice de popularidade.
Algumas das características desta IDE são:
Rápido;
Smart Editor, codificação auto completada, com comentários e ajuda
sobre os comandos;
40
Trigger: é um recurso de programação executado sempre que algum evento associado ocorrer. 41
Procedures: é uma coleção de comandos em SQL, que encapsula tarefas repetidas, aceita parâmetros de entrada e retorna uma saída, tarefas essas que são executadas diretamente no servidor. 42 Functions: são funções, que obrigatoriamente devem retornar um valor, promovendo reusabilidade e facilidade de manutenção. 43
IDE: Integrated Development Environment.
68
Fácil;
Eficiente na gestão de projetos;
Write Bug, uma ferramenta para análise dos bugs da sua codificação;
Suporte para vários idiomas;
Suporte para diversos plugins;
Figura 13: Logotipo do NetBeans. Fonte: NetBeans, 2014.
3.2.7 Astah
O Astah é uma ferramenta para modelagem UML (Linguagem Unificada de
Modelagem) 44, anteriormente chamado de JUDE (Ambiente para Desenvolvedores UML e
JAVA) 45, desenvolvido em Java.
O Astah possibilita fazer a ilustração do seu projeto juntamente com a
documentação, gerando diagramas, fluxogramas, tabelas de requisições, mapas mentais e
outros artefatos. Possibilita a exportação de imagens da sua UML desenvolvida para diversos
programas e de várias formas.
Figura 14: Logotipo do Astah. Fonte: Astah, 2014.
44
UML: Unified Modeling Language. 45
JUDE: Java and UML Developers Environment
69
3.3 REQUISITOS FUNCIONAIS
Requisitos funcionais descrevem explicitamente as funcionalidades e serviços
do sistema, documentando: como o sistema deve reagir a entradas específicas; como o sistema
deve se comportar em determinadas situações; basicamente restringi o que o sistema não deve
fazer. A seguir estão descritos os requisitos funcionais desta aplicação:
REQUISITOS FUNCIONAIS
RF01 – Cadastrar Usuário Oculto / Evidente ( E ) Descrição: Para acesso ao aplicativo, o usuário precisa se registrar através da interface Web, criando um perfil. Será permitido que o usuário visualize, altere ou exclua, os seus dados pessoais. Serão requisitadas as seguintes informações: nome, sobrenome, e-mail, login, senha, data de nascimento, permissão de acesso aos tokens das redes sociais do usuário.
RF02 – Cadastrar Mensagem Oculto / Evidente ( E ) Descrição: O aplicativo permite que o usuário realize cadastro, alteração, exclusão e consulta de até cinco mensagens, que poderão ser utilizadas na interação automática contida no aplicativo. RF03 – Realizar Busca Oculto / Evidente ( E ) Descrição: O aplicativo permite que o usuário informe palavras chaves á serem pesquisadas nas redes sociais, em conjunto com filtros de busca avançada, como: período, região, idioma, faixa etária, gênero, entre outros. RF04 – Interação Automática Oculto / Evidente ( E ) Descrição: O aplicativo permite realizar interação de forma automática com os resultados da busca, utilizando as mensagens previamente cadastradas pelo usuário.
Quadro 5: Requisitos funcionais. Fonte: Os autores.
3.4 REQUISITOS NÃO FUNCIONAIS
Os requisitos não funcionais definem propriedades e restrições do sistema,
como por exemplo, relacionados à segurança, desempenho, espaço em disco, entre outros.
Podem ser descritos para o sistema como um todo ou de partes do sistema, sendo mais crítico
que os requisitos funcionais, pois, se não satisfazer estas propriedades e restrições, o sistema é
inútil. A seguir estão descritos os requisitos não funcionais desta aplicação:
70
REQUISITOS NÃO FUNCIONAIS
RNF01 – Acesso Autenticado Desejável / Permanente: ( P )
Categoria: Segurança
Descrição: Para acesso a aplicação, é necessário que o usuário esteja cadastrado, com usuário e senha para verificação ao fazer login.
RNF02 – Tempo de Resposta do Servidor Desejável / Permanente: ( D )
Categoria: Performance
Descrição: Para o bom funcionamento da aplicação é desejável que o tempo de resposta do servidor, durante as buscas, seja inferior a dois segundos.
RNF03 – Interface Gráfica Intuitiva Desejável / Permanente: ( D )
Categoria: Interface
Descrição: A aplicação possui interface intuitiva através de menus visualmente representativos.
RNF04 – Hardware Desejável / Permanente: ( D )
Categoria: Performance
Descrição: Para o bom funcionamento da aplicação é desejável que o hardware, possua os seguintes requisitos mínimos: Processador Pentium Dual Core, 2GB de Memória RAM, 1GB de Espaço em Disco. RNF05 – Sistema Gerenciador de Banco de Dados
Desejável / Permanente: ( D )
Categoria: Performance
Descrição: A aplicação armazena dados no SGBD MySQL.
RNF06 – Plataforma Desejável / Permanente: ( P )
Categoria: Performance
Descrição: Pela utilização do SGDB MySQL, e linguagem de programação Java e PHP, a aplicação é compatível com qualquer plataforma.
Quadro 6: Requisitos não funcionais. Fonte: Os autores.
3.5 REGRAS DE NEGÓCIO
A seguir serão descritas as regras de negócio necessárias para utilização do
aplicativo desenvolvido.
RN1. O usuário deve autorizar o acesso do aplicativo, aos tokens de acesso de
sua(s) rede(s) social(is), através de uma requisição HTTP.
RN2. Para utilização do recurso de interação automática fornecido pelo
aplicativo, o usuário deve concordar com os termos e condições de uso, e, política de
privacidade (vide Anexo I).
RN3. Ainda sobre o recurso de interação, é necessário definir ao menos uma
mensagem, e no máximo cinco, que será(ão) elaborada(s) conforme o interesse do usuário,
com limite máximo de 144 caracteres.
71
3.6 LISTA DE CASOS DE USO
Os casos de usos demonstram as principais atividades que os autores realizam
no sistema, conforme Booch et al. (2006, p. 229), “um caso de uso envolve a interação dos
atores com o sistema”. A seguir, serão apresentados os casos de usos existentes neste trabalho.
Tabela 1: Lista de casos de uso do projeto.
Caso de Uso Descrição 01 Cadastrar Usuário 02 Realizar Login 03 Cadastrar Mensagem 04 Realizar Busca 05 Interação Automática
Fonte: Os autores.
3.7 CASO DE USO EXPANDIDO
O caso de uso expandido tem o objetivo de apresentar o passo a passo dos
fluxos e eventos de um processo, explicando como ocorre a interação entre o sistema e o(s)
ator(es), e vice-versa. Pode se dizer que o caso de uso expandido corresponde ao
aprofundamento da analise de requisitos.
A seguir são descritos os principais casos de uso expandido desta aplicação:
Cadastrar Usuário; Realizar Login; Cadastrar Mensagem; Realizar Busca; Interação
Automática.
72
Caso de uso: Cadastrar Usuário
Sumário: O usuário deve efetuar o cadastro, para acessar os recursos do aplicativo.
Ator principal: Usuário
Pré-condições: Possuir cadastro nas redes sociais Twitter e/ou Facebook.
Fluxo principal:
01. O Usuário acessa o website do aplicativo, e seleciona a opção cadastrar.
02. O Sistema apresenta a página, solicitando informações do Usuário.
03. O Usuário preenche o formulário e seleciona a opção salvar.
04. O Sistema valida as informações cadastradas.
05. O Sistema armazena os dados na base de dados.
06. O Sistema envia e-mail de boas vindas ao Usuário
07. O Sistema apresenta a página de download da aplicação.
08. Encerra o Caso de Uso.
Fluxo alternativo (5): E-mail já cadastrado.
5.1 O Sistema informa que e-mail digitado já está cadastrado na base de dados.
5.2 O Sistema retorna ao passo 3.
Fluxo alternativo (5): Validação do Twitter.
5.1 O Sistema informa que os dados de usuário e/ou senha da rede social Twitter são
inválidos.
5.2 O Sistema retorna ao passo 3.
Fluxo alternativo (5): Validação do Facebook.
5.1 O Sistema informa que os dados de usuário e/ou senha da rede social Facebook são
inválidos.
5.2 O Sistema retorna ao passo 3.
Fluxo alternativo (6): Sem acesso ao banco de dados.
6.1 O Sistema informa que perdeu acesso ao banco de dados.
6.2 O Sistema retorna ao passo 3.
Pós-condições: Usuário cadastrado com sucesso, permitindo acesso ao aplicativo.
73
Caso de uso: Realizar Login
Sumário: Para acesso a aplicação é necessário realizar a autenticação do usuário.
Ator principal: Usuário
Pré-condições: Usuário deve possuir cadastro na aplicação.
Fluxo principal:
01. O Usuário deve inserir seu login e senha na tela principal.
02. O Sistema valida informações.
03. O Sistema autentica nas redes sociais.
04. O Sistema apresenta a tela de menu principal.
05. Encerra o Caso de Uso.
Fluxo alternativo (3): Login e/ou senha inválidos.
3.1 O Sistema informa que o login e/ou senha estão inválidos.
3.2 Sistema retorna ao passo 1.
Fluxo alternativo (3): Usuário não cadastrado.
3.1 Executar Caso de Uso Cadastrar Usuário.
3.2 Sistema retorna ao passo 1.
Fluxo alternativo (3): Sem acesso ao banco de dados.
3.1 O Sistema informa que perdeu acesso ao banco de dados.
3.2 O Sistema retorna ao passo 1.
Fluxo alternativo (4): Usuário não está logado na rede social Twitter.
4.1 O Sistema informa que o usuário não está logado na rede social.
4.2 O Sistema solicita login da rede social.
4.3 Sistema segue para o próximo passo.
Fluxo alternativo (4): Usuário não está logado na rede social Facebook.
4.1 O Sistema informa que o usuário não está logado na rede social.
4.2 O Sistema solicita login da rede social.
4.3 Sistema segue para o próximo passo.
Pós-condições: Usuário logado com sucesso e com acesso as funcionalidades da aplicação.
74
Caso de uso: Cadastrar Mensagem
Sumário: Para utilizar o recurso de Interação Automática, o usuário deve cadastrar as
mensagens.
Ator principal: Usuário
Pré-condições: O Usuário deve estar logado na aplicação.
Fluxo principal:
01. O Usuário seleciona a opção Cadastrar Mensagem no menu principal.
02. O Sistema apresenta a tela de cadastro de mensagens.
03. O Usuário insere as mensagens e salva.
04. O Sistema valida as informações.
05. O Sistema armazena os dados na base de dados.
06. O Sistema informa que os dados foram salvos.
07. Encerra o Caso de Uso.
Fluxo alternativo (6): Sem acesso ao banco de dados.
6.1 O Sistema informa que perdeu acesso ao banco de dados.
6.2 O Sistema retorna ao passo 3.
Pós-condições: Cadastro de mensagens efetuado com sucesso, permitindo a interação
automática.
75
Caso de uso: Realizar Busca
Sumário: Através de uma palavra-chave informada pelo usuário, a aplicação realizará a
busca, nas redes sociais.
Ator principal: Usuário
Pré-condições: Usuário deve estar logado na aplicação.
Fluxo principal:
01. O Usuário seleciona a opção de busca no menu principal.
02. O Sistema apresenta a tela com opções de busca avançada.
03. O Sistema solicita a palavra-chave.
04. O Usuário seleciona a opções de busca que deseja.
05. O Sistema realiza a busca nas redes sociais.
06. O Sistema apresenta os dados dos posts encontrados.
07. Encerra o Caso de Uso.
Fluxo alternativo (6): Nenhum post encontrado.
6.1 O Sistema informa que não encontrou nenhum post relacionado à palavra-chave
informada.
6.2 Sistema retorna ao passo 3.
Pós-condições: Busca realizada com sucesso, permitindo o Usuário interagir com os posts
encontrados.
76
Caso de uso: Interação Automática
Sumário: Após a busca da palavra-chave, o usuário pode interagir com os posts encontrados.
Ator principal: Usuário
Pré-condições: Usuário deve estar logado na aplicação e realizar uma busca.
Fluxo principal:
01. O Usuário seleciona a Interação Automática na tela de busca.
02. O Sistema apresenta o progresso da interação com os posts encontrados.
03. O Sistema informa que o processo de Interação Automática foi concluído.
04. Encerra o Caso de Uso.
Fluxo alternativo (2): Nenhuma mensagem cadastrada.
2.1 O Sistema informa que não existe nenhuma mensagem cadastrada.
2.2 Executar Caso de Uso Cadastrar Mensagem.
2.3 Sistema retorna ao passo 1.
Fluxo alternativo (2): Sem acesso ao banco de dados.
2.1 O Sistema informa que perdeu acesso ao banco de dados.
2.2 O Sistema retorna ao passo 1.
Pós-condições: Interação Automática realizada com sucesso.
77
3.8 DIAGRAMA DE CASOS DE USO
Segundo Booch et al. (2006, p. 243), “um diagrama de caso de uso é um
diagrama que mostra um conjunto de casos de uso e atores e seus relacionamentos”, estes
diagramas seriam uma apresentação gráfica de elementos que compõem o sistema, e seus
relacionamentos com o ator.
O diagrama abaixo, ilustrado pela FIG 15, apresenta-se os casos de uso, com
seus respectivos atores e relacionamentos, desta aplicação.
Figura 15 – Diagrama de casos de uso. Fonte: Os autores.
3.9 TABELA DE REFERÊNCIAS CRUZADAS
A tabela de referências cruzadas visa relacionar os atores, classes, requisitos
funcionais e regras de negócio para cada de uso. A seguir é apresentada a tabela de referências
cruzadas desta aplicação.
Tabela 2: Tabela de referências cruzadas.
Nome Atores Classes Requisitos Regras de
78
Funcionais Negócio
Cadastrar Usuário Usuário Usuário RF01 RN1, RN2
Realizar Login Usuário Usuário RN1
Cadastrar Mensagem Usuário Mensagem RF02 RN3
Realizar Busca Usuário Usuário RF03
Interação Automática Usuário Mensagem RF03, RF04
RN3
Fonte: Os autores.
3.10 DIAGRAMA DE CLASSES
Segundo Booch et al. (2006, p. 26) “um diagrama de classe mostra um
conjunto de classes, interfaces e seus relacionamentos". As classes são representadas por
retângulos, com o seu nome, atributos, operações e relacionamento(s) com outra(s) classe(s).
Na FIG 16, apresenta-se o diagrama de classes desta aplicação.
79
Figura 16 – Diagrama de classes. Fonte: Os autores.
3.11 DIAGRAMA DE SEQUÊNCIA
Os diagramas de sequência demonstra a ordenação temporal em que as
mensagens são trocadas entre os objetos dentro de um sistema. Segundo Booch et al., seriam
as mensagens, serviços solicitados por um objeto a outro, e as respostas devolvidas a essas
solicitações. Demonstra-se a seguir, os diagramas de sequências desta aplicação.
80
Figura 17 – Diagrama de sequência: Cadastrar Usuário. Fonte: Os autores.
81
Figura 18 – Diagrama de sequência: Realizar Login. Fonte: Os autores.
82
Figura 19 – Diagrama de sequência: Cadastrar Mensagem. Fonte: Os autores.
83
Figura 20 – Diagrama de sequência: Realizar Busca. Fonte: Os autores.
84
Figura 21 – Diagrama de sequência: Interação Automática. Fonte: Os autores.
85
3.12 DIAGRAMA DE ATIVIDADES
O diagrama de atividades representa a modelagem do fluxo de controle de uma
atividade para outra no sistema, exibindo os estados das atividades, ações, transições e
objetos. Nas figuras a seguir, serão demonstradas _____ diagramas de atividades, são elas:
____,_____,____.
3.13 CONSIDERAÇÕES FINAIS
86
CONCLUSÃO
87
REFERÊNCIAS
AGUIAR, Sonia. Formas de organização e enredamento para ações sociopolíticas. Informação & Informação, Universidade Estadual de Londrina, v. 12. 2007. Disponível em: <
http://www.uel.br/revistas/uel/index.php/informacao/article/view/1776/1514>. Acesso em: 11 fev. 2014.
ASCENÇÃO, Carlos P.. Como funciona um motor de busca? 2012. Disponível em: <http://www.portalwebmarketing.com/MotoresdeBusca/Comofuncionaummotordebusca/tabid/435/Default.aspx> . Acesso em: 3 abr. 2014.
ASTAH. Astah: Our Company. Disponível em: <http://astah.net/company>. Acesso em: 10 jun. 2014.
BELL, Gavin. Criando aplicações para redes sociais. Traduzido por Thais Cristina Casson. São Paulo / SP. Novatec, 2010.
BEVENUTO, Fabricio; ALMEIDA, Jussara M.; SILVA, Altigran S.. Coleta e Analise de Grandes Bases de Dados de Redes Sociais Online. Curitiba. Congresso da Sociedade Brasileira de Computação (CSBC). 2012. Disponível em: <http://homepages.dcc.ufmg.br/~fabricio/download/jai2012.pdf>. Acesso em: 3 abr. 2014.
BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML Guia do usuário. Traduzido por Cristina de Amorim Machado. Rio de Janeiro / RJ. Elsevier, 2006.
BRASIL é o quarto país com mais internautas em redes sociais. Jornal Folha de São Paulo. Disponível em: <http://www1.folha.uol.com.br/fsp/mercado/23560-brasil-e-o-quarto-pais-com-mais-internautas-em-redes-sociais.shtml>. Acesso em: 27 set. 2013.
CAMILO, Cássio Oliveira; SILVA, João Carlos da. Mineração de dados: conceitos, tarefas, métodos e ferramentas. Disponível em: <http://www.inf.ufg.br/sites/default/files/uploads/relatorios-tecnicos/RT-INF_001-09.pdf>. Acesso em: 20 nov 2013.
CANAL TECH. LinkedIn ultrapassa Twitter em número de usuários. 2013. Disponível em: <http://canaltech.com.br/noticia/linkedin/LinkedIn-ultrapassa-Twitter-em-numero-de-usuarios/>. Acesso em: 16 mar 2014.
CIPRIANI, Fabio. Estratégia em mídias sociais: como romper o paradoxo das redes sociais e tornar a concorrência irrelevante. Rio de Janeiro / RJ. Elsevier, 2011. 208 f.
COMSCORE. Disponível em: <http://www.comscore.com/por/>. Acesso em: 16 fev. 2014.
CORRÊA, Natália. Infográfico mostra o perfil dos brasileiros nas redes sociais. Disponível em: <http://www.i9socialmedia.com/infografico-mostra-o-perfil-dos-brasileiros-nas-redes-sociais/>. Acesso em: 17 fev. 2014.
88
DEVMEDIA, Java: história e principais conceitos. Disponível em: <http://www.devmedia.com.br/java-historia-e-principais-conceitos/25178>. Acesso em: 10 jun. 2014.
DONZELLI, Carlos. R. Canais alternativos de distribuição: as "lojas virtuais" do Magazine Luiza. 2010. Disponível em: <periodicos.unifacef.com.br/index.php/facefpesquisa/article/download/21/87> . Acesso em: 3 abr. 2014.
FACEBOOK. Facebook Developers, Disponível em: <https://developers.facebook.com/>. Acesso em: 17 fev. 2014.
FACEBOOK 4J. Facebook 4j a most easily usable Facebook API wrapper in Java. Disponível em: <http://facebook4j.org/en/index.html>. Acesso em: 17 fev. 2014.
FERREIRA, Aurélio Buarque de Holanda. Dicionário Aurélio básico da língua portuguesa. Rio de Janeiro: Nova Fronteira, 11.ed, 2009, p. 89.
FOSTER, Robin. News plurality in a digital world. Disponível em: <https://reutersinstitute.politics.ox.ac.uk/fileadmin/documents/Publications/Working_Papers/News_Plurality_in_a_Digital_World.pdf>. Acesso em: 16 fev. 2014.
G1. Facebook Comemora 10 anos com retrospectiva de usuários em vídeos. Disponível em: <http://g1.globo.com/tecnologia/noticia/2014/02/facebook-comemora-10-anos-com-retrospectiva-de-usuarios-em-video.html>. Acesso em: 16 fev. 2014.
GOULART, Rodrigo. Os mecanismos de busca e suas implicações em comunicação e marketing. Disponível em: <http://www.ufrgs.br/alcar/encontros-nacionais-1/5o-encontro-2007-1/Historico%20dos%20mecanismos%20de%20busca%20e%20suas%20implicacoes%20em%20comunicacao%20e%20marketing.pdf>. Acesso em: 16 fev. 2014.
LEITE, Nelson; CAIXINHA, Hélder; RAMOS, Fernando. Proposta de uma aplicação Web para monitorização do impacto de notícias nas redes sociais Facebook e Twitter. Disponível em: <http://www.revistacomunicando.sopcom.pt/ficheiros/20131227-9.proposta_de_um_modelo_de_gest__o_de_conte__dos_nos_social_media.pdf>. Acesso em: 16 fev. 2014.
HAYES, Gary. Virtual worlds, Web 3.0 and portable profiles. Disponível em: < http://www.personalizemedia.com/virtual-worlds-web-30-and-portable-profiles/>. Acesso em: 23 fev. 2014.
HENDGETS, Antonio Silvio. Principais redes sociais do Brasil e do mundo top 10 mais. Disponível em: <http://escoladeredes.net/profiles/blogs/principais-redes-sociais-do-brasil-e-do-mundo-top-10-mais>. Acesso em: 16 fev. 2014.
INTERNET WORLD STATS. Internet users in the world. Disponível em: < http://www.internetworldstats.com/stats.htm>. Acesso em: 12 mar. 2014.
MYSQL. Why MySQL?. Disponível em: < http://www.mysql.com/why-mysql/>. Acesso em: 12 jun. 2014.
89
MORAIS, Edison A. M.; AMBRÓSIO, Ana Paula L. Mineração de textos. UFG. Disponível em: <http://www.inf.ufg.br/sites/default/files/uploads/relatorios-tecnicos/RT-INF_005-07.pdf>. Acesso em: 16 fev. 2014.
NETBEANS. NetBeans IDE: Overview. Disponível em: <
https://netbeans.org/features/index.html>. Aceso em: 12 jun. 2014.
NETO, Eufrásio de A. L.; LOUREIRO, Juliana. Mineração de séries temporais e dados sequenciais. UFPE. Disponível em: <http://www.cin.ufpe.br/~compint/aulas-IAS/kdd-022/MineracaoSeriesTemporaisDadosSequenciais.ppt>. Acesso em: 26 abr. 2014.
NORVIG, Peter. Internet searching. Disponível em: <http://www.norvig.com/InternetSearching.pdf>. Acesso em: 16 fev. 2014.
OLIVEIRA, Natanael. O Twitter como ferramenta de marketing para gerar relacionamento e promover vendas. Disponível em: <https://www.natanaeloliveira.com.br/a-historia-das-redes-sociais/>. Acesso em: 16 fev. 2014.
ORACLE. The history of Java technology. Disponível em: <http://www.oracle.com/technetwork/java/javase/overview/javahistory-index-198355.html>. Acesso em: 09 jun. 2014.
PHP. PHP: hypertext preprocessor. Disponível em: <http://www.php.net>. Acesso em: 10 jun. 2014.
RECUERO, Raquel da Cunha. Redes sociais na internet: considerações iniciais. Disponível em: <http://bocc.unisinos.br/pag/recuero-raquel-redes-sociais-na-internet.pdf>. Acesso em: 11 fev. 2014.
RECUERO, Raquel da Cunha. Redes sociais na internet. Disponível em: <http://www.ichca.ufal.br/graduacao/biblioteconomia/v1/wp-content/uploads/redessociaisnainternetrecuero.pdf>. Acesso em: 11 fev. 2014.
RUSSELL, Matthew A. Mineração de dados da Web social. Tradução de Rafael Zanolli. São Paulo / SP. Novatec, 2011.
SAYON, Daniel. A evolução das redes sociais e a publicidade. Disponível em: <http://www.mestreseo.com.br/redes-sociais/a-evolucao-das-redes-sociais-e-a-publicidade-2>. Acesso em: 22 fev. 2014.
TAURION, Cezar. Motores de busca "real time": os Googles da era Twitter?. Disponível em: <https://www.ibm.com/developerworks/community/blogs/ctaurion/entry/motores_de_busca_real_time_os_googles_da_era_twitter1?lang=en>. Acesso em: 16 fev. 2014.
TERRA, Carolina Frazon. Mídias sociais... e agora?. Local: Rio de Janeiro. Senac Rio, 2011.
TECMUNDO. O que é API. 2009. Disponível em: <http://www.tecmundo.com.br/programacao/1807-o-que-e-api-.htm>. Acesso em: 27 set. 2013.
90
TWITTER. Twitter Developers. Disponível em: <https://dev.twitter.com/>. Acesso em: 16 fev. 2014.
TWITTER 4J. Twitter 4j a Java library fot the Twitter API. Disponível em: <http://twitter4j.org/en/index.html>. Acesso em: 16 fev. 2014.
W3C. Web semântica. Disponível em <http://www.w3c.br/Padroes/WebSemantica>. Acesso em: 23 fev. 2014.
WALL, Aaron. History of search engines: from 1945 to Google today. Disponível em <http://www.searchenginehistory.com>. Acesso em: 16 abr. 2014.
WARREN, Ilse Scherer. Redes e movimentos sociais projetando o futuro. Revista Brasileira de Sociologia, v.1, n.1. Disponível em: <
http://www.sbsociologia.com.br/revista/index.php/RBS/article/view/29/9> Acesso em: 16 mar. 2014.
XAVIER, Otávio C.; CARVALHO, Cedri L. de. Desenvolvimento de aplicações sociais a partir de APIs em redes sociais online. Disponível em: <http://www.inf.ufg.br/sites/default/files/uploads/relatorios-tecnicos/RT-INF_001-11.pdf>. Acesso em: 5 abr. 2014.
ZAIANTCHICK, Gustavo. Busca tradicional vs busca em redes sociais. Disponível em: <http://pt.slideshare.net/gzaian/busca-tradicional-vs-busca-em-redes-sociais-gustavo-zaiantchick-direct-labs>. Acesso em: 16 fev. 2014.
91
ANEXOS