¿Cómo se mide y evalúa la calidad de los motores de recomendación?

La mejor manera de medir la calidad de los motores de recomendación es, sin duda, las pruebas A / B. Entonces, en ese sentido, estoy mayormente alineado con la respuesta de Sean Owen (aunque hay algunas cosas sobre las que tengo un punto de vista ligeramente diferente y abordaré más adelante). Si necesita una forma más flexible de evaluar los sistemas de recomendación fuera de línea, entonces tiene sentido generar capacitación y probar un conjunto de datos y usar métricas de recuperación de información para evaluar (más sobre eso más adelante).

Solo si no puede hacer las dos anteriores, o si necesita un punto de datos complementario, estaría de acuerdo en que tiene sentido usar experimentos controlados con jueces. En ese sentido, me siento obligado a abordar la respuesta de Edwin Chen. Es una respuesta magníficamente escrita, y está claro que Edwin sabe lo que hace. Sin embargo, me parece fundamentalmente defectuoso y engañoso en muchos sentidos. En particular, preguntar a los sujetos directamente qué piensan sobre el resultado de un sistema de recomendación no funciona. Período. Hay varias razones para esto, permítanme mencionar algunas de ellas:

  1. Los humanos son muy malos al evaluar la utilidad de una recomendación. Cuando pregunta directamente a los usuarios qué piensan acerca de una recomendación, existe un conflicto entre la evaluación de la calidad del elemento y la utilidad. Por ejemplo, si le preguntamos a la gente si “Hot Tub Machine” es una buena recomendación para ellos, es probable que la gente diga que no porque están influenciados por la evaluación de calidad del artículo. Sin embargo, eso no significa que esta sea una recomendación que no sea útil. Además de ese problema, la utilidad también depende del contexto y la tarea en cuestión y es muy difícil de evaluar subjetivamente en forma aislada de todo esto. Por ejemplo, una recomendación de restaurante de pizza puede parecer muy pobre en un contexto aislado, pero si limito el contexto al hecho de que es viernes por la noche y estoy buscando un lugar para tomar un bocado rápido del equipo de fútbol de mi hijo, todos De repente se convierte en una gran sugerencia. Hay mucho trabajo sobre cuán ruidosos son los humanos al evaluar sus propias preferencias (vea mi propia página “Me gusta, no me gusta. Evaluar el ruido de la calificación del usuario en los sistemas de recomendación” en amatriain.net) y mucho menos tratar de hacer que evaluar a alguien más.
  2. Los experimentos controlados directos con jueces no escalan . Para que cualquier evaluación tenga sentido, debe tomar una muestra de una población estadísticamente significativa que represente el objetivo de su sistema de recomendación. Eso es imposible de hacer con experimentos de usuario controlados. La única forma de acercarse a hacerlo es usar Amazon Mechanical Turk. Hay muchos problemas con la calidad y la confianza de esos comentarios. Pero, lo que es peor, no hay forma de controlar que este será un producto representativo de su población. Sin mencionar que si está tratando de evaluar la personalización, es muy difícil hacerlo con usuarios anónimos de los que no sabe nada.
  3. La experiencia me dice que este tipo de evaluación no funciona. He visto suficientes ejemplos en la industria y hablé con suficientes personas para comprender que la ganancia relativa de agregar una evaluación directa de usuarios es mínima, en el mejor de los casos. Sí, los jueces de usuario se utilizan en algunas empresas para algunas aplicaciones de esquina, pero debe utilizar enormes recursos para hacer solo una fracción del impacto que puede tener simplemente ajustando su métrica de prueba A / B o los criterios de evaluación fuera de línea. Me sorprendería mucho si Twitter utilizara este enfoque para evaluar sus recomendaciones. Tenga en cuenta que el ejemplo en la respuesta de Edwin (Mejorando la búsqueda de Twitter con cómputo humano en tiempo real) se trata de la búsqueda, y no tiene nada que ver con la evaluación. Además, el ejemplo solo me dice que los algoritmos de comprensión de consultas de Twitter podrían usar algunas mejoras y que los humanos se usan para llenar esos vacíos.

Bien, una vez que se resuelva, permítanme volver a las cosas que funcionan y abordar algunos de los desafíos que se han mencionado.

Primero, permítanme aclarar que tanto las pruebas A / B como las pruebas a través de conjuntos de datos son una evaluación humana, ya que ambas utilizan la retroalimentación humana para evaluar la bondad de las recomendaciones. Por lo tanto, presentar experimentos controlados con jueces como “evaluación humana” es algo engañoso.

Dicho esto, el problema principal con el uso de las pruebas A / B para evaluar un sistema de recomendación es que no es trivial elegir una métrica. Estoy totalmente de acuerdo con esto, y Edwin hace un gran trabajo al ilustrar esto con varios ejemplos en su respuesta. Sin embargo, la solución no es decir que las pruebas A / B no funcionan, sino más bien hacer un esfuerzo para elegir una métrica que tenga sentido y se asigne directamente a la utilidad de la recomendación para el usuario en el contexto de lo que esté intentando para lograr para el negocio. No voy a abordar aquí en esta respuesta cómo diseñar una prueba A / B y elegir la métrica adecuada. Permítanme decir que las métricas a corto plazo, como el CTR, son fáciles de engañar y deben tratar de encontrar métricas a largo plazo que sean lo suficientemente sensibles, pero que se asignen a la utilidad de su sistema a largo plazo. Si está interesado en aprender más sobre este tema, las charlas de Ronny Kohavi son un excelente lugar para comenzar: las conversaciones de Ron Kohavi. Una nota final sobre el tema de la evaluación en línea es que solo he hablado sobre las pruebas A / B ya que esa es la práctica más común para la evaluación de usuarios en línea. Sin embargo, existen otras técnicas, como las pruebas de bandido multibrazos o el intercalado, que también se incluirían en esta categoría y que también son interesantes a su manera.

