Перемножив все возможные варианты настроек, получается около 180 различных комбинаций. Это означает, что внутри одной Моей волны существует множество различных подалгоритмов, способных адаптироваться под конкретные предпочтения пользователя.
Особое внимание стоит уделить настройке «Характер», а именно её пункту «Незнакомое». Включая эту настройку, алгоритм сосредоточится на предложении новых и ранее неизвестных композиций, что позволяет оценить качество рекомендательной системы. Недавно «Незнакомое» получило новый ранжирующий алгоритм, который смелее предлагает новые композиции, соответствующие музыкальным вкусам пользователя.
Для поиска новых композиций сервис использует гибридный подход, объединяющий несколько методов: коллаборативную фильтрацию, анализ контента и фильтрацию на основе знаний о пользователе.
1. Анализ поведения пользователя
Для начала алгоритм использует данные о пользователе: его любимые жанры и исполнители, историю последних прослушиваний, частота прослушивания тех или иных треков и многие другие паттерны поведения. На основе этих «долгосрочных» данных, алгоритм учитывает конкретные действия пользователя, например, последовательность воспроизведения треков, отметки лайков и частоту прослушивания.
2. Анализ контента
Вторая важная составляющая – анализ самой музыки. Сервис преобразует трек в цифровой аудиовектор, разбивая его на частотные диапазоны и создавая спектрограмму. Эти данные передаются в нейросеть, которая создает аудиовектор, содержащий информацию о песне, жанре и других характеристиках. Похожие по звучанию треки находятся рядом друг с другом в многомерном векторном пространстве. Этот метод позволяет алгоритму детально анализировать каждую композицию, улучшая точность рекомендаций.
3. Коллаборативная фильтрация
Алгоритм также учитывает обезличенные данные миллионов пользователей, анализируя их музыкальные предпочтения. На основе этого создается матрица взаимодействий, которая отображает все взаимодействия пользователя с сервисом. Алгоритмы машинного обучения обрабатывают эти данные и передают их в обобщенную модель, отвечающую за рекомендации.
4. CatBoost
Все три типа фильтрации объединяются в алгоритм машинного обучения под названием CatBoost, который генерирует для каждого пользователя персонализированную последовательность треков с учётом множества факторов. Эта технология применяется практически во всех сервисах Яндекса, связанных с рекомендательными системами.