НЛП 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 ()
Рис.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 .Показать()
Первоначально опубликовано здесь.
Источник: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html
- '
- "
- &
- 100
- 11
- 7
- 9
- AI
- Альбомы
- Все
- анализ
- API
- Применение
- художник
- Специалисты ELAN
- ЛУЧШЕЕ
- строить
- Карьера
- облако
- код
- Общий
- Создающий
- данным
- наука о данных
- глубокое обучение
- директор
- эмоции
- Особенности
- Фига
- фигура
- First
- функция
- хорошо
- Графические процессоры
- Главная
- надеясь
- Как
- How To
- HTTPS
- идея
- размышления
- Интервью
- исследовать
- IT
- Этикетки
- язык
- УЧИТЬСЯ
- изучение
- Список
- любят
- ML
- Музыка
- нервный
- НЛП
- открытый
- с открытым исходным кодом
- заказ
- FitPartner™
- Питон
- рейтинги
- причины
- регресс
- ресурс
- обзоре
- Отзывы
- Наука
- Ученые
- SDK
- настроение
- набор
- Признаки
- небольшой
- So
- Начало
- Истории
- топ
- us
- Вебсайт
- слова
- Работа
- работает
- X