Ok, entonces sí, las pruebas A / B son costosas y limitadas para aquellos privilegiados de trabajar en una empresa con suficientes usuarios. Además, las pruebas A / B tardan en ejecutarse, especialmente cuando elige métricas a largo plazo. Es por eso que en muchos casos querrás tener una forma más rápida y flexible de evaluar el progreso fuera de línea. Generar un conjunto de datos donde pueda evaluar sus modelos es una gran idea. Una vez más, cuál es la métrica correcta para usar aquí es un tema muy largo que todavía se está investigando (por ejemplo, la Conferencia de Sistemas de Recomendaciones de ACM 2014 tuvo una sesión completa RecSys 2014 – Métricas y evaluación de sesión – RecSys sobre esto). Para resumir, para evaluar un sistema de recomendación en el laboratorio, debe comprender cuáles son las dimensiones que le interesa evaluar. La precisión podría ser solo una de las dimensiones importantes, pero ¿qué pasa con la diversidad o la novedad ? Una vez que haya determinado eso, terminará con un conjunto de métricas sobre las que necesita hacer compensaciones. El tema clave es comprender cómo esas compensaciones afectarán a sus usuarios una vez que esté listo para hacer la evaluación final en línea a través de una prueba A / B. Y sí, como regla general, estoy de acuerdo en que las métricas basadas en errores, como RMSE, son indicadores deficientes. Sin embargo, las métricas de clasificación como NDCG o Fraction of Concordant Pairs, si se implementan correctamente, son mucho, mucho mejores.

Como nota final, si llegaste hasta aquí y estás interesado en el estado del arte en estas dos formas de evaluación, hubo dos talleres en la Conferencia de Sistemas de Recomendaciones de ACM 2014 que los abordaron de forma indecente: Taller RecSys’14: Experimentación controlada y Dimensiones y diseño (REDD 2014) (Nuevamente, algunos de los documentos de la conferencia principal también abordaron esta área muy interesante).

Respuesta corta: sí. Hay muchas métricas como CTR (sugerido por Muktabh Mayank) que se pueden usar para evaluar recomendaciones.

La respuesta larga es que casi todos ellos tienen fallas a su manera, ya que un sistema de recomendación cumple muchos objetivos simultáneamente.

En la práctica, seleccionaría algunos objetivos que son más importantes para usted, por ejemplo, la conversión de clics, y optimizaría su sistema de recomendaciones para eso. Optimizar para uno puede significar que se está perdiendo o que está empeorando en otras métricas, pero toma lo que obtiene. (También podría idear estrategias para optimizar varias métricas como lo hace LinkedIn [Página en poly.edu], pero su kilometraje puede variar).

Para desarrollar las métricas, veamos algunos objetivos típicos para los que están diseñados los sistemas de recomendación:

Precisión: con mucho, la mayor parte del enfoque en investigación y práctica está en la precisión de las recomendaciones. Si eres Netflix, puedes medirlo por la diferencia en la calificación pronosticada y real por un usuario. Si usted es Amazon, puede medirlo por la tasa de clics o las ventas consecuentes que hacen clic de las recomendaciones introducidas. Hay muchas métricas dependiendo de cómo formule el problema de recomendación. Los sistemas de recomendación se evalúan utilizando métricas como ROC, ROC del cliente, precisión y recuperación cuando se consideran problemas de clasificación, métricas como NDCG cuando se consideran problemas de clasificación y métricas como RMSE, MAE, la correlación de Kendall’s tau, Spearman o Pearson cuando visto como un problema de predicción de calificación.

Diversidad: Recomendar demasiadas películas de superhéroes de acción sería aburrido, y también lo sería mostrar todos los libros de Harry Potter una vez que un usuario compre el primero. La diversidad tiene como objetivo difundir las recomendaciones en el espacio de elementos, de modo que las recomendaciones que se muestran no parezcan demasiado limitadas o triviales. Una métrica simple para la diversidad sería calcular la distancia por pares (en alguna incrustación latente) entre los elementos recomendados para cada usuario. Si ya tiene categorías para artículos, esa también podría ser una buena manera de medir la diversidad.

Cobertura de espacio de artículos: también debes asegurarte de no recomendar libros de Harry Potter o los Vengadores a todos. Los algoritmos de filtrado colaborativo tienden a elegir elementos que les gustan a personas similares a usted, y puede ser que a todos les gusten los Vengadores (vea mi respuesta relacionada: Sistemas de recomendación: ¿Qué es exactamente el “problema de Harry Potter”?). La cobertura se puede medir por el número total de elementos únicos recomendados por su sistema de recomendaciones. También puede combinar la diversidad y la cobertura para crear una cobertura de recomendaciones por categorías o características. Esto puede ser muy importante si está recomendando negocios en un mercado, como Yelp para restaurantes o eBay para vendedores. donde el destino de las empresas puede verse afectado negativamente si las recomendaciones están sesgadas hacia ciertas empresas.

Un objetivo relacionado es la adaptabilidad , donde desea que su sistema de recomendación se adapte rápidamente a los nuevos elementos. Las noticias son un excelente ejemplo donde la adaptabilidad es primordial: un informador de noticias necesita actualizar continuamente sus recomendaciones para incluir historias recientes.

Cobertura de espacio del usuario: podría ser que el sistema funciona muy bien para usuarios avanzados, pero falla miserablemente para otros. Por lo tanto, también es importante evaluar cómo varía la calidad de la recomendación entre los diferentes usuarios. Un problema común con los algoritmos de filtrado colaborativo es que no funcionan para personas con pocas calificaciones (el problema del arranque en frío ). El problema del arranque en frío se vuelve aún más importante en los dominios en los que sospecha que tienen rendimientos decrecientes para los usuarios avanzados. Por ejemplo, al recomendar grupos en una red social, preferiría que las recomendaciones funcionen para personas en menos grupos, no necesariamente solo para aquellos que ya se han unido a un buen número de grupos. Si dicha cobertura sobre los usuarios es una prioridad, puede medir la variación en la calidad de la recomendación (como precisión o diversidad) entre los diferentes usuarios del sistema. Otra forma de evaluar la cobertura del espacio del usuario sería medir la tasa de aprendizaje de un algoritmo de recomendación, que es la tasa a la que las recomendaciones mejoran a medida que se dispone de más datos del usuario.

