Р.
Анализ текста.
Рэп Популярность многих современных рэп-исполнителей остается для меня и других приверженцев «старой школы» большой загадкой.
Постоянные споры о том, кто лучше, чьи тексты интереснее, чья музыка разнообразнее занимают умы многих пользователей Интернета.
Чтобы подтвердить эти споры не просто словами, а фактами, я проанализировал тексты четырёх российских рэп-исполнителей, используя язык программирования R. Некоторые из них были невероятно популярны в начале 2000-х.
Сейчас они по-прежнему привлекают своих слушателей, но, к сожалению, их становится все меньше.
А двое сейчас находятся на пике популярности и привлекают большую и преимущественно молодую аудиторию.
И мой дальнейший анализ покажет, что, учитывая используемую ими лексику, этот факт не является поводом для радости.
Выяснить, кто есть кто, будет довольно легко, ведь исполнители, чьи песни я использовал: Casta, Noize-Mc, Pharaoh и Morgenstern. Думаю, всем понятно, что я отнесу Касту и Шум к «старой школе», а Фараона и Моргенштерна к «новым».
Альбомы для анализа
Для анализа я выбрал все официальные студийные альбомы, выпущенные исполнителями (информация об альбомах взята с сайта www.wikipedia.com , вся литература в конце):- Каста: «Громче воды, выше травы»; «В глаза»; «Четырёхголовые крики»; «Недостаток ясен» — 74 трека.
- Нойз Мак: «The Greatest Hits Vol. 1"; "Последний альбом"; "Новый альбом"; "Protivo Gunz" "Confusion"; "Hard Reboot 3.0"; "Царь горы"; "Hiphopera: Orpheus & Vridika" - 160 треков.
- Фараон: «Уаджет»; «Флора»; «Долор»; «Фосфор» «Пинк Флойд»; «Похоронный»; «Правило» — 95 треков.
- Моргенштерн: «До того, как он стал знаменитым»; «Улыбнись, дурак!»; «Легендарная пыль» — 30 треков.
Возникает закономерный вопрос: как можно объективно и корректно сравнивать четыре альбома Касты и восемь альбомов Фараона? Все очень просто – после некоторых манипуляций, о которых я расскажу позже, объем слов станет более-менее сопоставимым.
Ведь, как всем известно, количество не равно качеству.
Для сбора самих слов я использовал сайт Genius.com и их API. К счастью, разработчики сервиса предоставляют открытый интерфейс прикладного программирования (API), позволяющий достаточно легко извлекать тексты песен (по исполнителям, альбомам) из базы данных для их последующего анализа.
Весь анализ проводился с использованием языка программирования R, плюс для стемминга (процесс поиска основы слова по заданному исходному слову) использовался Python, так как с кодировкой в R и mystem справиться не удалось.
программа (Windows 10 не очень любит дружить с UTF-8 и R, говорят при использовании Apple OS или Linux таких проблем не возникает).
До обработки.
Обзор текстов.
Количество слов Для загрузки текстов использовалась библиотека «genius».
Функция из этого пакета «genius_album» очень легко позволяет скачать сразу все тексты для альбомов.
Будьте осторожны и перепроверяйте, так как не все тексты песен всегда доступны для всех исполнителей; некоторые из них пришлось добавлять вручную.
После скачивания стало интересно, сколько вообще слов используется в песнях (вместе с местоимениями, предлогами, частицами и т. д.).
Затем мы сравним эти цифры с уже обработанными результатами по основам и стоп-словам.
Чтобы было проще понять соотношение количества альбомов и треков к количеству использованных слов, продублирую эту информацию еще раз:
- Noize Mc — 8 альбомов, 160 треков.
- Каста - 4 альбома, 74 трека.
- Фараон - 7 альбомов, 95 треков.
- Моргенштерн - 3 альбома, 30 треков.
Интересно, что у Pharaoh и Noise почти одинаковое количество альбомов (семь и восемь соответственно), но, как видно из графика, качество альбомов сильно различается как по количеству песен, так и по богатству музыкальных композиций.
словарный запас (57962 против 24184).
Чтобы минимизировать эту разницу и сделать сравнение более корректным и корректным, мы подсчитали, сколько слов в среднем использует тот или иной исполнитель в одной из своих песен:
- Нойз Мак – 362 слова.
- Каста – 388 слов.
- Фараон – 254 слова.
- Моргенштерн - 273 слова
А вот как выглядят топ-10 слов каждого исполнителя и количество упоминаний этих слов:
Как и следовало ожидать, без обработки «топ-слова» представляют собой предлоги, местоимения и союзы, которые не отражают никаких результатов и не несут особой смысловой нагрузки.
Поэтому на этом этапе ничего интересного или неожиданного не произошло.
Следующим этапом была обработка и подготовка текстов к анализу.
Процесс стемминга проводился с помощью программы mystem от Яндекса на Python, которая доступна каждому.
Этот шаг был сделан для того, чтобы понять, сколько уникальных слов используют художники и насколько широко они используют русский язык в своих текстах.
Ведь было бы ошибкой считать одно и то же слово в разных падежах несколько раз.
В этом проявляется вариативность и умение убеждать певца, а не широта его словарного запаса.
Также для получения более репрезентативного результата необходимо избавиться от стоп-слов, не несущих эмоционально-смысловой нагрузки (предлогов, местоимений, частиц и т. д.).
К сожалению, в пакетах R нет хороших библиотек, которые бы содержали стоп-слова для русского языка.
Хочу обратить ваше внимание на то, что автор сам должен определить, является ли то или иное слово стоп-словом и нужно ли его убрать.
Всегда внимательно просматривайте словари такого типа, чтобы не вычеркнуть нужное и полезное для вас слово.
Пакет «стопворды» поддерживает довольно много языков, но я предпочёл использовать слова с внешнего ресурса со своей модификацией.
После обработки
Как видно из графика, количество слов значительно уменьшилось после стемминга и удаления стоп-слов.Это неудивительно, учитывая, что почти все изначально самые популярные слова были остановлены.
В целом количество слов, оставшихся после стемминга и удаления стоп-слов, в процентах от исходного количества, у всех практически одинаковое.
Стоит отметить, что в группах они равны.
В «старой школе» это 55-58%, в «новой» 46-50%.
Очень важной и интересной информацией является количество уникальных слов для каждого исполнителя.
У Noize 8891 слово, у Casta — 5307, у Pharaoh — 3899 и у Morgenstern — 1242. Те, кто хочет немного расширить свой словарный запас, но не хочет читать книги, могут послушать Noize Mc и Casta. Конечно, многим интересно, какие слова лидируют сейчас, после обработки.
Представляю графики с топ-10 словами каждого исполнителя:
Наверняка многим читателям бросились в глаза слова со звездочками.
Фараон и Моргенштерн на самом деле имеют много ненормативной лексики в своих текстах, что, по моему личному мнению, довольно негативно сказывается на полной структуре текста и его восприятии.
У этих двух исполнителей одно и то же слово занимает вторую позицию.
Слово, которое прекрасно демонстрирует дух и культуру их музыки.
Чуть позже я наглядно продемонстрирую, какой эмоциональный тон лидирует в текстах исполнителей.
Распространенные слова.
Сравнение слов Чтобы информация была более наглядной, я разместил все слова исполнителей на одном графике с помощью функции «comparison.cloud» из пакета «wordcloud», чтобы их было легче сравнивать и воспринимать (и снова мы видим, как мат выделяться).
Отображение слов с помощью гистограмм может оказаться весьма проблематичным, поскольку для большего количества слов требуется много места.
Еще одна хорошая функция из одноименного пакета — «wordcloud2»: при наведении курсора на слово появляется окно, в котором отображается частота его употребления.
Поскольку для написания своих песен артисты используют один и тот же язык, будет интересно посмотреть, не разделяя их на исполнителей, какие слова они используют чаще всего.
Для этого графика была использована функция commonality.cloud из пакета wordcloud. Размер шрифта соответствует частоте упоминаний слова в текстах.
Сентиментальный анализ текста
Каждый фильм, книга или песня имеет свое настроение, которое передается зрителю или слушателям и воздействует на них.Интересно посмотреть, какое настроение передают своим слушателям исполнители старой и новой школы.
Узнать это можно, проанализировав слова из какой категории: «Негативные», «Позитивные», «Нейтральные», которые преобладают в песнях музыкантов.
Как и ожидалось, достаточно качественного словаря с сентиментальным разбором слов на R для русского языка нет (если кто-нибудь знает, поделитесь).
Поэтому пришлось использовать внешний со своим апгрейдом (ссылка на словарь в конце текста).
Не у всех слов были совпадения в словаре, что конечно немного грустно; с английским языком таких проблем практически не возникает. Поэтому я решил показать эмоциональный оттенок наиболее часто повторяемых слов.
Именно эти слова слушатель слышит чаще всего, и именно они оказывают на него сильнейшее воздействие и определяют восприятие всей песни.
В общем, если читатель хоть немного знаком с творчеством всех авторов, то вряд ли он удивится.
Ну а если анализируемые имена для кого-то новые, то милости просим знакомиться с их творчеством.
Ниже вы можете увидеть графики.
Для всех исполнителей показаны наиболее часто используемые слова.
Моргенштерн .
Частота повторения слов более 10 раз.
Обильное количество красных колонн выделяется довольно сильно, и если разобраться, что это за слова, то становится вдвойне грустно из-за послания, которое этот исполнитель доносит до своей аудитории.
фараон .
Лексика тоже оставляет желать лучшего.
Частота более 20 раз.
Дальше настало время старожилов российской рэп-сцены.
Тех, за кого действительно не стыдно и можно рекомендовать к прослушиванию.
Каста .
Явное преобладание слов с положительной коннотацией.
А негативные слова не шокируют своей безнравственностью.
Частота > = 25
И, наконец, мастер рифмы и слова Нойз Мак (частота > = 30).
Обилие негативно окрашенной лексики, которую Моргенштерн и Фараон используют в своих песнях, влияет на восприятие их песен и настроение, которое они передают. Трудно получить приятные эмоции от музыки, когда она изо всех сил пытается навязать тебе противоположное.
Поскольку словарь, используемый при сентиментальном анализе, содержит не все слова, сделать 100%-ный и уверенный вывод о настроении песен исполнителей сложно, так как многое зависит и от контекста.
Однако я покажу вам, сколько и какие слова используют художники (из того, что мне удалось добавить).
Очевидно, что большая часть слов всех исполнителей имеет нейтральный оттенок, практически не оказывающий воздействия на слушателя.
Но, что интересно, Фараон и Моргенштерн используют больше слов с негативным подтекстом, чем с позитивным.
И это несмотря на неполноценность словаря и отсутствие многих нецензурных слов и их вариаций (словарь содержит 28 248 слов и некоторые из них мне пришлось добавлять вручную).
У Каста и Нойз Мс также лидируют нейтральные слова, но на втором месте стоят позитивные, не вызывающие у нас негативных эмоций.
Да, конечно, я не могу оценить влияние контекста в таком виде анализа и, например, слово «любовь» может употребляться с частицей «не» и иметь негативный оттенок.
Но согласитесь, фраза «Я тебя не люблю» приятнее фразы «Я тебя ненавижу».
И даже частица «не» не исправит негативность этой фразы.
Мы по-прежнему будем слышать только слово «я ненавижу».
Музыкальный вкус – дело индивидуальное и каждый решает сам, что слушать.
Но взгляните еще раз на графики и подумайте, чем вы хотите наполнить свою повседневную жизнь.
Музыка сопровождает нас повсюду и зачастую очень сильно влияет на наше настроение, так зачем же сознательно с каждым днем делать его хуже? В целом эта статья еще и о том, что программирование может быть интересным и применимым в различных областях.
Он может показать уже знакомую информацию под новым углом, заставив задуматься о том, что казалось очевидным или незначительным.
Только от вас зависит, что будет скрыто за строками кода и что интересного они расскажут. Изучайте языки программирования, развивайтесь и слушайте качественную музыку, на написание которой уходит более семи дней онлайн-времени на YouTube. Для тех, кто не знает, альбом Моргенштерна «Легендарная пыль» записывался 6 дней во время онлайн-трансляций на YouTube и в итоге стал самым успешным в карьере Моргенштерна, набрав миллион прослушиваний в ВКонтакте за первые полчаса релиза и пять миллионов.
играет через одиннадцать часов.
За первые два дня после выхода альбом был прослушан во «ВКонтакте» более 21 миллиона раз, что является рекордом для соцсети.
Библиография: 1. ru.wikipedia.org/wiki/Noize_MC 2. ru.wikipedia.org/wiki/Фараон 3. ru.wikipedia.org/wiki/Caste_ (группа) 4. ru.wikipedia.org/wiki/Моргенштерн_ (музыкант) 5. github.com/stopwords-iso/stopwords-ru/blob/master/stopwords-ru.txt (безопасные слова) 6. github.com/dkulagin/kartaslov/tree/master/dataset/emo_dict (словарь настроений).
Лицензия: Creativecommons.org/licenses/by-nc-sa/4.0 7. ru.wikipedia.org/wiki/Legendary_dust Теги: #Обработка естественного языка #Интеллектуальный анализ данных #r #музыка #анализ текста #рэп #гений
-
Разработчик, Не Торопитесь — Будьте Худшим
19 Oct, 24 -
Настройка Частных Vlan Cisco
19 Oct, 24 -
Хабра Изменилась
19 Oct, 24 -
Айфон По Купонам
19 Oct, 24 -
Monosnap Обновлен До Версии 2
19 Oct, 24