«Эволюция музыки»: Пара слов о рекомендательных алгоритмах стриминговых сервисов
Более того, к концу 2015 года количество подписчиков музыкальных стриминговых сервисов составило 68 миллионов по всему земному шару, и эта цифра продолжает расти. Сегодня на этом рынке работает множество популярных компаний начиная с зарубежных Spotify, Pandora, 8tracks и заканчивая российскими Яндекс.Музыка и Zvooq.
Почему пользователи так любят стриминг? Потому что это удобно — не нужно заморачиваться с физическими носителями, не нужно скачивать музыку к себе на устройство — все композиции находятся буквально в шаговой доступности. Но одна из главных причин популярности стриминга — это музыкальные рекомендации.
/ фото Patrik Nygren CC
Думается, что каждому из нас надоедает музыка, которую мы «заслушали до дыр», хочется чего-то нового, потому такие сервисы, как, например, Tidal и Apple Music, предлагают подборки из песен, подходящих под наши музыкальные вкусы.
Чтобы составить плейлист, компаниями используется колоссальное количество данных, обрабатываемых машинными алгоритмами. Брайан Уитман (Brian Whitman), старший научный сотрудник в Spotify и соучредитель Echo Nest, всю свою профессиональную карьеру «учит компьютеры музыке».
Он выделяет четыре подхода к анализу музыки для составления рекомендаций: использование данных о популярности композиции (количество прослушиваний и покупок песни) и мнений критиков, а также анализ текста и акустический анализ. Первые два типа анализа имеют один существенный недостаток — они не способствуют продвижению музыки малоизвестных исполнителей, потому мы уделим внимание двум оставшимся вариантам.
Акустический и текстовый анализ
Можно сказать, что история компании Echo Nest началась в тот момент, когда Уитман, будучи еще студентом, создал программу, анализирующую музыкальные блоги с применением технологий обработки естественных языков (natural language processing). Сегодня его алгоритм развился и постоянно изучает веб, просматривая около 10 миллионов страниц, имеющих отношение к музыке.
Любая фраза, которая появляется в интернете и имеет отношение к музыке, проходит через системы Echo Nest, выискивающие дескрипторы, ключевые слова и связанные с ними термины. При этом каждый термин имеет собственный вес, который говорит о его важности (по сути, он представляет собой вероятность того, что кто-то опишет песню этим словом). Списки рекомендаций формируются путем сопоставления выявленных дескрипторов с дескрипторами любимых песен пользователей.
Что же касается второго способа формирования рекомендаций — акустического анализа, то он не применяется сервисом в чистом виде. Пока еще нельзя говорить о качественном распознавании, например, музыкальных инструментов. Однако несмотря на это анализ сигнала играет очень важную роль в работе рекомендательных алгоритмов. Например, люди хотят, чтобы плейлисты были «гладкими»: после тихой и спокойной песни не может идти громкая, а в плейлистах, составленных для пробежек, темп должен постепенно возрастать.
Анализ песни начинается с того, что звук разбивается на небольшие кусочки, размером от 200 мс до 4 с, в зависимости от того, как быстро изменяется «рисунок» песни. Затем для каждого сегмента определяется громкость, тембр, также выявляются используемые музыкальные инструменты; устанавливается к какой части композиции (припев, куплет и т. д.) относится этот сегмент.
Далее, полученная информация объединяется и анализируется с помощью инструментов машинного обучения. Это дает нам возможность понять песню на «высоком уровне. После этого композиция получает особые метки (энергичность, живость и другие), которые выполняют описательную функцию.
Именно благодаря разработке таких мощных технологий компании Echo Nest удалось стать мировым лидером в алгоритмах анализа музыки. По этой причине в 2014 году её и купили титаны музыкального стриминга Spotify. Spotify — это мировой лидер стриминга музыки с 30 миллионами платных подписчиков. При этом компания получает тысячи восторженных отзывов о своих рекомендательных сервисах.
Своим успехом компания обязана коллаборативной фильтрации (collaborative filtering). Этот подход позволяет предсказывать предпочтения пользователя на основе его истории потребления контента — лайков, количества прослушиваний и др. — путем сравнения с данными других пользователей. Таким образом, алгоритм выявляет песни, идеально подходящие клиентам без вмешательства человека.
Будущее рекомендательных сервисов
Однако есть технологии, способные вывести рекомендательные сервисы на совершенно иной уровень. Сандер Дилеман (Sander Dieleman), исследователь в Google DeepMind, был соавтором статьи, в которой утверждалось, что нейронные сети и глубинное обучение могут справляться с рекомендациями аудио куда эффективнее коллаборативной фильтрации.
Дилеман начал исследовать возможности сверточных нейронных сетей (convolutional neural network) с 7–8 слоями. В частности, он использовал алгоритм t-SNE, который позволяет визуализировать многомерные данные. Сети, которые тренировал Дилеман, научились определять музыкальные инструменты, аккорды, и даже гармонии и прогрессии. Первый слой сети выделил 256 различных фильтров, например, «пение вибрато» и «бас-барабан». Более того, сеть самостоятельно нашла и объединила в плейлисты китайские поп-песни.
Решение Дилемана хорошо себя показало, и в случае успешного тестирования на реальной системе будет использоваться совместно с данными других алгоритмов. Однако стриминговые сервисы не останавливаются только на анализе песен и персональных музыкальных предпочтений клиентов.
Примерно год назад компания Spotify объявила о намерении собирать данные о местоположении, контактах и голосе пользователей. Спустя шесть месяцев, стало известно еще об одном нововведении: Spotify объединила усилия с компанией Runkeeper, с целью использовать физические данные клиентов для подборки треков, идеально подходящих к их темпу бега. Еще несколько лет назад такое показалось бы фантастикой.
Возможно, в будущем с помощью сенсоров движения в телефонах можно будет определить, бежите ли вы, едете на велосипеде или ведете машину. Сенсор частоты сердцебиения поможет определять степень вашего напряжения или волнения. Помимо этого многое могут сказать и данные о физическом состоянии пользователей во время сна.
Предпочтения, пульс, движение, сон. Что будут учитывать рекомендации будущего — погоду, уровень дофамина в крови? Существующие технологии уже кажутся невероятными, однако есть все предпосылки тому, что все станет гораздо невероятнее.