Robustez: Finalmente, también desea que su sistema de recomendación sea robusto para ataques externos. ¿Podría un ejército de revisores colocar un elemento en la parte superior de su lista de recomendaciones? La robustez se establece mejor simulando ataques de chelín y midiendo el cambio en las recomendaciones generadas (por ejemplo, vea la página en grouplens.org).

¡Espera, nos olvidamos de la causalidad!
La lista anterior parece ser exhaustiva, pero pasa por alto un objetivo fundamental de los sistemas de recomendación: exponer a los usuarios a contenido novedoso que de otro modo no habrían visto. La medición de CTR o NDCG o cualquiera de las métricas anteriores nos informa sobre la cantidad de actividad del usuario en las recomendaciones, pero no dice nada sobre si esas actividades habrían sucedido incluso en ausencia de un sistema de recomendación. ¿No es eso lo que deberíamos perseguir?

Se han definido dos objetivos relacionados para los sistemas de recomendación: novedad (que sugiere nuevos elementos) y serendipia (que sugiere nuevos elementos que sorprenden a los usuarios de manera positiva). En general, estas métricas se relacionan con el concepto de causalidad: ¿el sistema de recomendación causó esos puntos de vista o compras? Puede establecer este efecto utilizando una prueba A / B donde el sistema de recomendación está apagado para una sección de la población. Si tal prueba es costosa o inviable, puede intentar estimar el efecto causal de las recomendaciones a partir de los datos de registro. Un artículo reciente en el que estuve involucrado aborda este problema y encuentra que las métricas como CTR podrían ser muy sobrestimadas para el impacto real de las recomendaciones [Página en jakehofman.com]. Este es un problema mucho más difícil; estamos lejos de desarrollar métricas generales de principios para medir los efectos causales.

¿Seguramente debemos terminar ahora?
¡No exactamente! Si bien las métricas anteriores transmiten mucho sobre la calidad de las recomendaciones, pasan por alto los beneficios intangibles que brindan las recomendaciones. Las buenas recomendaciones pueden mejorar la experiencia de los usuarios, aumentar su confianza en su sitio web e incluso actuar como un diferenciador para disuadir a los usuarios de cambiar a servicios competitivos. Las malas recomendaciones (por ejemplo, aquellas que violan las normas sociales como la privacidad) pueden ofender a los usuarios. ¿Cuál es el costo de recomendar un trabajo inadecuado o un flashback de fotos profundamente perturbador? Dado que estos efectos implican cómo las personas perciben las recomendaciones, se pueden entender mejor a través de estudios de usuarios. Consulte este documento de Pearl para obtener una lista completa de los criterios de evaluación centrados en el usuario: Página en ieis.tue.nl. No hace falta decir que medir tales efectos a través de los datos es realmente difícil.

Espero que esto responda a su pregunta. Existen tantas técnicas o métricas para evaluar las recomendaciones que evaluarlas realmente depende del contexto y los objetivos de un sistema en particular.


Para mayor referencia, vea estos dos excelentes documentos de Shani y Gunawardana [Página en microsoft.com] y Herlocker et al. [Página en grouplens.org].

La respuesta de Sean Owen es excelente, especialmente desde la perspectiva de las pruebas A / B y la capacitación fuera de línea.

Sin embargo, existe un enfoque complementario de evaluación humana que a menudo también es muy útil. Se usa en muchas compañías, pero no parece ser tan conocido, así que lo describiré aquí.


Imagine que está creando un algoritmo de recomendación para su nuevo sitio en línea. ¿Cómo se mide su calidad para asegurarse de que está enviando a los usuarios contenido relevante y personalizado? La tasa de clics o los ingresos pueden ser su esperanza inicial … pero después de un poco de reflexión, no está claro que sean las mejores métricas después de todo.

Tome el motor de búsqueda de Google, por ejemplo. ¡En muchos casos, mejorar la calidad de los resultados de búsqueda en realidad disminuirá el CTR! Por ejemplo, el escenario ideal para consultas como ¿ Cuándo nació Barack Obama? es que los usuarios nunca tienen que hacer clic en ningún lugar en primer lugar, ya que la pregunta debe responderse en la página misma.

O tome Twitter, que algún día podría recomendarle tweets interesantes. Las métricas como CTR, o incluso el número de favoritos y retweets, probablemente se optimizarán para mostrarle frases rápidas e imágenes de gatos divertidos. ¿Pero es un sitio similar a Reddit lo que Twitter realmente quiere ser? Twitter, para muchas personas, comenzó como un sitio de noticias, por lo que los usuarios pueden preferir ver enlaces a contenido más profundo e interesante, incluso si es menos probable que hagan clic en cada sugerencia individual en general.

O tome eBay, que quiere ayudarlo a encontrar los productos que desea comprar. ¿Es el CTR una buena medida? Tal vez no: más clics pueden indicar que está teniendo problemas para encontrar lo que está buscando. ¿Qué pasa con los ingresos? Eso podría no ser ideal tampoco: desde la perspectiva del usuario, desea realizar sus compras al precio más bajo posible, y al optimizar los ingresos, eBay puede estar convirtiéndolo en productos más caros que lo convierten en un cliente menos frecuente a largo plazo .

Y así.

Entonces, para muchos sitios en línea, no está claro cómo medir la calidad de la personalización y las recomendaciones utilizando métricas como CTR, o ingresos, o tiempo de permanencia, o lo que sea. ¿Qué debe hacer un ingeniero?

Bueno, considere el hecho de que muchos de estos son algoritmos de relevancia . Google quiere mostrarte resultados de búsqueda relevantes. Twitter quiere mostrarte tweets y anuncios relevantes. Netflix quiere recomendarte películas relevantes. LinkedIn quiere encontrar personas relevantes para seguir. Entonces, ¿por qué, con tanta frecuencia, nunca intentamos medir la relevancia de nuestros modelos?

Soy un gran admirador de las técnicas de hombre en la máquina (por ejemplo, este proyecto sobre Mejora de la búsqueda de Twitter con computación humana en tiempo real), así que para solucionar este problema, voy a hablar sobre un enfoque de evaluación humana para probar el rendimiento de productos de personalización y descubrimiento. En particular, usaré el ejemplo de recomendaciones de libros relacionados en Amazon mientras paso por el resto de esta publicación.


