Bolsa de palabras

Representando texto mediante frecuencias de palabras

La bolsa de palabras es una técnica de representación de texto que convierte documentos en vectores numéricos basados en la frecuencia de aparición de palabras.

👉 Es uno de los métodos más clásicos y fundamentales en procesamiento de lenguaje natural (NLP).


Definición corta

La bolsa de palabras representa un texto como un conjunto de palabras y sus frecuencias, ignorando el orden y la gramática.


🧠 Intuición

La técnica responde:

👉 “¿Qué palabras aparecen en el documento y cuántas veces?”


Texto ↓ Conteo de palabras ↓ Vector numérico

🔹 Idea principal

Cada documento se transforma en:

  • un vector
  • donde cada posición representa una palabra del vocabulario

📊 Ejemplo simple

Texto:

"gato perro gato"

Vocabulario:

[gato, perro]

Vector resultante:

[2,1]

👉 “gato” aparece 2 veces y “perro” 1 vez.


🧠 Propiedad clave

La bolsa de palabras:

  • ignora orden
  • ignora sintaxis
  • ignora contexto semántico

📊 Ejemplo conceptual

"perro muerde hombre" "hombre muerde perro"

👉 producen representaciones similares.


🔄 Construcción del vocabulario

🔹 Paso 1

Recolectar palabras únicas.


🔹 Paso 2

Asignar índices.


🔹 Paso 3

Contar ocurrencias.


📊 Ejemplo conceptual

Corpus ↓ Vocabulario ↓ Vectores de conteo

🧠 Tipos de representación

🔹 Frecuencia simple

Número de veces que aparece cada palabra.


🔹 Binaria

Solo presencia o ausencia.


🔹 TF-IDF

Frecuencia ponderada.


🧠 Uso en machine learning

Bolsa de palabras se usa en:

  • clasificación de texto
  • análisis de sentimiento
  • filtrado de spam
  • NLP clásico

📊 Ejemplo conceptual

Texto ↓ Vector numérico ↓ Clasificador

🧠 Relación con Bayes ingenuo

Muy utilizada junto con:

  • Bayes ingenuo multinomial
  • Bayes Bernoulli

👉 porque ambos trabajan bien con conteos.


📊 Ejemplo conceptual

Bag of Words ↓ Probabilidades ↓ Clasificación

🧠 Ventajas

  • simple
  • rápida
  • interpretable
  • efectiva en muchos problemas clásicos

🧠 Desventajas

  • ignora orden
  • ignora significado
  • vocabulario puede crecer enormemente
  • produce vectores dispersos

🧠 Relación con embeddings

Bolsa de palabrasEmbeddings
conteos simplesrepresentación semántica
sin contextocontexto incluido
alta dispersiónvectores densos

📊 Ejemplo conceptual

Conteos vs Representaciones semánticas

📊 Ejemplo en Python

from sklearn.feature_extraction.text import CountVectorizer
texts = [
"gato perro gato",
"perro pájaro"
]
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(texts)
print(vectorizer.get_feature_names_out())
print(X.toarray())

Resultado esperado

Vocabulario:
['gato', 'pájaro', 'perro']
Vectores:
[[2 0 1]
[0 1 1]]

🧠 Qué muestran estos ejemplos

  • vectorización de texto
  • conteo de palabras
  • representación numérica

⚠️ Errores comunes

Pensar que entiende significado

Solo cuenta palabras.


Ignorar tamaño del vocabulario

Puede explotar dimensionalidad.


Usarla para relaciones complejas

Tiene limitaciones semánticas.


📊 Ejemplo conceptual en ML

Texto ↓ Bag of Words ↓ Vectores ↓ Modelo

🧠 Interpretación profunda

La bolsa de palabras refleja un principio clave:

👉 La frecuencia de aparición de palabras ya contiene información útil para aprender patrones

Aunque simple, fue una base esencial para:

  • NLP clásico
  • clasificación de documentos
  • modelos probabilísticos

y abrió el camino hacia representaciones más avanzadas como embeddings y Transformers.

Conclusión

La bolsa de palabras convierte texto en vectores de frecuencias, permitiendo aplicar algoritmos de machine learning a datos textuales.

👉 Es una de las representaciones más importantes en la historia del NLP.


Related Concepts