Как можно было бы реализовать "гениальный" алгоритм Apple iTunes?

StackOverflow https://stackoverflow.com/questions/1430501

  •  07-07-2019
  •  | 
  •  

Вопрос

Меня всегда интересовало, как и каким наилучшим способом реализовать функцию "Genius" в iTunes.

Вероятно, я мог бы сделать это грубой силой, но мне просто интересно, есть ли у кого-нибудь какое-нибудь представление.

Спасибо.

Это было полезно?

Решение

Алгоритм Genius - это пример рекомендательной системы, которая является актуальной темой в системах электронной коммерции.Настолько, что Netflix получил приз в 1 миллион долларов, который в течение нескольких лет позволял улучшить их систему рекомендаций всего на 10%.

В iTunes у вас есть коллекция музыки.Genius может делать предположения, что если у вас есть эта музыка, то она вам должна нравиться.Если у достаточного количества людей есть песня B, у которых есть песня A, тогда Genius может сказать, что если у вас есть песня A, вам, вероятно, понравится песня B.

Просто наличие песни было бы довольно слабой рекомендацией.Было бы лучше, если бы пользователь оценил эту музыку, чтобы вы могли повысить эффективность "рекомендации" на этой основе.

Я бы настоятельно рекомендовал прочитать Если вам Понравилось Это, вам Обязательно понравится и Это в качестве хорошего руководства по системам рекомендаций.

Другие советы

Шаг 1- собирайте данные по всем кликам / воспроизведениям для каждого пользователя.Это было бы очень много данных.

Шаг 2- создайте систему формирования рейтинга / списка рекомендаций.Для каждой песни создайте список ранжирования / типа приоритета со всеми продуктами / песнями, которые люди просматривают / играют.В простом примере скажем, что ни у кого из людей не совпадает комбинация или количество времени воспроизведения каждой песни.

Шаг 3- установите лимит (скажем, top10), чтобы показывать ваши рекомендации из приведенного выше списка для песни.

Это было не так уж сложно, хитрость или гениальность заключается в добавлении весов к списку, который вы составляете на шаге 2.Как ваша система рекомендаций работает с весами (например, для рейтинга страницы).

Возможно, я разочаровал бы инженеров по интеллектуальному анализу данных, дав такое наивное / простое объяснение чрезвычайно сложной области компьютерных наук.Прошу меня простить.:)

Взгляните на это, частота термина – обратная частоте документа, это метод, который ранжируется в соответствии с тем, что вам нравится, чем более "уникальным" является понравившаяся песня, тем большее влияние она оказывает на рекомендации.

В принципе, если вам нравится только U2 и вы играете в него, алгоритму / программе будет сложно порекомендовать что-то особенное, что вам по душе.

С другой стороны, если вы будете более разнообразны в использовании iTunes, те менее известные группы, которые вам действительно нравятся, будут иметь больший вес, поскольку они больше изолируют вас от масс.

Важный момент:у вас должны быть данные из Лоты пользователей.Вы не смогли бы сделать это самостоятельно с помощью грубой силы (если только вы не имеете в виду создание этого полностью вручную).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top