mastery machine learning languages how for code algorithm language-agnostic data-mining

algorithm - languages - machine learning step by step



¿Cómo funciona la función de Recomendación de Amazon? (7)

¿Qué tecnología entra detrás de las pantallas de la tecnología de recomendación de Amazon? Creo que la recomendación de Amazon es actualmente la mejor en el mercado, pero ¿cómo nos proporcionan recomendaciones tan relevantes?

Recientemente, hemos estado involucrados con un tipo similar de proyecto de recomendación, pero seguramente me gustaría saber sobre los entresijos de la tecnología de recomendación de Amazon desde un punto de vista técnico.

Cualquier entrada sería muy apreciada.

Actualizar:

Esta patent explica cómo se realizan las recomendaciones personalizadas, pero no es muy técnica, por lo que sería realmente bueno que se pudieran proporcionar algunas ideas.

De los comentarios de Dave, Affinity Analysis constituye la base para ese tipo de motores de recomendación. También aquí hay algunas buenas lecturas sobre el tema

  1. Desmitificando el Análisis de la Canasta de Mercado
  2. Análisis de cesta de mercado
  3. Análisis de afinidad

Lectura sugerida:

  1. Minería de datos: conceptos y técnica

(Disclamer: Solía ​​trabajar en Amazon, aunque no trabajé en el equipo de recomendaciones).

La respuesta de ewernli debería ser la correcta: el documento enlaza con el sistema de recomendación original de Amazon, y por lo que puedo decir (tanto de la experiencia personal como comprador de Amazon y haber trabajado en sistemas similares en otras compañías), muy poco ha cambiado: en En esencia, la función de recomendación de Amazon todavía se basa en gran medida en el filtrado colaborativo de elemento a elemento.

Basta con ver qué forma adoptan las recomendaciones: en mi página principal, todas son de la forma "Has visto X ... Clientes que también vieron esto también visto ...", o bien una mezcla de elementos similares a las cosas He comprado o visto antes Si voy específicamente a mi página "Recomendado para ti", cada elemento describe por qué se me recomienda: "Recomendado porque compraste ...", "Recomendado porque agregaste X a tu lista de deseos ...", etc. Esto es un signo clásico de filtrado colaborativo de elemento a elemento.

Entonces, ¿cómo funciona el filtrado colaborativo de elemento a elemento? Básicamente, para cada artículo, construyes un "vecindario" de artículos relacionados (por ejemplo, mirando qué elementos han visto las personas juntas o qué elementos han comprado las personas juntas; para determinar la similitud, puedes usar métricas como el índice de Jaccard ; es otra posibilidad, aunque sospecho que Amazon no usa datos de clasificación muy fuertemente). Luego, cada vez que veo un elemento X o hago una compra Y, Amazon me sugiere cosas en el mismo vecindario que X o Y.

Algunos otros enfoques que Amazon podría usar potencialmente, pero probablemente no, se describen aquí: http://blog.echen.me/2011/02/15/an-overview-of-item-to-item-collaborative-filtering-with-amazons-recommendation-system/

Mucho de lo que Dave describe es casi seguro que no se hace en Amazon. (¿Calificaciones de los que están en mi red social?) No, Amazon no tiene ninguna de mis datos sociales. En cualquier caso, esto sería un problema de privacidad masivo, por lo que sería engañoso para Amazon incluso si tuvieran esa información: la gente no quiere que sus amigos sepan qué libros o películas están comprando. ¿Información demográfica? No, nada en las recomendaciones sugiere que estén viendo esto. [A diferencia de Netflix, quien saca a la luz lo que otras personas en mi área están viendo .])


Alguien hizo una presentación en nuestra Universidad en algo similar la semana pasada, y mencionó el sistema de recomendación de Amazon. Creo que usa una forma de clúster de K-Means para agrupar a las personas en sus diferentes hábitos de compra. Espero que esto ayude :)

Mira esto también: http://www.almaden.ibm.com/cs/people/dmodha/ml02.ps y como HTML .



Es a la vez un arte y una ciencia. Los campos de estudio típicos giran en torno al análisis de la cesta de mercado (también llamado análisis de afinidad), que es un subconjunto del campo de la minería de datos. Los componentes típicos de dicho sistema incluyen la identificación de elementos primarios del conductor y la identificación de elementos de afinidad (venta adicional de accesorios, venta cruzada).

