11 de jan de 2018

Como o Spotify usa machine learning para sugerir a sua próxima música?

Udacity Brasil

Cerca de 100 milhões de usuários do Spotify encontram, toda segunda-feira, uma nova playlist esperando por eles: a "Discover Weekly", uma seleção de 30 músicas nunca ouvidas anteriormente, mas com grandes chances de agradar. Além de oferecer recomendações personalizadas conforme o gosto individual de cada um, ela é renovada semanalmente.

Traduzida no Brasil para "Descobertas da Semana", essa funcionalidade criada em 2015 pela empresa sueca a fez repensar completamente seu foco: hoje, são investidos recursos ainda maiores em listas de reprodução baseadas em algoritmos.

Mas como o Spotify consegue reconhecer quais as preferências individuais de seus usuários e fazer sugestões cada vez mais assertivas?

De acordo com o portal Hackernoon, existem três modelos de recomendação utilizados pelo principal serviço de streaming de música no mundo: filtragem colaborativa, processamento de linguagem natural e áudio RAW.

Modelo 1: filtragem colaborativa

A Netflix foi uma das primeiras empresas a usar filtragem colaborativa para gerar um modelo de recomendação. Ela usa classificações de filmes baseadas em estrela dadas pelos usuários com o intuito de aumentar sua compreensão a respeito de quais filmes sugerir a outros usuários "semelhantes".

A utilização desse modelo se espalhou rapidamente e, hoje, é considerado o ponto de partida para quem deseja dar início a um modelo de recomendação dentro de seu negócio.

O Spotify, porém, não possui estrelas por meio das quais os usuários classificam o que estão escutando. Em vez disso, a plataforma registra informações como, por exemplo, quais as músicas ouvimos, se salvamos alguma faixa em nossa própria lista de reprodução ou se visitamos a página do artista no Spotify.

É a partir dessa grande quantidade de informações que entra em cena a filtragem colaborativa. Vamos supor que Carlos gosta das músicas A, B, C e D, enquanto Tiago costuma ouvir B, C, D e E: uma vez que essas duas pessoas costumam ouvir um alto número de faixas em comum, o Spotify deduz que Carlos possa gostar de conhecer E, enquanto Tiago vai adorar ouvir A.

Para fazer esse cálculo, que envolve milhões de preferências de tantos usuários, a plataforma utiliza cálculo matricial — a partir de bibliotecas de Python! Sem isso, seria impossível acertar os gostos dos 140 milhões de usuários do Spotify em meio a 30 milhões de músicas do seu banco de dados.

Modelo 2: processamento de linguagem natural

Os dados de origem desse modelo são palavras regulares: artigos de notícias, blogs, metadados (isto é, dados sobre outros dados) e qualquer texto encontrado na internet.

Isso quer dizer que o Spotify rastreia a web procurando constantemente por postagens de blog e por outros textos escritos a respeito de músicas, a fim de descobrir sobre o que as pessoas estão falando de artistas específicos e de seus lançamentos.

A intenção é entender quais adjetivos e linguagens são frequentemente usados ​​para falar desses temas, bem como quais outros cantores e faixas também são citados junto a eles.

Assim, de forma muito parecida com a filtragem colaborativa, o modelo de processamento de linguagem natural usa esses termos para criar uma representação vetorial da música — que pode ser usada para determinar se duas músicas são semelhantes e, consequentemente, fazer recomendações aos usuários a partir de seus gostos.

Modelo 3: áudio RAW

Esse modelo leva em consideração também as novas músicas lançadas, uma vez que os dois anteriores se baseiam em faixas e artistas já conhecidos, ouvidos e comentados pelos usuários.

No caso do Spotify, são utilizadas redes neurais convolucionais — a mesma tecnologia por trás do reconhecimento facial. A aplicação, porém, é adaptada para uso em dados de áudio em vez de pixels. Este é um exemplo de uma arquitetura de rede neural:

Essa rede neural possui quatro camadas convolucionais (as barras grossas à esquerda da imagem) e três camadas densas (as barras mais estreitas à direita). Os quadros de áudio passam por essas camadas e, a partir disso, é possível calcular estatísticas de tudo o que foi absorvido ao longo do tempo da música.

Ou seja, após esse processamento, a rede neural consegue ter uma compreensão maior sobre a música, incluindo características como duração, volume, intensidade, timbre, batidas, etc.

Isso permite que o Spotify perceba semelhanças fundamentais entre músicas e, a partir disso, saiba quais usuários podem se interessar pelas novas recomendações.

E mais: Ex-funcionários do Google e Facebook trazem empresa de bots ao Brasil

Conhecidos como chatbots, os robôs que interagem por meio de conversas estão ganhando cada vez mais espaço no mercado nacional e internacional. No último mês, chegou ao Brasil mais um player desse setor: a BotMaker.

De acordo com o portal Meio & Mensagem, um dos grandes destaques da startup que já possui escritórios em Miami e em Buenos Aires, é o time de executivos que está por trás dela.

São eles Alejandro Zuzenberg (ex-head de vendas do Facebook), Alexandre Hohagen (ex-CEO do Google e ex-VP do Facebook), Hernan Liendo (conselheiro do Google), Roberto Grosman (CEO da F.Biz e ex-Google e Amazon) e Julio Zaguini, ex-diretor do Google que será o responsável direto pela operação aqui no Brasil.

Fundada em 2016, a BotMaker possui aproximadamente 60 clientes de peso nos Estados Unidos e em países da América Latina. Dentre eles, estão companhias como Santander, Danone, Decolar, Mondelez e Quilmes (Ambev). Sua plataforma hoje realiza 2 milhões de interações por dia.

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.