Sigamos motivando un poco por qué las métricas basadas en registros suelen ser medidas imperfectas de relevancia y calidad, ya que este es un punto importante pero difícil de entender.

Por lo tanto, tome la característica Clientes de Amazon que compraron este artículo También compró , que trata de mostrarle libros relacionados.

Para medir su efectividad, el enfoque estándar es ejecutar un experimento en vivo y medir el cambio en métricas como ingresos o CTR.

Pero imagine que de repente reemplazamos todas las sugerencias de libros de Amazon con pornografía. ¿Qué va a pasar? ¡CTR es probable que se dispare por las nubes! (ver Una historia de anuncios Evony – La locura continúa para un ejemplo hilarante)


O supongamos que reemplazamos todos los libros relacionados de Amazon con artículos más brillantes y caros. Nuevamente, es probable que el CTR y los ingresos aumenten, ya que el contenido más llamativo llama la atención. Pero, ¿es esto algo más que un impulso a corto plazo? Tal vez el cambio disminuya las ventas totales a largo plazo, ya que los clientes comienzan a encontrar a Amazon demasiado caro para sus gustos y se mudan a otros mercados.

Escenarios como estos son el análogo de aprendizaje automático de convertir anuncios en carpas parpadeantes. Si bien pueden aumentar los clics y las vistas inicialmente, probablemente no estén optimizando la felicidad del usuario o la calidad del sitio para el futuro. Entonces, ¿cómo podemos evitarlos y asegurarnos de que la calidad de nuestras sugerencias permanezca constantemente alta? Este es un algoritmo de libros relacionados , después de todo, entonces, ¿por qué, al apegarnos a un experimento en vivo y métricas como CTR, no estamos inspeccionando en ninguna parte la relación de nuestras recomendaciones?


Solución: inyectemos humanos en el proceso. Las computadoras no pueden medir la relevancia (si pudieran, estaríamos listos), pero la gente, por supuesto, sí.

Por ejemplo, en la captura de pantalla a continuación, le pedí a un trabajador de Mechanical Turk que calificara a los primeros tres clientes que compraron esto. También compraron recomendaciones para un libro en barnesandnoble.com.


