Pessoal, hoje quero comentar rapidamente a última palestra que dei na CGU, e possivelmente a última como servidor público [more on that later], onde discuti um pouco a mudança de paradigma ao se entrar verdadeiramente em um mundo digital, mas do ponto de vista de ouvidorias públicas, uma vez que estava apresentando na Semana de Ouvidoria e Acesso à Informação de 2017.

Na palestra, relatei um pouco o que considero ser uma ouvidoria de balcão, termo que escutei pela primeira vez em uma reunião na Ouvidoria da CGU, e principalmente como não deve ser a ouvidoria digital. De forma bem resumida, a ouvidoria de balcão é aquela tradicional, onde o cidadão tem que comparecer a uma repartição pública, enfrentar uma enorme fila e cheio de documentos para fazer uma simples manifestação. Motivo pelo qual muitas pessoas sequer cogitam concretizar sua efêmera vontade de se manifestar. Ora, nos dias de hoje, será que faz sentido ter que enfrentar fila para falar bem ou mal de um serviço público? Ou de qualquer serviço, for that matter? Mais ainda, será que criar um sistema de ouvidoria digital é simplesmente levar o processo, como é feito hoje, para a Internet? Faz sentido ter horário de atendimento para manifestações na Internet?! Pois bem, vocês acreditam que já fui obrigado a voltar a um site em horário comercial para ser atendido na Internet?! Olha que não era para bater papo com atendente via chat não, era para solicitar uma informação que poderia ser entregue por qualquer sistema informatizado. Triste, não?!

Pois bem, esse é apenas um simples exemplo de cuidados que temos que ter ao criar novos serviços digitais e porque não é tão simples assim criar um serviço verdadeiramente digital, revolucionário e útil para sociedade. No entanto, não quero repetir tudo que já falei na palestra. Se quiserem saber mais detalhes do que foi discutido, vocês podem ver o vídeo do YouTube (desculpem pelo áudio…) e/ou ver os slides da apresentação no SlideShare.

Eu queria mesmo era desmistificar um pouco esse mundo de Big Data, Analytics, Ciência de Dados e tudo mais. Hoje será meu dia de inovar e ousar, escrevendo um post um pouco mais técnico, mas com objetivo de mostrar, mais uma vez, que não é preciso gastar milhões com uma ferramenta milagrosa. Na verdade, basta um pouquinho de treinamento/conhecimento sobre a técnica/teoria e muito know-how em como “Googlar” (como diria um amigo meu do TCU, esse é o grande segredo do sucesso de um Cientista de Dados hoje em dia, né Markus?! rs), para “fazer milagre”!

E aí, quem aceita o desafio?! Vamos lá, vocês animam ver/ler um pouquinho de código para argumentar com o pessoal de TI quando eles falarem que “não dá pra fazer isso não”ou “isso é muito difícil e vai levar muito tempo”?! Então vamos lá, hoje vou mostrar para vocês como baixar Tweets de um determinado tema (definidos por um conjunto de palavras-chave ou hashtags) e apresentar uma simples nuvem de palavras (o que alguns consideram uma coisa de outro mundo!! rs). Vamos nessa?!

Antes de botar a mão na massa, precisamos instalar as ferramentas que usaremos. No post de hoje, será a linguagem R e a IDE (interface gráfica para facilitar a programação) RStudio. Hein?! Instalar o quê?! Você tá doido?! Vamos lá… um pouquinho de paciência que já já chegamos na parte legal! Bom, como falei para vocês, vou agora mesmo recorrer ao Google e perguntar: “Como instalar o R e o RStudio?”. Será que funciona?! Gente, como uma imagem diz mais que mil palavras, vejam a imagem abaixo com o resultado da pesquisa e me respondam, será que dá pra sair do outro lado?! rs [para quem odeia TI, sugiro pular a mão na massa e apenas seguir o post… vamos lá… vai valer à pena! 😉 bora?!]

Pronto, agora que temos o R e o RStudio instalados, vamos abrir o RStudio e começar a diversão! Bom, para o post de hoje, vamos focar no Twitter, ok? Antes de mais nada, vamos definir o tema? Já que estamos falando de ouvidoria, por que não procurar por tweets que contenham o termo “ouvidoria”? Pode ser?

Beleza, agora basta usar a API do Twitter via R para baixar tweets que tenham a palavra “ouvidoria”. Pera aí, Rommel, mas como faz isso?! Adivinham o que vou fazer?! Isso mesmo, vou recorrer ao nosso amigo Google! No entanto, se você realmente quer ser um mega master em pesquisas no Google relacionadas à Ciência de Dados / Big Data, deixa eu te dar a melhor dica do mundo: faça sua pergunta em inglês! Vamos tentar? Gente, sem brincadeira, estou aqui, às 20:53 do dia 02/04/2017, fazendo isso “ao vivo” e a primeira coisa que veio a minha mente foi: “how to get tweets from r”. Pronto, o primeiro link já trouxe a resposta que eu queria! 😀

