Conceptos básicos de clasificación: puntual, por pares, por listas | de Kunal Santosh Sawant | diciembre de 2024

Porque tu prójimo importa

Imagen tomada de unsplash.com

Primero, hablemos de dónde entra en juego la clasificación. La clasificación es muy importante en el comercio electrónico y las aplicaciones de búsqueda; esencialmente, en cualquier escenario en el que necesite organizar documentos en función de una consulta. Es un poco diferente de los problemas clásicos de clasificación o regresión. Por ejemplo, en el conjunto de datos del Titanic, se predice si un pasajero sobrevive o no, y en la predicción del precio de la vivienda, se estima el precio de una casa. Pero con la clasificación, el juego cambia. En lugar de predecir un único valor o categoría, intenta ordenar los documentos según su relevancia.

Tomemos un ejemplo: busca “sari” en un sitio web de comercio electrónico como Amazon. No solo quieres una lista aleatoria de saris; quieres que los más relevantes aparezcan en la parte superior, ¿verdad? Ahí es donde interviene Learning to Rank (LTR): clasifica los documentos (o productos) en función de qué tan bien coinciden con su consulta.

Ahora que sabemos dónde encaja la clasificación, profundicemos en el meollo de los diferentes enfoques y métodos.

Hay tres métodos principales para aprender a clasificar (LTR):

  1. Puntualmente
  2. Por parejas
  3. Listado

Para que sea más fácil de seguir, establezcamos alguna notación que usaremos para explicar estos métodos.

Trabajaremos con un conjunto de consultas. q1,q2,…,qn y cada consulta tiene un conjunto de documentos correspondiente d1,d2,d3,…,dm​. Por ejemplo:

  • Consulta q1 está asociado con documentos d1,d2,d3
  • Consulta q2 asociado con documentos d4,d5.

Con esta configuración en mente, analicemos cada método y cómo abordan el problema de clasificación.

En el enfoque puntualtratamos el problema de clasificación como una simple tarea de clasificación. Para cada par consulta-documento, asignamos una etiqueta de destino que indica la relevancia del documento para la consulta. Por ejemplo:

  • Etiqueta 1 si el documento es relevante.
  • Etiqueta 0 si el documento no es relevante.

Usando nuestro ejemplo anterior, los datos se verían así:

  • q1,d1→etiqueta: 1
  • q1,d2→etiqueta: 0
  • q1,d3→etiqueta: 1
  • q2,d4→etiqueta: 0
  • q2,d5→etiqueta: 1

Entrenamos el modelo utilizando estos datos etiquetados, aprovechando las características tanto de las consultas como de los documentos para predecir la etiqueta. Después del entrenamiento, el modelo predice la relevancia de cada documento para una consulta determinada como una probabilidad (que varía de 0 a 1). Esta probabilidad puede interpretarse como la puntuación de relevancia.

Por ejemplo, después del entrenamiento, el modelo podría producir las siguientes puntuaciones:

  • q1​,d1​→puntuación: 0,6
  • q1,d2→puntuación: 0,1
  • q1,d3→puntuación: 0,4

Utilizando estas puntuaciones, volvemos a clasificar los documentos en orden descendente de relevancia: d1,d3,d2. Este nuevo orden de clasificación se presenta luego al usuario, asegurando que los documentos más relevantes aparezcan en la parte superior.

El principal inconveniente de la enfoque puntual es que le falta el contexto en el que el usuario interactúa con un documento. Cuando un usuario hace clic en un documento o lo encuentra relevante, a menudo hay múltiples factores en juego; uno de los más importantes es el artículos vecinos.

Por ejemplo, si un usuario hace clic en un documento, es posible que no signifique necesariamente que el documento sea muy relevante. Podría deberse simplemente a que los demás documentos presentados fueran de mala calidad. De manera similar, si hubiera mostrado un conjunto diferente de documentos para la misma consulta, la interacción del usuario podría haber sido completamente diferente.

Imagina presentar d4​ para consulta q1​. Si d4​ es más relevante que d1​, el usuario podría haber hecho clic en d4​ en cambio. Este contexto (cómo se comparan los documentos entre sí) se pasa por alto por completo en el enfoque puntual.

para capturar esto relevancia relativarecurrimos a la enfoque por pares.

En el método por pares, en lugar de analizar los pares consulta-documento de forma aislada, nos centramos en pares de documentos para la misma consulta e intente predecir cuál es más relevante. Esto ayuda a incorporar el contexto de comparación entre documentos.

Generaremos los datos de manera similar por ahora, pero la forma en que los usaremos será un poco más compleja. Analicemos eso a continuación.

Imagine los datos de entrenamiento para el enfoque por pares estructurado de la siguiente manera:

  • q1,(d1,d2)→etiqueta: 1(indicando d1es más relevante que d2​)
  • q1,(d2,d3)→etiqueta: 0 (que indica d2es menos relevante que d3​)
  • q1,(d1,d3)→etiqueta: 1 (que indica d1 es más relevante que d3​)
  • q2,(d4,d5)→etiqueta: 0(indicando d4 es menos relevante que d5​)

Aquí, asignamos las etiquetas en función de las interacciones del usuario. Por ejemplo, d1y d3​ Al hacer clic en ambos indica que son relevantes, por lo que mantenemos su orden para simplificar en esta explicación.