Tenga en cuenta las fuentes de datos que tienen para extraer ...

  1. Carritos de compra comprados = dinero real de gente real gastada en artículos reales = datos potentes y mucho de eso.
  2. Artículos agregados a los carros pero abandonados.
  3. Experimentos de precios en línea (pruebas A / B, etc.) donde ofrecen los mismos productos a diferentes precios y ven los resultados
  4. Experimentos de empaquetamiento (pruebas A / B, etc.) donde ofrecen diferentes productos en diferentes "paquetes" o descuentos en varios emparejamientos de artículos
  5. Lista de deseos: lo que hay específicamente para usted en ellos y, en conjunto, puede tratarse de manera similar a otra secuencia de datos de análisis de cesta
  6. Sitios de referencia (la identificación del lugar de donde proviene puede indicar otros elementos de interés)
  7. Tiempos de espera (cuánto tiempo antes de hacer clic atrás y elegir un elemento diferente)
  8. Calificaciones de usted o los de su red social / círculos de compras: si califica las cosas que le gustan, obtiene más de lo que le gusta y si confirma con el botón "ya las tengo", crean un perfil muy completo de usted
  9. Información demográfica (su dirección de envío, etc.): ellos saben qué es popular en su área general para sus hijos, usted, su cónyuge, etc.
  10. segmentación del usuario = ¿compró 3 libros en meses separados para un niño pequeño? es probable que tenga un niño o más ... etc.
  11. Datos de clic directo de marketing: ¿Recibió un correo electrónico de ellos y hace clic? Saben qué correo electrónico era y en qué hizo clic y si lo compró como resultado.
  12. Haga clic en las rutas en sesión: qué visualizó, independientemente de si ingresó en su carrito de compras.
  13. Cantidad de veces que se vio un artículo antes de la compra final
  14. Si se trata de una tienda de ladrillo y mortero, es posible que también tengan que retirarse de su historial de compras físicas (es decir, juguetes, nosotros o algo que esté en línea y también una tienda física).
  15. etc. etc. etc.

Afortunadamente, las personas se comportan de manera similar en conjunto, de modo que cuanto más saben acerca de la población compradora en general, mejor saben lo que se venderá y no, y con cada transacción y cada calificación / lista de deseos añadir / navegar, saben personalizar personalmente las recomendaciones. Tenga en cuenta que esto probablemente solo sea una pequeña muestra del conjunto completo de influencias de lo que termina en recomendaciones, etc.

Ahora no tengo ningún conocimiento interno de cómo Amazon hace negocios (nunca trabajó allí) y todo lo que hago es hablar de enfoques clásicos sobre el problema del comercio en línea: solía ser el primer ministro que trabajaba en minería de datos y análisis para Microsoft. producto llamado Commerce Server. En Commerce Server enviamos las herramientas que permitieron a las personas crear sitios con capacidades similares ... pero cuanto mayor sea el volumen de ventas, mejores serán los datos, mejor será el modelo, y Amazon será GRANDE. Solo puedo imaginar lo divertido que es jugar con modelos con tantos datos en un sitio impulsado por el comercio. Ahora muchos de esos algoritmos (como el predictor que comenzó en el servidor de comercio) han pasado a vivir directamente dentro de Microsoft SQL .

Las cuatro grandes cosas que debes tener son:

  1. Amazon (o cualquier minorista) está buscando datos agregados para toneladas de transacciones y toneladas de personas ... esto les permite recomendar incluso bastante bien a los usuarios anónimos en su sitio.
  2. Amazon (o cualquier minorista sofisticado) realiza un seguimiento del comportamiento y las compras de cualquier persona que haya iniciado sesión y lo utiliza para refinar aún más los datos totales masivos.
  3. A menudo hay un medio de sobrepasar los datos acumulados y tomar el control "editorial" de las sugerencias para los gerentes de productos de líneas específicas (como una persona que posee la vertical de las "cámaras digitales" o las "novelas románticas" verticales o similares) donde verdaderamente son expertos
  4. A menudo hay ofertas promocionales (es decir, Sony o Panasonic o Nikon o Canon o Sprint o Verizon paga dinero adicional al minorista, o da un mejor descuento en cantidades más grandes u otras cosas en esas líneas) que causará que ciertas "sugerencias" lleguen a la parte superior con más frecuencia que otras; siempre hay una lógica comercial razonable y una razón comercial detrás de esta dirigida a hacer más en cada transacción o reducir los costos de venta al por mayor, etc.

