под капотом алгоритмов спотифая [часть 1]
наткнулся на интервью одного из отцов «грозно-умных» алгоритмов спотика Гленна Макдональда, в котором он вывалил довольно много любопытной инфы о том как устроена основная фича сервиса сегодня. есть, что пожевать так что делю на несколько частей.
какие действия тщательно отслеживает система?
• что вы слушаете: сервис записывает, какие треки, альбомы и плейлисты юзер слушает, а также жанры музыки, к которым он обращается. этот набор данных позволяет платформе строить первичное представление о музыкальных вкусах слушателя.
• как долго вы слушаете: сервис отслеживает, как долго юзер слушает каждый трек — слушаете ли он его полностью или переключается на другой трек раньше. например, если пользователь слушает трек только несколько секунд перед тем, как пропустить его, это сигнал для спотика, что песня ему не понравилась.
• повторное прослушивание: платформа отслеживает, как часто юзер возвращается к определенным трекам. если он часто ставит одну и ту же песню, это считается сильным индикатором того, что она ему действительно нравится (спасибо, кэп).
• пропуски треков: система отслеживает, какие треки юзер пропускает и насколько быстро. это помогает исключать музыку, которая ему не интересна из будущих рекомендаций.
• добавление в плейлисты: когда юзер добавляет трек в свои личные плейлисты, это указывает на его явный интерес к этой песне. спотик использует эту информацию, чтобы лучше понимать, какие песни слушателю особенно дороги.
• взаимодействие с радио и рекомендациями: сервис также отслеживает, как юзер взаимодействует с встроенными функциями рекомендаций, такими как Spotify Radio или Discover Weekly. система анализирует, как часто он слушает предложенные треки и какие из них его интересуют.
как анализируются сами аудиофайлы?
• энергия трека: спотифай анализирует уровень интенсивности трека. например, динамичная песня с громкими ударными и быстрой мелодией будет иметь высокий уровень энергии, что может быть интересно для тех, кто любит активную музыку.
• танцевальность: платформа определяет, насколько трек подходит для танцев. этот показатель учитывает темп, ритм и другие элементы, которые делают трек «танцевальным». интересно, что в данном контексте взято за основу танцевальности.
• валентность (настроение песни): этот параметр показывает, насколько трек звучит позитивно или грустно. треки с высокой валентностью звучат более радостно, а с низкой — меланхолично (спасибо, кэп).
• темп: сервис также анализирует скорость песни, измеряемый в бпм (спасибо, кэп), что помогает рекомендовать музыку с похожим ритмом.
как это выглядит в коде показывал ранее здесь. на самом деле параметров гораздо больше, алгоритм оценивает и громкость, и длительность, и много чего еще.
интервью действительно интересное т.к. перс был частью стартапа по музыкальной аналитике The Echo Nest. начиная именно с его покупки спотифаем и начались серьезные пляски с реками в сервисе 10 лет назад. кому не лень посмотрите сами, ссылка выше. кому лень подождете следующих постов.