NLP Insights for Penguin Café Orchestra
Ми наводимо приклад того, як за допомогою Expert.ai та Python досліджувати улюблені музичні альбоми.
Лаура Горрієрі, expert.ai
Будь ласка, знайдіть ноутбучну версію цієї теми тут.
Давайте створимо невелику програму для дослідження одного з моїх улюблених художників. Вони називаються "Оркестр кафе «Пінгвін»”І якщо ви їх не знаєте, ви дізнаєтесь, про що вони.
Наш набір даних: список рецензій на їх альбоми, які я взяв з веб -сайту П'єро Скаруффі та зберег у спеціальній папці.
Наша мета: щоб дізнатися більше про виконавця за допомогою рецензій на альбоми.
Наша практична мета: подивитися, як NL API експерта працює і що він може зробити.
Про що пінгвінський кафе -оркестр?
Спочатку подивимось, що випливає з оглядів, просто аналізуючи вжиті в них слова. Спочатку ми об’єднаємо всі огляди в одну змінну, щоб мати цілий огляд виконавця. Тоді ми розглянемо найчастіші слова в них, сподіваючись, що це розкриє більше про Оркестр кафе «Пінгвін».
## Код для перегляду папки виконавця та об’єднання рецензій на альбоми в одному огляді виконавця імпорт os artist_review = '' artist_path = 'penguin_cafe_orchestra' альбоми = os.listdir (шлях_виконавця) та цінності альбом in альбоми: album_path = os.path.join (шлях_виконавця, альбом) з відкрити (альбомний шлях, 'r', кодування = 'utf8') as файл: review = file.read () artist_review += огляд
Використовуючи неглибокий лінгвістичний підхід, ми можемо дослідити огляд художника, який містить усі наявні рецензії. Для цього ми використовуємо matplotlib та хмару слів для створення хмари слів, яка розповість нам більше про найчастіші слова у тексті.
# Імпортувати пакети
імпорт matplotlib.pyplot as plt %матплотліб вбудований # Визначте функцію для створення хмари слів захист plot_cloud(слівна хмара): # Встановіть розмір фігури plt.figure (figsize = (30, 10)) # Відображення зображення plt.imshow (wordcloud) # Немає деталей осі plt.axis ("вимкнено"); # Імпортний пакет від wordcloud імпорт WordCloud, СТОП-СЛОВА # Створення хмари слів wordcloud = WordCloud (ширина = 3000, висота = 2000, random_state = 1, background_color = 'білий', колокації =Помилковий, stopwords = STOPWORDS) .generate (виконавець_перегляд) # Сюжет plot_cloud (wordcloud)
Рис.1: Хмара слів, у якій найбільш вживані слова відображаються більшим шрифтом, а менш вживане - меншим.
Як ви відчуваєте їх музику?
Завдяки хмарі слів ми знаємо більше про The Penguin Café Orchestra. Ми знаємо, що вони використовують такі інструменти, як укулеле, фортепіано та скрипку, і що вони змішують такі жанри, як народний, етнічний та класичний.
Проте ми не маємо уявлення про стиль художника. Ми можемо дізнатися більше, подивившись, які емоції випливають з їх роботи.
Для цього ми будемо використовувати NL API expert.ai. Будь ласка, зареєструйтесь тут, знайдіть документацію щодо SDK тут і про особливості тут.
### Встановіть пакет SDK для python
! pip install expertai-nlapi ## Код для ініціалізації клієнта, а потім використання таксономії емоційних рис імпорт os від expertai.nlapi.cloud.client імпорт ExpertAiClient client = ExpertAiClient () os.environ ["EAI_USERNAME"] = 'your_username' os.environ ["EAI_PASSWORD"] = 'your_password' емоції = [] ваги = [] вихід = client.classification (body = {"документ") : {"text": artist_review}}, params = {'таксономія': 'емоційні риси', 'мова': 'uk'}) та цінності категорія in output.categories: емоції = категорія. вага етикетки = категорія. частота емоцій. додавання (емоції) ваги. додавання (вага) друк (емоції) друк (ваги)
['Щастя', 'Хвилювання', 'Радість', 'Розваги', 'Кохання']
[15.86, 31.73, 15.86, 31.73, 4.76]
Для отримання ваг ми використовували "частоту", яка насправді є відсотком. Сума всіх частот дорівнює 100. Це робить частоти емоцій хорошим кандидатом для кругової діаграми, яка будується за допомогою matplotlib.
# Імпортувати бібліотеки
від matplotlib імпорт пілот as плт імпорт нумпі as np # Створення сюжету кольори = ['#0081a7', '#2a9d8f', '#e9c46a', '#f4a261', '#e76f51'] fig = plt.figure (figsize = (10, 7)) plt.pie (ваги, мітки = емоції, кольори = кольори, autopct = '%1.1f %%') # показати сюжет plt.show ()
Рис.2: Кругова діаграма, що представляє кожну емоцію та її відсоток.
Який у них найкращий альбом?
Якби ви хотіли почати їх слухати, щоб побачити, чи відчуваєте ви ті самі емоції, які Скаруффіс виявляв у їх роботі, з чого б ви могли почати? Ми можемо подивитися на аналіз настроїв до кожного альбому та отримати уявлення про їх найкращі. Для цього ми повторюємо рецензію кожного альбому і використовуємо NL API expert.ai, щоб відновити їх почуття та силу.
## Код для ітерації кожного альбому та отримання почуття
sentiment_ratings = [] імена альбомів = [альбом [:-4] та цінності альбом in альбоми] та цінності альбом in альбоми: album_path = os.path.join (шлях_виконавця, альбом) з відкрити (альбомний шлях, '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 (sentiment) print (names_names) print (sentiment_ratings)
['Трансляція з дому', 'Концертна програма', 'Музика з кафе Penguin', 'Ознаки життя']
[11.6, 2.7, 10.89, 3.9]
Тепер ми можемо візуалізувати почуття до кожного огляду за допомогою стовпчастої діаграми. Це дасть нам швидкий візуальний відгук про найкращий альбом The Penguin Cafe Orchestra та про їхню кар’єру. Для цього ми ще раз використовуємо matplotlib.
імпорт matplotlib.pyplot as plt plt.style.use ('ggplot') ім'я_ альбомів = [назва [:-4] та цінності ім'я in альбоми] plt.bar (імена альбомів, sentiment_ratings, color = '#70A0AF') plt.ylabel ("Рейтинг альбому") plt.title ("Рейтинги альбому оркестру кафе Penguin") plt.xticks (назви альбомів, обертання = 70) plt .show ()
Спочатку опубліковано тут.
Джерело: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html
- '
- "
- &
- 100
- 11
- 7
- 9
- AI
- Фотоальбоми
- ВСІ
- аналіз
- API
- додаток
- художник
- Художники
- КРАЩЕ
- будувати
- кар'єра
- хмара
- код
- загальний
- створення
- дані
- наука про дані
- глибоке навчання
- Директор
- емоції
- риси
- Фіга
- Рисунок
- Перший
- функція
- добре
- Графічні процесори
- Головна
- сподіваючись
- Як
- How To
- HTTPS
- ідея
- розуміння
- інтерв'ю
- дослідити
- IT
- етикетки
- мова
- УЧИТЬСЯ
- вивчення
- список
- любов
- ML
- музика
- Нейронний
- nlp
- відкрити
- з відкритим вихідним кодом
- порядок
- програма
- Python
- рейтинги
- Причини
- регресія
- ресурс
- огляд
- Відгуки
- наука
- Вчені
- Sdk
- настрій
- комплект
- Ознаки
- невеликий
- So
- старт
- історії
- топ
- us
- веб-сайт
- слова
- Work
- працює
- X