¿Cuáles son algunos algoritmos utilizados en un sistema de recomendación de música?

Pandora es un poco diferente a otros sistemas de recomendación de música porque no se basa en los tipos de personas a las que les gusta o no una canción para hacer recomendaciones. Pandora en realidad contrató a miles de musicólogos para construir el Proyecto Music Genome [1], en el que cada canción está etiquetada con un “genoma” basado en unas 450 características musicales o “genes” (algunos géneros musicales tienen más genes que otros). Si está más interesado, aquí hay una entrevista interesante con Nolan Gasser, uno de esos musicólogos: profundizando en el genoma de la música de Pandora con el musicólogo Nolan Gasser

Por un lado, los sistemas como Spotify o Amazon crean un conjunto de usuarios o vecinos , de acuerdo con su nivel de acuerdo con el usuario objetivo (es decir, califican las mismas canciones, etc.). Por otro lado, Pandora crea un conjunto de canciones que son cualitativamente similares a las que el usuario está escuchando actualmente y luego aplica técnicas de filtrado (vecinos más cercanos) para producir recomendaciones. [2]

Si le gustan las estadísticas y está más interesado en el método de filtrado colaborativo basado en elementos que utiliza Pandora, le sugiero que lea el documento seminal de Sarwar et al. [3]

Referencias

[1] Proyecto Genoma Musical
[2] Algorhythm and Blues (Cómo el servicio de emparejamiento de Pandora corta el caos de la música digital).
[3] Sarwar, Badrul, y col. “Algoritmos de recomendación de filtrado colaborativo basados ​​en elementos”. Actas de la décima conferencia internacional sobre la World Wide Web . ACM, 2001.

Spotify utiliza filtros de colaboración para recomendaciones de música, usando la idea de que:

  • Si dos películas x, y obtienen calificaciones similares, entonces probablemente sean similares (en géneros)
  • Si muchos usuarios escuchan pistas x, y, z, entonces esas pistas son probablemente similares (en géneros)

Ver Filtrado colaborativo en Spotify presentado por Erik Bernhardsson.

Parece que llegué un poco tarde a la fiesta, pero recibí una solicitud de respuesta, así que aquí va …

Muchas buenas respuestas de otros. Melissa Dalis señala que el filtrado colaborativo es el primer enfoque que viene a la mente para los sistemas de recomendación. Asegúrese de leer la presentación de SlideShare a la que se vinculó.

La extracción frecuente de elementos es otro enfoque comúnmente utilizado para los sistemas de recomendación. La idea es encontrar artículos que generalmente se compran juntos. Si tiene un conjunto de datos de cualquier tamaño razonable, tendrá que usar técnicas como el Hashing sensible local (LSH) para obtener un tiempo de ejecución aceptable. Esta (y otras técnicas) se describen en el excelente libro Mining Massive Datasets, que se puede descargar de forma gratuita aquí: Mining of Massive Datasets. También encontrará cubiertas de diapositivas para el libro allí también. Y hay un MOOC basado en el libro de Coursera

También puede intentar usar los datos que tiene para construir automáticamente un modelo. Por ejemplo, podría construir una red bayesiana que le permita hacer recomendaciones probabilísticas.

El usuario de Quora señala que podría ver lo que están haciendo los sistemas de recomendación de películas. Sin embargo, un punto es que los algoritmos sofisticados como el que usa NetFlix utilizan algunas señales bastante débiles para inferir interés. Por ejemplo, a medida que se desplaza a través de Movies on Demand si hace una pausa por un minuto porque el póster de la película llama su atención, su algoritmo lo interpreta como una señal débil de que posiblemente le interese ver esa película. Esa NO sería una buena suposición para un sistema de música (por ejemplo, desplazarse a través de las carátulas de música y detenerse lo suficiente como para reírse del último atuendo de Nikki Minaj).

Espero que esto ayude. Tengo que correr y almorzar. 🙂

En términos generales, el filtrado colaborativo es lo que está buscando para este tipo de tarea. Si lo básico no le está dando resultados suficientes o suficientemente buenos (minería frecuente de conjuntos de elementos, también conocido como análisis de la cesta de la compra o buscando similitudes basadas en el usuario o en el objeto utilizando el algoritmo Jaccard), le sugiero que busque la reducción de dimensiones.

La premisa básica de la reducción de dimensiones es que tiene demasiados datos que son demasiado precisos. Al reducir la dimensionalidad, puede crear ruido que le dará otras recomendaciones. Por lo tanto, reduce las 50k canciones en 50 categorías (o más bien deja que un algoritmo lo haga por usted) para que cada canción pertenezca a diferentes categorías en diferentes grados con canciones similares con distribuciones similares. Luego, una vez que veas cómo se mapean las preferencias de canción del usuario, puedes recomendar cosas similares a su distribución.

El manual de Análisis Semántico Latente hace un trabajo mucho mejor al explicarlo, luego llena los dos últimos tercios con la resolución de problemas y estudios de casos. Ese es el nombre del algoritmo que Netflix usa, por cierto.

Ambas, tarde en responder esta pregunta y también, mi respuesta tiene algunas referencias muy anticuadas, pero para mí, el siguiente documento de Upendra Shardanand y Pattie Maes me pareció un buen lugar para comenzar:

Filtrado de información social: algoritmos para automatizar el “boca a boca”

Sigue su trabajo en el sistema de recomendación llamado “Ringo” y ofrece una breve descripción de algunos de los primeros algoritmos utilizados, como el algoritmo restringido Pearson-r .

Otro buen artículo sobre los sistemas de recomendación es: ” Hacia la próxima generación de sistemas de recomendación: una encuesta sobre el estado del arte y las posibles extensiones ” por Gediminas Adomavicius y Alexander Tuzhilin.

LME

Recomendaciones musicales y la integración métrica logística

El mejor tutorial fácil de seguir para esto son los videos de aprendizaje automático de Andrew Ng Coursera sobre filtrado colaborativo y sistemas de recomendación. Sigue este enlace Coursera y ve a la semana 09.

Necesitará conocer un poco de estadísticas y álgebra lineal para comprender realmente esto, como la regresión lineal, qué es una matriz de bajo rango, etc.

Hola, Melissa tiene razón, mira en Wikipedia:
http://en.m.wikipedia.org/wiki/C
Usé la implementación de mahout de este algoritmo, mira
http://mahout.apache.org/users/r

Veo que se ha mencionado el filtrado colaborativo, que parece ser la norma por lo que puedo decir. Sin embargo, muchas compañías están realizando investigaciones para emplear métodos de aprendizaje profundo. Aquí hay un artículo sobre tales intentos de spotify:

http://benanne.github.io/2014/08

No sé específicamente sobre los sistemas de recomendación de música, pero supongo que debe ser bastante similar a los sistemas de recomendación de películas. Las recomendaciones de películas recibieron una enorme cantidad de atención debido al Desafío de Netflix hace unos años. Se descubrió una cantidad increíble de nuevas técnicas y conocimientos durante el desafío. Es posible que desee leer los documentos de los mejores artistas.