НЛП Insights для оркестра Penguin Café Orchestra

Исходный узел: 1062837

НЛП Insights для оркестра Penguin Café Orchestra

Мы даем пример того, как использовать Expert.ai и Python для исследования любимых музыкальных альбомов.


Рекламная запись.

Лаура Горриери, expert.ai

Пожалуйста, найдите в этой ветке версию для ноутбука здесь.

Давайте создадим небольшое приложение, чтобы исследовать одного из моих любимых художников. Их называют «Оркестр кафе "Пингвин"”И если вы их не знаете, вы узнаете, о чем они.

Наш набор данных: список обзоров их альбомов, который я взял с веб-сайта Пьеро Скаруффи и сохранил в специальной папке.

Наша цель: чтобы узнать больше об исполнителе с помощью обзоров альбомов.

Наша практическая цель: чтобы увидеть как NL API от expert.ai работает и что может.

Что такое The Penguin Café Orchestra?

Сначала давайте посмотрим, что получится из отзывов, просто проанализировав используемые в них слова. Сначала мы объединим все отзывы в одну переменную, чтобы получить полный обзор художника. Затем мы собираемся взглянуть на наиболее часто встречающиеся в них слова, надеясь, что они раскроют больше информации об оркестре Penguin Café Orchestra.

## Код для перебора папки исполнителя и объединения рецензий на альбомы в единую рецензию исполнителя
Импортировать os artist_review = '' artist_path = 'penguin_cafe_orchestra' альбомы = os.listdir (artist_path) для альбом in альбомы: album_path = os.path.join (Artist_path, альбом)
        open (имя_альбома, 'r', кодировка = 'utf8') as file: review = file.read () artist_review + = review

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

 
# Импортировать пакеты

Импортировать matplotlib.pyplot as plt% matplotlib встроенный # Определите функцию для построения облака слов
защиту сюжет_облако(облако слов): # Установить размер фигуры plt.figure (figsize = (30, 10)) # Показать изображение plt.imshow (wordcloud) # Нет деталей оси plt.axis ("выключено"); # Импортировать пакет
от облако слов Импортировать WordCloud, СЕКРЕТНЫЕ СЛОВА # Создать облако слов
wordcloud = WordCloud (ширина = 3000, высота = 2000, random_state = 1, background_color = 'white', collocations =Ложь, Stopwords = STOPWORDS) .generate (artist_review) # Участок
plot_cloud (wordcloud)

Эксперт Ай Пингвин Кафе Слово Облако

Рис.1: Облако слов, в котором наиболее часто используемые слова отображаются более крупным шрифтом, а менее используемые - меньшим.

Как их музыка вызывает у вас чувство?

Благодаря облаку слов мы знаем больше об оркестре The Penguin Café Orchestra. Мы знаем, что они используют такие инструменты, как гавайская гитара, фортепиано и скрипка, и что они смешивают такие жанры, как народный, этнический и классический.

Однако мы не имеем представления о стиле художника. Мы можем узнать больше, посмотрев, какие эмоции возникают в результате их работы.

Для этого воспользуемся NL API от expert.ai. Пожалуйста, зарегистрируйтесь здесьнайдите документацию по SDK здесь и по особенностям здесь.

### Установите пакет SDK для Python

! pip установить expertai-nlapi ## Код для инициализации клиента с последующим использованием таксономии эмоциональных характеристик Импортировать os от Expertai.nlapi.cloud.client Импортировать ExpertAiClient client = ExpertAiClient () os.environ ["EAI_USERNAME"] = 'your_username' os.environ ["EAI_PASSWORD"] = 'your_password' emoji = [] weights = [] output = client.classification (body = {"document" : {"text": artist_review}}, params = {'taxonomy': 'эмоциональные черты', 'language': 'ru'}) для Каталог in output.categories: эмоция = категория.label weight = category.frequency Emotions.append (эмоция) weights.append (вес) print (эмоции) print (веса)


[«Счастье», «Волнение», «Радость», «Веселье», «Любовь»]
[15.86, 31.73, 15.86, 31.73, 4.76]

Для получения весов мы использовали «частоту», которая фактически выражается в процентах. Сумма всех частот равна 100. Это делает частоты эмоций хорошим кандидатом для круговой диаграммы, которая строится с помощью matplotlib.

# Импортировать библиотеки

от Matplotlib Импортировать пиплот as PLT
Импортировать NumPy as np # Создание сюжета
colors = ['# 0081a7', '# 2a9d8f', '# e9c46a', '# f4a261', '# e76f51'] fig = plt.figure (figsize = (10, 7)) plt.pie (weights, labels = эмоции, цвета = цвета, autopct = '% 1.1f %%') # показать сюжет
plt.show ()

Экспертная круговая диаграмма Ai
Рис.2: Круговая диаграмма, представляющая каждую эмоцию и ее процентное соотношение.

Какой их лучший альбом?

Если бы вы захотели начать слушать их, чтобы увидеть, испытываете ли вы те же эмоции, которые Скаруффис обнаружил в их работе, с чего бы вы могли начать? Мы можем взглянуть на анализ настроений для каждого альбома и составить представление об их лучших из них. Для этого мы повторяем рецензию на каждый альбом и используем NL API expert.ai, чтобы узнать об их настроениях и их силе.

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

sentiment_ratings = [] album_names = [альбом [: - 4] для альбом in альбомы] для альбом in альбомы: album_path = os.path.join (Artist_path, альбом)   open (имя_альбома, 'r', кодировка = 'utf8') as file: review = file.read () output = client.specific_resource_analysis (body = {"document": {"text": review}}, params = {'language': 'en', 'resource': 'sentiment'} ) sentiment = output.sentiment.overall sentiment_ratings.append (настроение) print (альбомы_names) print (sentiment_ratings)

[«Вещание из дома», «Концертная программа», «Музыка из кафе« Пингвин »», «Признаки жизни»]
[11.6, 2.7, 10.89, 3.9]

 

Теперь мы можем визуализировать настроение каждого отзыва с помощью гистограммы. Это даст нам быстрый визуальный отклик о лучшем альбоме The Penguin Cafe Orchestra и об их карьере. Для этого мы снова используем matplotlib.

Импортировать matplotlib.pyplot as plt plt.style.use ('ggplot') album_names = [имя [: - 4] для имя in альбомы] plt.bar (album_names, sentiment_ratings, color = '# 70A0AF') plt.ylabel («Рейтинг альбома») plt.title («Рейтинг альбома Penguin Cafe Orchestra») plt.xticks (album_names, ротация = 70) plt .Показать()

Гистограмма Expert Ai Ratings

Первоначально опубликовано здесь.

Источник: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html

Отметка времени:

Больше от КДнаггетс