(Copiando el texto de la captura de pantalla:

  • Asesino del tonto , por Robin Hobb. (libro original) “Acabo de leer esto recientemente, pero es uno de mis favoritos de los lanzamientos de este año. Este libro fue muy bien escrito. Siempre he sido un fanático del género Fantasy, pero a menudo todo es estilísticamente similar. Hobb tiene una forma maravillosa con los personajes y la narración. La historia fue absolutamente desgarradora y me llevó a querer otro libro “.
  • The Broken Eye (Lightbringer Series # 3) , de Brent Weeks. (primer libro relacionado) “Es una buena, pero no excelente, recomendación. Este libro suena bastante interesante. Sin embargo, es el tercero de una serie, así que primero tendría que ver cómo me gustan los primeros libros”.
  • Dust and Light: A Sanctuary Novel , de Carol Berg. (segundo libro relacionado) “Es una buena recomendación. No estoy tan familiarizado con este autor, pero me gusta algo de la premisa del libro. Conozco el dicho ‘No juzgues un libro por su portada …’ pero la portada realmente no me atrae y me apaga del libro “.
  • Tower Lord , de Anthony Ryan. (tercer libro relacionado) “Es una buena, pero no excelente, recomendación. Otro autor completamente desconocido para mí (¡algo así como esto, me muestra nuevos lugares para buscar libros!) Sin embargo, esta es también una secuela, así que tendría que ver cómo me gustó el primer libro antes de comprar este “)

Las recomendaciones son decentes, pero ya vemos un par de formas de mejorarlas:

  • Primero, dos de las recomendaciones ( The Broken Eye y Tower Lord ) son parte de una serie, pero no el Libro # 1. Entonces, una mejora sería asegurarse de que solo se muestren las presentaciones de la serie a menos que sean seguimientos del libro principal.
  • ¡Las portadas de libros importan! De hecho, la segunda sugerencia se parece más a una novela romántica de fantasía que al tipo de fantasía que Robin Hobb tiende a escribir. (Entonces, quizás B&N debería invertir en algo de aprendizaje profundo …)

El CTR y los ingresos ciertamente no nos darían este nivel de información, y no está claro que incluso puedan decirnos que nuestros algoritmos están produciendo sugerencias irrelevantes en primer lugar. En ninguna parte el panel de recomendaciones de desplazamiento deja en claro que dos de los libros son parte de una serie, por lo que el CTR en esos dos libros sería tan alto como si realmente fueran las introducciones de la serie. Y si los ingresos son bajos, no está claro si es porque las sugerencias son malas o porque, por separado, nuestros algoritmos de fijación de precios necesitan mejoras.

Entonces, en general, aquí hay una forma de entender la calidad de un algoritmo de recomendación o Do Do Next :

  1. Tome un montón de artículos (por ejemplo, libros si somos Amazon o Barnes & Noble) y genere sus hermanos relacionados.
  2. Envíe estos pares a un grupo de jueces (por ejemplo, utilizando una plataforma de crowdsourcing como Mechanical Turk) y pídales que califiquen su relevancia.
  3. Analiza los datos que vuelven.

Hagamos esto concreto. Supongamos que soy un vicepresidente de lo que los clientes también compran en Amazon y que quiero comprender los defectos y las estrellas del producto.

Comencé yendo a Mechanical Turk y pidiéndole a un par de cientos de trabajadores que tomaran un libro que disfrutaron el año pasado y que lo encontraran en Amazon. Luego tomarían las tres primeras sugerencias de libros relacionadas de un autor diferente, las calificarían en la siguiente escala y explicarían sus calificaciones.

  • Gran sugerencia Definitivamente lo compraría. (Muy positivo)
  • Sugerencia decente. Podría comprarlo. (Levemente positivo)
  • No es una gran sugerencia. Probablemente no lo compraría. (Levemente negativo)
  • Terrible sugerencia. Definitivamente no lo compraría. (Muy negativo)

(Nota: generalmente prefiero una escala Likert de tres o cinco puntos con una opción “neutral”, pero esta vez me sentía un poco salvaje).

Por ejemplo, así es como un evaluador revisó las recomendaciones relacionadas para The Wolves of Midwinter de Anne Rice.


Entonces, ¿qué tan buenas son las recomendaciones de Amazon? Bastante bueno, de hecho: el 47% de los evaluadores dijeron que definitivamente comprarían el primer libro relacionado, otro 29% dijo que era lo suficientemente bueno como para que pudieran comprarlo, y solo al 24% de los evaluadores no les gustó la sugerencia.


Las sugerencias del segundo y tercer libro, aunque un poco peor, también parecen funcionar bastante bien: alrededor del 65% de los evaluadores las calificaron como positivas.

¿Qué podemos aprender de las malas calificaciones? Ejecuté una tarea de seguimiento que pedía a los trabajadores que clasificaran los libros relacionados malos, y aquí está el desglose.

  • Relacionado pero diferente-subtema. Estas fueron sugerencias de libros que generalmente estaban relacionadas con el libro original, pero que estaban en un subtema diferente en el que el evaluador no estaba interesado. Por ejemplo, el primer libro relacionado para El arte de la guerra de Sun Tzu (un libro nominalmente sobre guerra, pero que hoy en día se ha convertido en un libro de trucos para la vida) fue On War (un tratado de guerra), pero el evaluador en realidad no estaba interesado en los aspectos militares: “No compraría este libro, porque solo se enfoca en lo militar guerra. No estoy interesado en eso. Estoy interesado en tácticas mentales que me ayudarán a prosperar en la vida “.
  • Completamente no relacionado. Estas fueron sugerencias de libros que no tenían relación alguna con el libro original. Por ejemplo, un diccionario de Scrabble que aparece en la página de The Art of War .
  • Poco interesante. Estas fueron sugerencias relacionadas, pero cuyas historias no atrajeron al evaluador. “La historia no parece tan emocionante. No soy un fanático de los perros y se trata de un perro”.
  • Público equivocado Estas fueron sugerencias de libros cuyo público objetivo era bastante diferente del público del libro original. En muchos casos, por ejemplo, una sugerencia de libro relacionada sería un libro para niños, pero el libro original estaría dirigido a adultos. “Este parece ser un libro para niños. Si tuviera un hijo, definitivamente compraría esto; por desgracia no lo hago, así que no lo necesito”.
  • Tipo de libro incorrecto. Las sugerencias en esta categoría fueron elementos como libros de texto o que aparecen junto a novelas.
  • Autor disgustado Estas recomendaciones fueron de autores similares, pero no le gustó al evaluador. “No me gusta Amber Portwood. Definitivamente no me gustaría leer un libro sobre ella”.
  • No es el primero en la serie. Algunas recomendaciones de libros serían para una serie interesante con la que el evaluador no estaba familiarizado, pero no serían el primer libro de la serie.
  • Mala calificación Estas fueron sugerencias de libros que tuvieron una calificación de Amazon particularmente baja.

Entonces, para mejorar sus recomendaciones, Amazon podría intentar mejorar sus modelos de temas, agregar características basadas en la edad a sus libros, distinguir entre libros de texto y novelas e invertir en detectores de series. (Por supuesto, por lo que sé, ya hacen todo esto).


Ahora tenemos una mejor comprensión de las sugerencias de libros relacionados de Amazon y cómo podrían mejorarse, y al igual que podríamos citar una métrica como un CTR de 6.2% o no, también podemos citar una puntuación de relevancia de 0.62 (o lo que sea). Ahora pasemos a la pregunta de cómo Amazon se compara con otros libreros en línea como Barnes & Noble y Google Play.

Tomé la misma tarea de evaluación de recomendaciones que utilicé anteriormente, pero esta vez le pedí a los evaluadores que revisen las sugerencias relacionadas en Barnes & Noble y Play Bookstore también.


En breve,

  • El algoritmo de Barnes & Nobles es casi tan bueno como el de Amazon : las primeras tres sugerencias fueron calificadas como positivas el 58% del tiempo, en comparación con el 68% en Amazon.
  • Pero las recomendaciones de Play Store son atroces : un enorme 51% de las recomendaciones de libros relacionados de Google fueron marcadas como terribles.

¿Por qué son tan malas las sugerencias de Play Store? Veamos un par de ejemplos.

Aquí está la página de Play Store para The Fault in Our Stars , de John Green, un libro que les encantó a los críticos sobre el cáncer y el romance (y ahora también una película).


Dos de las sugerencias son completamente aleatorias: un manual de Excel mal calificado y un libro de texto sobre salud sexual mal revisado. Los otros son libros de vaqueros completamente ajenos, de otro John Green.

Aquí está la página de The Strain . ¡En este caso, todas las sugerencias están en un idioma diferente! Y solo hay cuatro de ellos.


Una vez más, pidiéndole a los evaluadores que clasifiquen todas las malas recomendaciones de Play Store …

  • El 45% del tiempo, las sugerencias de libros relacionados no tenían relación alguna con el libro original en cuestión. Por ejemplo: mostrar un libro de texto de física en la página de una novela romántica.
  • El 32% del tiempo, simplemente no había una sugerencia de libro en absoluto. (Supongo que el catálogo de Play Bookstore es bastante limitado).
  • El 14% del tiempo, los libros relacionados estaban en un idioma diferente.

Entonces, a pesar del avanzado aprendizaje automático de Google en otros lugares, sus sugerencias de Play Store realmente no podrían empeorar mucho.


Retrocedamos un poco. Hasta ahora me he centrado en un paradigma de juicios absolutos, en el que los jueces califican en una escala absoluta la relevancia de un libro para el original. Este modelo es excelente para comprender la calidad general del algoritmo de libro relacionado de Amazon.

Sin embargo, en muchos casos, queremos usar la evaluación humana para comparar experimentos. Por ejemplo, es común en muchas compañías:

  • Inicie una “prueba A / B de evaluación humana” antes de un experimento en vivo, tanto para evitar enviar accidentalmente experimentos increíblemente defectuosos a los usuarios, como para evitar la larga espera requerida en las pruebas en vivo.
  • Utilice una puntuación de relevancia generada por el ser humano como complemento de las métricas de experimentos en vivo al tomar decisiones de lanzamiento.

Para este tipo de tareas, lo preferible es a menudo un modelo en paralelo , en el que los jueces reciben dos elementos y se les pregunta cuál es mejor. Después de todo, los juicios comparativos son a menudo mucho más fáciles de hacer que los absolutos, y podríamos querer detectar diferencias a un nivel más fino que el que está disponible en una escala absoluta.

La idea es que podemos asignar una puntuación a cada calificación (negativa, por ejemplo, si el evaluador prefiere el elemento de control; positiva si el evaluador prefiere el experimento), y los agregamos para formar una puntuación general para el lado a lado . Entonces, de la misma manera que las caídas en el CTR pueden bloquear el lanzamiento de un experimento, una puntuación de evaluación humana negativa también debería ser motivo de preocupación.

Desafortunadamente, no tengo una manera fácil de generar datos para una en paralelo (aunque podría realizar una en paralelo en Amazon vs.Barnes & Noble), así que omitiré un ejemplo, pero el La idea debería ser bastante clara.


Aquí hay otra sutileza. En mis ejemplos anteriores, les pedí a los evaluadores que eligieran un libro inicial (uno que leyeran y amaran en el último año), y luego calificaran si personalmente querrían leer las sugerencias relacionadas.

Otro enfoque es elegir los libros iniciales para los evaluadores y luego calificar las sugerencias relacionadas de manera más objetiva, tratando de ponerse en el lugar de alguien que esté interesado en el artículo inicial.

¿Qué enfoque es mejor? Como probablemente pueda adivinar, no hay una respuesta clara: depende de la tarea y los objetivos en cuestión.

Pros del primer acercamiento

  • Es mucho más matizado. A menudo puede ser difícil ponerse en el lugar de otra persona: ¿alguien interesado en Harry Potter estaría interesado en Twilight? Por un lado, ambos son libros de fantasía; Por otro lado, Twilight parece un poco más orientada al público femenino.

Pros del segundo enfoque

  • A veces, la objetividad es algo bueno. (¿Debería importarte si a alguien no le gusta Twilight simplemente porque Edward le recuerda a su novio?)
  • Permitir que las personas elijan sus elementos iniciales puede sesgar ciertas métricas. Por ejemplo, es mucho más probable que las personas elijan libros populares para calificar, mientras que es posible que queramos medir la calidad de las sugerencias de Amazon en una porción más amplia y representativa de su catálogo.

Repasemos lo que he discutido hasta ahora.

  1. Las métricas en línea basadas en registros como CTR e ingresos no son necesariamente las mejores medidas de la calidad de un algoritmo de descubrimiento. Los elementos con un CTR alto, por ejemplo, pueden ser simplemente llamativos y llamativos, no los más relevantes.
  2. Entonces, en lugar de confiar en estos poderes, midamos directamente la relevancia de nuestras recomendaciones preguntando a un grupo de evaluadores humanos.
  3. Hay un par de enfoques diferentes para enviar los elementos a juzgar. Podemos dejar que los evaluadores elijan los ítems (un enfoque que a menudo es necesario para algoritmos personalizados), o podemos generar los ítems nosotros mismos (a menudo útiles para tareas más objetivas como la búsqueda; esto también tiene la ventaja de facilitar la obtención de popularidad) métricas de relevancia ponderadas o uniformemente ponderadas). También podemos adoptar un enfoque de juicio absoluto, o usar lado a lado.
  4. Al analizar los datos de nuestras evaluaciones, podemos tomar mejores decisiones de lanzamiento, descubrir ejemplos en los que nuestros algoritmos funcionan muy bien o muy mal, y encontrar patrones para mejorar.

