Skip to contents

[Experimental]

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.

Usage

crear_redes_de_palabras(x)

Arguments

x

Un vector de carácteres.

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.

m3 <- m2 %*% t(m2)

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)