NLP Insights für das Penguin Café Orchestra
Wir geben ein Beispiel für die Verwendung von Expert.ai und Python, um Lieblingsmusikalben zu untersuchen.
Von Laura Gorrieri, expert.ai
Bitte finden Sie die Notebook-Version dieses Threads hier.
Lassen Sie uns eine kleine Anwendung erstellen, um einen meiner Lieblingskünstler zu untersuchen. Sie heißen "Das Pinguin Café Orchester“ und wenn Sie sie nicht kennen, werden Sie herausfinden, worum es geht.
Unser Datensatz: eine Liste der Rezensionen ihres Albums, die ich von der Website von Piero Scaruffi genommen und in einem speziellen Ordner gespeichert habe.
Unser Ziel: um mehr über einen Künstler zu erfahren, der Albumrezensionen verwendet.
Unser praktisches Ziel: zu sehen, wie Die NL-API von expert.ai funktioniert und was es kann.
Worum geht es in "The Penguin Café Orchestra"?
Sehen wir uns zuerst an, was aus den Rezensionen herauskommt, indem wir nur die darin verwendeten Wörter analysieren. Wir verketten zunächst alle Rezensionen in einer Variablen, um eine vollständige Künstlerrezension zu erhalten. Dann werfen wir einen Blick auf die häufigsten Wörter in ihnen, in der Hoffnung, dass sie mehr über das Penguin Café Orchestra verraten.
## Code zum Durchlaufen des Künstlerordners und zum Verketten der Rezensionen der Alben in einer einzigen Rezension des Künstlers importieren os artist_review = '' artist_path = 'pinguin_cafe_orchestra' Alben = os.listdir(artist_path) für Album in Alben: album_path = os.path.join(artist_path, album) mit open(album_path, 'r', encoding = 'utf8') as Datei: Rezension = file.read() artist_review += Rezension
Mit einem seichtlinguistischen Ansatz können wir die Künstlerrezension untersuchen, die alle verfügbaren Rezensionen enthält. Dazu verwenden wir Matplotlib und Wortwolke, um eine Wortwolke zu erstellen, die uns mehr über die häufigsten Wörter im Text sagt.
# Pakete importieren
importieren matplotlib.pyplot as plt %matplotlib inline # Definiere eine Funktion zum Zeichnen von Wortwolken def plot_cloud(Wortwolke): # Figurengröße einstellen plt.figure (figsize = (30, 10)) # Bild anzeigen plt.imshow(wordcloud) # Keine Achsendetails plt.axis("aus"); # Paket importieren für Wortwolke importieren WordCloud, STOPWÖRTER # Wortwolke generieren wordcloud = WordCloud(width = 3000, height = 2000, random_state=1, background_color='white', collocations=falsch, stopwords = STOPWORDS).generate(artist_review) # Parzelle plot_cloud(Wortwolke)
Abb.1: Eine Wortwolke, in der die am häufigsten verwendeten Wörter in einer größeren und die weniger verwendeten Wörter in einer kleineren Schrift erscheinen.
Wie fühlt sich ihre Musik an?
Dank der Wortwolke wissen wir mehr über The Penguin Café Orchestra. Wir wissen, dass sie Instrumente wie Ukulele, Klavier und Geige verwenden und Genres wie Folk, Ethno und Klassik mischen.
Dennoch haben wir keine Ahnung vom Stil des Künstlers. Wir können mehr erfahren, indem wir uns ansehen, welche Emotionen aus ihrer Arbeit entstehen.
Dazu verwenden wir die NL-API von expert.ai. Bitte registrieren hier, finden Sie die Dokumentation zum SDK hier und zu den Funktionen hier.
### Installieren Sie das Python-SDK
!pip installiere expertai-nlapi ## Code zum Initialisieren des Clients und dann Verwendung der Emotions-Merkmals-Taxonomie importieren os für expertai.nlapi.cloud.client importieren ExpertAiClient client = ExpertAiClient() os.environ["EAI_USERNAME"] = 'Ihr_Benutzername' os.environ["EAI_PASSWORD"] = 'Ihr_Passwort' Emotionen =[] Gewichte = [] Ausgabe = client.classification(body={"Dokument" : {"text": artist_review}}, params={'taxonomy': 'emotional-traits', 'language': 'en'}) für Kategorie in output.categories: emotion = category.label weight = category.frequency emotions.append(emotion) weights.append(weight) print(emotions) print(weights)
['Glück', 'Aufregung', 'Freude', 'Belustigung', 'Liebe']
[15.86, 31.73, 15.86, 31.73, 4.76]
Zum Abrufen von Gewichtungen haben wir „Frequenz“ verwendet, was eigentlich ein Prozentsatz ist. Die Summe aller Häufigkeiten ist 100. Dies macht die Häufigkeiten der Emotionen zu einem guten Kandidaten für ein Tortendiagramm, das mit Matplotlib gezeichnet wird.
# Bibliotheken importieren
für Matplotlib importieren Pyplot as plt importieren numpig as np # Plot erstellen Farben = ['#0081a7','#2a9d8f','#e9c46a','#f4a261', '#e76f51'] fig = plt.figure(figsize =(10, 7)) plt.pie(weights, labels = Emotionen, Farben=Farben, Autopct='%1.1f%%') # Handlung anzeigen plt.show ()
Abb.2: Ein Kreisdiagramm, das jede Emotion und ihren Prozentsatz darstellt.
Was ist ihr bestes Album?
Wenn Sie anfangen möchten, ihnen zuzuhören, um zu sehen, ob Sie die gleichen Emotionen empfinden, die Scaruffis in ihrer Arbeit gefunden hat, wo könnten Sie anfangen? Wir können einen Blick auf die Sentiment-Analyse für jedes Album werfen und uns ein Bild von den besten machen. Dazu iterieren wir die Rezensionen jedes Albums und verwenden die expert.ai NL API, um deren Stimmung und Stärke abzurufen.
## Code zum Durchlaufen jedes Albums und zum Abrufen der Stimmung
sentiment_ratings = [] albums_names = [album[:-4] für Album in Alben] für Album in Alben: album_path = os.path.join(artist_path, album) mit open(album_path, 'r', encoding = '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(alben_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]
Jetzt können wir die Stimmung für jede Bewertung anhand eines Balkendiagramms visualisieren. Dies wird uns ein schnelles visuelles Feedback zum besten Album von The Penguin Cafe Orchestra und zu ihrer Karriere geben. Dazu verwenden wir wieder matplotlib.
importieren matplotlib.pyplot as plt plt.style.use('ggplot') albums_names = [name[:-4] für Name in Alben] plt.bar(albums_names, sentiment_ratings, color='#70A0AF') plt.ylabel("Albumbewertung") plt.title("Ratings of Penguin Cafe Orchestra's album") plt.xticks(albums_names, rotation=70) plt .zeigen()
Ursprünglich gepostet hier.
Quelle: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html
- '
- "
- &
- 100
- 11
- 7
- 9
- AI
- Alben
- Alle
- Analyse
- Bienen
- Anwendung
- Künstler
- Künstler
- BESTE
- bauen
- Karriere
- Cloud
- Code
- gemeinsam
- Erstellen
- technische Daten
- Datenwissenschaft
- tiefe Lernen
- Direktor
- Emotionen
- Eigenschaften
- Feige
- Abbildung
- Vorname
- Funktion
- gut
- GPUs
- Startseite
- Hoffnung
- Ultraschall
- Hilfe
- HTTPS
- Idee
- Einblicke
- Interview
- untersuchen
- IT
- Etiketten
- Sprache
- LERNEN
- lernen
- Liste
- ich liebe
- ML
- Musik
- Neural
- Nlp
- XNUMXh geöffnet
- Open-Source-
- Auftrag
- Programm
- Python
- Bewertungen
- Gründe
- Regression
- Ressourcen
- Überprüfen
- Bewertungen
- Wissenschaft
- Wissenschaftler
- Sdk
- Gefühl
- kompensieren
- Schilder
- klein
- So
- Anfang
- Geschichten
- Top
- us
- Webseite
- Worte
- Arbeiten
- Werk
- X