Insights de PNL para a Orquestra do Café Penguin

Nó Fonte: 1062837

Insights de PNL para a Orquestra do Café Penguin

Damos um exemplo de como usar Expert.ai e Python para investigar álbuns de música favoritos.


Postagem patrocinada.

Por Laura Gorrieri, especialista.ai

Por favor, encontre a versão do notebook deste tópico SUA PARTICIPAÇÃO FAZ A DIFERENÇA.

Vamos construir um pequeno aplicativo para investigar um dos meus artistas favoritos. Eles são chamados "Orquestra Penguin Café” e se você não os conhece, vai descobrir do que se trata.

Nosso conjunto de dados: uma lista de resenhas de seus álbuns que tirei do site de Piero Scaruffi e salvei em uma pasta dedicada.

Nosso objetivo: para entender mais sobre um artista usando resenhas de álbuns.

Nosso objetivo prático: para ver como API NL de expert.ai funciona e o que pode fazer.

Sobre o que é a Orquestra Penguin Café?

Primeiro vamos ver o que sai das avaliações apenas analisando as palavras usadas nelas. Primeiramente concatenaremos todas as resenhas em uma variável, para termos uma resenha completa do artista. A seguir vamos dar uma olhada nas palavras mais frequentes nelas, esperando que isso revele mais sobre a Orquestra Penguin Café.

## Código para iterar na pasta do artista e concatenar resenhas de álbuns em uma única resenha de artista
importar os artist_review = '' artist_path = 'penguin_cafe_orchestra' álbuns = os.listdir(artist_path) para álbum in álbuns: album_path = os.path.join(artist_path, álbum)
      de open(album_path, 'r', codificação = 'utf8') as arquivo: revisão = arquivo.read() artist_review += revisão

Usando uma abordagem linguística superficial, podemos investigar a crítica do artista, que contém todas as críticas disponíveis. Para fazer isso, usamos matplotlib e nuvem de palavras para produzir uma nuvem de palavras que nos contará mais sobre as palavras mais frequentes no texto.

 
# Importar pacotes

importar matplotlib.pyplot as plt% matplotlib embutido # Defina uma função para plotar a nuvem de palavras
def plot_cloud(palavra nuvem): # Definir tamanho da figura plt.figure (figsize = (30, 10)) # Exibir imagem plt.imshow(nuvem de palavras) # Sem detalhes do eixo plt.axis("desligado"); #Importar pacote
da palavra nuvem importar WordCloud, STOPWORDS # Gerar nuvem de palavras
wordcloud = WordCloud (largura = 3000, altura = 2000, random_state = 1, background_color = 'branco', collocations =Falso, palavras irrelevantes = STOPWORDS).generate(artist_review) # Trama
plot_cloud(nuvem de palavras)

Especialista Ai Penguin Cafe Word Cloud

Fig.1: Uma nuvem de palavras em que as palavras mais utilizadas aparecem em fonte maior e as menos utilizadas em fonte menor.

Como a música deles faz você se sentir?

Graças à nuvem de palavras, sabemos mais sobre a The Penguin Café Orchestra. Sabemos que utilizam instrumentos como ukulele, piano e violino, e que misturam gêneros como folk, étnico e clássico.

Ainda assim, não temos ideia do estilo do artista. Podemos saber mais observando quais emoções surgem de seu trabalho.

Para fazer isso, usaremos a API NL do expert.ai. Por favor registre SUA PARTICIPAÇÃO FAZ A DIFERENÇA, encontre a documentação no SDK SUA PARTICIPAÇÃO FAZ A DIFERENÇA e nos recursos SUA PARTICIPAÇÃO FAZ A DIFERENÇA.

### Instale o SDK python

!pip install expertai-nlapi ## Código para inicializar o cliente e depois usar a taxonomia de características emocionais importar os da expertai.nlapi.cloud.client importar Cliente ExpertAiClient = ExpertAiClient() os.environ["EAI_USERNAME"] = 'seu_nome de usuário' os.environ["EAI_PASSWORD"] = 'sua_senha' emoções =[] pesos = [] saída = client.classification(body={"document" : {"text": artist_review}}, params={'taxonomia': 'traços emocionais', 'linguagem': 'en'}) para categoria in saída.categorias: emoção = categoria.label peso = categoria.frequência emoções.append(emoção) pesos.append(peso) imprimir(emoções) imprimir(pesos)


['Felicidade', 'Excitação', 'Alegria', 'Diversão', 'Amor']
[15.86, 31.73, 15.86, 31.73, 4.76]

Para recuperar pesos usamos “frequência” que na verdade é uma porcentagem. A soma de todas as frequências é 100. Isso torna as frequências das emoções boas candidatas para um gráfico de pizza, que é plotado usando matplotlib.

# Importar bibliotecas

da matplotlib importar pyplot as plt
importar numpy as np # Criando enredo
cores = ['#0081a7','#2a9d8f','#e9c46a','#f4a261', '#e76f51'] fig = plt.figure(figsize =(10, 7)) plt.pie(pesos, rótulos = emoções, cores=cores, autopct='%1.1f%%') #mostrar plotagem
plt.show ()

Gráfico de pizza especialista Ai
Fig.2: Um gráfico de pizza representando cada emoção e sua porcentagem.

Qual é o melhor álbum deles?

Se você quisesse começar a ouvi-los, para ver se sente as mesmas emoções que Scaruffis encontrou em seu trabalho, por onde começar? Podemos dar uma olhada na análise de sentimento de cada álbum e ter uma ideia dos melhores. Para fazer isso, iteramos a análise de cada álbum e usamos a API expert.ai NL para recuperar seu sentimento e sua força.

## Código para iterar em cada álbum e recuperar o sentimento

sentiment_ratings = [] álbuns_names = [álbum[:-4] para álbum in álbuns] para álbum in álbuns: album_path = os.path.join(artist_path, álbum) de open(album_path, 'r', codificação = 'utf8') as arquivo: revisão = arquivo.read() saída = client.specific_resource_análise( corpo={"documento": {"texto": revisão}}, params={'idioma': 'en', 'recurso': 'sentimento' } ) sentimento = output.sentiment.overall sentiment_ratings.append(sentiment) print(albums_names) print(sentiment_ratings)

['Broadcasting From Home', 'Programa de Concertos', 'Music From the Penguin Cafe', 'Signs of Life']
[11.6, 2.7, 10.89, 3.9]

 

Agora podemos visualizar o sentimento de cada avaliação usando um gráfico de barras. Isso nos dará um rápido feedback visual sobre o melhor álbum da The Penguin Cafe Orchestra e sobre sua carreira. Para fazer isso usamos mais uma vez matplotlib.

importar matplotlib.pyplot as plt plt.style.use('ggplot') albums_names = [nome[:-4] para nome in álbuns] plt.bar(albums_names, sentiment_ratings, color='#70A0AF') plt.ylabel("Classificação do álbum") plt.title("Avaliações do álbum da Penguin Cafe Orchestra") plt.xticks(albums_names, rotation=70) plt .mostrar()

Gráfico de barras de classificações de especialistas em AI

Originalmente postado SUA PARTICIPAÇÃO FAZ A DIFERENÇA.

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

Carimbo de hora:

Mais de KDnuggetsGenericName