Twitter es una gran fuente de datos para la minería de datos. Técnicas basadas en la minería de texto (Text Mining), el análisis social, de
sentimientos (Sentiment Analysis) y de opiniones (Opinion Mining) se han vuelto muy populares para extraer conocimiento de los tweets que publican los usuarios.
He seguido las siguientes referencias para aprender a autentificarte en Twitter con R, poder descargar información y tweets, y realizar diferentes análisis:
Autenticación en Twitter
1. - Registrar cuenta como desarrollador en Twitter
https://dev.twitter.com/.
2. - Crear nueva aplicación desde el perfil de la cuenta de desarrollador (My applications -> create new app).
3. - Activarla en el apartado de Aplicaciones de tu cuenta de Twitter personal.
4. - Desde la cuenta de desarrollador, metiendonos en la configuración de la aplicacion creada se pueden obtener 3 webs (Request token URL, Authorize URL, Access token URL) y las claves publica y privada (API key y API secret).
Con el siguiente código podemos guardarnos las credenciales de acceso a Twitter (R nos pedirá que accedamos a una pagina web donde se muestra un código numérico que debemos introducir) .
# Lograr autentificación con Twitter usando R
# ----------------------------------------------------------------------------------------------
library("ROAuth")
# Necesitamos descargar el archivo para la certificacion digital
download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
# Credenciales de acceso
cred <- OAuthFactory$new(consumerKey='--------------',
consumerSecret='-----------------',
requestURL='https://api.twitter.com/oauth/request_token',
accessURL='https://api.twitter.com/oauth/access_token',
authURL='https://api.twitter.com/oauth/authorize')
cred$handshake(cainfo="cacert.pem")
# Guardamos las credenciales para su posterior uso
save(cred, file="autentificacion_twitter.Rdata")
Podemos cargar y autentificarnos cuando deseemos utilizando:
## Credenciales de identificación con twitter
require(twitteR)
load("twitter authentication.Rdata")
registerTwitterOAuth(cred)
Realizando diferentes pruebas y análisis
Utilizando las diferentes referencias que he comentado anteriormente, he creado un script para analizar información extraída de un hashtag. Lo he probado con el primer hashtag en la lista de tendencias en este momento: #IABEstudioRRSS.
Paquetes de R: twitteR (acceso a twitter desde R), stringr, tm (manejo de strings y funciones de minería de texto) y wordcloud (nos permite dibujar gráfico de nube de palabras). Se han leido 1200 tweets del hastag #IABEstudioRRSS (la API de tweeter no permite la lectura de más), analizando cuantas personas intervienen, quién son los usuarios más activos, los más retwitteados y los más citados. Se visualizan los términos más frecuentes en un gráfico de barras y también se representa la nube de palabras. Se realiza un clústering jerárquico de palabras, así como un clústering de los Tweets (utilizando tanto K-means como K-medoids).
Rapidamente podemos deducir mediante este pequeño análisis del hashtag que se habla de un estudio de los usuarios de las redes sociales (facebook, twitter, youtube, spotify, whatsapp). Podemos deducir que twenty es una red social cada vez más en el olvido. Parece ser que han colgado en slideshare una presentación con los resultados del estudio. Que en la fábrica de tapices se celebrará algun tipo de acto relacionado. Los internautas acceden a diario a través del movil. Las marcas parece ser que incluyen publicidad en las redes sociales en base al perfil de las personas. También parece ser que la red social más valorada por los usuarios es spotify.