We give an example of how to use Expert.ai and Python to investigate favorite music albums.
By Laura Gorrieri, expert.ai
Please find the notebook version of this thread here.
Let’s build a small application to investigate one of my favourite artists. They are called “The Penguin Café Orchestra” and if you don’t know them you are going to find out what they are about.
Our dataset: a list of their album’s reviews that I took from Piero Scaruffi’s website and saved in a dedicated folder.
Our goal: to understand more about an artist using album reviews.
Our practical goal: to see how expert.ai’s NL API works and what it can do.
What is The Penguin Café Orchestra about?
First let’s see what comes out from the reviews just analysing the words used in them. We’ll firstly concatenate all the reviews in one variable, in order to have a whole artist’s review. Then we are going to take a look at the most frequent words in them, hoping that it will reveal more on the Penguin Café Orchestra.
## Code for iterating on the artist's folder and concatenate albums' reviews in one single artist's review import os artist_review = '' artist_path="penguin_cafe_orchestra" albums = os.listdir(artist_path) for album in albums: album_path = os.path.join(artist_path, album) with open(album_path, 'r', encoding = 'utf8') as file: review = file.read() artist_review += review
Using a shallow-linguistics approach we can investigate the artist review, which contains all the available reviews. To do so we use matplotlib and word cloud to produce a word cloud that will tell us more about the most frequent words in the text.
# Import packages
import matplotlib.pyplot as plt %matplotlib inline # Define a function to plot word cloud def plot_cloud(wordcloud): # Set figure size plt.figure(figsize=(30, 10)) # Display image plt.imshow(wordcloud) # No axis details plt.axis("off"); # Import package from wordcloud import WordCloud, STOPWORDS # Generate word cloud wordcloud = WordCloud(width = 3000, height = 2000, random_state=1, background_color="white", collocations=False, stopwords = STOPWORDS).generate(artist_review) # Plot plot_cloud(wordcloud)
Fig.1: A word cloud in which the most used words appear in a bigger font and the less used one in a smaller font.
How does their music make you feel?
Thanks to the word cloud, we know more about The Penguin Café…
Continue reading: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html