Estimado Oscar Benitez
¿Es posible realizar textminig a partir de un JSON? Porque se me ocurre
usar la idea de Jorge Velez, pero leer los archivos separados y colocarlos
en un JSON, ahà estarÃan todos en un solo archivo de texto, luego trabaja
sobre este realizando un loop (según su idea).
Javier Marcuzzi
El 10 de abril de 2015, 11:02, Oscar Benitez <oscar.benitez1962 en gmail.com>
escribió:
Jorge
Gracias por el consejo. Aparentemente no lo estoy aplicando bien, pues el
objeto que obtengo no contiene lo que quiero.
Me explico, al ejecutar
txt <- vector('list', length = length(names)) #names el el vector donde ya
tenÃa almacenada la lista de txt's
for(i in seq_along(txt)){
txt[[i]] <- Corpus(VectorSource(names[i]))
}
obtengo el objeto txt:
[1] "list"
si extraigo solamente el primer objeto de esa lista:
<<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>>
si quiero ver el contenido del primer copus
<<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>>
[[1]]
<<PlainTextDocument (metadata: 7)>>
qB001.txt
me informa cosas sobre el objeto, pero los datos no están allÃ... deberÃa
mostrarme algo asà como:
inspect(cbD02[1:1]) #inspecciono el corpus cbD120, creado a mano por la
sentencia cbD120<-Corpus(VectorSource(qT120))
#......contenido del corpus......
I went to go see some gypsy to tell me my future, but she asked for my
photograph instead.
itz me the one who was talkin to u last time !!!
starts at 4pm. come get sunny munny :)
kind of scary to imagine what needs military wiping!!!!
#.....más.contenido del corpus......
si quiero aplicarle un función propia de limpieza de corpus, por ejemplo
eliminar los números presentes en el corpus
tm_map(txt[[1]], removeNumbers)
<<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>>
no hace nada de nada...
Saludos
Oscar
El 10 de abril de 2015, 1:15, Jorge I Velez <jorgeivanvelez en gmail.com>
escribió:
Oscar,
Una forma de trabajar con este tipo de archivos es utilizando listas:
# directorio del proyecto
setwd('~/proyecto')
# archivos de texto
l <- list.files(pattern = '.txt')
# procesamiento
txt <- vector('list', length = length(l))
for(i in seq_along(txt)){
txt[[i]] <- Corpus(VectorSource(l[i]))
}
# para acceder a la informacion del primero archivo, solo debes escribir
txt[[1]]
Espero sea de utilidad.
Saludos,
Jorge.-
2015-04-10 14:14 GMT+10:00 Oscar Benitez <oscar.benitez1962 en gmail.com>:
Hola a todos!
Estoy en un proyecto de text mining y por razones de los recursos con
cuento tuve que separar los archivos de texto de input del proyecto en
muchos archivos pequeños.
Luego de transformar cada uno de estos archivos en un corpus separado,
puedo aplicar limpieza sobre cada corpus, buscar n-gramas, construir
termDocumentMatrix y finalmente reunir todo en una sola TDM.
Pero estoy atorado en el paso de transformar cada uno de los archivos
corpus mediante un loop. Es decir que en lugar de hacer esto infinitas
veces:
#Librerias necesarias
library(tm)
corpus_001<-Corpus(VectorSource(qBlog001))
corpus_002<-Corpus(VectorSource(qBlog002))
corpus_003<-Corpus(VectorSource(qBlog003))
.........
corpus_150<-Corpus(VectorSource(qBlog150))
........
quisiera poder armar un loop que haga el trabajo, como por ejemplo
#lista con los nombres que quiero para cada corpus
c_names <- paste("corpus_",formatC(seq(length(bNames)),
width=3, flag="0"),
sep="")
donde bNames es la lista de los df que tengo cargados "qBlog001"
"qBlog002"..."qBlog150"...
algo asà es lo que tengo en mente:
for (i in bNames) {
for (j in c_names) {
j<- Corpus(VectorSource(i))
}
}
Pero no funciona, he probado con lapply, con sapply, con llply de la
librerÃa (plyr) y no encuentro la manera de hacerlo..
Cualquier sugerencia sera bienvenida!
Muchas gracias por adelantado!
--
Oscar Benitez
[[alternative HTML version deleted]]