Kaip iš tikrųjų veikia iTunes Genius

Nuo tada, kai funkcija debiutavo 2008 m., buvo daug spekuliacija apie tai, kaip iTunes Genius atlieka grojaraščio kūrimo magiją. Dabar „iTune Genius“ komandoje dirbantis „Apple“ inžinierius kai kuriuos atskleidė viliojantys įkalčiai – retas atskleidimas liūdnai slaptai įmonei.





Apibendrindamas tai, ką Steve'as Jobsas anksčiau pasakė apie „iTunes Genius“, „Apple“ inžinierius Erikas Goldmanas savo pranešime rašo. įrašas Quora kad „Genius“ paslaugos pradžios taškas yra naudojimo duomenų paketas – kokias dainas vartotojas turi savo bibliotekoje (ir, tikėtina, kaip dažnai jis jas groja), – siunčiamas iš „iTunes“ programos, kuri yra sulankstyta į didesnį vartotojų ir dainų duomenų bazė.

Iš esmės jūsų takelių biblioteka lyginama su visų kitų Genius naudotojų takelių bibliotekomis. Tada „Apple“ paleidžia anksčiau slaptų algoritmų rinkinį, kurį Goldmanas apibūdino kaip paprastus rekomendacinius algoritmus, panašius į naudojamus kitose paslaugose, pvz., „Netflix“. kai jis siūlo vartotojui filmus žiūrėti dabar arba pridėti prie savo karalienės, kad būtų generuojama kiekvienos dainos statistika. Goldmanas pažymi, kad ši statistika apskaičiuojama visame pasaulyje reguliariais intervalais ir saugoma talpykloje, nes duomenys apie bet kurių dviejų dainų panašumą keičiasi lėtai – manoma, kad vienintelė priežastis, kodėl ji apskritai keičiasi, yra kintantis klausančios visuomenės skonis. naujų kūrinių ir atlikėjų pristatymas.

Goldmanas juokauja, kad jei jis jums pasakytų, kaip veikia Geniusas, jis turėtų jus nužudyti (arba bent jau turėti policijos pareigūnų būrį puola tavo smegenis kad atgautų teisėtą Apple nuosavybę), tačiau jis toliau aprašo, kaip programa vis tiek veikia.

Goldmanas teigia, kad norėdami išsiaiškinti, kaip veikia iTunes Genius, pažvelkite į informacijos paieškos algoritmus, ypač tuos, kurie naudoja vektorinės erdvės modelį. Tačiau prieš naudodami „Vector-Space“ modelį galite palyginti veiksnius, pvz., konkretaus atlikėjo ar žanro dažnumą vartotojo bibliotekoje ar grojaraščiuose, iTunes bibliotekose, jums reikia sumanaus būdo apibrėžti veiksnį, kuris suteikia daugiau svarbos dalykams. tai tikrai svarbu.



Paprastas būdas tinkamai įvertinti koeficientus palyginimui yra vadinamasis terminas dažnis-atvirkštinis dokumento dažnis (tf-idf). Tai tiesiog būdas palyginti, kaip dažnai konkretus veiksnys atsiranda viename dokumente (arba dainoje ar bibliotekoje), su tuo, kaip dažnai šis veiksnys atsiranda didesniame objekte, pvz., visų „iTunes“ bibliotekų, saugomų „Genius“ serveriuose, suma. Taigi veiksnys, gana dažnai pasitaikantis tam tikro vartotojo bibliotekoje, pavyzdžiui, afinitetas neaiškiai indy juostai, dažniausiai bus stipresnis determinantas, nebent jis taip pat pasitaiko gana dažnai visame duomenų rinkinyje, pvz. būtų taip, jei veiksnys būtų giminingumas „The Beatles“.

Kai surūšiuosite tf-idf svorius, vektoriniame erdvės modelyje galite juos pavaizduoti kaip vektorius.

Šiame pavyzdyje (mandagiai Vikipedija ) dviejuose skirtinguose dokumentuose (arba dainose) visi skirtingi tf-idf svoriai pateikiami kaip vienas vektorius (pvz., d1), kurį vėliau galima palyginti su antruoju dokumentu / vektoriumi (pvz., d2) ir užklausa (q), pvz., iš šių dviejų dainų labiausiai panaši į tą, kuriai ką tik paspaudžiau „genialus“ mygtuką. Kuris iš jų kampu arčiau jūsų užklausos vektoriaus, yra panašesnis.



Gilindamasis į „iTune Genius“ sistemą, Goldmanas kalba apie latentinio faktoriaus algoritmų naudojimą. Visų pirma latentinio faktoriaus algoritmai linkę labai gerai dirbti su didžiuliais duomenų rinkiniais, turinčiais didžiulį skaičių matmenų ir daug triukšmo, sako Goldmanas.

Latentiniai veiksniai yra tai, kas sukrečia, kai atliekate tam tikros rūšies statistinę analizę, vadinamą a faktorinė analizė , duomenų rinkinyje ieškodami paslėptų, nematomų kintamųjų, dėl kurių skiriasi visi skirtingi jūsų tiriami kintamieji. Tarkime, kad keliolikos skirtingų kintamųjų kintamumą lemia tik keturi ar penki paslėpti kintamieji – tai yra jūsų latentiniai veiksniai. Dėl jų daugelis kitų kintamųjų juda daugiau ar mažiau užraktu.

Paslėptų ar latentinių veiksnių atradimas duomenų rinkinyje yra patogus būdas sumažinti problemos, kurią turite apskaičiuoti, dydį, ir tai veikia, nes žmonės yra nuspėjami: žmonės, kuriems patinka Emo muzika, yra liūdni, o liūdni žmonės taip pat mėgsta garso takelius. vampyrų romanų filmų versijoms, kuriose kalbama apie ilgesį ir pan. Galite manyti, kad tai yra matematinė stereotipo išraiška – tik ji veikia.



Jei norite labai įsigilinti į šią temą, Goldmanas siūlo perskaityti popierius eurų, kuriuos laimėjo milijono dolerių vertės „Netflix“ prizas, kurį laimėjo AT&T inžinierių vadovaujamų komandų derinys. Jų iššūkis buvo patobulinti „Netflix“ rekomendacijų variklį, o viena iš pagrindinių naujovių buvo rekomendacijose naudojamų algoritmų skaičiavimo intensyvumo sumažinimas.

Anksčiau skaičiavimo kiekis, reikalingas norint atlikti porinį bet kurių dviejų „Netflix“ (ir tikriausiai „Apple“) bibliotekos elementų palyginimą, buvo matuojamas kaip kvadratinė atliekamų palyginimų skaičiaus funkcija. Tačiau AT&T komanda išsiaiškino, kaip perrašyti pagrindinį algoritmą, kad problemos mastelis būtų tik tiesinis, atsižvelgiant į duomenų kiekį. Taigi, bet ką Naujasis „Apple“ duomenų centras yra skirtas, tikriausiai tai nėra „Genius“ rezultatų skaičiavimas.

paslėpti