¿Cuáles son algunos de los beneficios y aplicaciones?

  1. Como se mencionó, las métricas basadas en registros como CTR e ingresos no siempre capturan las señales que queremos, por lo que los puntajes generados por el hombre de relevancia (u otras dimensiones) son complementos útiles.
  2. Las evaluaciones humanas pueden hacer que la iteración sea más rápida y fácil. Un cambio de algoritmo normalmente puede requerir semanas de pruebas en vivo antes de recopilar suficientes datos para saber cómo afecta a los usuarios, pero podemos hacer que una tarea sea juzgada fácilmente por los humanos en un par de horas.
  3. Imagine que somos una empresa de publicidad y elegimos qué anuncios mostrar en función de una combinación de CTR e ingresos. Una vez que reunimos cientos de miles de juicios de relevancia de nuestras evaluaciones, podemos construir un modelo de aprendizaje automático basado en la relevancia para agregar a la mezcla, inyectando así una medida más directa de calidad en el sistema.
  4. ¿Cómo podemos decidir qué mejoras deben realizarse en nuestros modelos? Las evaluaciones nos brindan comentarios muy concretos y ejemplos específicos sobre lo que funciona y lo que está mal.

De acuerdo, originalmente estaba planeando agregar un ejemplo detallado de Quora, pero esta respuesta es un poco larga, por lo que solo daré un breve avance por ahora.

Le pedí a los evaluadores que juzgaran las preguntas relacionadas sobre Quora en una escala de tres puntos: relevante, irrelevante o potencialmente relevante / irrelevante.

¿Qué tan bien hizo Quora? El 33% de las tres preguntas relacionadas principales se marcaron como irrelevantes, el 50% se consideraron relevantes y el resto estaba en el medio.

¿Cuáles son ejemplos de las malas recomendaciones? Puse 5 evaluadores en cada pregunta para obtener una calificación más precisa, y aquí están algunos de los peores ejemplos. La mayoría de los problemas parecían provenir de una entusiasta coincidencia de títulos y temas.

  • ¿Debo mantener una hermosa guitarra vintage con un crack superior? en la página de ¿Cómo instalo la versión crackeada de Guitar Pro 6? (el original es sobre un programa de computadora, el otro es sobre una guitarra real)

  • ¿No se arrepienten los padres de tener hijos porque fueron programados por la evolución para no arrepentirse? en la página de ¿Cómo puedo convencer a mis padres para que inviertan en mi carrera de programación? (el original trata sobre programación informática, el otro trata sobre evolución)

Por supuesto, la relevancia depende de si está intentando leer más preguntas o si desea encontrar más para responder , así que aquí hay un ejemplo en el que las dos perspectivas difieren:

