Tema
Bolsa de palabras y clasificación de texto
- Lenguaje natural y modelos de lenguaje
- Nivel base
La representación de bolsa de palabras describe un documento por la frecuencia de cada término del vocabulario y descarta el orden, lo que basta para clasificar tema o polaridad con un modelo lineal.
Nombre en inglés
Bag of words and text classification
Intuición
Conviene imaginar el documento metido en una licuadora, porque quedan las palabras y sus cantidades pero no la sintaxis. Para decidir si una reseña es negativa, la presencia de pésimo pesa mucho más que el lugar donde aparece, y por eso una técnica que tira el orden compite de cerca con modelos bastante más caros.
Fórmula
tfidf(t, d) = tf(t, d) \cdot \log( N / df(t) )
Ejemplo resuelto
Sea una colección de 100 documentos. El término modelo aparece 3 veces en el documento d y en 50 documentos de la colección, mientras que heteroscedástico aparece 1 vez en d y en 2 documentos. El peso del primero vale 3 por log(100 / 50) = 3 por 0.301 = 0.903 con logaritmo en base 10, y el del segundo 1 por log(100 / 2) = 1.699. Pese a aparecer tres veces menos, el término raro pesa casi el doble, que es justo lo que busca la ponderación.
Errores frecuentes
- Calcular la frecuencia inversa de documento incluyendo el conjunto de prueba en el recuento, fuga de información que infla la exactitud medida.
- Descartar la bolsa de palabras por anticuada sin medir, cuando en corpus pequeños y etiquetados a mano una regresión logística sobre tfidf suele igualar a una red preentrenada y se entrena en segundos.
- Aplicar el clasificador bayesiano ingenuo con conteos sin suavizar, error que asigna probabilidad cero a cualquier documento con un término no visto en esa clase.
Ejercicio
Un término aparece en los 100 documentos de una colección de 100. ¿Cuánto vale su factor de frecuencia inversa de documento y qué consecuencia tiene?
Ver la solución
El factor es el logaritmo de N dividido entre df, es decir log(100 / 100) = log(1) = 0. Al multiplicar por la frecuencia del término, el peso final se anula sea cual sea el número de apariciones. En consecuencia, un término presente en todos los documentos no distingue nada y la ponderación lo elimina por sí sola, sin necesidad de una lista de palabras vacías.
Respuesta: 0