Всегда удивляло, почему спотифай настолько плох в рекомендациях и ещё больше удивляло, почему почти никто кроме меня так не считает? Допустим, если я слушаю, второй концерт Рахманинова, то спотифай мне рекомендует, допустим, прелюдии Шопена или моменты Шуберта. Но это бездарная рекомендация (слишком очевидная). При этом есть номинально очень отдалённая от Рахманинова музыка, которая может лежать очень близко к нему в пространстве предпочтения (ну, прости господи, аргентинские танго или "волшебные голоса Болгарии" и т.п.).
Интроспекция показывает, что алгоритм должен опираться преимущественно на содержание композиции, а не метаданные (теги "романтическая музыка", "фортепиано", "ХХ век", "Россия" и т.п). Интуитивно это вполне естественная мысль, идеальная функция предпочтения имеет только один аргумент - содержание композиции. Реальные алгоритмы работают
не так. Метаданные оказываются лучше, видимо, просто потому что в них нету шума. Диельман и Бернхардсон - умные люди (последний, кстати, программист-суперзвезда, золотой медалист всемирной олимпиады), и они топят за метаданные.
Возможно, для большинства людей мета-классификатор является оптимальным, но я точно знаю, что в моём случае это не так. По сути, мой классификатор, выраженный в языке выглядит так: "композиция, усиливающая и облегчающая реализацию воображаемого образа." В более нейрофизиологическом виде это звучит как: "композиция с гармонической подписью, вызывающей сильную лимбическую реакцию." Какая именно гармоническая подпись - не суть важно, хоть можно теоретически всё это проанализировать, и это окажется частным случаем разрешения какого-то напряжённого аккорда с определённой предшествующей прогрессией или просто модуляцией совпадающей с какой-то композиционной вехой (кульминацией и т.п.).
Соль в том, что теперешние классификаторы не опираются преимущественно на гармоническую прогрессию. Скорее всего, такой классификатор просто не очень хорош (для большинства случаев). Ну какая гармония у реперов или прочей дурости. Хотя, допустим, в записи Диельмана есть проблеск - один из его классификаторов является чувствительным к вокальным большим терциям (интервал в два тона). Стоит заметить, что сама терция может быть признаком низкого уровня для натурального мажора, в котором тоника, медианта и доминанта как раз находятся на расстоянии двух тонов друг от друга. Сам факт, что люди приходят к классификаторам такого низкого уровня может означать, что этот уровень абстракции отражает разрешающую способность человеческого предпочтения (лично я думаю именно так). Массовость музыкального потребления и отсутствие массового музыкального образования, кстати, наводят на эту мысль до всяких сетей.
Мой подход к разработке классификатора предпочтиений был бы таким: набрать у людей композиций с ими же выделенными предпочитаемыми кульминациями или местами эмоционального напряжения/разрешения (часто бывает, что произведение нравится не целиком, или вообще не нравится; в музыке больших форм это почти всегда так). Возможно, эти данные должны быть сняты с высокой частотой. У большинства моих любимых композиций есть промежуток в половину секунды с максимальным эмоциональным содержанием. Так вот эти загруженные эпизоды и надо скармливать в сеть. Грубо говоря, если есть прелюдия Шопена, где до-минорный септаккорд разрешается в фа-мажор, и если я считаю, что это является субъективно самой стимулирующей частью композиции, то сеть должна это знать. Зачем скармливать сети вступление или периоды, обслуживающие композиционные цели? Человек ведь слушает не в режиме диктанта музыкальной школы! То есть, что если музыка - очень шумная информация и наши классификаторы всё ещё плохи? Что если есть подгруппа пользователей, для которых метаклассификаторы - очень плохи?
Конечно, можно сказать, что на достаточно большой выборке достаточно большая сеть сама найдёт нужный классификатор, и возможно такой, про который вообще нет никакой теоретической базы, но почему бы не возвысить данные вручную?
Мне кажется, что музыка сама по себе, принципиально, не содержит признаки в очень сложной иерархии. Допустим, на картине чтобы придти от низшей статистики изображения (пиксель, мазок, ориентация линии) до семантической вершины (Иван грозный убивает своего сына) нужно, может, сто признаков, надстроенных один над другим (пиксель-линия-цилиндр-палец-рука-человек-человек в крови-....-убил ребёнка мужского пола). Сколько признаков есть у сонаты Бетховена? Что будет признаком самого высокого уровня? Сложно сказать, потому что нет строгой иерархии (по крайней мере в понятийном отражении) и главное, велика вероятность, что бит представляющий музыкальное предпочтение находится всего на уровне двух-трёх преобразований просто от сырой спектрограммы.
Я всего лишь говорю, что мы можем направить в рецепторное поле нейрона заведомо значимый участок композиции. А вдруг выстрелит?
Скорее всего, я наивные вещи говорю, но мне действительно кажется, что в рекомендации музыки должен быть прорыв, и это будет прорыв не через классификацию метаданных.