14 · Más allá de la precisión: diversidad y cobertura
Un recomendador perfectamente preciso puede aun así ser malo — recomendando cinco ítems casi idénticos, ignorando el catálogo, atrapando usuarios en una burbuja de filtro. Mide también cobertura, diversidad y novedad.
La precisión es necesaria pero no suficiente. Un recomendador que clava NDCG sirviendo cinco éxitos casi duplicados es aburrido e inútil — mide la COBERTURA del catálogo (cuánto del catálogo llega a recomendarse), la DIVERSIDAD intra-lista (1 − similitud media por pares) y la NOVEDAD (auto-información de qué tan impopulares son los ítems), y re-ordena para cambiar un poco de precisión por ellas.
Sin esto:
Optimiza solo la precisión y construyes una burbuja de filtro: cada usuario ve el mismo puñado de ítems populares e intercambiables, la cola larga nunca emerge, y el engagement decae en silencio.
Un recomendador puede puntuar bellamente en NDCG y aun así ser un mal producto. Tres modos de fallo a los que las métricas de precisión están ciegas:
Burbuja de filtro / sobre-especialización. Si solo muestras ítems extremadamente similares a lo que al usuario ya le gustó, cada recomendación es un casi-duplicado. Preciso — y embrutecedor. El descubrimiento muere.
Sesgo de popularidad / cobertura pobre. Los modelos entrenados con engagement aprenden a recomendar los mismos pocos éxitos a todos, porque los ítems populares tienen la mayor señal. La cola larga del catálogo nunca se muestra, perjudicando a creadores, inventario y la propia serendipia que hace sentir vivo a un feed.
Así que medimos calidad más allá de la precisión:
- Cobertura del catálogo — la fracción de ítems distintos que aparecen en las recomendaciones de alguien. Cobertura baja = un sistema que recicla el mismo estante.
- Diversidad intra-lista — para la lista de un solo usuario,
1 − (similitud media por pares)entre sus ítems. Alta = una lista variada; baja = cinco sabores de la misma cosa. - Novedad — premiar recomendar lo menos popular. Usando auto-información
-log2(popularidad), un ítem raramente visto carga más 'sorpresa' que un éxito de listas; promediarla sobre una lista mide qué tan fuera de lo trillado están las recomendaciones.
Estas se compensan contra la precisión. La herramienta estándar es el re-ordenamiento: parte de la lista ordenada por precisión, luego construye con avidez la lista final balanceando la relevancia de cada candidato contra qué tan disímil es de lo ya elegido (la idea detrás de Maximal Marginal Relevance). Sacrificas una pizca de relevancia predicha para romper la burbuja.
Abajo tomamos listas de recomendación más una matriz de similitud ítem-ítem, calculamos cobertura y diversidad intra-lista, y luego corremos un re-ordenamiento estilo MMR pequeño que cambia un poco de precisión por una lista marcadamente más diversa.
Python (in browser)
Cobertura del catálogo + diversidad intra-lista, luego un re-ordenamiento MMR que cambia una pizca de relevancia predicha por una lista notablemente más diversa.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
La novedad vía auto-información (-log2 popularidad) premia hacer emerger la cola larga; frameworks como RecBole reportan cobertura, popularidad y entropía junto a NDCG.
Un recomendador obtiene un NDCG@10 excelente pero la lista de cada usuario son cinco ítems casi idénticos del mismo subgénero popular. ¿Cuál es el problema y una solución estándar?
- La precisión es necesaria pero no suficiente — una lista de alto NDCG de casi duplicados es una burbuja de filtro.
- Mide cobertura del catálogo, diversidad intra-lista (1 − similitud media por pares) y novedad (-log2 popularidad) junto a la precisión.
- El re-ordenamiento (MMR) cambia una pizca de relevancia predicha por diversidad/cobertura — apunta a la frontera de Pareto, no a la precisión pura.
YouTube, Spotify y los feeds de noticias ajustan explícitamente por diversidad/novedad para combatir las burbujas de filtro; las capas de re-ordenamiento (MMR, DPP) se sitúan sobre el modelo de precisión en los stacks de producción.
Si lo quitas: Optimizar solo la precisión construye una cámara de eco: la cola larga desaparece, los creadores se quedan sin público y los usuarios se van por la monotonía pese a 'buenas' métricas offline.