library("tm")
library("wordcloud")
library("RColorBrewer")
Sin analisis temporal, paso todos los tweets a un archivo (bag of words):
aproximadamente 22000 palabras diferentes desde el 2009 hasta ahora en
8999 tweets. Sí, lo sé, tweet-a-holic en rehabilitación (hay peores :P).
La buena Noticias es si han cambiado los temas menos "Yoiismo" (el arte de hablar de cada actividad que realizá uno mismo), a mencionar enlaces y opiniones de linux, datamining, R, y varios lenguajes de programación.
cut -d, -f8 tweets.csv > corpustweets.txt
Luego leo este archivo desde R.
en mi sistema de archivo existe la carpeta tweets/corpus/tweets.txt
txt = DirSource('C:\\tweets\\corpus') //Esto debe ser un directorio.
tweets.corpus = Corpus(txt) //extensión del tipo de archivo.
Luego hacemos la matriz de documentos y la conversión a una matriz ordinaria (matrix)
Filtrado de signos de puntuación, llevando a minúscula y eliminando stopwords (palabras que no añaden semantica a la oración, como artículos y conjunciones: el , la, otros, y, etc).
tweets.corpus <- tm_map(tweets.corpus, removePunctuation)
tweets.corpus <- tm_map(tweets.corpus, tolower)
tweets.corpus <- tm_map(tweets.corpus, function(x) removeWords(x, stopwords("spanish")))
tweets.corpus <- tm_map(tweets.corpus, function(x) removeWords(x, stopwords("english")))
wordcloud(d$word,d$freq, scale=c(8,.3),min.freq=2,max.words=Inf, random.order=FALSE, rot.per=.15, colors=pal2, ordered.colors=T, vfont=c("sans serif","gothic english","plain"))
//otras funciones que realizan similares commonality.cloud(m, comonality.measure=min) comparison.cloud(m) Más info en:
http://cran.r-project.org/web/packages/wordcloud/wordcloud.pdf
script R:
https://github.com/j3nnn1/tools/blob/master/twitter/wordcloudTwitterText.r
En otro post revisaré un poco reglas de asociación, clustering de palabras,
correlaciones, un ranking de mis seguidores, y luego un poco de grafos..