Difference between revisions of "Hacer un análisis de texto"

From Gender and Tech Resources

(Pasos)
(Pasos)
Line 31: Line 31:
 
* Pedirle a R que lea nuestro archivo y lo agregue como datos:
 
* Pedirle a R que lea nuestro archivo y lo agregue como datos:
  
Datos <- Corpus(DirSource("~/Directorio/"))  
+
> Datos <- Corpus(DirSource("~/Directorio/"))  
  
 
* Limpiar el texto para que no use en el análisis fuentes de ruido (por ejemplo conjunciones):  
 
* Limpiar el texto para que no use en el análisis fuentes de ruido (por ejemplo conjunciones):  
  
Datos <- tm_map(Datos,stripWhitespace)
+
> Datos <- tm_map(Datos,stripWhitespace)
  
Datos <- tm_map(Datos,tolower)
+
> Datos <- tm_map(Datos,tolower)
  
Datos <- tm_map(Datos,removeNumbers)
+
> Datos <- tm_map(Datos,removeNumbers)
  
Datos <- tm_map(Datos,removeWords,stopwords("spanish"))
+
> Datos <- tm_map(Datos,removeWords,stopwords("spanish"))
  
Datos <- tm_map(Datos,removePunctuation)
+
> Datos <- tm_map(Datos,removePunctuation)
  
Datos <- tm_map(Datos,stemDocument)
+
> Datos <- tm_map(Datos,stemDocument)
  
Datos <- tm_map(Datos, PlainTextDocument)
+
> Datos <- tm_map(Datos, PlainTextDocument)
  
 
* Generar la visualización de nube y guardarla como una imagen en el archivo nubetexto.png  
 
* Generar la visualización de nube y guardarla como una imagen en el archivo nubetexto.png  
  
png("~/nubetexto.png", width=640,height=600)
+
> png("~/nubetexto.png", width=640,height=600)
  
wordcloud(Datos, scale=c(5,0.5), max.words=100, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, "Dark2"))
+
> wordcloud(Datos, scale=c(5,0.5), max.words=100, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, "Dark2"))
  
dev.off()
+
> dev.off()
  
 
Puedes cambiar la visualización en tamaño, puedes modificar el número de palabras que aparezcan en la nube, en fin puedes jugar un poco con como luce.
 
Puedes cambiar la visualización en tamaño, puedes modificar el número de palabras que aparezcan en la nube, en fin puedes jugar un poco con como luce.

Revision as of 19:51, 19 December 2016

Los análisis de texto pueden ser herramientas poderosas para generar información estadística de discursos y tener mecanismos de visualización cuantitativos sobre narrativas. Actualmente son muy usadas para hacer Big Data en redes sociales y una forma de visualizarlos es generando “word clouds” (Nubes de Palabras). En este tutorial compartimos como hacer un análisis a partir del software estadístico R [1]

Requisitos

Tener Instalado el paquete R y las librerías: XML

tm

wordcloud

RColorBrewer

Pasos

  • Crear un documento de texto simple (.txt) con la información para analizar.
  • Abrir R en la terminal
Llamando a R
  • Indicar a R que debe cargar las librerías:

> require(XML)

> require(tm)

> require(wordcloud)

> require(RColorBrewer)

  • Pedirle a R que lea nuestro archivo y lo agregue como datos:

> Datos <- Corpus(DirSource("~/Directorio/"))

  • Limpiar el texto para que no use en el análisis fuentes de ruido (por ejemplo conjunciones):

> Datos <- tm_map(Datos,stripWhitespace)

> Datos <- tm_map(Datos,tolower)

> Datos <- tm_map(Datos,removeNumbers)

> Datos <- tm_map(Datos,removeWords,stopwords("spanish"))

> Datos <- tm_map(Datos,removePunctuation)

> Datos <- tm_map(Datos,stemDocument)

> Datos <- tm_map(Datos, PlainTextDocument)

  • Generar la visualización de nube y guardarla como una imagen en el archivo nubetexto.png

> png("~/nubetexto.png", width=640,height=600)

> wordcloud(Datos, scale=c(5,0.5), max.words=100, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, "Dark2"))

> dev.off()

Puedes cambiar la visualización en tamaño, puedes modificar el número de palabras que aparezcan en la nube, en fin puedes jugar un poco con como luce.


Aquí la mía:

mi nube

Más información

Para más información puedes ver:

https://cran.r-project.org/web/packages/wordcloud/wordcloud.pdf

https://georeferenced.wordpress.com/2013/01/15/rwordcloud/
  1. https://www.r-project.org/