Estoy pensando en comenzar un proyecto que se basa en el sistema de recomendación. Necesito mejorarme en esta área que se ve como un tema candente en el lado web. También me pregunto cuál es el algoritmo lastfm, grooveshark, pandora que usa para su sistema de recomendación. Si conoce algún libro, sitio o cualquier recurso para este tipo de algoritmos, informe.¿Cuál es el algoritmo detrás de los sitios de recomendación como last.fm, grooveshark, pandora?
Respuesta
Eche un vistazo a Collaborative filtering o Recommender systems.
Un algoritmo simple es Slope One.
Programming Collective Intelligence es una introducción agradable y accesible a este campo.
El algoritmo de Pandoras comenzó con un solo emparejamiento de géneros de música específicos para la canción determinada que invocó. Luego ha estado creciendo lentamente por personas que votan si les gusta la canción o no les gusta la canción, lo que les permite eliminar malas canciones y empujar buenas canciones al frente. También lanzará nuevas canciones que tienen pocos votos hacia arriba o hacia abajo en la lista de reproducción de tu canción para que la canción obtenga algunos votos.
No estoy seguro acerca de los otros sitios enumerados.
Manning también tiene dos buenos libros sobre este tema. Algorithms of the Intelligent Web y Collective Intelligence in Action
Hay un buen video de demostración con una explicación (y un enlace a la tesis del autor) al Mapping and visualizing music collections. Este enfoque se ocupa de analizar las características de la música en sí misma. Otros métodos, como NetFlix y Amazon, se basan en recomendaciones de otros usuarios con gustos similares y en el filtrado básico de categorías.
Gran papel de Yehuda Koren (en el equipo que ganó el premio Netflix): La Solución BellKor para el Gran Premio de Netflix (google "GrandPrize2009_BPC_BellKor.pdf").
sitios web: Pareja
Una respuesta elegantemente tarde: Pandora y Grooveshark son muy diferentes en el algoritmo que utilizan.
Básicamente hay dos enfoques principales para los sistemas de recomendación: 1. filtrado colaborativo, y 2. basado en contenido. (y sistemas híbridos)
La mayoría de los sistemas se basan en el filtrado colaborativo. Esto básicamente significa hacer coincidir las listas de preferencias): si me gustaron los artículos A, B, C, D, E y F, y a otros usuarios les gustaron A, B, C, D, E, F y J, el sistema recomendará J a basado en el hecho de que comparto el mismo gusto con estos usuarios (no es tan simple, pero esa es la idea). Las principales características que se analizan aquí son los ítems id y los usuarios votan sobre estos ítems.
Método basado en el contenido analizo el contenido de los artículos en cuestión y creo mi perfil en función del contenido de los artículos que me gustan y no según lo que les gusta a los demás usuarios.
Dicho esto: Grooveshark se basa en el filtrado colaborativo. Pandora se basa en el contenido (quizás con alguna capa de filtrado colaborativo en la parte superior).
Lo interesante de Pandora es que el contenido es analizado por humanos (músicos) y no automáticamente. Lo llaman el proyecto del genoma de la música (http://www.pandora.com/mgp.shtml), donde los anotadores etiquetan cada canción con una serie de etiquetas en algunos ejes como estructura, ritmo, tonalidad, técnica de grabación y más (lista completa: http://en.wikipedia.org/wiki/List_of_Music_Genome_Project_attributes) Eso es lo que les da la opción para explicar y justificar la canción recomendada
- Last.fm "vecinos" probablemente sea un filtro colaborativo.
- Pandora contrató a cientos de musicólogos para clasificar canciones a lo largo de ~ 500 dimensiones. http://en.wikipedia.org/wiki/Music_Genome_Project
Estos son dos enfoques muy diferentes. Google Scholar es su amigo en lo que respecta a la literatura.
- 1. ¿Cuál es el algoritmo de predicción detrás de sitios web como farecast.com (bing travel)?
- 2. ¿Cuál es el algoritmo detrás de sleep()?
- 3. ¿Cuál es el algoritmo detrás de la generación de buscaminas
- 4. Algoritmo de recomendación
- 5. ¿Cuál es la tecnología detrás de los sitios de transmisión en vivo?
- 6. ¿Cuál es el concepto detrás de R.java?
- 7. ¿Hay algún tipo de API de Grooveshark?
- 8. Algoritmo de sugerencia/recomendación simple
- 9. ¿Cuál es el razonamiento detrás de los encabezados?
- 10. ¿Cuál es el concepto general detrás de XSS?
- 11. Algoritmo del motor de recomendación básica
- 12. ¿Cuál es el algoritmo detrás del comando de factor en Linux?
- 13. ¿Cuál es la magia detrás de Lightstreamer?
- 14. ¿Cuál es el razonamiento de diseño detrás de HandleScope?
- 15. Código de Grooveshark
- 16. ¿Cuál es la teoría detrás del algoritmo de coincidencia de patrones KMP?
- 17. ¿Cuál es la lógica detrás del algoritmo de división de Fourier?
- 18. ¿Cuál es el código detrás de datagridtemplatecolumn, y cómo usarlo?
- 19. ¿Cuál es el mecanismo detrás de startActivityForResult() en Android?
- 20. Algoritmo de búsqueda de sitios web
- 21. ¿Cuál es el concepto detrás de la compresión zip?
- 22. ¿Cuál es el concepto básico detrás de WaitHandle?
- 23. ¿Cuál es el algoritmo que usa opencv para encontrar contornos?
- 24. ¿Cuál es el algoritmo Hi/Lo?
- 25. ¿Cuál es el algoritmo de análisis de sentimiento existente?
- 26. ¿Cuál es el mejor algoritmo de clasificación de asientos reservados?
- 27. pandora website user profile system
- 28. diferencia entre el "Proyecto de recomendación" y la "Recomendación Candidato"
- 29. ¿Cuál es el razonamiento detrás del contexto zeroMQ?
- 30. ¿Cuál es el tiempo de ejecución de este algoritmo powerset
Es un poco más complicado que eso. http://www.pandora.com/corporate/mgp – Brad