Иногда пишу научные статьи.
Но перед Новым годом хочется немного отдохнуть от брутальной серьезности науки.
А это значит, что можно написать что-то несерьезное и не совсем научное! Но – на основе данных и их статистического анализа, с графиками и воспроизводимыми результатами.
Введение
В конце года Яндекс Музыка подводит итоги: самые популярные песни, альбомы и исполнители.Я открыл результаты за 2020 год и понял, что у меня специфические вкусы: на 100 треков — одно совпадение.
Однако чему я удивляюсь? И понятно, что мой любимый жанр – А, любимые группы – Б и С, но все эти D, E, F, G, H я как-то не очень воспринимаю.
Но хорошо ли я разбираюсь в своих музыкальных вкусах? Я даже не помню, чем я занимался в начале года, а тем более какая музыка мне тогда нравилась – и тем более… К счастью, есть количественные методы, которые помогут пролить свет на тайны моего творчества.
предпочтения в музыке.
Яндекс музыка добилась не только общих, но и личных результатов.
У меня есть плейлист «Мой 2020».
Содержит 50 треков.
Вы можете проанализировать его статистически и посмотреть, каких исполнителей и жанров там больше всего, когда были выпущены песни, на каком языке написаны тексты и какие слова в них чаще всего встречаются.
Данные и методы
Сначала нужно собрать данные.Перенесла в таблицу порядковые номера в плейлисте, названия треков и исполнителей, затем зашла на страницу каждого трека и прописала жанр.
С годом выпуска пришлось повозиться: некоторые старые песни переиздаются, поэтому я проверил в Википедии.
С языком, наоборот, все сразу понятно.
Еще я сделал столбец с текстом: его тоже можно анализировать.
Тексты трех песен на финском языке мне найти не удалось - оставил поля пустыми.
Если бы песен было не 50, а 500, то сбор данных пришлось бы автоматизировать, но это делалось вручную.
В итоге таблица выглядит примерно так.
Первые три строки таблицы данных Теперь возьмем эту таблицу и проанализируем ее.
Но как лучше всего это сделать? Самый простой вариант – посчитать как есть.
Надо сказать, этот метод тоже дает кое-какие результаты.
Например, в плейлисте 27 исполнителей — в среднем по 1,9 трека на исполнителя.
Ну и относительное разнообразие.
При этом на каждого исполнителя приходится либо одна песня (их 15), либо три (из 11), и только у одной группы в плейлисте две песни.
Кроме того, можно сделать вывод, что больше всего песен на английском языке – 32. На немецком – 8, на русском – 7, а также 3 песни на финском языке.
Но есть тонкость.
Мы считаем песни равноценными.
Но на самом деле у нас есть плейлист, в котором песни расположены в определенном порядке.
Я не знаю, почему они так расположены.
Проще всего предположить, что это топ-50 самых прослушиваемых треков года.
Но это вряд ли: в плейлисте есть песни, которые я играл один-два раза, но нет песен, которые я играл каждый день в течение месяца.
Похоже, Яндекс собрал плейлист по хитрому алгоритму, где номер песни зависит не только от количества прослушиваний.
А может быть, количество прослушиваний вообще не имеет значения.
Но я так или иначе считаю, что песни в плейлисте идут от наиболее важных к наименее важным, даже если эта важность определена неясным образом.
Поэтому песни не равнозначны, и несоответствие необходимо учитывать.
Как учесть, что одни песни важнее других? Добавьте веса.
Проще говоря, напишите рядом с каждой песней цифру, характеризующую ее значимость.
Например, если есть две песни с весами 2 и 3 и одна песня с весом 7, то одна песня будет «перевешивать» две другие, поскольку ее вес (7) больше, чем общий вес двух других (5).
Выбрать вес можно разными способами.
Я перепробовал кучу вариантов.
В конце концов я остановился на этом.
Это логистическая функция.
На мой взгляд, этот график лучше всего характеризует субъективную значимость песен: вначале все они имеют примерно одинаковый и большой вес, затем в какой-то момент важность начинает резко снижаться, а в конце плейлиста вес снова примерно равен то же самое, но уже маленькое.
Вес первой песни почти единица, последней почти нулевой, средней ровно 0,5. Теперь, когда мы расставили веса, переходим к обычному анализу.
Результаты
Начнем с исполнителей.
Если помните, исполнители первых трех песен в таблице данных располагались в таком порядке: Lindemann, Lordi, Imagine Dragons. Как вы думаете, кто входит в тройку лучших исполнителей по общему весу песен?
Правильный ответ: Lindemann, Lordi и Imagine Dragons. Rammstein тоже очень близко, но всё равно на четвёртом месте.
Сампса Астала, находящийся на пятом месте, выглядит моим личным «прорывом года», ведь всего у него всего 16 песен, а первую из них я прослушал полтора месяца назад – и в тот месяц с половиной.
половину он поднялся до пятого места.
Перейдем к жанрам.
Есть Industrial & Rock Hallelujah и, возможно, Hard Rock Hallelujah.
Я понимаю, что с жанрами, наверное, не все идеально.
Меня смущают «иностранный рок» и «поп» — не слишком ли общие названия? Но я сам плохо разбираюсь в жанрах, поэтому оставил как на Яндекс музыке.
Я уже говорил о языках, но интересно посмотреть, влияют ли веса.
И они влияют!
Английский остался на первом месте, но обратите внимание на двукратный разрыв между немецким и русским: по количеству песен они отличаются всего на одну, но веса изменили это соотношение.
Финский почти наравне с русским, хотя песен на финском всего три, а на русском семь.
Наконец, давайте нарисуем график, показывающий годы выпуска песен.
Я нарисовал две линии: тонкую — без сглаживания, толстую — со сглаживанием.
Без сглаживания слишком много резких «пиков» — со сглаживанием хронология видна лучше.
Мне это немного напомнило схему волны цунами: в океане она низкая, потом нарастает к берегу.
Волновая диаграмма цунами Интересно, тогда где же в прошлом находится «эпицентр землетрясения», породившего эту волну? В 60-х? В джазе? (Я могу догадаться, каким должен быть ответ, но не скажу вам.
) На первый взгляд это все результаты, которые удалось выжать из моего небольшого набора данных.
Хотя нет, тексты еще есть.
С текстами можно сделать как минимум одну забавную вещь: посмотреть, какие слова встречаются чаще всего.
Тексты на русском и немецком языке я не анализировал, потому что их мало.
Ну, если быть до конца честным, я их проанализировал и понял, что результат искажен.
В русском языке самое распространенное слово — «внутри», потому что Distemper поет: «Ты настоящий только внутри, внутри, внутри».
В немецкой лирике на первом месте находится Москва благодаря «Чингисхану», а на втором — аллесфрессер из одноименной песни Линдеманна.
На английском языке 32 песни, поэтому результаты должны меньше зависеть от слов, которые повторяются в отдельных песнях.
Отмечу две технические детали анализа.
Сначала слова приводятся к исходной форме.
Это необходимо для того, чтобы считать слушаю, слушаю, слушаю и слушаю одним словом слушаю.
Во-вторых, из текстов убираются стоп-слова – те, которые встречаются чаще всего и не несут особого смысла, например: Я, он, есть, а, the. Я считал по-разному: сначала просто количество слов, потом tf-idf. Tf-idf означает «частота термина/обратная частота документов».
Это тоже способ присвоить вес, но не песням, а словам.
Некоторые слова часто встречаются не только в тексте данной песни – они часто используются вообще.
А некоторые слова редки, но сами они редко употребляются.
Tf-idf позволяет придать больший вес словам, которые редко используются, но важны для конкретного текста.
Можно было бы также использовать веса песен: слово из песни, стоящей на втором месте, имеет больший вес, чем слово из пятнадцатой песни.
Однако я думаю, что здесь слишком легко запутаться.
И вообще не факт, что важность слова зависит от важности песни: некоторые ценные фразы есть в песнях из последнего десятка.
Короче говоря, в итоге я просто нашел в текстах самые распространенные слова и нарисовал их в виде «облака слов».
Результат анализа текста оказался для меня несколько неожиданным.
Ладно, Линдеманн, индастриал и английский, но я бы никогда не подумал, что слова «сердце», «взять» и «чувствовать» будут самыми распространенными.
Может быть, мне все-таки стоило посчитать с tf-idf? Там голова и сердце будут вначале.
А дальше - языковая экзотика в виде слова countdown из The Final Countdown, а еще зомби из одноимённой песни Cranberry. В общем, без tf-idf лучше.
выводы
- Мои представления о собственных музыкальных вкусах несколько отличаются от моих реальных музыкальных вкусов.
Ну, или хотя бы из того, что я слушал в течение 2020 года.
- Группа года — Lindemann, жанр года — индастриал, песня года — Allesfresser.
- Чаще всего слушаю песни на английском языке, хотя не брезгую и песнями на других языках.
- Новые песни, как правило, для меня важнее, чем песни, вышедшие давно, но в истории музыки для меня также есть несколько значимых периодов.
Об одном я уже говорил: непонятно, как Яндекс музыка сделала «мой плейлист 2020».
Может быть, все это непонятным образом перепутано, ведь Могучая Нейронная Сеть™ была составлена по критериям, неизвестным даже разработчикам Яндекса.
Второй нюанс: нужно смотреть статистику не только Яндекса, но и ВКонтакте и немного музыки YouTube. У меня нет номеров ВКонтакте, но навскидку Лорди и Сампса Астала там должно быть много, а Линдеманна, наоборот, меньше.
Разрыв между Lindemann и Lordi небольшой, к тому же Lindemann в каком-то смысле продолжение Rammstein, а слушать их я начал в 2019 году, а Lordi — это «находка» исключительно 2020 года, потому что до середины 2020 года я был уверен Я никогда не буду никого слушать, но я никогда не буду слушать этих.
Lordi вышли на второе место всего за полгода, а если экстраполировать на год. Словом, выводы надо подкорректировать: эти природные монстры становятся моей группой 2020 года.
Группа Lordi в текущем составе Ну да ладно – они все-таки не такие уж монстры.
Во всяком случае, это старый состав группы.
Сампса Астала (Кита), Нико Хурме (Калма) и Леена Пейс (Ава) больше не входят в группу, поэтому могут показать свои лица и самого Мистера.
Лорди, ты не можешь Будет интересно сравнить, когда Яндекс Музыка пришлет письмо с «итогами 2020 года»: там обычно пишут, какая у вас любимая группа и песня, и сколько музыки вы прослушали всего за один год.
Направления дальнейших исследований
- Используйте больше методов анализа текста.
Облако слов выглядит хорошо, но есть гораздо более продвинутые методы: моделирование тем и анализ настроений.
Первый расскажет вам, о чем песни, а второй расскажет об их настроении.
К сожалению, я пока не знаю этих методов.
Еще боюсь, что они не справятся с переносным смыслом и отправят Fish On на «охоту и рыбалку», а AUSLÄNDER на «туризм и путешествия».
- Сравните себя с друзьями.
- Уговорить ВК и Яндекс сделать публичное API, чтобы выкачивать всю свою статистику и проводить исследования на полном наборе данных.
Это вряд ли сработает, к сожалению.
- Зарегистрируйтесь на Last.fm, чтобы не изобретать велосипед.
Кроме того, картинка на обложке — это тоже график, созданный с помощью ggplot2. Теги: #Визуализация данных #исследования #Развлекательные головоломки #статистика #музыка #Инфографика #визуализация #r #графики #ggplot2 #wordcloud
-
Полицейский, Эдвард Дринкер
19 Oct, 24 -
Последипломная Программа
19 Oct, 24 -
Экспериментируйте, Создавая Тренд Памяти
19 Oct, 24 -
Система Dns Будет Работать Быстрее
19 Oct, 24