Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Crear nubes de palabras a partir de arreglos de cadenas

Este ejemplo muestra cómo crear una nube de palabras a partir de texto sin formato leyéndolo en un arreglo de cadenas, procesándolo previamente, y pasándolo a la función wordcloud. Si tiene instalado Text Analytics Toolbox™, podrá crear directamente nubes de palabras a partir de arreglos de cadenas. Para obtener más información, consulte wordcloud (Text Analytics Toolbox) (Text Analytics Toolbox).

Lea el texto de los sonetos de Shakespeare con la función fileread.

sonnets = fileread('sonnets.txt');
sonnets(1:135)
ans = 
    'THE SONNETS
     
     by William Shakespeare
     
     
     
     
       I
     
       From fairest creatures we desire increase,
       That thereby beauty's rose might never die,'

Convierta el texto en una cadena mediante la función string. A continuación, divídalo en caracteres de nueva línea mediante la función splitlines.

sonnets = string(sonnets);
sonnets = splitlines(sonnets);
sonnets(10:14)
ans = 5×1 string
    "  From fairest creatures we desire increase,"
    "  That thereby beauty's rose might never die,"
    "  But as the riper should by time decease,"
    "  His tender heir might bear his memory:"
    "  But thou, contracted to thine own bright eyes,"

Sustituya algunos caracteres de puntuación con espacios.

p = ["." "?" "!" "," ";" ":"];
sonnets = replace(sonnets,p," ");
sonnets(10:14)
ans = 5×1 string
    "  From fairest creatures we desire increase "
    "  That thereby beauty's rose might never die "
    "  But as the riper should by time decease "
    "  His tender heir might bear his memory "
    "  But thou  contracted to thine own bright eyes "

Divida sonnets en un arreglo de cadenas cuyos elementos contengan palabras individuales. Para hacerlo, una todos los elementos de la cadena en una cadena de 1 por 1 y, luego, divida en los caracteres de espacios.

sonnets = join(sonnets);
sonnets = split(sonnets);
sonnets(7:12)
ans = 6×1 string
    "From"
    "fairest"
    "creatures"
    "we"
    "desire"
    "increase"

Elimine las palabras con menos de cinco caracteres.

sonnets(strlength(sonnets)<5) = [];

Convierta sonnets en un arreglo categórico y, después, en una gráfica mediante wordcloud. La función representa los elementos exclusivos de C con un tamaño que corresponde con sus recuentos de frecuencia.

C = categorical(sonnets);
figure
wordcloud(C);
title("Sonnets Word Cloud")

Consulte también

|