Alguien contestando ¿Vale la pena comprar un Apple Watch? probablemente sepa mucho sobre los productos de Apple y pueda responder ¿AppleCare para MacBook Pros vale los $ 350? también. Pero a alguien que quiera leer más sobre el Apple Watch probablemente no le importe.

Y tal vez guardaré el resto, así como una discusión sobre las recomendaciones de la página de inicio, para otra publicación.

Puede medir el rendimiento de un motor de recomendaciones con un método llamado validación cruzada.

La mayoría de los modelos de recomendación consisten en construir una matriz de usuario por elemento con algún tipo de número de Calificación en cada celda:

Matriz de utilidades de elementos de usuario

Puede dividir los datos en conjuntos de entrenamiento y prueba eliminando el 50% (o cualquier otro número arbitrario) de calificaciones por usuario del conjunto de entrenamiento y colocándolos en el conjunto de prueba.

Matriz de utilidades de elementos de usuario: validación cruzada

Entrenamos nuestro modelo con el conjunto de entrenamiento más pequeño y calculamos las entradas que faltan en la matriz de utilidad de elementos de usuario: las predicciones de la calificación.

Ahora podemos comparar las predicciones con los datos de prueba previamente separados. La “medida” común para determinar qué tan bien (o mal) funciona el modelo es el error cuadrático medio (MSE),

En términos generales, si el MSE se hace más pequeño, su enfoque está mejorando.

Para obtener una respuesta más profunda, consulte:

  • Sistemas de recomendación: el libro de texto
  • Sistemas de recomendación: Teoría simple del filtrado colaborativo – El espacio de Adrian

Aquí hay muchas respuestas geniales, pero quiero agregar un enfoque más pragmático y menos técnico.

Pregúntese esto: ¿cuál es el problema que está resolviendo el motor de recomendaciones?

Si puede responder eso, sabrá qué medir y si sabe qué medir puede evaluar. Por ejemplo, si el propósito de su motor de recomendación es aumentar el valor por venta agregando más artículos a la cesta, entonces debe evaluar el valor por venta, controlando la cantidad de artículos. Ahora imagine que el problema que desea resolver es aumentar el compromiso al aumentar la cantidad de conexiones sociales entre los usuarios (piense en las funciones de “Personas que puede conocer” de LinkedIn o Facebook), entonces desea medir si la cantidad de invitaciones para conectarse aumentó, si el la gente está aceptando esas invitaciones aumentadas y si se correlacionan con un mayor compromiso.

La evaluación y medición deben seguir metodologías de prueba A / B robustas ya explicadas en otras respuestas. El punto que quería destacar es que la evaluación no es puramente técnica. Un producto de datos, ya sea un sistema de recomendación o un predictor LTV, sirve a algún objetivo comercial subyacente. Mida ese objetivo comercial y sabrá cómo evaluarlo.

Buena suerte.

Medida de rendimiento basada en la distancia normalizada (NDPM). Considero que esta es, con mucho, la mejor y más completa métrica para evaluar el rendimiento del sistema de recomendaciones.
Puedes buscarlo para encontrar detalles y las matemáticas exactas, pero te daré una idea aquí.
Para cualquier sistema de recomendación se hacen ciertas suposiciones:

  1. Desea que las recomendaciones se ordenen de manera que la primera sea altamente recomendada en comparación con la siguiente y así sucesivamente.
  2. El objetivo es algún tipo de acción positiva por parte del usuario final. Ya sea haciendo una compra, haciendo clic en un enlace, etc.

NDPM utiliza estos dos supuestos y calcula los resultados. Desglosaría la lista de recomendaciones en pares y para cada par donde la recomendación principal recibió una respuesta positiva, el algoritmo sería recompensado, mientras que para cada par donde la recomendación principal recibió una respuesta negativa (o fue ignorada) Y la siguiente recomendación recibió una positiva respuesta el algoritmo sería penalizado. Seguido por la agregación y luego la normalización de este proceso.
Dado que las estadísticas utilizadas para el cálculo se recopilarían de usuarios reales, puede darle una muy buena idea de cómo está funcionando su sistema de recomendaciones en el entorno de producción.

Las pruebas de calidad de Reallife de los motores de recomendación en el comercio electrónico tienen más que ver con la limpieza de datos que con las métricas. Permítanme compartir una historia de prueba A / B en un gran sitio web de comercio electrónico.

Un sitio web de comercio electrónico top-30 en Rusia ha estado trabajando con otro motor de recomendación durante un año cuando decidieron probarlo A / B en nuestra solución de personalización de comercio electrónico crossss.ru.

Estábamos un poco ausentes de la prueba, porque íbamos a realizar pruebas de producción después de solo dos semanas de recopilar los datos de comportamiento de los visitantes. Eso es teóricamente 25 veces menos que los datos que tenían nuestros competidores. Afortunadamente, nuestro motor de recomendaciones también tiene en cuenta los datos del producto, incluidas las imágenes del producto, por lo que somos bastante buenos en el arranque en frío.

La prueba A / B se configuró para que el 20% del tráfico fuera de referencia, ejecutando nuestros competidores, el 40% fueron las asignaciones de prueba para dos motores de recomendación. Esta es una configuración un poco extraña que nuestros clientes seleccionaron para evitar perder el motor adicional de recomendación de ventas. El motor de los sitios realizó la división del tráfico, y se utilizaron Google Analytics y algunas herramientas internas adicionales para medir los resultados de la prueba A \ B.

Después de 4 semanas de ejecutar el experimento, obtuvimos los resultados del valor por sesión en Universal Analytics:

Uno puede detectar dos peculiaridades en estos resultados:

1. Nuestro competidor fue un 6% mejor que él con un 95% de probabilidad. Esto puede considerarse como una prueba A / A, y no está claro, cuál podría ser la razón de una probabilidad tan grande de superar al original
2. Fuimos un 8% mejores que la línea de base, pero la probabilidad de superar al original fue menor.

Nuestros competidores sugirieron que este es un problema de muestreo, y sugirieron usar datos muestreados extraídos a través de Google Analitics API:


