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.
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)
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 ()
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()
Originalmente postado SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Fonte: https://www.kdnuggets.com/2021/08/expert-nlp-insights-music.html
- '
- "
- &
- 100
- 11
- 7
- 9
- AI
- álbuns
- Todos os Produtos
- análise
- api
- Aplicação
- artista
- Artistas
- MELHOR
- construir
- Oportunidades
- Na nuvem
- código
- comum
- Criar
- dados,
- ciência de dados
- deep learning
- Diretor
- emoções
- Funcionalidades
- Figo
- Figura
- Primeiro nome
- função
- Bom estado, com sinais de uso
- GPUs
- Início
- esperando
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- idéia
- insights
- Entrevista
- investigar
- IT
- Rótulos
- língua
- APRENDER
- aprendizagem
- Lista
- gosta,
- ML
- Música
- Neural
- PNL
- aberto
- open source
- ordem
- Agenda
- Python
- avaliações
- razões
- regressão
- recurso
- rever
- Opinões
- Ciência
- cientistas
- Sdk
- sentimento
- conjunto
- Sinais
- pequeno
- So
- começo
- Histórias
- topo
- us
- Site
- palavras
- Atividades:
- trabalho
- X