Я недавно открыла для себя творчество певицы 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 равных фрагментов) и проанализировать эмоциональную тональность каждого отрезка. После этого, усреднив эмоциональные оценки по всем песням внутри каждого альбома, мы получим тепловую карту, отображающую эмоциональную динамику на протяжении всего альбома.
Фрагмент кода для тепловой диаграммы
Простым языком — чем контрастнее ячейки по шкале «Фрагменты песен», тем сильнее меняется настроение по ходу песни.
Например в альбоме «Puberty2» настроение самое депрессивное и ровное, а в последнем альбоме «The Land Is Inhospitable and So Are We», наоборот — более резкие скачки настроения, а общий тон самый позитивный.
[Диаграмма_6] Облако слов альбомов
Закончить анализ я решила облаками слов каждого альбома. Потому что это лучший способ увидеть «суть» каждого периода творчества Mitski. В качестве основы для кода, я использовала код для «Диаграммы_1».
Для написания кода была использована языковая модель GhatGPT4 Промт: Измени код так, чтобы облако слов составлялось только по альбому «Lush» из столбца «Альбом». (код для диаграммы_1)
Фрагмент кода Облако слов альбома «Lush»
Я заменила цветовую палитру на «Oranges», чтобы облако вписывалось по стилистике в презентацию и установила максимальное количество слов — 3.
Для создания всех облаков слов я использовала один и тот же код, заменяя только название альбома.
1 — «Lush», 2 — «Retired from Sad, New Career in Business»
3 — «Bury Me at Makeout Creek», 4 — «Puberty 2»
1 — «Be the Cowboy», 4 — «The Land Is Inhospitable and So Are We»
Я попросила ChatGPT4 проанализировать ключевые слова в первом и и последнем альбоме певицы с точки зрения эволюции её творчества. Вывод:
В первых альбомах Mitski преобладает саморефлексия и переживания о личных чувствах (например, «think» и «honey»), что отражает её начальный поиск себя.
С развитием карьеры Mitski начинает всё больше фокусироваться на любви и отношениях, но она всё больше осознаёт их сложности и неизбежные утраты. Слова «love» и «loss» становятся центральными темами, указывающими на внутренний конфликт и разочарования.
К шестому альбому Mitski становится более осведомленной о том, что любовь может быть кратковременной, а разрывы неизбежны. В её текстах появляются элементы зрелости, где она признаёт важность самостоятельности, но также осознаёт, что некоторые отношения не могут быть сохранены.
Описание применения генеративной модели
ChatGPT4. Для написания и редактирования кода была использована языковая модель ChatGPT4. Она также использовалась для получения рекомендаций по построению графиков и диаграмм, а также для анализа полученных результатов. (URL: https://chatgpt.com/). В проекте присутствуют промты.
Файлы с кодом и датасетом https://disk.yandex.ru/d/YUAXqjSZ8yED7w
В ходе поиска датасетов, я наткнулась на интересную статью. Про нейросеть, которая обучена на песнях Mitski и генерирует новые. Ресурт — medium.com Название — «Lyric Generation with LSTMs ft. Mitski» Автор — Yagnesh Patel URL: https://medium.com/doing-data-stuff/lyric-generation-with-lstms-ft-mitski-5dde5de7c4b6




