Crea redes usando algún vector de palabras u oraciones para ser analizadas
Código:R/crear_redes_de_palabras.R
crear_redes_de_palabras.Rd
Utilizando la librería tm
y igraph
, opta por un 'wrapper' para generar
redes listas para ser utilizadas bajo el contexto de procesamiento de lenguaje
natural.
Metodología usada
Primero se creó una matriz de términos (i.e, corpus), usando las palabras únicas
usando el paquete tm
.
m <- tm::Corpus(x = tm::VectorSource(x = unique(x)))
m <- tm::TermDocumentMatrix(x = m, control = list(minWordLength = c(1L, Inf)))
Se obtuvieron aquellos términos que tuvieran al menos dos términos que aparecieran de manera única, asignando el valor de 1 para decir si estos se encontraban presentes o no).
m2 <- m[rowSums(m) > 1, ]
m2[m2 > 1] <- 1
Se calculó la co-ocurrencia de los términos calculando la multiplicación de la matriz de valores por su versión transpuesta, para así obtener nuestra matriz de adjacencia.
Posteriormente se crearon los nodos con sus respectivos vertices sobre nuestra matriz de
adjacencia usando el paquete igraph
, devolviendo el objeto para ser usado en técnicas
de visualización o análisis de comunidades.
g <- igraph::graph.adjacency(m3, weighted = TRUE, mode = 'undirected')
g <- igraph::simplify(g)