211service.com
Cómo funciona realmente iTunes Genius
Desde que la función debutó en 2008, ha habido muchos especulación sobre cómo iTunes Genius logra su magia de creación de listas de reproducción. Ahora, un ingeniero de Apple que trabaja en el equipo de iTune Genius ha revelado algunos pistas tentadoras –Una divulgación poco común para la compañía infamemente reservada.
Recapitulando lo que Steve Jobs ha dicho anteriormente sobre iTunes Genius, el ingeniero de Apple Erik Goldman escribe en su publicar en Quora que el punto de partida para el servicio Genius es un paquete de datos de uso: qué canciones tiene un usuario en su biblioteca (y, presumiblemente, con qué frecuencia las reproduce), enviado desde la aplicación iTunes que se pliega en un formato más grande. base de datos de usuarios y canciones.
Básicamente, su biblioteca de pistas se compara con todas las bibliotecas de pistas de los demás usuarios de Genius. Apple luego ejecuta un conjunto de algoritmos previamente secretos, que Goldman describió como algoritmos de recomendación sencillos similares a los utilizados por otros servicios como Netflix cuando sugiere películas para que un usuario las vea ahora o las agregue a su lista, para generar estadísticas para cada canción. Estas estadísticas se calculan globalmente a intervalos regulares y se almacenan en un caché, señala Goldman, porque los datos sobre la similitud de dos canciones cambian lentamente; se supone que la única razón por la que cambian es debido a los gustos cambiantes del público que escucha, y la introducción de nuevas pistas y artistas.
Goldman bromea diciendo que si te dijera cómo funciona Genius, tendría que matarte (o al menos, tener un escuadrón de policías asaltar tu cerebro para recuperar la propiedad legítima de Apple), pero continúa describiendo cómo funciona el programa de todos modos.
Para descubrir parte de cómo funciona iTunes Genius, dice Goldman, observe los algoritmos de recuperación de información, especialmente aquellos que aprovechan el modelo de espacio vectorial. Pero antes de poder comparar factores, como la frecuencia de un artista o género en particular en la biblioteca o listas de reproducción de un usuario, en las bibliotecas de iTunes a través de un modelo de espacio vectorial, necesita una forma inteligente de definir el factor que le da más peso a las cosas. eso realmente importa.
Una forma sencilla de ponderar correctamente los factores para la comparación es lo que se conoce como término frecuencia-frecuencia inversa del documento (tf-idf). Es simplemente una forma de comparar la frecuencia con la que ocurre un factor en particular en un solo documento (o canción o biblioteca) con la frecuencia con la que ese factor ocurre en un cuerpo más grande, como la suma de todas las bibliotecas de iTunes almacenadas por los servidores Genius. Por lo tanto, un factor que ocurre con bastante frecuencia en la biblioteca de un usuario determinado, por ejemplo, una afinidad por una banda indy oscura, tenderá a ser un determinante más poderoso, a menos que también ocurra con bastante frecuencia en el conjunto total de datos, como Sería el caso si el factor fuera una afinidad por los Beatles.
Una vez que haya ordenado sus pesos tf-idf, puede representarlos en un modelo de espacio vectorial como vectores.
En este ejemplo (cortesía Wikipedia ) dos documentos (o canciones) diferentes tienen todos sus diferentes pesos tf-idf representados como un solo vector (por ejemplo, d1) que luego se puede comparar con un segundo documento / vector (por ejemplo, d2) y una consulta (q), como cuál de estas dos canciones es más parecida a aquella en la que acabo de hacer clic en el botón 'genio'. Cualquiera que esté más cerca de su vector de consulta es más similar.
Profundizando en el sistema iTune Genius, Goldman habla sobre su uso de algoritmos de factor latente. Los algoritmos de factor latente, en particular, tienden a funcionar muy bien en grandes conjuntos de datos con una enorme cantidad de dimensiones y mucho ruido, dice Goldman.
Factores latentes son lo que surge cuando haces un tipo particular de análisis estadístico, llamado análisis factorial , en un conjunto de datos, buscando las variables ocultas que no se ven que causan la variación en todas las diferentes variables que está examinando. Digamos que la variabilidad en una docena de variables diferentes resulta ser causada por solo cuatro o cinco variables ocultas; esos son sus factores latentes. Hacen que muchas otras variables se muevan en más o menos paso de bloqueo.
Descubrir los factores ocultos o latentes en su conjunto de datos es una forma práctica de reducir el tamaño del problema que tiene que calcular, y funciona porque los humanos son predecibles: las personas a las que les gusta la música Emo están tristes, y a las personas tristes también les gustan las bandas sonoras. a versiones cinematográficas de novelas de vampiros que tratan sobre el anhelo, etc. Podrías pensar en ello como la expresión matemática de un estereotipo, solo que funciona.
Si desea profundizar mucho en este tema, Goldman sugiere que lea los papeles que salió del Premio Netflix de un millón de dólares, que fue ganado por una combinación de equipos dirigidos por ingenieros de AT&T. Su desafío era mejorar el motor de recomendación de Netflix, y una de sus principales innovaciones fue reducir la intensidad computacional de los algoritmos utilizados en los motores de recomendación.
Anteriormente, la cantidad de cálculo requerida para hacer una comparación por pares de dos elementos cualesquiera en la biblioteca de Netflix (y presumiblemente de Apple) se escalaba como una función cuadrática del número de comparaciones que se realizarían. Pero el equipo de AT&T descubrió cómo reescribir un algoritmo fundamental para hacer que el problema escale solo linealmente con la cantidad de datos involucrados. Lo que sea El nuevo centro de datos de Apple es para, probablemente no sea para calcular resultados Genius.