Jak iTunes Genius skutečně funguje

Od té doby, co tento celovečerní film debutoval v roce 2008, se toho stalo hodně spekulace o tom, jak iTunes Genius dosahuje své magie při vytváření seznamů skladeb. Nyní inženýr společnosti Apple, který pracuje v týmu iTune Genius, některé odhalil dráždivé stopy – vzácné odhalení pro nechvalně utajovanou společnost.





Inženýr společnosti Apple Erik Goldman ve své rekapitulaci toho, co již dříve řekl Steve Jobs o iTunes Genius příspěvek na Quora že výchozím bodem pro službu Genius je paket údajů o používání – to, jaké skladby má uživatel ve své knihovně (a pravděpodobně i jak často je hraje) – odeslaný z aplikace iTunes, která je složena do větší databáze uživatelů a skladeb.

V zásadě je vaše knihovna skladeb porovnána se všemi knihovnami skladeb ostatních uživatelů Genius. Apple poté spouští sadu dříve tajných algoritmů, které Goldman popsal jako jednoduché doporučovací algoritmy podobné těm, které používají jiné služby, např. Netflix když uživateli navrhuje filmy, které má nyní sledovat nebo je přidat do své quee, generuje statistiky pro každou skladbu. Tyto statistiky se globálně vypočítávají v pravidelných intervalech a ukládají se do mezipaměti, poznamenává Goldman, protože data o podobnosti jakýchkoli dvou skladeb se mění pomalu – předpokládá se, že jediným důvodem, proč se vůbec mění, je měnící se vkus posluchačů a představení nových skladeb a umělců.

Goldman vtipkuje, že kdyby vám řekl, jak funguje Genius, musel by vás zabít (nebo alespoň mít tým policistů napadnout tvůj mozek získat právoplatné vlastnictví společnosti Apple), ale nadále popisuje, jak program funguje.

Chcete-li odhalit část toho, jak iTunes Genius funguje, říká Goldman, podívejte se na algoritmy vyhledávání informací, zejména na ty, které využívají model vektorového prostoru. Než však budete moci porovnávat faktory, jako je frekvence konkrétního umělce nebo žánr v knihovně nebo seznamech skladeb uživatele, napříč knihovnami iTunes pomocí modelu Vector-Space, potřebujete chytrý způsob, jak definovat faktor, který věcem přikládá větší váhu. na tom opravdu záleží.



Jednoduchý způsob, jak správně zvážit faktory pro srovnání, je to, co je známé jako termín frekvence-inverzní frekvence dokumentu (tf-idf). Je to jednoduše způsob, jak porovnat, jak často se určitý faktor vyskytuje v jednom dokumentu (nebo skladbě nebo knihovně) s tím, jak často se tento faktor vyskytuje ve větším těle, jako je součet všech knihoven iTunes uložených na serverech Genius. Faktor, který se v knihovně daného uživatele vyskytuje poměrně často – například afinita k neznámému indy pásmu – bude mít tendenci být silnějším určujícím faktorem, pokud se také nevyskytuje poměrně často v celkovém souboru dat – např. by tomu tak bylo, kdyby tím faktorem byla spřízněnost s Beatles.

Jakmile máte své tf-idf váhy seřazené, můžete je reprezentovat ve vektorovém prostorovém modelu jako vektory.

V tomto příkladu (se zdvořilostí Wikipedie ) dva různé dokumenty (nebo písně) mají všechny své různé váhy tf-idf reprezentovány jako jeden vektor (např. d1), který pak lze porovnat s druhým dokumentem/vektorem (např. d2) a dotazem (q) – např. z těchto dvou písní se nejvíce podobá té, u které jsem právě klikl na tlačítko 'geniální'. Který z nich je blíže k vašemu vektoru dotazu, je podobnější.



Při hlubším zkoumání systému iTunes Genius Goldman hovoří o použití algoritmů latentního faktoru. Zejména algoritmy latentního faktoru mají tendenci velmi dobře fungovat na obrovských souborech dat s obrovským počtem rozměrů a velkým šumem, říká Goldman.

Latentní faktory jsou to, co se otřese, když provádíte určitý druh statistické analýzy, nazývané a faktorová analýza , na sadě dat, hledání skrytých, neviditelných proměnných, které způsobují odchylky ve všech různých proměnných, které zkoumáte. Řekněme, že variabilita v tuctu různých proměnných je způsobena pouze čtyřmi nebo pěti skrytými proměnnými – to jsou vaše latentní faktory. Způsobují, že se mnoho dalších proměnných pohybuje ve více či méně zamykacích krocích.

Objevování skrytých nebo latentních faktorů ve vaší datové sadě je praktický způsob, jak snížit velikost problému, který musíte vypočítat, a funguje to, protože lidé jsou předvídatelní: lidé, kteří mají rádi Emo hudbu, jsou smutní a smutní lidé mají rádi také soundtracky. k filmovým verzím upířích románů, které jsou o touze atd. Můžete si to představit jako matematické vyjádření stereotypu – jen to funguje.



Pokud chcete jít na toto téma opravdu hluboko, Goldman vám doporučuje přečíst papíry který vzešel z milionové ceny Netflix, kterou vyhrálo spojení týmů vedených inženýry z AT&T. Jejich úkolem bylo vylepšit motor doporučení Netflixu a jednou z jejich primárních inovací bylo snížení výpočetní náročnosti algoritmů používaných v motorech pro doporučení.

Dříve bylo množství výpočtů potřebné k párovému porovnání libovolných dvou položek v knihovně Netflixu (a pravděpodobně i Apple) škálováno jako kvadratická funkce počtu porovnání, která měla být provedena. Ale tým AT&T přišel na to, jak přepsat základní algoritmus, aby se problém škáloval pouze lineárně s množstvím zahrnutých dat. Takže cokoliv Nové datové centrum společnosti Apple pravděpodobně to není pro výpočet výsledků Genius.

skrýt