performance - Sugerencia simple/algoritmo de recomendación
algorithm autosuggest (6)
Creé un algoritmo de artículos sugeridos que usaba palabras clave (a diferencia de "compras de productos") para determinar la correlación. Toma una palabra clave, y se ejecuta en todos los demás artículos donde se produce esa palabra clave y produce resultados basados en qué artículos tienen las palabras clave más coincidentes.
Además de la evidente necesidad de almacenar en caché dicha información, ¿hay algún problema con él usando un método similar?
Estoy buscando un algoritmo de sugerencia simple para implementar en mi aplicación web. Al igual que Netflix, Amazon, etc ... Pero más simple. No necesito equipos de doctores que trabajen para obtener una mejor métrica de sugerencias.
Así que diga que tengo:
- Usuario1 le gusta Object1.
- Usuario2 le gusta Object1 y Object2.
Quiero sugerirle a Usuario1 que también les puede gustar Object2.
Obviamente puedo llegar a algo ingenuo. Estoy buscando algo examinado y fácilmente implementado.
Es posible que desee ver el aprendizaje de reglas de asociación y el algoritmo de Apriori . La idea básica es que crea reglas como "si Usuario como Object1, que Usuario como Object2" y verifique qué tan bien describen (su) realidad. En su ejemplo concreto, esta regla tendría un Soporte de 2 (como dos Usuarios como Object1) y una confianza del 50% a (como la regla es verdadera en 1 de 2 casos). Acabo de implementar una prueba de concepto básica (en realidad, mis primeros pasos en Hadoop) y no es demasiado difícil de hacer.
Alternativamente, puedes mirar Apache Mahout - Taste . Aunque nunca lo usé yo mismo.
Hay muchos ejemplos simples y no tan simples de algoritmos de sugerencias en la excelente Programación de Inteligencia Colectiva.
El coeficiente de correlación de Pearson (un pequeño artículo seco de Wikipedia) puede dar muy buenos resultados. Aquí hay una implementación en Python y otra en TSQL junto con una interesante explicación del algoritmo.
Iría con K vecinos más cercanos. La entrada de wikipedia lo explica bien, y tiene enlaces a implementaciones de referencia.
algoritmo vecino más cercano