Wawasan NLP untuk Penguin Café Orchestra

Node Sumber: 1062837

Wawasan NLP untuk Penguin Café Orchestra

Kami memberikan contoh bagaimana menggunakan Expert.ai dan Python untuk menyelidiki album musik favorit.


Pesan Sponsor.

Oleh Laura Gorrieri, expert.ai

Silakan temukan versi notebook dari utas ini di sini.

Mari kita buat aplikasi kecil untuk menyelidiki salah satu artis favorit saya. Mereka disebut "Orkestra Kafe Penguin” dan jika Anda tidak mengenal mereka, Anda akan mencari tahu tentang mereka.

Kumpulan data kami: daftar review album mereka yang saya ambil dari website Piero Scaruffi dan disimpan di folder khusus.

Tujuan kami: untuk lebih memahami tentang artis menggunakan ulasan album.

Tujuan praktis kami: untuk melihat caranya API NL expert.ai bekerja dan apa yang dapat dilakukannya.

Tentang apa The Penguin Café Orchestra?

Pertama mari kita lihat apa yang keluar dari ulasan hanya menganalisis kata-kata yang digunakan di dalamnya. Kami pertama-tama akan menggabungkan semua ulasan dalam satu variabel, untuk mendapatkan ulasan artis secara keseluruhan. Kemudian kita akan melihat kata-kata yang paling sering muncul di dalamnya, berharap itu akan terungkap lebih banyak di Penguin Café Orchestra.

## Kode untuk mengulang di folder artis dan menggabungkan ulasan album dalam satu ulasan artis
mengimpor os artist_review = '' artis_path = 'penguin_cafe_orchestra' album = os.listdir(artist_path) untuk album in album: album_path = os.path.join(artist_path, album)
      dengan buka(album_path, 'r', encoding = 'utf8') as file: ulasan = file.read() artist_review += ulasan

Dengan menggunakan pendekatan linguistik dangkal, kita dapat menyelidiki ulasan artis, yang berisi semua ulasan yang tersedia. Untuk melakukannya, kami menggunakan matplotlib dan word cloud untuk menghasilkan word cloud yang akan memberi tahu kami lebih banyak tentang kata-kata yang paling sering muncul dalam teks.

 
# Paket impor

mengimpor matplotlib.pyplot as plt %matplotlib sebaris # Tentukan fungsi untuk memplot kata cloud
def plot_cloud(awan kata): # Atur ukuran gambar plt.figure (figsize = (30, 10)) # Tampilan gambar plt.imshow(wordcloud) # Tidak ada detail sumbu plt.axis("mati"); # Paket impor
dari awan kata mengimpor WordCloud, STOPWORDS # Hasilkan kata cloud
wordcloud = WordCloud(lebar = 3000, tinggi = 2000, random_state=1, background_color='white', collocations=Salah, stopwords = STOPWORDS).generate(artist_review) # Merencanakan
plot_cloud(awankata)

Ahli Ai Penguin Cafe Word Cloud

Gbr.1: Awan kata di mana kata-kata yang paling sering digunakan muncul dalam font yang lebih besar dan yang jarang digunakan dalam font yang lebih kecil.

Bagaimana perasaan Anda terhadap musik mereka?

Berkat kata cloud, kami tahu lebih banyak tentang The Penguin Café Orchestra. Kita tahu bahwa mereka menggunakan instrumen seperti ukulele, piano dan biola, dan mereka mencampur genre seperti folk, etnik, dan klasik.

Namun, kami tidak tahu gaya artisnya. Kita bisa tahu lebih banyak dengan melihat emosi apa yang keluar dari pekerjaan mereka.

Untuk melakukannya, kita akan menggunakan API NL expert.ai. Silahkan daftar di sini, temukan dokumentasi di SDK di sini dan pada fitur di sini.

### Instal python SDK

!pip instal expertai-nlapi ## Kode untuk menginisialisasi klien dan kemudian menggunakan taksonomi sifat-emosional mengimpor os dari expertai.nlapi.cloud.client mengimpor ExpertAiClient client = ExpertAiClient() os.environ["EAI_USERNAME"] = 'your_username' os.environ["EAI_PASSWORD"] = 'your_password' emosi =[] weights = [] output = client.classification(body={"document" : {"text": artist_review}}, params={'taxonomy': 'emotional-traits', 'language': 'en'}) untuk kategori in keluaran.kategori: emosi = kategori.label bobot = kategori.frekuensi emosi.tambahkan(emosi) bobot.tambahkan(berat) cetak(emosi) cetak(berat)


['Kebahagiaan', 'Kegembiraan', 'Kegembiraan', 'Hiburan', 'Cinta']
[15.86, 31.73, 15.86, 31.73, 4.76]

Untuk mengambil bobot, kami menggunakan "frekuensi" yang sebenarnya merupakan persentase. Jumlah semua frekuensi adalah 100. Ini membuat frekuensi emosi menjadi kandidat yang baik untuk diagram lingkaran, yang diplot menggunakan matplotlib.

# Impor perpustakaan

dari matplotlib.dll mengimpor plot gambar as plt
mengimpor mati rasa as np # Membuat plot
warna = ['#0081a7','#2a9d8f','#e9c46a','#f4a261', '#e76f51'] fig = plt.figure(figsize =(10, 7)) plt.pie(bobot, label = emosi, warna=warna, autopct='%1.1f%%') # tampilkan plot
plt.show ()

Bagan Pai Ai Pakar
Gbr.2: Diagram lingkaran yang mewakili setiap emosi dan persentasenya.

Apa album terbaik mereka?

Jika Anda ingin mulai mendengarkan mereka, untuk melihat apakah Anda merasakan emosi yang sama seperti yang ditemukan Scaruffis dalam karya mereka, dari mana Anda bisa mulai? Kita dapat melihat analisis sentimen untuk setiap album dan mendapatkan gambaran tentang album terbaik mereka. Untuk melakukannya, kami mengulangi ulasan setiap album dan menggunakan expert.ai NL API untuk mengambil sentimen dan kekuatannya.

## Kode untuk mengulangi setiap album dan mengambil sentimen

sentimen_rating = [] albums_names = [album[:-4] untuk album in album] untuk album in album: album_path = os.path.join(artist_path, album) dengan buka(album_path, 'r', encoding = 'utf8') as file: review = file.read() output = client.specific_resource_analysis( body={"document": {"text": review}}, params={'language': 'en', 'resource': 'sentimen' } ) sentimen = output.sentiment.overall sentimen_ratings.append(sentiment) print(albums_names) print(sentiment_ratings)

['Siaran Dari Rumah', 'Program Konser', 'Musik Dari Kafe Penguin', 'Tanda Kehidupan']
[11.6, 2.7, 10.89, 3.9]

 

Sekarang kita dapat memvisualisasikan sentimen untuk setiap ulasan menggunakan diagram batang. Ini akan memberi kami umpan balik visual yang cepat tentang album terbaik The Penguin Cafe Orchestra, dan tentang karir mereka. Untuk melakukannya kami menggunakan sekali lagi matplotlib.

mengimpor matplotlib.pyplot as plt plt.style.use('ggplot') albums_names = [nama[:-4] untuk nama in albums] plt.bar(albums_names, sentimen_ratings, color='#70A0AF') plt.ylabel("Peringkat album") plt.title("Peringkat album Penguin Cafe Orchestra") plt.xticks(albums_names, rotation=70) plt .menunjukkan()

Bagan Batang Peringkat Ahli Ai

Awalnya diposkan di sini.

Sumber: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html

Stempel Waktu:

Lebih dari KDnugget