Por lo tanto, el competidor fue mejor en términos de conversión, y nosotros, en términos de valor promedio de pedido, y la diferencia en el valor del visitante fue estadísticamente insignificante después del muestreo. Aún así, los datos “de referencia” se omitieron en esta comparación. Los datos no muestreados también han mostrado un valor de usuario por visita significativamente mayor, lo cual es algo extraño.

El cliente comenzó a buscar otras métricas para un desempate.

Una de las cualidades importantes de un motor de recomendación / personalización es su capacidad de predecir las necesidades de un visitante, tanto en términos de mostrar elementos que atraen la atención de los visitantes como en términos de los artículos que finalmente se compran.

El primero está representado con precisión por el CTR en recomendaciones (siempre que los bloques de recomendaciones tengan el mismo aspecto). El segundo: por los visitantes que compran los productos recomendados. En realidad, en crossss solo facturamos a los sitios web de comercio electrónico por los artículos que el visitante vio por primera vez como nuestra recomendación, hizo clic y luego compró.


Como puede ver en la tabla GA anterior, el CTR de recomendación cruzada (fracción de sesiones donde se hizo clic en al menos una recomendación) fue 32755/822698 / 0.4 = 9.85%, mientras que los competidores – 12138/822698 / 0.6 = 2.46%. ¡Eso es casi 4 veces mejor que la competencia!

¡La tasa de conversión de los visitantes en nuestro canal también fue mejor en un 4.3% que en los competidores , y 3.3 veces mejor que el promedio del sitio!

La comparación de los motores de recomendación no es necesariamente una tarea fácil, especialmente cuando se trata de obtener datos sobre su rendimiento real, ya que dichos datos pueden ser difíciles de obtener en cualquier forma imparcial.

Además, depende en gran medida de sus propias necesidades y habilidades. Si el mejor motor de personalización del mundo requiere una gran capacidad técnica para operarlo, ¿importa lo bueno que sea si ni siquiera puede usarlo?

Sin embargo, lo que puede hacer es observar las capacidades generales y la estructura de varios motores de personalización con respecto a sus propias necesidades y nivel de habilidad técnica, y juzgar qué es lo mejor para usted en función de eso. Por supuesto, la mayoría de los motores de personalización también ofrecen demostraciones gratuitas, y probar algunas de estas al menos puede darle una idea de lo que son capaces de hacer, antes de comprometerse con una.

En última instancia, el mejor tipo de motor de personalización, en mi opinión, es una solución integral e incluye muchas características que de otro modo podría tener que buscar en otros lugares, como pruebas A / B y análisis. Cuantas más funciones incluya el motor, menos tiempo y dinero tendrá que gastar en esos otros proveedores externos.

También desea un motor que pueda interactuar con sus proveedores de CRM, correo electrónico y análisis, ya que esto le da mucho más poder a su estrategia general de marketing, si la personalización se integra con estos otros elementos.

Quizás el último juez de cuál es el mejor motor de personalización implica una evaluación medida de sus capacidades funcionales clave:

Dirigirse a los segmentos de visitantes correctos y personalizar su sitio de la manera más innovadora y variada posible.

En este sentido, desea un motor que pueda personalizar su sitio de arriba a abajo, que muestre una versión completamente diferente de su sitio para diferentes segmentos de visitantes e incluso que se adapte a los intereses específicos de cada persona. Debe incluir ventanas emergentes, con la capacidad de utilizar la detección de intención de salida, rotar pancartas, la capacidad de cambiar texto y varios elementos de su página, recopilar datos personalizados, agregar recomendaciones y controles deslizantes, activar automáticamente correos electrónicos personalizados, análisis integrados y A / B prueba, y la lista continúa.

También desea todo esto, a la vez que es fácil de usar, fácil de instalar, escalable y asequible. Para todos los criterios enumerados anteriormente, en mi opinión, no hay mejor solución que Personyze, con su interfaz de tablero simple, código de seguimiento fácil de instalar, segmentación potente y capacidades de personalización, y un precio asequible.

Los gustos de Xavier Amatriain, Sean Owen y Edwin Chen ya proporcionaron espléndidas respuestas a esta pregunta en el pasado.

Sin embargo, independientemente de cuán pobre sea nuestro juicio como humanos, creo que si uno es capaz de determinar el (los) problema (s) que resuelve el motor de recomendación y validar algunas suposiciones al respecto, la calidad sería más fácil de medir y evaluar. También es importante que tales evaluaciones estén alineadas con nuestros objetivos personales u objetivos comerciales.

(La prueba dividida A / B y la Medida de rendimiento basada en la distancia normalizada – las métricas NDPM también ayudan a evaluar el impacto de los motores de recomendación).

Hay un curso en curso sobre ese tema en coursera:
Página en coursera.org

Hay una semana entera dedicada a la evaluación con mucho razonamiento de por qué el RMSE probablemente no sea la medida que desea o al menos, no la única. De hecho, hay una sola conferencia “despotricada” contra RMSE 🙂

En pocas palabras: debe alinear su evaluación con sus objetivos comerciales, por lo que debe tener en cuenta no solo la precisión, sino también la diversidad, la capacidad de sorprender al usuario, etc.

Tomé la primera edición del curso, así que lo recomiendo encarecidamente.

En comparación entre el historial de cada visitante (clics, ventas, preferencias) y un grupo de control (algunos clientes que no ven ninguna recomendación). Esa es la tecnología Perpetto, por ejemplo. Avísame en caso de que necesites más detalles 🙂

¿Alguna vez ha utilizado los comentarios de los usuarios para calificar las “recomendaciones” elegidas para ellos? Esto podría ser una impresión subjetiva de “atractivo y bondad de recomendación”. ¿Tiene alguna experiencia con este tipo de datos mientras prueba la mejora del motor de recomendación? ¿Crees que tales datos son confiables?

Realmente no existe una definición cuantitativa para el trabajo de un científico de datos para recomendaciones. Una forma directa sería examinar el valor de la ganancia de información, o el tiempo necesario para alcanzar un resultado concluyente. Pero la prioridad de la métrica utilizada para la evaluación podría variar entre las diferentes organizaciones.

CTR (tasa de clics) / CTP (probabilidad de clics) son métricas bastante buenas.