Я недавно открыла для себя творчество певицы Mitski, и мне хочется понять его лучше.
Поэтому я решила проследить эволюцию настроения в её песнях. Чтобы понять, как менялось мировоззрение, ценности и отношение лирической героини к жизни.
[Оформление] Визуальное решение
Чёрный фон и теплые оттенки оранжевого в исследовании отсылают на официальный сайт mitski.com, а также к стилистике последнего альбома певицы.
Обложка альбома Mitski «The Land Is Inhospitable and so are we» и список композиций
[Подготовка данных] Создание датасета
Обложки альбомов Mitski с 2012 по 2023 год
Дискография певицы состоит из 166 песен. Для получения датасета был написан код, который будет извлекать данные из сайта genious.com. В результате получился датасет в формате xlsx с альбомами и песнями Mitski со столбцами "Альбом" "Название песни" "Дата выпуска" и "Текст песни".
Для написания кода была использована языковая модель GhatGPT4 Промт: "нужно получить набор данных с сайта https://genius.com/artists/Mitski/songs программа на Python В наборе данных должны быть: -год -альбом -песня. объедините все знания в программу, которая получит список всех песен, зайдёт на страницу каждой песни и получит с неё дату и альбом, и всё это соберёт в датасет"
Фрагмент кода для создания датасета Полный код можно найти на диске
[Диаграмма_1] Облако слов всех песен
Я решила начать с визуализации ключевых слов в творчестве Mitski. Для этого был написан код для облака слов, при запуске которого анализируется весь текст в столбце "Текст песни". Чем крупнее шрифт, тем чаще слово встречается в песнях.
В стоп слова я добавила "Куплет" "Припев" и ещё несколько, чтобы анализировались только слова песни.
Для написания кода была использована языковая модель GhatGPT4 Промт: Есть датасет со всеми песнями певицы, разделёнными по альбомам. Имя датасета — «mitski_songs_dataset.xlsx». Напиши код для создания облака слов всех песен. Анализироваться должен текст из столбца «Текст песни». Добавь в стоп слова: "Verse" "Chorus" "Pre" "Bridge" "Mitski" "Choir".
Облако слов всех песен
Фрагмент кода для создания облака слов Полный код можно найти на диске
[Диаграмма_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."
Средняя тональность настроения каждого альбома в хронологическом порядке
Получается, что самые позитивные альбомы - "Bury Me at Makeout Creek" и "The Land Is Inhospitable and So Are We".
Также можно заметить темп состояния певицы: длинные депрессивные эпизоды и короткие просветы между ними. Поэтому можно сделать предположение, что следующий альбом певицы будет более грустным, чем последний.
Фрагмент кода Полный код можно найти на диске
[Диаграмма_4] Эмоции в альбомах
Следующей диаграммой я решила сделать соотношение эмоций в альбомах.
Для написания кода была использована языковая модель GhatGPT4 Промт:постройте столбчатую диаграмму, показывающую содержание каждой эмоции в каждом альбоме. Для оценки эмоций нужно анализировать столбец «Текст песни». Используй ключевые слова для определения настроения: нежность, грусть, одиночество, саморефлексия, ностальгия, гнев. Ключевые слова должны быть на английском, потому что текст в датасете на английском языке
Эмоции в каждом альбоме
Фрагмент кода для столбчатой диаграммы Полный код можно найти на диске
[Диаграмма_5] Контраст эмоций
Далее я спросила ChatGPT4, какие ещё можно сделать диаграммы, чтобы лучше понять творчество Mitski. Он предложил сделать "общую динамику настроений в альбомах".
Тепловая диаграмма колебания настроения в альбомах в хронологическом порядке.
На получившейся диаграмме показана средняя тональность всех песен каждого альбома от начала до конца. То есть программа берет все песни из альбома, разбивает каждую из них на части и определяет среднюю тональность каждой части по шкале "позитивная" и "негативная" (где "0" - негативная "15" - позитивная).
Для написания кода была использована языковая модель GhatGPT4 Промт: Нужно написать код на Python, который будет создавать тепловую диаграмму каждого альбома в хронологической последовательности. Разделить все песни альбома на отрезки (например, разбив каждую песню на 10 равных фрагментов) и проанализировать эмоциональную тональность каждого отрезка. После этого, усреднив эмоциональные оценки по всем песням внутри каждого альбома, мы получим тепловую карту, отображающую эмоциональную динамику на протяжении всего альбома.




