NLP Insights für das Penguin Café Orchestra

Quellknoten: 1062837

NLP Insights für das Penguin Café Orchestra

Stichworte: Experte.ai, Musik, NLP, Python

Wir geben ein Beispiel für die Verwendung von Expert.ai und Python, um Lieblingsmusikalben zu untersuchen.


Gesponserte Post.

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)

Experte Ai Penguin Cafe 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 ()

Experten-Ai-Kreisdiagramm
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()

Balkendiagramm für KI-Bewertungen von Experten

Ursprünglich gepostet hier.

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

Zeitstempel:

Mehr von KDnuggets