«Искусственный интеллект — это то, что еще не сделано».

- Ларри Теслер

Введение

Разве песни не просто слова с какой-то фоновой музыкой?

Написание песен — это искусство, которое меня интригует. Неискушенному человеку это может показаться простым: написать несколько строк по теме и добавить дорожку. Но это далеко не так. Он включает в себя сочетание взаимосвязанных тем для создания мелодической симфонии. Неудивительно, что компьютеры часто с трудом интерпретируют замысел данной песни и ее общий контекст.

Однако с ростом развития обработки естественного языка (NLP) компьютеры начинают понимать человеческий язык, и эффективным применением этого является анализ текстов песен. В Codecademy есть статья, в которой темы песен Тейлор Свифт сравниваются на протяжении многих лет, используя только тексты песен. Идея такой модели показалась мне довольно интересной, и я решил попробовать сам. Я попытался реализовать модель на своем ноутбуке, но не удалось. К счастью, у Codecademy есть похожее руководство на YouTube, и с помощью нескольких правок в коде я смог настроить модель самостоятельно.

Анализ текстов Тейлор Свифт

Я закодировал модель, используя набор данных Kaggle текстов песен Тейлор Свифт. Модель рассчитала свою аналитику, используя 6 распространенных тем в своих песнях, а именно: любовь, воспоминания, расставание, вечеринка, тоска по дому и независимость. Алгоритм относительно прост, каждая ее песня оценивается по 6 темам по шкале от 0 до 1,5. Чем больше слов, относящихся к теме песни, тем выше рейтинг. Например:

Я был вполне удовлетворен оценкой модели и приступил к нанесению значений на график:

Однако вскоре я понял, что этот график далек от точности. По-видимому, слова, относящиеся к темам любви и вечеринки, считались стоп-словами (стоп-слова — это слова, которые отфильтровываются, чтобы предотвратить манипулирование данными, поскольку они чрезвычайно распространены в английском языке). После исправления проблемы со стоп-словами произошло значительное улучшение:

Анализ текстов песен Сары Кейс

Меня откровенно очень порадовало выступление модели на слова Тейлор Свифт. Однако я хотел посмотреть, будет ли эта модель хорошо работать с Сарой Кейс. Есть определенные темы, которые совершенно очевидны в ее песнях, и мне было интересно, сможет ли модель подобрать их. К сожалению, у Kaggle не было набора данных для ее песен, поэтому я решил создать свой собственный.

Подготовка набора данных

Подготовка набора данных оказалась проще, чем я ожидал. С помощью Microsoft Excel я преобразовал тексты песен с сайтаgenius.com в файл CSV. На этот раз, однако, я намеревался проанализировать песни и как синглы, и как EP целиком. Итак, я скопировал и отредактировал новый набор данных, чтобы получить 2 нужных набора необработанных данных.

Создание модели

Используя концепцию под названием tf-idf (термин частота-обратная частота документа), модель смогла определить особенности каждой песни, которые представляют важность каждого слова в песне. . Затем я обозначил несколько тем, которые, по моему мнению, имели отношение к песням:

Рейтинги присваивались как песням, так и EP в целом по 5 параметрам (темам):

В отличие от рейтингов текстов песен Тейлор Свифт, цифры на самом деле пересекли 1, а некоторые достигли значения 1,4. Это указывает на использование большего количества словарного запаса, характерного для темы, или на большее выражение темы на протяжении всей песни.

Результаты

Анализ синглов Сары Кейс (2020–2021):

Анализ EP Сары Кейс (2018–2021):

Мои выводы

На мой взгляд, модель значительно лучше справилась с лирикой Сары Кейс, чем с Тейлор Свифт. Простая причина заключается в том, что в наборе данных текстов песен Тейлора было около 90 песен, тогда как в наборе данных текстов песен Сары было около 20 песен. Это могло привести к тому, что модель запуталась при анализе первого набора данных, в то время как меньшее количество песен во втором наборе данных могло помочь модели прояснить свой подход. Спасибо за чтение!

Полезные ссылки:

Мой инстаграм

https://www.instagram.com/dylan_coding

Набор данных Kaggle

https://www.kaggle.com/PromptCloudHQ/taylor-swift-song-lyrics-from-all-the-albums

Codecademy — Использование машинного обучения для анализа текстов песен Тейлор Свифт

https://www.codecademy.com/resources/blog/taylor-swift-lyrics-machine-learning/

Codecademy — Анализ текстов песен с помощью Python

https://www.youtube.com/watch?v=wKW8z6zqCFo