Comment iTunes Genius fonctionne vraiment

Depuis que le long métrage a fait ses débuts en 2008, il y a eu beaucoup de spéculation sur la façon dont iTunes Genius accomplit sa magie de création de listes de lecture. Maintenant, un ingénieur chez Apple qui travaille dans l'équipe iTune Genius a révélé quelques des indices alléchants –une divulgation rare pour la tristement célèbre société secrète.





Récapitulant ce que Steve Jobs a dit précédemment à propos d'iTunes Genius, l'ingénieur Apple Erik Goldman écrit dans son publier sur Quora que le point de départ du service Genius est un paquet de données d'utilisation - quelles chansons un utilisateur a dans sa bibliothèque (et, vraisemblablement, à quelle fréquence il les joue) - envoyé depuis l'application iTunes qui est plié dans un plus grand base de données des utilisateurs et des chansons.

Fondamentalement, votre bibliothèque de pistes est comparée à toutes les bibliothèques de pistes des autres utilisateurs Genius. Apple exécute ensuite un ensemble d'algorithmes auparavant secrets, que Goldman a décrits comme des algorithmes de recommandation simples similaires à ceux utilisés par d'autres services comme Netflix lorsqu'il suggère à un utilisateur des films à regarder maintenant ou à ajouter à sa liste, pour générer des statistiques pour chaque chanson. Ces statistiques sont calculées globalement à intervalles réguliers et stockées dans un cache, note Goldman, car les données sur la similitude de deux chansons changent lentement - on suppose que la seule raison pour laquelle cela change est à cause des goûts changeants du public qui écoute, et l'introduction de nouveaux morceaux et artistes.

Goldman plaisante en disant que s'il vous disait comment fonctionne Genius, il devrait vous tuer (ou au moins, avoir une escouade de policiers raid ton cerveau pour récupérer la propriété légitime d'Apple), mais il continue de décrire comment le programme fonctionne de toute façon.

Pour découvrir une partie du fonctionnement d'iTunes Genius, explique Goldman, examinez les algorithmes de récupération d'informations, en particulier ceux qui exploitent le modèle vectoriel-espace. Mais avant de pouvoir comparer des facteurs, tels que la fréquence d'un artiste ou d'un genre particulier dans la bibliothèque ou les listes de lecture d'un utilisateur, entre les bibliothèques iTunes via un modèle Vector-Space, vous avez besoin d'un moyen intelligent de définir le facteur qui donne plus de poids aux choses. ça compte vraiment.



Un moyen simple de pondérer correctement les facteurs à des fins de comparaison est ce que l'on appelle terme fréquence-fréquence du document inverse (tf-idf). C'est simplement un moyen de comparer la fréquence à laquelle un facteur particulier se produit dans un seul document (ou chanson ou bibliothèque) à la fréquence à laquelle ce facteur se produit dans un corps plus large tel que la somme de toutes les bibliothèques iTunes stockées par les serveurs Genius. Ainsi, un facteur qui se produit assez souvent dans la bibliothèque d'un utilisateur donné - par exemple, une affinité pour un groupe indy obscur - aura tendance à être un déterminant plus puissant, à moins qu'il ne se produise également assez souvent dans l'ensemble total de données - comme ce serait le cas si le facteur était une affinité pour les Beatles.

Une fois que vous avez trié vos poids tf-idf, vous pouvez les représenter dans un modèle spatial vectoriel en tant que vecteurs.

Dans cet exemple (avec la permission Wikipédia ) deux documents (ou chansons) différents ont tous leurs différents poids tf-idf représentés comme un seul vecteur (par exemple d1) qui peut ensuite être comparé à un deuxième document/vecteur (par exemple d2) et une requête (q) - comme qui de ces deux chansons ressemble le plus à celle pour laquelle je viens de cliquer sur le bouton 'génie'. Celui qui est le plus proche en angle de votre vecteur de requête est le plus similaire.



En creusant plus profondément dans le système iTune Genius, Goldman parle de son utilisation d'algorithmes à facteurs latents. Les algorithmes à facteurs latents, en particulier, ont tendance à très bien fonctionner sur d'énormes ensembles de données avec un nombre énorme de dimensions et beaucoup de bruit, explique Goldman.

Facteurs latents sont ce qui secoue lorsque vous effectuez un type particulier d'analyse statistique, appelé un analyse factorielle , sur un ensemble de données, à la recherche des variables cachées et invisibles qui provoquent la variation de toutes les différentes variables que vous examinez. Disons que la variabilité d'une douzaine de variables différentes s'avère être causée par seulement quatre ou cinq variables cachées - ce sont vos facteurs latents. Ils provoquent le déplacement de nombreuses autres variables en pas plus ou moins verrouillés.

Découvrir les facteurs cachés ou latents dans votre ensemble de données est un moyen pratique de réduire la taille du problème que vous devez calculer, et cela fonctionne parce que les humains sont prévisibles : les gens qui aiment la musique Emo sont tristes, et les gens tristes aiment aussi les bandes sonores aux versions cinématographiques de romans de vampires qui parlent de nostalgie, etc. Vous pourriez penser à cela comme l'expression mathématique d'un stéréotype – seulement cela fonctionne.



Si vous voulez approfondir ce sujet, Goldman vous suggère de lire les papiers qui est sorti du prix Netflix d'un million de dollars, qui a été remporté par une combinaison d'équipes dirigées par des ingénieurs d'AT&T. Leur défi était d'améliorer le moteur de recommandation de Netflix, et l'une de leurs principales innovations a été de réduire l'intensité de calcul des algorithmes utilisés dans les moteurs de recommandation.

Auparavant, la quantité de calcul nécessaire pour effectuer une comparaison par paire de deux éléments quelconques de la bibliothèque de Netflix (et vraisemblablement d'Apple) était mise à l'échelle comme une fonction quadratique du nombre de comparaisons à effectuer. Mais l'équipe d'AT&T a compris comment réécrire un algorithme fondamental pour que le problème ne s'étende que linéairement avec la quantité de données impliquée. Donc quel que soit Le nouveau centre de données d'Apple est pour, ce n'est probablement pas pour calculer les résultats Genius.

cacher