211service.com
Jak naprawdę działa iTunes Genius
Odkąd funkcja ta zadebiutowała w 2008 roku, było dużo spekulacja o tym, jak iTunes Genius realizuje swoją magię tworzenia list odtwarzania. Teraz inżynier w Apple, który pracuje w zespole iTune Genius, ujawnił kilka kuszące wskazówki – rzadkie ujawnienie dla niesławnej tajnej firmy.
Podsumowując to, co Steve Jobs powiedział wcześniej o iTunes Genius, inżynier Apple, Erik Goldman, pisze w swoim post na Quora że punktem wyjścia dla usługi Genius jest pakiet danych o użytkowaniu – jakie utwory użytkownik posiada w swojej bibliotece (i przypuszczalnie jak często je odtwarza) – przesłany z aplikacji iTunes, który jest złożony w większy baza użytkowników i piosenek.
Zasadniczo twoja biblioteka ścieżek jest porównywana z bibliotekami ścieżek wszystkich innych użytkowników Genius. Apple następnie uruchamia zestaw wcześniej tajnych algorytmów, które Goldman opisał jako proste algorytmy rekomendacji podobne do tych używanych przez inne usługi, takie jak Netflix gdy sugeruje użytkownikowi filmy do obejrzenia teraz lub dodania do swojej królowej, aby wygenerować statystyki dla każdej piosenki. Te statystyki są obliczane globalnie w regularnych odstępach czasu i przechowywane w pamięci podręcznej, zauważa Goldman, ponieważ dane dotyczące podobieństwa dowolnych dwóch utworów zmieniają się powoli – zakłada się, że jedynym powodem, dla którego w ogóle się to zmienia, są zmieniające się gusta słuchaczy. wprowadzenie nowych utworów i artystów.
Goldman żartuje, że gdyby powiedział ci, jak działa Genius, musiałby cię zabić (a przynajmniej mieć oddział policjantów napadnij na twój mózg odzyskać prawowitą własność Apple), ale nadal opisuje, jak program działa.
Goldman mówi, że aby odkryć, jak działa iTunes Genius, przyjrzyj się algorytmom wyszukiwania informacji, zwłaszcza tym, które wykorzystują model przestrzeni wektorowej. Ale zanim będziesz mógł porównać czynniki, takie jak częstotliwość konkretnego wykonawcy lub gatunku w bibliotece użytkownika lub na listach odtwarzania, w bibliotekach iTunes za pomocą modelu Vector-Space, potrzebujesz sprytnego sposobu na zdefiniowanie czynnika, który nadaje większą wagę rzeczom to naprawdę ma znaczenie.
Prostym sposobem prawidłowego porównania współczynników wagi jest to, co jest znane jako termin częstotliwość-odwrotność dokumentu częstotliwość (tf-idf). Jest to po prostu sposób na porównanie, jak często dany czynnik występuje w pojedynczym dokumencie (lub utworze lub bibliotece) z tym, jak często ten czynnik występuje w większym ciele, takim jak suma wszystkich bibliotek iTunes przechowywanych na serwerach Genius. Tak więc czynnik, który występuje dość często w bibliotece danego użytkownika – na przykład powinowactwo do niejasnego pasma indy – będzie zwykle silniejszym wyznacznikiem, chyba że zdarza się również dość często w całym zbiorze danych – ponieważ miałoby to miejsce, gdyby czynnikiem było powinowactwo do Beatlesów.
Po posortowaniu wag tf-idf możesz je przedstawić w modelu przestrzeni wektorowej jako wektory.
W tym przykładzie (dzięki uprzejmości Wikipedia ) dwa różne dokumenty (lub utwory) mają wszystkie swoje różne wagi tf-idf reprezentowane jako pojedynczy wektor (np. d1), który można następnie porównać z drugim dokumentem / wektorem (np. d2) i zapytaniem (q) – na przykład które z tych dwóch piosenek najbardziej przypomina ten, przy którym właśnie kliknąłem przycisk „geniusz”. Ten, który jest bliższy twojemu wektorowi zapytania, jest bardziej podobny.
Zagłębiając się w system iTune Genius, Goldman opowiada o wykorzystaniu algorytmów ukrytych. Zwłaszcza algorytmy oparte na czynnikach utajonych działają bardzo dobrze na ogromnych zestawach danych o ogromnej liczbie wymiarów i dużym szumie, mówi Goldman.
Czynniki ukryte są tym, co się trzęsie, gdy wykonujesz szczególny rodzaj analizy statystycznej, zwanej a Analiza czynników , na zbiorze danych, szukając ukrytych, niewidocznych zmiennych, które powodują zróżnicowanie wszystkich badanych zmiennych. Powiedzmy, że zmienność tuzina różnych zmiennych okazuje się być spowodowana zaledwie czterema lub pięcioma ukrytymi zmiennymi – to są twoje ukryte czynniki. Powodują, że wiele innych zmiennych porusza się mniej lub bardziej blokująco.
Odkrywanie ukrytych lub ukrytych czynników w zestawie danych to wygodny sposób na zmniejszenie rozmiaru problemu, który trzeba obliczyć, i działa, ponieważ ludzie są przewidywalni: ludzie, którzy lubią muzykę Emo, są smutni, a smutni ludzie również lubią ścieżki dźwiękowe do filmowych wersji powieści o wampirach, które opowiadają o tęsknocie itp. Możesz myśleć o tym jako o matematycznym wyrazie stereotypu – tylko to działa.
Jeśli chcesz zagłębić się w ten temat, Goldman sugeruje przeczytanie papiery to wynik milionowej nagrody Netflix Prize, którą wygrała kombinacja zespołów kierowanych przez inżynierów z AT&T. Ich wyzwaniem było ulepszenie silnika rekomendacji Netflix, a jedną z ich głównych innowacji było zmniejszenie intensywności obliczeniowej algorytmów wykorzystywanych w silnikach rekomendacji.
Wcześniej ilość obliczeń potrzebnych do porównania parami dowolnych dwóch elementów w bibliotece Netflix (i prawdopodobnie Apple) była skalowana jako funkcja kwadratowa liczby porównań do wykonania. Jednak zespół AT&T wymyślił, jak przepisać fundamentalny algorytm, aby problem skalował się liniowo tylko w zależności od ilości danych. Nieważne Nowe centrum danych Apple jest za, prawdopodobnie nie służy do obliczania wyników Genius.