Big data Está em todo o lugar. Período. No processo de administrar um negócio de sucesso nos dias de hoje, você provavelmente vai se deparar com ele, goste ou não.
Seja você um homem de negócios tentando se atualizar ou um prodígio da codificação em busca de seu próximo projeto, este tutorial lhe dará uma breve visão geral do que é big data. Você aprenderá como isso se aplica a você e como começar rapidamente por meio da API do Twitter e do Python.
Big data é exatamente o que parece - muitos dados. Sozinho, um único ponto de dados não pode fornecer muitos insights. Mas terabytes de dados, combinados com modelos matemáticos complexos e poder de computação turbulento, podem criar ideias que os seres humanos não são capazes de produzir. O valor que o Big Data Analytics fornece a uma empresa é intangível e supera as capacidades humanas todos os dias.
A primeira etapa para a análise de big data é coletar os próprios dados. Isso é conhecido como 'mineração de dados'. Os dados podem vir de qualquer lugar. A maioria das empresas lida com gigabytes de dados de usuário, produto e localização. Neste tutorial, exploraremos como podemos usar técnicas de mineração de dados para coletar dados do Twitter, o que pode ser mais útil do que você imagina.
Por exemplo, digamos que você administre o Facebook e queira usar os dados do Messenger para fornecer insights sobre como você pode anunciar melhor para seu público. Messenger tem 1,2 bilhão usuários ativos mensais . Nesse caso, o big data são conversas entre usuários. Se você lesse individualmente as conversas de cada usuário, seria capaz de ter uma boa noção do que eles gostam e poder recomendar produtos para eles de acordo. Usando uma técnica de aprendizado de máquina conhecida como Processamento de linguagem natural (PNL), você pode fazer isso em grande escala com todo o processo automatizado e deixado para as máquinas.
como eu uso o bootstrap
Este é apenas um dos inúmeros exemplos de como o aprendizado de máquina e a análise de big data podem agregar valor à sua empresa.
Twitter é uma mina de ouro de dados. Ao contrário de outras plataformas sociais, quase todos os tweets do usuário são completamente públicos e extraíveis. Isso é uma grande vantagem se você está tentando obter uma grande quantidade de dados para executar análises. Os dados do Twitter também são bastante específicos. A API do Twitter permite que você faça consultas complexas, como puxar cada tweet sobre um determinado tópico nos últimos vinte minutos, ou puxar os tweets não retuitados de um determinado usuário.
Uma aplicação simples disso poderia ser analisar como sua empresa é recebida pelo público em geral. Você pode coletar os últimos 2.000 tweets que mencionam sua empresa (ou qualquer termo que desejar) e executar um algoritmo de análise de sentimento sobre eles.
Também podemos segmentar usuários que moram especificamente em um determinado local, conhecido como dados espaciais. Outra aplicação disso poderia ser o mapeamento das áreas do globo onde sua empresa foi mais mencionada.
Como você pode ver, os dados do Twitter podem ser uma grande porta para o percepções do público em geral , e como eles recebem um tópico. Isso, combinado com a abertura e a limitação generosa de taxas da API do Twitter, pode produzir resultados poderosos.
Estaremos usando Pitão 2.7 para esses exemplos. Idealmente, você deve ter um IDE para escrever este código. Vou usar PyCharm - Community Edition .
Para se conectar à API do Twitter, usaremos uma biblioteca Python chamada Tweepy , que instalaremos em breve.
Para usar a API do Twitter, temos que criar uma conta de desenvolvedor no Site de aplicativos do Twitter .
Vamos precisar de tudo isso mais tarde, então certifique-se de manter esta guia aberta.
Tweepy é uma ferramenta com suporte excelente para acessar a API do Twitter. Suporta Python 2.6, 2.7, 3.3, 3.4, 3.5 e 3.6. Existem algumas maneiras diferentes de instalar o Tweepy. A maneira mais fácil é usar pip
.
Basta digitar pip install tweepy
em seu terminal.
Você pode seguir as instruções em Repositório GitHub de Tweepy . As etapas básicas são as seguintes:
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
Você também pode solucionar quaisquer problemas de instalação.
Agora que temos as ferramentas necessárias prontas, podemos começar a codificar! A linha de base de cada aplicativo que construiremos hoje requer o uso do Tweepy para criar um objeto de API com o qual podemos chamar funções. Para criar o objeto API, no entanto, devemos primeiro nos autenticar com nossas informações de desenvolvedor.
Primeiro, vamos importar o Tweepy e adicionar nossas próprias informações de autenticação.
import tweepy consumer_key = 'wXXXXXXXXXXXXXXXXXXXXXXX1' consumer_secret = 'qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh' access_token = '9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi' access_token_secret = 'kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT'
Agora é hora de criar nosso objeto API.
# Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)
Esta será a base de cada aplicativo que construirmos, então certifique-se de não excluí-lo.
Neste exemplo, iremos puxar os dez tweets mais recentes de seu feed do Twitter. Faremos isso usando o objeto API home_timeline()
função. Podemos então armazenar o resultado em uma variável e percorrê-la para imprimir os resultados.
# Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text
O resultado deve ser parecido com um monte de tweets aleatórios, seguidos pela URL do próprio tweet.
Seguir o link para o tweet geralmente o levará ao próprio tweet. Seguir o link do primeiro tweet nos daria o seguinte resultado:
Observe que se você estiver executando isso por meio de um terminal e não um IDE como o PyCharm, pode ter alguns problemas de formatação ao tentar imprimir o texto do tweet.
No exemplo acima, imprimimos o texto de cada tweet usando tweet.text
. Para se referir a atributos específicos de cada objeto de tweet, temos que olhar o JSON retornado pela API do Twitter.
O resultado que você recebe da API do Twitter está no formato JSON e contém uma grande quantidade de informações anexadas. Para simplificar, este tutorial se concentra principalmente no atributo “texto” de cada tweet e nas informações sobre o tweeter (o usuário que criou o tweet). Para o exemplo acima, você pode ver todo o objeto JSON retornado Aqui .
Aqui está uma rápida olhada em alguns atributos que um tweet tem a oferecer.
Se você quiser encontrar a data em que o tweet foi criado, você deve consultá-lo com print tweet.created_at
.
Você também pode ver que cada objeto de tweet vem com informações sobre o tweeter.
Para obter os atributos “nome” e “localização” do tweeter, você pode executar print tweet.user.screen_name
e print tweet.user.location
.
Observe que esses atributos podem ser extremamente úteis se seu aplicativo depender de dados espaciais.
Neste exemplo, vamos simplesmente obter os últimos vinte tweets de um usuário de nossa escolha.
como escrever bons testes de unidade
Primeiro, vamos examinar o Documentação Tweepy para ver se existe uma função como essa. Com um pouco de pesquisa, descobrimos que user_timeline()
função é o que estamos procurando.
Podemos ver que o user_timeline()
função tem alguns parâmetros úteis que podemos usar, especificamente id
(o ID do usuário) e count
(a quantidade de tweets que queremos extrair). Observe que só podemos obter um número limitado de tweets por consulta devido a Limites de taxa do Twitter .
Vamos tentar puxar os últimos vinte tweets da conta do Twitter @NyTimes.
Podemos criar variáveis para armazenar a quantidade de tweets que queremos extrair (contagem) e o usuário de quem queremos extraí-los (nome). Podemos então chamar a função user_timeline com esses dois parâmetros. Abaixo está o código atualizado (observe que você deve ter mantido a autenticação e a criação do objeto API no topo do seu código).
# Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = 'nytimes' # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text
Nossos resultados devem ser mais ou menos assim:
aprender código c ++
As aplicações populares deste tipo de dados podem incluir:
Vamos fazer um último exemplo: obter os tweets mais recentes que contêm uma palavra-chave. Isso pode ser extremamente útil se você deseja monitorar tópicos especificamente mencionados no mundo do Twitter ou até mesmo ver como sua empresa está sendo mencionada. Digamos que queremos ver como o Twitter está mencionando o ApeeScape.
Depois de olhar através do Documentação Tweepy , o search()
função parece ser a melhor ferramenta para cumprir nosso objetivo.
O parâmetro mais importante aqui é q
—o parâmetro de consulta, que é a palavra-chave que estamos procurando.
Também podemos definir o parâmetro de idioma para que não recebamos nenhum tweet de um idioma indesejado. Vamos retornar apenas tweets em inglês (“en”).
Agora podemos modificar nosso código para refletir as mudanças que queremos fazer. Primeiro criamos variáveis para armazenar nossos parâmetros (consulta e linguagem) e, em seguida, chamamos a função por meio do objeto API. Vamos imprimir também o nome da tela, do usuário que criou o tweet, em nosso loop.
# Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = 'ApeeScape' # Language code (follows ISO 639-1 standards) language = 'en' # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,'Tweeted:',tweet.text
Nossos resultados devem ser mais ou menos assim:
Aqui estão algumas maneiras práticas de usar essas informações:
Podemos cobrir alguns desses tópicos em artigos futuros.
A API do Twitter é imensamente útil em aplicativos de mineração de dados e pode fornecer amplos insights sobre a opinião pública. Se a API do Twitter e a análise de big data são algo em que você tem mais interesse, incentivo você a ler mais sobre a API do Twitter , Tweepy e Diretrizes de limitação de taxa do Twitter .
Cobrimos apenas o básico para acessar e puxar. A API do Twitter pode ser aproveitada em problemas de big data muito complexos, envolvendo pessoas, tendências e gráficos sociais muito complicados para a mente humana compreender sozinha.
A mineração de dados é a tarefa de extrair uma grande quantidade de dados de uma fonte e armazená-los. O resultado disso é “big data”, que é apenas uma grande quantidade de dados em um só lugar.
Os dados do Twitter são abertos, pessoais e extensos. Você pode extrair muito de um usuário analisando seus tweets e tendências. Você também pode ver como as pessoas estão falando sobre tópicos específicos usando palavras-chave e nomes comerciais.
Para uma organização, a análise de big data pode fornecer insights que ultrapassam a capacidade humana. Ser capaz de executar grandes quantidades de dados por meio de análises de computação pesada é algo em que os modelos matemáticos e as máquinas têm sucesso.