NLP Insights a Penguin Café Orchestra számára
Példát adunk arra, hogyan használhatjuk az Expert.ai-t és a Python-t kedvenc zenei albumok kivizsgálására.
Írta: Laura Gorrieri, expert.ai
Keresse meg ennek a szálnak a notebook verzióját itt.
Készítsünk egy kis alkalmazást az egyik kedvenc művészem felderítésére. Felhívták őket "A Penguin Café Orchestra” és ha nem ismered őket, akkor megtudod, miről szólnak.
Adatkészletünk: az albumuk értékeléseinek listája, amelyet Piero Scaruffi webhelyéről vettem, és egy külön mappába mentettem.
A mi célunk: hogy többet megtudjon egy előadóról az albumkritika segítségével.
Gyakorlati célunk: hogy hogyan az expert.ai NL API-ja működik és mire képes.
Miről szól a The Penguin Café Orchestra?
Először nézzük meg, mi derül ki az ismertetőkből, ha csak a bennük használt szavakat elemezzük. Először az összes véleményt egy változóba fogjuk összefűzni, hogy egy teljes művész értékelése legyen. Ezután megnézzük a bennük leggyakrabban előforduló szavakat, remélve, hogy a Penguin Café Orchestra-ról többet árul el.
## Kód az előadó mappájában való iterációhoz és az albumok értékeléseinek összefűzéséhez egyetlen előadói véleményben importál os artist_review = '' artist_path = 'pingvin_cafe_orchestra' albums = os.listdir(artist_path) mert album in albumok: album_útvonal = os.path.join(előadó_útvonala, album) val vel open(album_path, 'r', kódolás = 'utf8') as file: review = file.read() artist_review += review
Sekély nyelvészeti megközelítéssel vizsgálhatjuk a művészkritikát, amely az összes elérhető recenziót tartalmazza. Ehhez a matplotlib-et és a szófelhőt használjuk, hogy szófelhőt hozzunk létre, amely többet mond el a szöveg leggyakoribb szavairól.
# Csomagok importálása
importál matplotlib.pyplot as plt %matplotlib inline # Határozzon meg egy függvényt a szófelhő ábrázolásához def plot_cloud(szófelhő): # Állítsa be a figura méretét plt.figure(figsize=(30, 10)) # Kép megjelenítése plt.imshow(wordcloud) # Nincsenek tengelyrészletek plt.axis("off"); # Csomag importálása ból ből szófelhő importál WordCloud, STOPWORDS # Szófelhő létrehozása wordcloud = WordCloud(szélesség = 3000, magasság = 2000, random_state=1, background_color='white', kollokációk=Hamis, stopwords = STOPWORDS).generate(artist_review) # Cselekmény plot_cloud(szófelhő)
1. ábra: Egy szófelhő, amelyben a leggyakrabban használt szavak nagyobb, a kevésbé használt szavak pedig kisebb betűkkel jelennek meg.
Milyen érzéseket kelt benned a zenéjük?
A szófelhőnek köszönhetően többet tudunk meg a The Penguin Café Orchestra-ról. Tudjuk, hogy olyan hangszereket használnak, mint az ukulele, zongora és hegedű, és olyan műfajokat kevernek, mint a népi, etnikai és klasszikus.
Ennek ellenére fogalmunk sincs a művész stílusáról. Többet tudhatunk meg, ha megnézzük, milyen érzelmek fakadnak ki munkájukból.
Ehhez az expert.ai NL API-ját fogjuk használni. Kérem regisztráljon itt, keresse meg a dokumentációt az SDK-n itt és a jellemzőkről itt.
### Telepítse a python SDK-t
!pip install expertai-nlapi ## Kód az ügyfél inicializálásához, majd használja az érzelmi jellemzők taxonómiáját importál os ból ből expertai.nlapi.cloud.client importál ExpertAiClient client = ExpertAiClient() os.environ["EAI_USERNAME"] = 'felhasználónév' os.environ["EAI_PASSWORD"] = 'saját_jelszó' érzelmek =[] weights = [] output = client.classification(body={"document" : {"text": artist_review}}, params={'taxonomy': 'érzelmi tulajdonságok', 'nyelv': 'hu'}) mert kategória in output.categories: érzelem = kategória.címke súlya = kategória.érzelmek gyakorisága.hozzáad(érzelem)súlyok.hozzáad(súly)nyom(érzelmek)nyomat(súlyok)
['Boldogság', 'Izgalom', 'Öröm', 'Szórakozás', 'Szerelem']
[15.86, 31.73, 15.86, 31.73, 4.76]
A súlyok lekéréséhez a „gyakoriságot” használtuk, ami valójában egy százalék. Az összes gyakoriság összege 100. Emiatt az érzelmek frekvenciái jó jelöltek egy kördiagramhoz, amelyet a matplotlib segítségével ábrázolnak.
# Könyvtárak importálása
ból ből matplotlib importál pyplot as plt importál számtalan as np # Telek létrehozása color = ['#0081a7','#2a9d8f','#e9c46a','#f4a261', '#e76f51'] fig = plt.figure(figsize =(10, 7)) plt.pie(súlyok, címkék = érzelmek, színek=színek, autopct='%1.1f%%') # show cselekmény plt.show ()
2. ábra: Az egyes érzelmeket és azok százalékos arányát ábrázoló kördiagram.
Melyik a legjobb albumuk?
Ha el akarná kezdeni hallgatni őket, hogy lássa, ugyanazokat az érzelmeket érzi-e, mint Scaruffis a munkájukban, hol kezdhetné? Vessünk egy pillantást az egyes albumok hangulatelemzésére, és képet kapunk a legjobbakról. Ennek érdekében megismételjük az egyes albumok áttekintését, és az expert.ai NL API-t használjuk, hogy visszakeressük a véleményüket és annak erősségét.
## Kód az egyes albumokon való iterációhoz és a hangulat lekéréséhez
sentiment_ratings = [] albums_names = [album[:-4] mert album in albumok] mert album in albumok: album_útvonal = os.path.join(előadó_útvonala, album) val vel open(album_path, 'r', kódolás = '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(albums_names) print(sentiment_ratings)
['Broadcasting From Home", "Concert Program", "Music from the Penguin Cafe", "Signs of Life"]
[11.6, 2.7, 10.89, 3.9]
Most egy oszlopdiagram segítségével megjeleníthetjük az egyes vélemények hangulatát. Ezzel gyors vizuális visszajelzést kapunk a The Penguin Cafe Orchestra legjobb albumáról és karrierjükről. Ehhez ismét a matplotlib-t használjuk.
importál matplotlib.pyplot as plt plt.style.use('ggplot') albums_names = [név[:-4] mert név in albumok] plt.bar(albumok_nevek, érzések_értékelései, color='#70A0AF') plt.ylabel("Album értékelése") plt.title("A Penguin Cafe Orchestra albumának értékelései") plt.xticks(albumok_nevek, rotáció=70) plt .előadás()
Originally posted itt.
Forrás: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html
- '
- "
- &
- 100
- 11
- 7
- 9
- AI
- albumok
- Minden termék
- elemzés
- api
- Alkalmazás
- művész
- Előadók
- BEST
- épít
- Karrier
- felhő
- kód
- Közös
- létrehozása
- dátum
- adat-tudomány
- mély tanulás
- Igazgató
- érzelmek
- Jellemzők
- Füge
- Ábra
- vezetéknév
- funkció
- jó
- GPU
- Kezdőlap
- remélve
- Hogyan
- How To
- HTTPS
- ötlet
- meglátások
- Interjú
- vizsgálja
- IT
- Címkék
- nyelv
- TANUL
- tanulás
- Lista
- szerelem
- ML
- zene
- ideg-
- NLP
- nyitva
- nyílt forráskódú
- érdekében
- Program
- Piton
- értékelés
- miatt
- regresszió
- forrás
- Kritika
- Vélemények
- Tudomány
- tudósok
- sdk
- érzés
- készlet
- Jelek
- kicsi
- So
- kezdet
- TÖRTÉNETEK
- felső
- us
- weboldal
- szavak
- Munka
- művek
- X