211service.com
Hoe iTunes Genius echt werkt
Sinds de functie in 2008 debuteerde, zijn er veel speculatie over hoe iTunes Genius zijn magie voor het maken van afspeellijsten tot stand brengt. Nu heeft een ingenieur bij Apple die aan het iTune Genius-team werkt, enkele onthuld verleidelijke aanwijzingen -een zeldzame onthulling voor het beruchte geheimzinnige bedrijf.
Recapitulerend wat Steve Jobs eerder heeft gezegd over iTunes Genius, schrijft Apple-ingenieur Erik Goldman in zijn... post op Quora dat het startpunt voor de Genius-service een pakket gebruiksgegevens is - welke nummers een gebruiker in zijn of haar bibliotheek heeft (en, vermoedelijk, hoe vaak hij of zij ze afspeelt) - verzonden vanuit de iTunes-toepassing die is opgevouwen tot een grotere database met gebruikers en liedjes.
Kortom, uw bibliotheek met tracks wordt vergeleken met de bibliotheken van alle andere Genius-gebruikers. Apple voert vervolgens een reeks voorheen geheime algoritmen uit, die Goldman beschreef als eenvoudige aanbevelingsalgoritmen die vergelijkbaar zijn met die van andere diensten zoals Netflix wanneer het films voorstelt voor een gebruiker om nu te bekijken of toe te voegen aan zijn wachtrij, om statistieken voor elk nummer te genereren. Deze statistieken worden wereldwijd met regelmatige tussenpozen berekend en opgeslagen in een cache, merkt Goldman op, omdat gegevens over de gelijkenis van twee nummers langzaam veranderen - er wordt aangenomen dat de enige reden waarom het verandert, is vanwege de veranderende smaak van het luisterende publiek, en de introductie van nieuwe tracks en artiesten.
Goldman grapt dat als hij je zou vertellen hoe Genius werkt, hij je zou moeten vermoorden (of op zijn minst een team van politieagenten zou hebben plunder je hersenen om het rechtmatige eigendom van Apple terug te krijgen), maar hij blijft beschrijven hoe het programma toch werkt.
Om een deel van de werking van iTunes Genius te ontdekken, zegt Goldman, moet je kijken naar algoritmen voor het ophalen van informatie, vooral die welke gebruikmaken van het vector-ruimtemodel. Maar voordat u factoren kunt vergelijken, zoals de frequentie van een bepaalde artiest of genre in de bibliotheek of afspeellijsten van een gebruiker, in iTunes-bibliotheken via een Vector-Space-model, moet u een slimme manier vinden om de factor te definiëren die meer gewicht geeft aan de dingen dat maakt echt uit.
Een eenvoudige manier om factoren op de juiste manier te wegen voor vergelijking is wat bekend staat als term frequentie-inverse documentfrequentie (tf-idf). Het is gewoon een manier om te vergelijken hoe vaak een bepaalde factor voorkomt in een enkel document (of nummer of bibliotheek) met hoe vaak die factor voorkomt in een groter geheel, zoals de som van alle iTunes-bibliotheken die zijn opgeslagen door de Genius-servers. Dus een factor die vrij vaak voorkomt in de bibliotheek van een bepaalde gebruiker, bijvoorbeeld een affiniteit voor een obscure indy-band, zal de neiging hebben om een krachtiger determinant te zijn, tenzij het ook vrij vaak voorkomt in de totale set gegevens, zoals zou het geval zijn als de factor een affiniteit met de Beatles was.
Zodra u uw tf-idf-gewichten hebt gesorteerd, kunt u ze in een vectorruimtemodel als vectoren weergeven.
In dit voorbeeld (met dank aan Wikipedia ) twee verschillende documenten (of liedjes) hebben al hun verschillende tf-idf-gewichten weergegeven als een enkele vector (bijv. d1) die dan kan worden vergeleken met een tweede document / vector (bijv. d2) en een query (q)–zoals welke van deze twee nummers lijkt het meest op degene waarvoor ik zojuist op de 'genie'-knop heb geklikt. Welke hoek het dichtst bij uw vraagvector staat, lijkt meer op elkaar.
Goldman graaft dieper in het iTune Genius-systeem en praat over het gebruik van latente-factoralgoritmen. Vooral latente-factor-algoritmen werken vaak erg goed op enorme datasets met enorm veel dimensies en veel ruis, zegt Goldman.
latente factoren zijn wat eruit schudt als je een bepaald soort statistische analyse doet, genaamd a factoren analyse , op een set gegevens, op zoek naar de verborgen, onzichtbare variabelen die de variatie veroorzaken in alle verschillende variabelen die u onderzoekt. Laten we zeggen dat de variabiliteit in een dozijn verschillende variabelen wordt veroorzaakt door slechts vier of vijf verborgen variabelen - dat zijn je latente factoren. Ze zorgen ervoor dat veel andere variabelen in min of meer lock-step bewegen.
Het ontdekken van de verborgen of latente factoren in je dataset is een handige manier om het probleem dat je moet berekenen te verkleinen, en het werkt omdat mensen voorspelbaar zijn: mensen die van Emo-muziek houden zijn verdrietig, en verdrietige mensen houden ook van de soundtracks tot filmversies van vampierromans die over verlangen gaan, enz. Je zou het kunnen zien als de wiskundige uitdrukking van een stereotype - alleen het werkt.
Als je echt diep op dit onderwerp wilt ingaan, raadt Goldman je aan te lezen de papieren dat kwam uit de Netflix-prijs van een miljoen dollar, die werd gewonnen door een combinatie van teams onder leiding van ingenieurs van AT&T. Hun uitdaging was om de aanbevelingsengine van Netflix te verbeteren, en een van hun belangrijkste innovaties was het verminderen van de rekenintensiteit van de algoritmen die in aanbevelingsengines worden gebruikt.
Voorheen werd de hoeveelheid berekening die nodig was om een paarsgewijze vergelijking van twee items in de Netflix- (en vermoedelijk Apple's) bibliotheek uit te voeren, geschaald als een kwadratische functie van het aantal uit te voeren vergelijkingen. Maar het AT&T-team ontdekte hoe een fundamenteel algoritme opnieuw moest worden geschreven om het probleem alleen lineair te laten schalen met de hoeveelheid gegevens die ermee gemoeid waren. Dus wat dan ook Het nieuwe datacenter van Apple is voor, het is waarschijnlijk niet om Genius-resultaten te berekenen.