Perspectives PNL pour le Penguin Café Orchestra

Nœud source: 1062837

Perspectives PNL pour le Penguin Café Orchestra

Mots clés: Expert.ai, Musique, PNL, Python

Nous donnons un exemple de la façon d'utiliser Expert.ai et Python pour rechercher les albums de musique préférés.


Post sponsorisé.

Par Laura Gorrieri, expert.ai

Veuillez trouver la version notebook de ce fil ici.

Créons une petite application pour enquêter sur l'un de mes artistes préférés. Elles sont appelées "L'Orchestre du Penguin Café» et si vous ne les connaissez pas, vous allez découvrir de quoi ils parlent.

Notre ensemble de données: une liste des critiques de leur album que j’ai récupérées sur le site de Piero Scaruffi et sauvegardées dans un dossier dédié.

Notre objectif: pour mieux comprendre un artiste à l'aide des critiques d'albums.

Notre objectif pratique: pour voir comment API NL d'expert.ai fonctionne et ce qu'il peut faire.

De quoi parle le Penguin Café Orchestra ?

Voyons d’abord ce qui ressort des critiques en analysant simplement les mots qui y sont utilisés. Nous allons dans un premier temps concaténer toutes les critiques dans une seule variable, afin d’avoir une critique d’artiste complète. Nous allons ensuite jeter un œil aux mots les plus fréquents, en espérant que cela nous en dira plus sur le Penguin Café Orchestra.

## Code permettant d'itérer sur le dossier de l'artiste et de concaténer les critiques d'albums en une seule critique d'artiste
importer os artiste_review = ''
chemin_artiste = 'penguin_cafe_orchestra'
albums = os.listdir(artist_path) en album in albums :
chemin_album = os.chemin.join(chemin_artiste, album)
      comprenant ouvert (chemin_album, 'r', encodage = 'utf8') as fichier : révision = fichier.read() artiste_review += révision

En utilisant une approche linguistique superficielle, nous pouvons étudier la critique d’artiste, qui contient toutes les critiques disponibles. Pour ce faire, nous utilisons matplotlib et word cloud pour produire un nuage de mots qui nous en dira plus sur les mots les plus fréquents dans le texte.

 
# Importer des packages

importer matplotlib.pyplot as plt
%matplotlib en ligne # Définir une fonction pour tracer un nuage de mots
def plot_cloud(mot nuage): # Définir la taille de la figurine plt.figure (figsize = (30, 10)) # Afficher l'image plt.imshow (cloud de mots) # Aucun détail d'axe plt.axis("off"); # Importer le package
De mot nuage importer Nuage de mots, mots vides # Générer un nuage de mots
wordcloud = WordCloud (largeur = 3000, hauteur = 2000, random_state=1, background_color='white', collocations=Faux, mots vides = STOPWORDS).generate(artist_review) # Parcelle
plot_cloud (nuage de mots)

Expert Ai Penguin Cafe mot nuage

Fig.1 : Un nuage de mots dans lequel les mots les plus utilisés apparaissent dans une police plus grande et les mots les moins utilisés dans une police plus petite.

Qu’est-ce que leur musique vous fait ressentir ?

Grâce au nuage de mots, nous en savons plus sur The Penguin Café Orchestra. On sait qu'ils utilisent des instruments comme le ukulélé, le piano et le violon, et qu'ils mélangent les genres comme le folk, l'ethnique et le classique.

Pourtant, nous n’avons aucune idée du style de l’artiste. Nous pouvons en savoir plus en regardant quelles émotions ressortent de leur travail.

Pour ce faire, nous allons utiliser l’API NL d’expert.ai. S'il vous plait enregistrez vous ici, retrouvez la documentation sur le SDK ici et sur les fonctionnalités ici.

### Installez le SDK python

!pip install expertai-nlapi ## Code pour initialiser le client puis utiliser la taxonomie des traits émotionnels importer os De expertai.nlapi.cloud.client importer ExpertAiClient
client = ExpertAiClient() os.environ["EAI_USERNAME"] = 'votre_nom d'utilisateur'
os.environ["EAI_PASSWORD"] = 'votre_mot de passe' émotions =[]
poids = [] sortie = client.classification(body={"document": {"text": artiste_review}}, params={'taxonomy': 'emotional-traits', 'langue': 'en'}) en category in sortie.catégories : émotion = catégorie.étiquette poids = catégorie.fréquence émotions.append (émotion) poids.append (poids) impression (émotions)
imprimer (poids)


['Bonheur', 'Excitation', 'Joie', 'Amusement', 'Amour']
[15.86, 31.73, 15.86, 31.73, 4.76]

Pour récupérer les poids, nous avons utilisé la « fréquence » qui est en fait un pourcentage. La somme de toutes les fréquences est de 100. Cela fait des fréquences des émotions un bon candidat pour un diagramme circulaire, tracé à l'aide de matplotlib.

# Importer des bibliothèques

De matplotlib importer pyplot as plt
importer numpy as np # Création de l'intrigue
couleurs = ['#0081a7','#2a9d8f','#e9c46a','#f4a261', '#e76f51']
fig = plt.figure(figsize =(10, 7))
plt.pie(poids, étiquettes = émotions, couleurs=couleurs, autopct='%1.1f%%') # afficher l'intrigue
plt.show ()

Graphique circulaire Expert Ai
Fig.2 : Un diagramme circulaire représentant chaque émotion et son pourcentage.

Quel est leur meilleur album ?

Si vous vouliez commencer à les écouter, pour voir si vous ressentez les mêmes émotions que Scaruffis ont trouvées dans leur travail, par où pourriez-vous commencer ? Nous pouvons jeter un œil à l’analyse des sentiments pour chaque album et avoir une idée de leurs meilleurs. Pour ce faire, nous parcourons la critique de chaque album et utilisons l'API expert.ai NL pour récupérer leur sentiment et sa force.

## Code pour itérer sur chaque album et récupérer le sentiment

sentiment_ratings = [] albums_names = [album[:-4] en album in albums] en album in albums : album_path = os.path.join(artist_path, album) comprenant ouvert (chemin_album, 'r', encodage = 'utf8') as fichier : review = file.read() output = client.special_resource_analysis( body={"document": {"text": review}}, params={'langue': 'fr', 'resource': 'sentiment' } ) sentiment = output.sentiment.overall sentiment_ratings.append(sentiment) print(albums_names)
imprimer (sentiment_ratings)

['Diffusion depuis la maison', 'Programme de concerts', 'Musique du Penguin Cafe', 'Signes de vie']
[11.6, 2.7, 10.89, 3.9]

 

Nous pouvons désormais visualiser le sentiment de chaque avis à l'aide d'un graphique à barres. Cela nous donnera un retour visuel rapide sur le meilleur album de The Penguin Cafe Orchestra, et sur leur carrière. Pour ce faire, nous utilisons à nouveau matplotlib.

importer matplotlib.pyplot as plt
plt.style.use('ggplot') albums_names = [nom[:-4] en prénom in albums] plt.bar(albums_names, sentiment_ratings, color='#70A0AF') plt.ylabel("Note de l'album")
plt.title("Notes de l'album de Penguin Cafe Orchestra")
plt.xticks (noms_albums, rotation = 70)
plt.show()

Graphique à barres des évaluations Expert Ai

Publié à l'origine ici.

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

Horodatage:

Plus de KDnuggetsGenericName