Se vocês entrarem nesse link, vão ver que eles apresentam 3 pré-requisitos:

  1. Instalar o R e o RStudio; [check!]
  2. Criar uma aplicação no Twitter, que exige ter uma conta no Twitter primeiro; e
  3. Usar sua conta do Twitter pra se inscrever como desenvolvedor no Twitter.

Bom, essas duas partes eu vou deixar vocês seguirem o passo-a-passo do próprio link. Depois disso, basta instalar e carregar os pacotes twitteR e ROAuth usando os seguintes comandos (apresentados na Seção 2):

install.packages("twitteR")
install.packages("ROAuth")
library("twitteR")
library("ROAuth")

Depois, basta criar uma conexão com o Twitter usando as informações do seu Consumer Key, Consumer Secret, Access Token e Access Token Secret, com o seguinte comando (a Seção 3 do link está defasada, por isso coloquei aqui como fazer isso hoje):

## Substituir o conteúdo do texto entre as aspas pelo valor correto da sua conta.
setup_twitter_oauth("consumerKey", "consumerSecret", "accessToken", "accessTokenSecret")

Pessoal, percebam que até aqui vocês só terão que fazer isso uma única vez. Pode parecer complicado, mas não é. Basta ter um pouco de paciência e seguir com calma cada etapa/comando que foi passado. A única coisa que você vai precisar alterar, dependendo do que quiser recuperar no Twitter está no código apresentado na Seção 4, que vou “paracodificar” aqui:

tema <- "ouvidoria"
quantidade.de.tweets <- 100
lingua <- "pt"
tweets <- searchTwitter(tema, n=quantidade.de.tweets, lang=lingua)

Segue abaixo parte do resultado dos 100 tweets ao pesquisar por esse tema às 21:30, ainda do dia 02/04/2017:

tweets
[[1]]
[1] "sotero_paulista: entrando na ouvidoria... https://t.co/e1luHRNx9r"

[[2]]
[1] "teodoromkt: @NETatende Vencido ha dias, sem paciência já. E a ouvidoria atende com soberba e incopetencia."

[[3]]
[1] "altoe_rafael: RT @CGUonline: O dinheiro que irriga a corrupção é o dinheiro que falta à saúde, à educação, à segurança pública. Denuncie! https://t.co/DH…"

[[4]]
[1] "driccafarma: RT @Pref_Lagarto: “Lagarto é exemplo com sua ouvidoria da saúde”, diz técnico da ouvidoria estadual do SUS/SE. #PML #SMS\n\nLer Mais: https:/…"

[[5]]
[1] "malikenga: hoje ta frio em recife amores procurei meus direitos fui na ouvidoria reclamar e consertaram o ac da cidade"

[[6]]
[1] "depcafeteira: @valdeniocamnha Tem a ouvidoria pra você procurar..."

[[7]]
[1] "gemoreiras: Sera q no céu tem ouvidoria? Quero fazer umas reclamação ai oh"

Bom perceber que o pessoal não reclama só do governo, né?! rs Olha o @teodoromkt reclamando do @NETatende aí! [eu particularmente adorei a coincidência já que tive my fair share of problems com a NET! rs]

Gente, vamos lá… sei que é novidade para muitos, mas vamos falar sério? Fora a criação de conta no Twitter (que você já deve ter) e a configuração de conta de desenvolvedor, qual foi a dificuldade? Quantas linhas de código tivemos que escrever? Vai lá, vamos contar! Duas linhas para instalar os pacotes (que você nunca mais vai rodar), duas para carregar os pacotes (para poder usar os comandos necessários), uma para se conectar ao Twitter (a outra era comentário) e quatro (que na verdade pode ser resumida em uma só com os parâmetros todos dentro do comando searchTwitter). Resumindo, menos de 10 linhas de código e você já conseguiu as informações que queria. Fala a verdade, é difícil? Pode até ser se você não é de TI (aliás, se não for, não sei nem se chegou aqui! rs), mas você vai engolir novamente aquela lorota de que “não dá pra fazer isso não”ou “isso é muito difícil e vai levar muito tempo”?!

Se a resposta é não, consegui atingir o objetivo desse post! Se é sim, pera, acho que não tem como ter outra resposta, o que pode ter acontecido é que você pode não ter lido tudo ou até mesmo nem ter chegado até aqui! rsrs

Pessoal, como eu já “falei” demais, vou deixar para mostrar para vocês como fazer uma nuvem de palavras no próximo post, combinado? Para não perderem o próximo post, não se esqueçam de nos seguir no Twitter, curtir nossa página no Facebook e seguir nossa página do LinkedIn. Como teaser, vou deixar aqui a nuvem que iremos criar com os tweets que recuperamos nesse post sobre ouvidoria. Vejam e até a próxima!