Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Nube de Palabras

Las nubes de palabras representan visualmente datos de texto, destacando palabras clave y frases prevalentes. La frecuencia con la que aparece cada palabra se refleja por el tamaño de la palabra.

Las nubes de palabras proporcionan lo siguiente canales de codificación:

Canal de Codificación
Tipo de canal
Descripción

Text

Categoría

Los valores de texto que se añadirán a la nube de palabras. Charts añade cada valor único del campo aplicado a este canal a la nube de palabras.

Las nubes de palabras pueden mostrar un máximo de 100 valores. Si el campo aplicado a este canal contiene más de 100 valores únicos, el gráfico muestra una muestra aleatoria de 100 valores. Para garantizar que el gráfico solo muestre las palabras más comunes, debe aplicar un límite y ordenar por Value.

Tamaño

Agregación

Dicta el campo que se va a agregar y el tipo de agregación que se va a realizar. Los resultados de la agregación definen el tamaño de cada Text valor, con valores agregados más grandes que resultan en tamaños de texto más grandes.

Por ejemplo, si configuras los canales Text y Size en el genres campo de la colección Sample Data: Movies, Charts crea una nube de palabras donde los géneros más frecuentes son los más grandes.

Si asignas el canal Text al campo genres y el canal Size al campo runtime, Charts crea una nube de palabras donde los géneros con las duraciones totales más largas son los más grandes.

Color

Categoría

(Opcional) Colorea cada valor de texto para indicar un valor de datos correspondiente del campo aplicado.

Por ejemplo, si configura los canales Text, Size y Color en el campo genres de la colección Sample Data: Movies, Charts crea una nube de palabras donde los géneros que aparecen con mayor frecuencia son los más grandes y cada género tiene un color diferente.

Si configuras los canales Text y Size en el campo genres y configuras el canal Color en el campo rated, Charts crea una nube de palabras donde las combinaciones de género y calificación que ocurren con mayor frecuencia son las más grandes. Cada combinación de género y calificación es de un color diferente, por lo que el valor de texto verde para dramas clasificados como R aparece más grande que el valor de texto azul para dramas clasificados como G.

Utilice nubes de palabras para mostrar la frecuencia de palabras o frases específicas en campos de texto. Las nubes de palabras proporcionan una vista de alto nivel de las palabras y temas comunes en una serie de datos de texto. También pueden resaltar las frases más comunes de un conjunto conocido de cadenas, como categorías de productos o etiquetas.

Considera usar una nube de palabras para:

  • Muestra palabras y frases comunes utilizadas en las revisiones de un producto.

  • Identificar términos comunes en el contenido existente para mejorar SEO.

  • Resalta los puntos de dolor específicos de los clientes a partir de encuestas agregadas de usuarios.

Las nubes de palabras se usan comúnmente para mostrar la frecuencia con la que las palabras aparecen dentro de campos de texto extensos. Por defecto, las nubes de palabras no dividen los campos de texto en palabras y, en su lugar, intentan visualizar todo el campo de texto como un único valor. Puede utilizar un pipeline de agregación para dividir un campo de texto en palabras individuales.

Nota

El conjunto de datos utilizado en este tutorial está incluido en el sample_airbnb.listingsAndReviews Conjunto de datos proporcionado por Atlas.

El siguiente ejemplo crea una nube de palabras a partir de un conjunto de datos con información sobre propiedades en alquiler de AirBnB. Cada anuncio de propiedad contiene un campo description; un campo de texto que describe la propiedad.

Primero, ejecutamos una canalización de agregación para preprocesar el campo description. La siguiente canalización de agregación:

  1. Splits el campo description en un arreglo donde cada palabra individual es un elemento de dicho arreglo.

  2. Unwinds esta matriz, creando un nuevo documento para cada palabra individual de cada description campo.

  3. Adds a new field llamado words a la colección, donde cada palabra separada del description se convierte en un valor de words.

  4. Realiza una query $match tal que sólo se añaden palabras no triviales a la nube de palabras.

  1. Pega el siguiente pipeline de agregación en la barra Query situada en la parte superior del constructor de gráficas:

    [
    {
    $addFields: {
    words: {
    $map: {
    input: { $split: ['$description', ' '] },
    as: 'str',
    in: {
    $trim: {
    input: { $toLower: ['$$str'] },
    chars: " ,|(){}-<>.;"
    }
    }
    }
    }
    }
    },
    { $unwind: '$words' },
    {
    $match: {
    words: {
    $nin: ["", "also", "i", "me", "my", "myself", "we", "us",
    "our", "ours", "ourselves", "you", "your", "yours",
    "yourself", "yourselves", "he", "him", "his",
    "himself", "she", "her", "hers", "herself", "it",
    "its", "itself", "they", "them", "their", "theirs",
    "themselves", "what", "which", "who", "whom", "whose",
    "this", "that", "these", "those", "am", "is", "are",
    "was", "were", "be", "been", "being", "have", "has",
    "had", "having", "do", "does", "did", "doing", "will",
    "would", "should", "can", "could", "ought", "i'm",
    "you're", "he's", "she's", "it's", "we're", "they're",
    "i've", "you've", "we've", "they've", "i'd", "you'd",
    "he'd", "she'd", "we'd", "they'd", "i'll", "you'll",
    "he'll", "she'll", "we'll", "they'll", "isn't",
    "aren't", "wasn't", "weren't", "hasn't", "haven't",
    "hadn't", "doesn't", "don't", "didn't", "won't",
    "wouldn't", "shan't", "shouldn't", "can't", "cannot",
    "couldn't", "mustn't", "let's", "that's", "who's",
    "what's", "here's", "there's", "when's", "where's",
    "why's", "how's", "a", "an", "the", "and", "but",
    "if", "or", "because", "as", "until", "while", "of",
    "at", "by", "for", "with", "about", "against",
    "between", "into", "through", "during", "before",
    "after", "above", "below", "to", "from", "up", "upon",
    "down", "in", "out", "on", "off", "over", "under",
    "again", "further", "then", "once", "here", "there", "when",
    "where", "why", "how", "all", "any", "both", "each",
    "few", "more", "most", "other", "some", "such", "no",
    "nor", "not", "only", "own", "same", "so", "than",
    "too", "very", "say", "says", "said", "shall"]
    }
    }
    }
    ]
  2. Haz clic en Apply para ejecutar el pipeline.

    Ahora que tenemos un nuevo campo que contiene las palabras individuales de cada reseña, podemos visualizar esas palabras en una nube de palabras.

  3. Aplica el campo de words recién creado al canal de codificación de Text para añadir cada palabra individual a la nube de palabras.

  4. Aplica un límite de 80 para mostrar solo las 80 palabras más comunes en las revisiones.

  5. Aplica el campo words al canal de codificación Size y realiza una agregación basada en la frecuencia de cada palabra individual.

Tu nube de palabras debería verse así:

Ejemplo de nube de palabras
haga clic para ampliar

El tamaño de las palabras en la nube representa su frecuencia relativa.

El tamaño máximo de la respuesta de query para una nube de palabras es de 5000 documentos.

Volver

Gráfica de números

En esta página