Bolsa de palabras y TF-IDF
Convertir texto en una matriz numérica con scikit-learn: conteo, ponderación TF-IDF, n-gramas de caracteres y explosión de la dimensión.
Un algoritmo de aprendizaje no consume texto, consume números. Entre ambos hace falta una función que transforme un documento en un vector, y esa función determina con más seguridad la calidad del resultado final que la elección del propio algoritmo.
La solución más antigua es también la más utilizada en producción: la bolsa de palabras. Se olvida el orden y solo se conserva la presencia y la frecuencia. «Le chat mange la souris» y «La souris mange le chat» se convierten en el mismo vector. Es una pérdida de información evidente y, sin embargo, esta representación basta para filtrar el correo no deseado, enrutar tickets de soporte o clasificar noticias por sección con una precisión que deja en evidencia a enfoques más sofisticados.
Hay tres razones para empezar por aquí, incluso si su objetivo final es un transformer. La primera es que constituye una referencia honesta: si su modelo de 110 millones de parámetros no supera a un TF-IDF entrenado en dos segundos, el problema no está en la arquitectura. La segunda es la interpretabilidad: se pueden leer los coeficientes y saber qué palabras sustentan la decisión, algo que ningún transformer permite de forma tan directa. La tercera es el coste: una regresión logística sobre TF-IDF se entrena en un portátil y responde en una fracción de milisegundo, sin GPU y sin servidor de inferencia.