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 palabras | Embeddings |
|---|---|
| conteos simples | representación semántica |
| sin contexto | contexto incluido |
| alta dispersión | vectores densos |
📊 Ejemplo conceptual
Conteos vs Representaciones semánticas
📊 Ejemplo en Python
from sklearn.feature_extraction.text import CountVectorizertexts = [ "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
- Bayes ingenuo multinomial
- TF-IDF
- NLP
- Embeddings
- Vectorización de texto