En términos de implementación real? Casi todos los grandes sistemas en línea se reducen a un conjunto de tuberías (o una implementación de patrón de filtro o un flujo de trabajo, etc., lo llaman como quieran) que permiten que un contexto sea evaluado por una serie de módulos que aplican alguna forma de lógica de negocios.

Por lo general, una tubería diferente se asociaría con cada tarea separada en la página; es posible que tenga una que recomiende "paquetes / ventas adicionales" (es decir, compre esto con el artículo que está buscando) y una que haga "alternativas" (es decir, compre esto en lugar de lo que está viendo) y otro que extrae los elementos más estrechamente relacionados de su lista de deseos (por categoría de producto o similar).

Los resultados de estas interconexiones se pueden ubicar en varias partes de la página (encima de la barra de desplazamiento, debajo del desplazamiento, a la izquierda, a la derecha, diferentes tipos de letra, diferentes tamaños de imagen, etc.) y probarse para ver cuál funciona mejor. Ya que está usando módulos agradables fáciles de conectar y usar que definen la lógica de negocios para estas canalizaciones, termina con el equivalente moral de los bloques de lego que hacen que sea fácil elegir de la lógica de negocio que desea aplicar cuando construye otra tubería. lo que permite una innovación más rápida, más experimentación y, al final, mayores ganancias.

¿Eso ayudó en algo? Espero que le den un poco de información sobre cómo funciona esto en general para casi cualquier sitio de comercio electrónico, no solo Amazon. Amazon (por hablar con amigos que han trabajado allí) está muy orientado a los datos y mide continuamente la efectividad de su experiencia de usuario y los precios, promociones, empaques, etc. - son un minorista muy sofisticado en línea y probablemente estén a la vanguardia de muchos de los algoritmos que utilizan para optimizar los beneficios, y probablemente sean secretos de propiedad (ya sabes, como la fórmula de las especias secretas de KFC) y estén incluidos como tales.


Esto no está directamente relacionado con el sistema de recomendación de Amazon, pero podría ser útil estudiar los métodos utilizados por las personas que compitieron en el Premio Netflix , un concurso para desarrollar un mejor sistema de recomendación utilizando los datos de usuario de Netflix. Existe mucha información buena en su community sobre las técnicas de minería de datos en general.

El equipo que ganó utilizó una combinación de las recomendaciones generadas por muchos modelos / técnicas diferentes. Sé que algunos de los principales métodos utilizados fueron el análisis de componentes principales, los métodos del vecino más cercano y las redes neuronales. Aquí hay algunos documentos del equipo ganador:

R. Bell, Y. Koren, C. Volinsky, " The BellKor 2008 Solution to the Netflix Prize ", (2008).

A. Töscher, M. Jahrer, " The BigChaos Solution to the Netflix Prize 2008 ", (2008).

A. Töscher, M. Jahrer, R. Legenstein, " Algoritmos mejorados basados ​​en vecindarios para sistemas de recomendación a gran escala ", taller de SIGKDD sobre sistemas de recomendación a gran escala y la competencia del Premio Netflix (KDD''08), ACM Press (2008) .

Y. Koren, " The BellKor Solution to the Netflix Grand Prize ", (2009).

A. Töscher, M. Jahrer, R. Bell, " The BigChaos Solution to the Netflix Grand Prize ", (2009).

M. Piotte, M. Chabbert, " The Pragmatic Theory solution to the Netflix Grand Prize ", (2009).

Los documentos de 2008 son del Premio de Progreso del primer año. Recomiendo leer los anteriores primero porque los posteriores se basan en el trabajo anterior.



No conozco específicamente el algoritmo de Amazon, pero uno de los componentes de dicho algoritmo probablemente involucre rastrear grupos de artículos frecuentemente ordenados en conjunto, y luego usar esos datos para recomendar otros artículos en el grupo cuando un cliente compre algún subconjunto de los mismos. grupo.

Otra posibilidad sería seguir la frecuencia del pedido del artículo B dentro de N días después de ordenar el artículo A, lo que podría sugerir una correlación.