Исходный размер 2486x3500

Эволюция настроения и тематики в песнях Mitski

Я недавно открыла для себя творчество певицы Mitski, и мне хочется понять его лучше.

Поэтому я решила проследить эволюцию настроения в её песнях. Чтобы понять, как менялось мировоззрение, ценности и отношение лирической героини к жизни.

[Оформление] Визуальное решение

Исходный размер 2000x562

Чёрный фон и теплые оттенки оранжевого в исследовании отсылают на официальный сайт mitski.com, а также к стилистике последнего альбома певицы.

Обложка альбома Mitski «The Land Is Inhospitable and so are we» и список композиций

[Подготовка данных] Создание датасета

Исходный размер 2000x1314

Обложки альбомов Mitski с 2012 по 2023 год

Дискография певицы состоит из 166 песен. Для получения датасета был написан код, который будет извлекать данные из сайта genious.com. В результате получился датасет в формате xlsx с альбомами и песнями Mitski со столбцами "Альбом" "Название песни" "Дата выпуска" и "Текст песни".

Для написания кода была использована языковая модель GhatGPT4 Промт: "нужно получить набор данных с сайта https://genius.com/artists/Mitski/songs программа на Python В наборе данных должны быть: -год -альбом -песня. объедините все знания в программу, которая получит список всех песен, зайдёт на страницу каждой песни и получит с неё дату и альбом, и всё это соберёт в датасет"

Исходный размер 2432x1138

Фрагмент кода для создания датасета Полный код можно найти на диске

[Диаграмма_1] Облако слов всех песен

Я решила начать с визуализации ключевых слов в творчестве Mitski. Для этого был написан код для облака слов, при запуске которого анализируется весь текст в столбце "Текст песни". Чем крупнее шрифт, тем чаще слово встречается в песнях.

В стоп слова я добавила "Куплет" "Припев" и ещё несколько, чтобы анализировались только слова песни.

Для написания кода была использована языковая модель GhatGPT4 Промт: Есть датасет со всеми песнями певицы, разделёнными по альбомам. Имя датасета — «mitski_songs_dataset.xlsx». Напиши код для создания облака слов всех песен. Анализироваться должен текст из столбца «Текст песни». Добавь в стоп слова: "Verse" "Chorus" "Pre" "Bridge" "Mitski" "Choir".

Исходный размер 1500x746

Облако слов всех песен

Исходный размер 2432x739

Фрагмент кода для создания облака слов Полный код можно найти на диске

[Диаграмма_2] Основные настроения

Далее я решила определить основные настроения во всём творчестве певицы. Для этого была использована модель «j-hartmann/emotion-english-distilroberta-base», которая обучена распозновать эмоции в тексте.

Результат на диаграмме №1

Однако модель разделяет эмоции только на гнев, страх, радость, любовь, печаль, удивление и отвращение.

Я решила сделать ещё одну диаграмму, которая выстраивается из ключевых слов, определяющих настроение, которые я сама указала: нежность, грусть, одиночество, саморефлексия, ностальгия.

Результат на диаграмме №2

При запуске, программа анализирует содержание столбца под названием "Текст песни" из указанного датасета.

Для написания кода была использована языковая модель GhatGPT4 Промт: Есть датасет со всеми песнями певицы, разделёнными по альбомам. Имя датасета — «mitski_songs_dataset.xlsx». Напиши код для построения круговой диаграммы, которая показывает соотношение эмоций во всём её творчестве. Анализироваться должен текст из столбца «Текст песни».

1 — с помощью модели, 2 — по ключевым словам

Фрагменты кода 1 — с помощью модели, 2 — по ключевым словам Полный код можно найти на диске

[Диаграмма_3] Хронология настроения

Далее я решила узнать, как настроение певицы меняется от альбома к альбому. Для этого была составлена столбчатая диаграмма, где X - хронология альбомов, а Y - степень настроения от негативного(0) до позитивного(20).

Для написания кода была использована языковая модель GhatGPT4

Промт: "Напишите код, чтобы получить столбчатую диаграмму с альбомами и шкалой настроения (где нижняя граница — самое плохое настроение, а верхняя — самое хорошее). Альбомы должны быть выставлены в хронологическом порядке. В датасете есть все песни и альбомы певицы Митски. Столбцы: "Альбом", "Дата выпуска", "Текст песни". Диаграмма должна быть столбчатой с осями x и y. Альбомы должны быть расположены в хронологическом порядке. Шкала настроения от 0 до 20 по оси y."

Исходный размер 1200x600

Средняя тональность настроения каждого альбома в хронологическом порядке

Получается, что самые позитивные альбомы - "Bury Me at Makeout Creek" и "The Land Is Inhospitable and So Are We".

Также можно заметить темп состояния певицы: длинные депрессивные эпизоды и короткие просветы между ними. Поэтому можно сделать предположение, что следующий альбом певицы будет более грустным, чем последний.

Исходный размер 2432x915

Фрагмент кода Полный код можно найти на диске

[Диаграмма_4] Эмоции в альбомах

Следующей диаграммой я решила сделать соотношение эмоций в альбомах.

Для написания кода была использована языковая модель GhatGPT4 Промт:постройте столбчатую диаграмму, показывающую содержание каждой эмоции в каждом альбоме. Для оценки эмоций нужно анализировать столбец «Текст песни». Используй ключевые слова для определения настроения: нежность, грусть, одиночество, саморефлексия, ностальгия, гнев. Ключевые слова должны быть на английском, потому что текст в датасете на английском языке

Исходный размер 1200x700

Эмоции в каждом альбоме

Исходный размер 2432x1048

Фрагмент кода для столбчатой диаграммы Полный код можно найти на диске

[Диаграмма_5] Контраст эмоций

Далее я спросила ChatGPT4, какие ещё можно сделать диаграммы, чтобы лучше понять творчество Mitski. Он предложил сделать "общую динамику настроений в альбомах".

Исходный размер 1400x800

Тепловая диаграмма колебания настроения в альбомах в хронологическом порядке.

На получившейся диаграмме показана средняя тональность всех песен каждого альбома от начала до конца. То есть программа берет все песни из альбома, разбивает каждую из них на части и определяет среднюю тональность каждой части по шкале "позитивная" и "негативная" (где "0" - негативная "15" - позитивная).

Для написания кода была использована языковая модель GhatGPT4 Промт: Нужно написать код на Python, который будет создавать тепловую диаграмму каждого альбома в хронологической последовательности. Разделить все песни альбома на отрезки (например, разбив каждую песню на 10 равных фрагментов) и проанализировать эмоциональную тональность каждого отрезка. После этого, усреднив эмоциональные оценки по всем песням внутри каждого альбома, мы получим тепловую карту, отображающую эмоциональную динамику на протяжении всего альбома.

Эволюция настроения и тематики в песнях Mitski
Проект создан 21.02.2025
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше