Penguin Café Orchestra 的 NLP 洞察

源节点: 1062837

Penguin Café Orchestra 的 NLP 洞察

标签: 专家.ai, 音乐, NLP, 蟒蛇

我们举例说明如何使用 Expert.ai 和 Python 来调查最喜欢的音乐专辑。


赞助职位。

作者:Laura Gorrieri,expert.ai

请找到此线程的笔记本版本 相关信息.

让我们构建一个小型应用程序来调查我最喜欢的艺术家之一。 他们叫 ”企鹅咖啡馆管弦乐队”如果你不认识他们,你就会知道他们是关于什么的。

我们的数据集:我从 Piero Scaruffi 的网站获取并保存在专用文件夹中的专辑评论列表。

我们的目标:使用专辑评论了解更多关于艺术家的信息。

我们的实际目标: 看看如何 Expert.ai 的 NL API 工作以及它可以做什么。

企鹅咖啡馆管弦乐队是关于什么的?

首先,让我们看看仅分析评论中使用的单词会得出什么结果。 我们首先将所有评论连接到一个变量中,以便获得完整的艺术家评论。 然后我们来看看其中最常用的词,希望它能在企鹅咖啡管弦乐队上透露更多。

## 用于迭代艺术家文件夹并将专辑评论连接到一个艺术家评论中的代码
进口 os 艺术家评论 = '' 艺术家路径 = 'penguin_cafe_orchestra' 专辑 = os.listdir(artist_path)   专辑 in 专辑:专辑路径 = os.path.join(艺术家路径,专辑)
        打开(专辑路径,'r',编码 = 'utf8') as 文件:review = file.read() artist_review += review

使用浅语言学方法,我们可以调查包含所有可用评论的艺术家评论。 为此,我们使用 matplotlib 和词云来生成一个词云,它将告诉我们更多关于文本中最常用词的信息。

 
# 导入包

进口 matplotlib.pyplot as plt %matplotlib 内联 # 定义一个绘制词云的函数
DEF 情节云(词云): # 设置图形大小 plt.figure(figsize =(30,10)) # 显示图片 plt.imshow(文字云) # 没有轴细节 plt.axis("关闭"); # 导入包
 词云 进口 词云,停用词 # 生成词云
wordcloud = WordCloud(width = 3000, height = 2000, random_state=1, background_color='white', collocations=, 停用词 = STOPWORDS).generate(artist_review) # 阴谋
plot_cloud(文字云)

专家艾企鹅咖啡馆词云

图 1:一个词云,其中最常用的词以较大的字体出现,而使用较少的词以较小的字体出现。

他们的音乐让你感觉如何?

多亏了词云,我们对企鹅咖啡管弦乐队有了更多的了解。 我们知道他们使用四弦琴、钢琴和小提琴等乐器,并且他们混合了民谣、民族和古典等流派。

尽管如此,我们对艺术家的风格一无所知。 我们可以通过查看他们的工作产生的情绪来了解更多信息。

为此,我们将使用expert.ai 的NL API。 请注册 相关信息, 找到SDK上的文档 相关信息 并在功能上 相关信息.

### 安装python SDK

!pip 安装专家-nlapi ## 初始化客户端然后使用情感特征分类的代码 进口 os  专家.nlapi.cloud.client 进口 ExpertAiClient 客户端 = ExpertAiClient() os.environ["EAI_USERNAME"] = 'your_username' os.environ["EAI_PASSWORD"] = 'your_password' 情绪 =[] 权重 = [] 输出 = client.classification(body={"document" : {"text": artist_review}}, params={'taxonomy': 'emotional-traits', 'language': 'en'})   类别 in output.categories: 情感 = category.label 权重 = category.frequency 情感.append(emotion) weights.append(weight) print(emotions) print(weights)


【‘幸福’、‘兴奋’、‘欢乐’、‘消遣’、‘爱情’】
[15.86、31.73、15.86、31.73、4.76]

为了检索权重,我们使用了“频率”,它实际上是一个百分比。 所有频率的总和为 100。这使得情绪的频率成为饼图的良好候选者,该饼图是使用 matplotlib 绘制的。

# 导入库

 matplotlib 进口 pyplot as PLT
进口 麻木 as np # 创建绘图
颜色 = ['#0081a7','#2a9d8f','#e9c46a','#f4a261', '#e76f51'] fig = plt.figure(figsize =(10, 7)) plt.pie(weights, labels =情绪, 颜色=颜色, autopct='%1.1f%%') # 显示情节
plt.show()

专家艾饼图
图 2:表示每种情绪及其百分比的饼图。

他们最好的专辑是什么?

如果你想开始倾听他们的声音,看看你是否能感受到斯卡鲁菲斯在他们的作品中发现的情绪,你可以从哪里开始? 我们可以查看每张专辑的情绪分析,并了解他们最好的专辑。 为此,我们迭代每张专辑的评论并使用expert.ai NL API 来检索他们的情绪及其强度。

## 迭代每张专辑并检索情绪的代码

情感评级 = [] 专辑名称 = [专辑 [:-4]   专辑 in 专辑]   专辑 in 专辑:专辑路径 = os.path.join(艺术家路径,专辑)   打开(专辑路径,'r',编码 = 'utf8') as 文件:review = file.read() output = client.specific_resource_analysis(body={"document": {"text": review}}, params={'language': 'en', 'resource': 'sentiment' } ) 情绪 = output.sentiment.overall 情绪评分。附加(情绪)打印(专辑名称)打印(情绪评分)

[“在家广播”、“音乐会节目”、“企鹅咖啡馆的音乐”、“生命的迹象”]
[11.6,2.7,10.89,3.9]

 

现在我们可以使用条形图可视化每条评论的情绪。 这将为我们提供有关 The Penguin Cafe Orchestra 最佳专辑及其职业生涯的快速视觉反馈。 为此,我们再次使用 matplotlib。

进口 matplotlib.pyplot as plt plt.style.use('ggplot') albums_names = [name[:-4]   姓名 in 专辑] plt.bar(albums_names, mood_ratings, color='#70A0AF') plt.ylabel("专辑评分") plt.title("企鹅咖啡馆管弦乐队专辑评分") plt.xticks(albums_names, rotation=70) plt 。节目()

专家 AI 评级条形图

最初张贴 相关信息.

资料来源:https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html

时间戳记:

更多来自 掘金队