Статья опубликована в рамках: Научного журнала «Студенческий» № 23(277)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5
РЕКОМЕНДАТЕЛЬНЫЕ СИСТЕМЫ МУЗЫКАЛЬНЫХ СЕРВИСОВ
АННОТАЦИЯ
Рекомендательные системы в музыкальных сервисах, таких как Spotify, Apple Music и Яндекс.Музыка, играют ключевую роль в подборе музыки, соответствующей предпочтениям пользователей. Эти системы используют различные алгоритмы для анализа данных о прослушиваниях, взаимодействиях пользователей и характеристиках музыки. В этой статье мы рассмотрим основные методы, используемые в рекомендационных системах, и их преимущества и недостатки.
Ключевые слов: фильтрация, спектрограмма, система.
Рекомендательные системы музыкальных сервисов, таких как Spotify, Apple Music и Яндекс.Музыка, используют различные алгоритмы и методы для анализа данных о прослушиваниях, взаимодействиях пользователей и характеристиках музыки. Основная цель этих систем – предложить музыку, которая соответствует предпочтениям пользователей.
Рекомендации по музыке, в частности, представляют собой интересную задачу из-за большого количества разнообразных жанров и склонности пользователей к последовательному потреблению музыки. Кроме того, относительно короткая продолжительность музыки, в отличие от фильмов или книг, делает анализ аудиозаписей сложной задачей. Однако это также означает, что песни являются "одноразовыми", что снижает наказание за плохую рекомендацию.
В настоящее время у Spotify 286 миллионов активных пользователей, 50 миллионов треков и более 4 миллиардов плейлистов. Одна из причин, по которой Spotify пользуется большим успехом среди других онлайн-платформ для потокового воспроизведения музыки, - это плейлист "Discover Weekly". Каждый понедельник Spotify предлагает миллионам своих пользователей 30 новых рекомендаций песен.
Существует два основных алгоритма, которые используются в рекомендательных системах: коллаборативная фильтрация и контентная фильтрация.
Коллаборативная фильтрация — это метод рекомендательных систем, который основывается на анализе взаимодействий между пользователями и объектами. Цель заключается в том, чтобы рекомендовать пользователю объекты, которые, вероятно, ему понравятся, основываясь на том, что подобные пользователи выбрали или оценили.
Коллаборативная фильтрация может работать двумя основными способами:
На основе пользователей (user-based):
В этом подходе система ищет пользователей, которые схожи с текущим пользователем на основе их предпочтений. Например, если два пользователя оценили фильмы или товары схожим образом, то система считает, что они имеют сходные интересы. После этого система рекомендует объекты, которые один из этих пользователей предпочел, но которые еще не оценил или не выбрал другой.
Один пользователь слушал песни A, B, C и D. Вам нравятся песни B, C, D и E. Система понимает, что у вас обоих одинаковый музыкальный вкус, и предлагает послушать песню A. В свою очередь, система другому пользователю предлагает послушать песню E.
Рисунок 1. Коллаборативная фильтрация
Здесь система ищет объекты, которые были оценены или выбраны схожим образом. Например, если два фильма часто оцениваются одинаковыми пользователями, система будет рекомендовать пользователю второй фильм, если он оценил первый, даже если они могут быть разных жанров.
В качестве исходных данных Spotify использует количество прослушиваний песен пользователями. Эти данные организованы в разреженную матрицу.
Рисунок 2. Рейтинговая матрица
Записи в рейтинговой матрице R представляют собой количество раз, которое пользователь (строка) прослушал песню (столбец).
Эта матрица, называемая матрицей рейтингов (R), преобразуется в две матрицы - матрицу предпочтений (P) и матрицу уверенности (C).
Пусть рейтинговая матрица R имеет элементы rui обозначающие количество прослушиваний для пользователя u и песни i.
Матрица предпочтений P имеет элементы pui
Переменная предпочтения указывает, слушал ли пользователь u когда-либо слушал песню i и вычисляется следующим образом:
(1)
Это означает, что если pui имеет значение 1, пользователь слушал эту песню. Если она имеет значение 0, то пользователь не прослушивал эту песню.
Матрица уверенности C имеет элементы cui. Переменная уверенности показывает, насколько мы уверены в данном предпочтении. Она является функцией количества воспроизведений, поскольку песни с большим количеством воспроизведений с большей вероятностью будут предпочтительными. Если песня никогда не игралась, переменная уверенности будет иметь низкое значение.
(2)
где I(x) – индикаторная функция, a и e гиперпараметры.
Матрица R факторизуется в произведение двух матриц (X и Y) с помощью алгоритма взвешенной матричной факторизации (WMF).
Строки матрицы X(xu) и столбцы матрицы Y(yi) обозначают представления латентных факторов пользователей и песен.
Латентные факторы находятся путем минимизации объективной функции, представленной следующим образом:
(3)
λ - параметр регуляризации. Он состоит из взвешенного по доверию члена средней квадратичной ошибки и члена регуляризации L2. Для оптимизации используется метод альтернирующих наименьших квадратов.
Рекомендации для каждого пользователя составляются путем нахождения "K" ближайших векторов песен для каждого вектора пользователя с помощью алгоритма приближенного ближайшего соседа. Аналогично, похожие песни могут быть найдены с помощью того же алгоритма для каждого вектора песни.
Подводя итог, можно сказать, что коллаборативная фильтрация анализирует как ваше поведение, так и поведение других людей, чтобы определить, есть ли у вас схожие вкусы.
Коллаборативная фильтрация также использует разные техники для измерения сходства, такие как косинусное сходство, корреляция Пирсона или евклидово расстояние. Эта информация затем используется для создания рекомендаций.
Преимущества коллаборативной фильтрации:
Она не требует информации о самих объектах, таких как их описание, жанр или другие метаданные. Рекомендации строятся исключительно на основе пользовательских взаимодействий.
Недостатки:
Скалируемость: С ростом количества пользователей и объектов, вычислительные ресурсы, необходимые для расчета рекомендаций, могут резко возрастать.
При этом редкий контент нельзя рекомендовать случайным образом, мало кто обрадуется, если у него в плейлисте просто так появится немецкий краут-рок
Можно использовать метаданные, которые приходят от правообладателя вместе с треком: жанр, альбом и год выпуска. Жанр — это полезная информация: она не даёт шансону затесаться в рекомендации для любителя классической музыки.
Однако построить таким образом хорошую рекомендацию не выйдет. Во-первых, жанр — это субъективная категория. Во-вторых, существует множество поджанров: обычные люди различают десяток жанров, а правообладатели — несколько тысяч. Их сложно сгруппировать и сложно выбрать среди них похожие, и, к сожалению, эта проблема не всегда решается.
Контентная фильтрация — это метод рекомендательных систем, который основывается на характеристиках объектов. Этот подход рекомендует пользователям объекты, которые похожи на те, что они уже оценили или предпочли. В отличие от коллаборативной фильтрации, контентная фильтрация фокусируется на анализе самих объектов, а не на взаимодействиях между пользователями.
Контентная фильтрация работает следующим образом. Сначала система определяет ключевые характеристики объектов. Это могут быть атрибуты, такие как жанр, автор, ключевые слова, описание, теги, и другие метаданные. На основе объектов, которые пользователь оценил или использовал, система создает его профиль предпочтений. Профиль может содержать информацию о характеристиках объектов, которые пользователь предпочитает.
Система также создает профили для каждого объекта, используя их характеристики.
Система сравнивает профиль пользователя с профилями других объектов. Если профиль объекта имеет характеристики, схожие с предпочтениями пользователя, то этот объект будет рекомендован.
На основе степени сходства между профилем пользователя и профилями объектов, система создает список рекомендаций. Объекты, которые ближе всего к предпочтениям пользователя, имеют более высокий приоритет в списке рекомендаций.
Рисунок 4. Пример спектрограммы
Spotify обрабатывает необработанное аудио, преобразуя его в спектрограмму мелодий и пропуская через сверточную нейронную сеть (CNN). Спектрограмма mel - это временно-частотное представление аудио, в котором частоты преобразуются в шкалу mel. Шкала mel - это нелинейная шкала, которая в точности повторяет слуховой отклик человека.
Эта архитектура включает в себя четыре конволюционных слоя и три слоя с полным подключением.
Рисунок 5. Пример CNN
После того как спектрограмма проходит через эту сеть, она выдает представление о песне, включая такие характеристики, как предполагаемая временная подпись, ключ, режим, темп и громкость.
Поэтому, когда обнаруживается, что новая песня имеет схожие параметры с другими понравившимися вам композициями, Spotify добавляет ее в ваш плейлист [1, c. 8].
Преимущества контентной фильтрации:
Система работает даже если пользователь – единственный, кто взаимодействует с контентом.
Пользователь получает рекомендации, которые отражают его личные вкусы, что может быть более предсказуемым.
Недостатки:
Поскольку рекомендации основаны на уже существующих предпочтениях, система может не предлагать что-то новое или уникальное.
Spotify также использует технологию обработки естественного языка (NLP). Эти модели анализируют новостные статьи, блоги и онлайн-обзоры, чтобы составить список наиболее часто используемых дескрипторов для конкретной песни или исполнителя.
Каждый из этих дескрипторов, называемых "культурными векторами", связан с весом, который определяет его относительную важность для данной песни или исполнителя.
Подобно коллаборативной фильтрации, эти лучшие термины используются для поиска общих черт между исполнителями, песнями и предпочтениями пользователей.
Список литературы:
- Eriksson, M., Spotify Teardown: Inside the Black Box of Streaming Music / M. Eriksson, R. Fleischer, A. Johansson, P. Snickars, P. Vonderau // The MIT Press. – 2019. – P. 210–234
Оставить комментарий