Простой анализ тематического моделирования с помощью LDA

От виниловых пластинок, MP3 до потоковой передачи; Всего за десять лет мы претерпели радикальные изменения в том, как мы открываем и слушаем музыку. Что именно формирует музыкальную индустрию и как меняются со временем?

Используя тематическое моделирование, очень важное приложение обработки естественного языка (NLP), я надеюсь проанализировать тенденции в музыкальной индустрии на основе музыкальных новостей за последние полтора года.

Сбор данных

Поскольку статьи недоступны, я использовал Newsriver, службу API новостей, которая позволяет выполнять вызовы API на различные новостные сайты для сбора данных. В период с конца 2018 до начала 2020 года я скопировал статьи с трех веб-сайтов: Billboard, Music Business Worldwide и Digital Music News.

Мне удалось получить данные из более чем 2000 статей, а из необработанных файлов JSON я извлек две переменные: полный текст статьи и дату. Вот как выглядели данные до предварительной обработки.

Предварительная обработка

Удаление стоп-слов

Я начал с использования списка английских стоп-слов из Python NLTK (Natural Language Toolkit), но он удалил только некоторые стоп-слова, и у меня все еще было много нежелательных слов. Затем я создал собственный список стоп-слов, чтобы удалить дополнительные слова; Среди них были слова, связанные с музыкой, которые часто встречаются в статьях, названиях публикаций и т. д. Я также удалил короткие слова (2 буквы или меньше).

Сворачивание корпуса и удаление нежелательных символов

Все было преобразовано в нижний регистр, а все знаки препинания и неалфавитные символы были удалены.

Токенизация

Снова используя NLTK, я преобразовал весь текст в слова, чтобы каждое слово стало токеном.

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

Используя pyLDAvis, вот вам быстрая визуализация самых популярных слов на основе предварительно обработанных данных.

Тематическое моделирование и результаты

Согласованность темы

Чтобы определить оптимальное количество тем, я построил график зависимости оценки согласованности от количества тем. Затем я поэкспериментировал как с 10, так и с 15 темами и выбрал 15 тем.

LDA и результаты

Вот результаты, полученные мной с помощью скрытого распределения Дирихле.

На основании результатов я определил следующие 15 тем:

Тема 1: Live Nation и живые концерты
Тема 2: Радиостанции
Тема 3: Партнерство Boomplay и Sony
Тема 4: Независимая музыка
Тема 5: Топперы чартов и хиты < br /> Тема 6: Судебная тяжба Тейлор Свифт с Scooter Braun и Big Machine Records
Тема 7: Стриминговые сервисы; Spotify и Apple Music
Тема 8: Brexit и британская музыкальная индустрия
Тема 9: Фонд Hipgnosis Songs
Тема 10: Основные музыкальные группы (Sony, Universal) и их доходы
Тема 11: Смена руководства и объявления
Тема 12: Новости артистов
Тема 13: Джазовый фестиваль Concord
Тема 14: TikTok
Тема 15: Иск Spinal Tap против Universal Music Group

Вот визуализированные частоты слов и слов, связанных с каждой темой.

Неудивительно, что потоковые платформы, особенно Spotify, и китайские музыкальные приложения, такие как TikTok, входят в число основных тем, освещаемых новостными агентствами, укрепляя доминирующую долю рынка потоковых сервисов и увеличивая количество платформ социальных сетей, включающих музыку.

Следующим шагом будет анализ тем с течением времени с данными за годы или десятилетия, чтобы получить больше информации о том, как музыкальная индустрия изменилась за более длительные периоды времени.

Код этого проекта можно найти на моей странице GitHub. Не стесняйтесь связаться со мной по адресу [email protected] или в LinkedIn. Спасибо!