Proceso de formación modelo:

Aunque los datos de entrenamiento están en pares, el modelo no procesa directamente estos pares. En cambio, lo tratamos de manera similar a un problema de clasificación, donde cada par consulta-documento se pasa al modelo por separado.

Por ejemplo:

  • s1 = f(q1,d1)
  • s2 = f(q1,d2)
  • s3 = f(q1,d3)

El modelo genera puntuaciones. s1, s2, s3​para los documentos. Estas puntuaciones se utilizan para comparar la relevancia de los pares de documentos.

Penalizando al modelo:

Si el modelo predice puntuaciones que violan el verdadero orden de relevancia, es penalizado. Por ejemplo:

  • Si s1pero los datos de entrenamiento indican d1>d2​, el modelo es penalizado porque no logró clasificar d1​ mayor que d2​.
  • Si s2​, y los datos de entrenamiento indican d2​, la modelo hizo lo correcto, por lo que no se aplica ninguna penalización.

Esta comparación por pares ayuda al modelo a conocer el orden relativo de los documentos para una consulta, en lugar de simplemente predecir una puntuación de relevancia independiente como en el enfoque puntual.

Desafíos:

Uno de los principales desafíos de la implementación de modelos por pares es la complejidad computacional — dado que necesitamos comparar todos los pares posibles de documentos, el proceso escala como O(n²). Además, los métodos por pares no consideran la clasificación mundial de documentos; Durante las comparaciones se centran únicamente en pares individuales, lo que puede dar lugar a inconsistencias en la clasificación general.

En la clasificación por listas, el objetivo es optimizar la lista completa de documentos en función de su relevancia para una consulta. En lugar de tratar los documentos individuales por separado, la atención se centra en el orden en que aparecen en la lista.

A continuación se muestra un desglose de cómo funciona esto en ListNet y LambdaRank:

NDCG (ganancia acumulada descontada normalizada): Profundizaré en NDCG en otro blog, pero por ahora, considérelo como una forma de medir qué tan bien el orden de los elementos coincide con su relevancia. Recompensa los elementos relevantes que aparecen en la parte superior de la lista y normaliza la puntuación para facilitar la comparación.

En la clasificación por listas, si tiene una lista de documentos (d1, d2, d3), el modelo considera todas las permutaciones posibles de estos documentos:

  • (d1, d2, d3)
  • (d1, d3, d2)
  • (d2, d1, d3)
  • (d2, d3, d1)
  • (d3, d1, d2)
  • (d3, d2, d1)

Proceso de formación:

  1. Predicción de puntuación: El modelo predice una puntuación para cada documento de la lista y los documentos se clasifican según estas puntuaciones. Por ejemplo: s1 = f(q1,d1), s2 = f(q1,d2)
  2. Clasificación ideal: La clasificación ideal se calcula clasificando los documentos según su verdadera relevancia. Por ejemplo, d1 podría ser el más relevante, seguido de d2y luego d3.
  3. Cálculo de NDCG: NDCG se calcula para cada permutación de la lista de documentos. Comprueba qué tan cerca está la clasificación prevista de la clasificación ideal, considerando tanto la relevancia como las posiciones de los documentos.
  4. Penalizar clasificaciones incorrectas: Si la clasificación prevista difiere de la ideal, la puntuación NDCG disminuirá. Por ejemplo, si la clasificación ideal es (d1, d3, d2) pero el modelo se ubica (d2, d1, d3)la puntuación NDCG será menor porque el documento más relevante (d1) no está clasificado en la cima.
  5. Cálculo de gradiente: El modelo calcula gradientes en función de cuánto cambiaría la puntuación NDCG si se ajustara el orden de los documentos. Estos gradientes guían al modelo sobre cómo mejorar sus predicciones.

Este proceso ayuda al modelo a aprender a optimizar toda la lista de clasificación, mejorando la relevancia de los documentos presentados a los usuarios.

Cuando se trata de aprender a clasificar, no existe un enfoque único que sirva para todos. Los modelos puntuales son muy fáciles de configurar y actualizar, pero no siempre tienen en cuenta cómo se relacionan los documentos entre sí. Dicho esto, si necesitas algo sencillo y rápido, son una gran opción.

Por otro lado, por pares y de lista Los métodos son más potentes porque analizan cómo se comparan los documentos entre sí. pero con eso El poder viene más complejidad. 😛, y listwise puede ser un verdadero desafío por su alta complejidad en el entrenamiento.

Personalmente encuentro la por pares enfoque para ser el punto ideal. Logra un buen equilibrio entre complejidad y rendimiento, lo que lo hace ideal para muchas situaciones.

Al final del día, el método que elijas realmente depende de tu situación. ¿Qué tan grande y complicado es su conjunto de datos? Conocer los pros y los contras de cada método le ayudará a elegir el que mejor se adapte a lo que intenta hacer.

¡Esto es todo por hoy! Estén atentos a la siguiente parte. ¡Hasta entonces, feliz clasificación! 😊

Referencias:

De RankNet a LambdaRank y LambdaMART: una descripción general
Aprender a clasificar: del enfoque por parejas al enfoque por listas
Introducción a aprender a clasificar