SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Sistemas de Recomendação
O que são? Como funcionam? Do que se
alimentam?
Marlesson Santana
Marlesson Santana
● Pesquisado no Deep Learning Brasil - UFG
● CDO na CQuantt Consultoria em Big Data e Machine
Learning
● Community Manager do Data Hackers e Data Train
Sumário
● Introdução a RecSys
● Principáis Algoritmos
● Arquitetura e Ferramentas
● Como avaliar um RecSys?
● Conclusão
O que é um Sistema de
Recomendação?
RecSys é o processo que usa
as preferências do usuário
para filtrar e sugerir
conteúdo personalizado.
● ~150 M de usuários
● ~10.000 títulos
● 190 Países
● 80% impactados
com RecSys
● Recomendações
além de filmes
NETFLIX
● 300 M de usuários
● 120 M de produtos
● 18 países
● 35% das compras
vem de RecSys
● 20 anos usando
Recomendações
AMAZON
● 217 M de usuários
● 40 M de faixas
● 50 países
● RecSys Interativo
SPOTIFY
RecSys
● É aplicável em diferentes domínios
● Otimiza a experiência do usuário dentro da plataforma
● Retém o usuário dentro da plataforma
● Revela padrões de consumo com base nas preferências que
podem ser utilizados em outros setores
Estamos a todo tempo deixando
rastros das nossas preferências pela
internet
RecSys
RecSys - O que são preferências?
● Suas interações e/ou notas concedidas para determinado conteúdo
● Podem ser do tipo explícita ou implícita
● São armazenadas ao longo da utilização do sistema
Ex: curtidas, ratings, pause ou rewind, tempo de leitura,
compartilhamentos.. etc
Algoritmos de
Recomendação
Collaborative
Filtering
Content
Based
Cold Start
RecSys - Content Based
Algoritmos de CB utilizam da similaridade entre
conteúdos para recomendar.
1. Analiza histórico do consumo
2. Recomenda os conteúdos mais similares que o usuário
ainda não viu
“Já que você comprou ‘O Senhor dos Anéis’, também recomendamos ‘O Hobbit’
RecSys - Content Based
Algoritmos de CB utilizam da similaridade entre
conteúdos para recomendar.
1. Analiza histórico do consumo
2. Recomenda os conteúdos mais similares que o usuário
ainda não viu
Mas o que é similaridade?
RecSys - Similaridade
Item A Item B Item C
RecSys - Similaridade
Item A Item B Item C
RecSys - Similaridade
Precisamos definir pelo menos duas informações quando falamos de
similaridade
● Atributos
● Métrica
RecSys - Similaridade - Atributos
RecSys - Similaridade - Métrica
Att 1 Att 2
Item A 5 2
Item B 2 4
Item C 4 1
Após o mapeamento dos atributos do
conteúdo temos um espaço vetorial
RecSys - Similaridade - Métrica
Distância Euclidiana
Similaridade do Cosseno
RecSys - Content Based
Características do modelo:
● Algoritmo de rápida atualização
● Necessidade de modelagem de atributos
● Gera efeito de “bolha de consumo”
RecSys - Content Based
RecSys - Collaborative Filtering
Utiliza preferências de outros usuários para
recomendar
1. Analizar histórico de interações de todos os usuários
2. Tenta “estimar” qual seria o valor da preferência do
usuário para um item
“Pessoas que assistiram o ‘O Senhor dos Anéis’ também assistiram “Star Wars”
RecSys - Collaborative Filtering
Os algoritmos de FC utilizam a matriz
de interação com o objetivo de inferir
os valores faltantes.
● Similaridade - KNN
● Fatoração de Matrizes - ALS, SVD
● Deep Learning
RecSys - Collaborative Filtering - Similaridade
dist(user1, user2)
RecSys - Collaborative Filtering - FM
RecSys - Collaborative Filtering - AutoEncoders
O modelo usa a representação do usuário
como um vetor de scores x ∈ ℝn, onde n
é o número de itens. X = [3, 4, 2, 5, 5 ...]
O AE após treinamento, a entrada do
modelo é o vetor esparso e saída o vetor
completo.
RecSys - Collaborative Filtering
Características do modelo:
● Simples de modelar e implementar
● Necessita de muitos dados históricos de
preferências
● Pode ser computacionalmente custoso
● Problema de Cold Start
RecSys - Collaborative Filtering
RecSys - Cold Start
O que fazer quando não sabemos nada ou pouco sobre o
usuário ?
RecSys - Cold Start
O que fazer quando não sabemos nada ou pouco sobre o
usuário ?
● Listas de TOP-n
● Listas personalizadas por curadoria
● Clusterização por Geolocalização ou poucas informações
“Assista os filmes mais bem avaliados da nossa plataforma”
Arquitetura e Ferramentas
SITE
Logs de
Interação
Conteúdo Filtrado
Engine RecSysBase de Dados
Interação Recomendação
👩
Arquitetura de um RecSys
Ferramentas
Coleta de
Eventos
Engine de RecSysArmazenamento
Ferramentas
Ferramentas
https://spark.apache.org/docs/2.2.0/ml-collaborative-filtering.html
Ferramentas
Plataformas que oferecem
uma API para uma Engine de
RecSys
Arquitetura
Telemetria Recomendações
Histórico de
Eventos
RecSys Engine
Storage Conteúdo
Base
Transacional
Como avaliar a
recomendação?
Métricas de RecSys
Click-Through Rate
Conversão
Tempo no Site
Retenção
….
Baseadas no Erro (MAE, MSE)
Precisão
Ranking
...
Em RecSys as métricas podem ser do tipo online ou offline.
Métricas de RecSys - offline - MAE
Métricas baseadas no erro médio são mais utilizadas nos algoritmos
de regressão e predição das preferências
Métrica simples que calcula a precisão binária. Itens mais relevantes
devem aparecer à frente de itens menos relevantes
Métricas de RecSys - offline - Precision@k
1 2 3 4 5
Precision@3 = 2/3 = 0.66
Precision@4 = 3/4 = 0.75
Precision@5 = 3/5 = 0.6
Métrica alternativa que contabiliza a ordem que o item aparece na lista de
recomendação.
Métricas de RecSys - offline - DCG@k
1 2 3 4 5
DCG@3 = 3,32 + 0 + 1.10 = 4.42
DCG@4 = ...
DCG@5 = ...
Mais Métricas...
CTR
Taxa de Cliques. Se o que foi
recomendado foi acessado.
Cobertura
Se todos os conteúdos da
base estão sendo
recomendados para alguém?
Diversidade
Se a recomendação está
diversificada.
Engajamento
Se além de clicar o usuário
engajou na recomendação
(compartilhou, comentou.. etc).
Novidade
O quão nova é a
recomendação.
Surpresa
Fator surpresa do que está
sendo recomendado.
Conclusão
● Qualquer sistema que ofereça conteúdo ao usuário pode ser
otimizado por RecSys independente do tipo do conteúdo.
● Conhecer os padrões de consumo do seu cliente é fundamental em
diversas outras áreas
● RecSys é um sistema complexo que envolve desde a coleta das
informações a entrega da recomendação.
Marlesson Santana
marlesson@cquantt.com
@marlesson
Obrigado
https://datahackers.com.br/
https://github.com/TheDataTrain/Meetups

Mais conteúdo relacionado

Mais procurados

Teoria Geral dos Sistemas
Teoria Geral dos SistemasTeoria Geral dos Sistemas
Teoria Geral dos SistemasCorreios
 
06 Modelagem de banco de dados: Modelo Lógico
06  Modelagem de banco de dados: Modelo Lógico06  Modelagem de banco de dados: Modelo Lógico
06 Modelagem de banco de dados: Modelo LógicoCentro Paula Souza
 
Aula 1 introdução à informática jurídica.ppt
Aula 1   introdução à informática jurídica.pptAula 1   introdução à informática jurídica.ppt
Aula 1 introdução à informática jurídica.pptMárcia Rodrigues
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemasFelipe Oliveira
 
Estudo de caso planejamento e método
Estudo de caso  planejamento e métodoEstudo de caso  planejamento e método
Estudo de caso planejamento e métodoRosane Domingues
 
AÇOS E SUAS LIGAS - APRESENTAÇÃO.ppt
AÇOS E SUAS LIGAS - APRESENTAÇÃO.pptAÇOS E SUAS LIGAS - APRESENTAÇÃO.ppt
AÇOS E SUAS LIGAS - APRESENTAÇÃO.pptClayton Lima
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasGustavo Gonzalez
 
Ihc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihcIhc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihcTicianne Darin
 
Design de Interação - Método de Inspeção Semiótica
Design de Interação - Método de Inspeção SemióticaDesign de Interação - Método de Inspeção Semiótica
Design de Interação - Método de Inspeção SemióticaMarcello Cardoso
 
Mapa de Sistema - Entendendo as Organizações como Sistemas
Mapa de Sistema - Entendendo as Organizações como SistemasMapa de Sistema - Entendendo as Organizações como Sistemas
Mapa de Sistema - Entendendo as Organizações como SistemasBruno Mazzali
 

Mais procurados (20)

Teoria Geral dos Sistemas
Teoria Geral dos SistemasTeoria Geral dos Sistemas
Teoria Geral dos Sistemas
 
06 Modelagem de banco de dados: Modelo Lógico
06  Modelagem de banco de dados: Modelo Lógico06  Modelagem de banco de dados: Modelo Lógico
06 Modelagem de banco de dados: Modelo Lógico
 
Tomada de decisão 1
Tomada de decisão 1Tomada de decisão 1
Tomada de decisão 1
 
Aula 1 introdução à informática jurídica.ppt
Aula 1   introdução à informática jurídica.pptAula 1   introdução à informática jurídica.ppt
Aula 1 introdução à informática jurídica.ppt
 
Cobre e Ferro
Cobre e FerroCobre e Ferro
Cobre e Ferro
 
Es capítulo 5 - modelagem de sistemas
Es   capítulo 5  - modelagem de sistemasEs   capítulo 5  - modelagem de sistemas
Es capítulo 5 - modelagem de sistemas
 
Lendo emoções
Lendo emoções Lendo emoções
Lendo emoções
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
Estudo de caso planejamento e método
Estudo de caso  planejamento e métodoEstudo de caso  planejamento e método
Estudo de caso planejamento e método
 
Estampagem
EstampagemEstampagem
Estampagem
 
AÇOS E SUAS LIGAS - APRESENTAÇÃO.ppt
AÇOS E SUAS LIGAS - APRESENTAÇÃO.pptAÇOS E SUAS LIGAS - APRESENTAÇÃO.ppt
AÇOS E SUAS LIGAS - APRESENTAÇÃO.ppt
 
Estrutura organizacional
Estrutura organizacionalEstrutura organizacional
Estrutura organizacional
 
O aço
O açoO aço
O aço
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
 
Ihc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihcIhc2016.2 aula 1 introdução a ihc
Ihc2016.2 aula 1 introdução a ihc
 
Teorias da Motivação
Teorias da MotivaçãoTeorias da Motivação
Teorias da Motivação
 
MUDANÇA ORGANIZACIONAL
MUDANÇA ORGANIZACIONALMUDANÇA ORGANIZACIONAL
MUDANÇA ORGANIZACIONAL
 
Design de Interação - Método de Inspeção Semiótica
Design de Interação - Método de Inspeção SemióticaDesign de Interação - Método de Inspeção Semiótica
Design de Interação - Método de Inspeção Semiótica
 
Mapa de Sistema - Entendendo as Organizações como Sistemas
Mapa de Sistema - Entendendo as Organizações como SistemasMapa de Sistema - Entendendo as Organizações como Sistemas
Mapa de Sistema - Entendendo as Organizações como Sistemas
 

Semelhante a Sistemas de Recomendação: o que são, como funcionam e ferramentas

Campus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoCampus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoMarlesson Santana
 
Case Recommender: Fazendo recomendação em Python
Case Recommender: Fazendo recomendação em PythonCase Recommender: Fazendo recomendação em Python
Case Recommender: Fazendo recomendação em PythonArthur Fortes
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearchtdc-globalcode
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo SummitAmazon Web Services
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Tchelinux
 
AI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDCAI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDCRenan Moreira de Oliveira
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoDavid Robert Camargo de Campos
 
Sistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseSistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseMorvana Bonin
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
 
Arquitetura da Informação
Arquitetura da InformaçãoArquitetura da Informação
Arquitetura da InformaçãoMarcello Cardoso
 
Application Insights - Agosto/2016
Application Insights - Agosto/2016Application Insights - Agosto/2016
Application Insights - Agosto/2016Renato Groff
 
Application Insights - MS Weekend 2016
Application Insights - MS Weekend 2016Application Insights - MS Weekend 2016
Application Insights - MS Weekend 2016Renato Groff
 
AWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine Learning
AWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine LearningAWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine Learning
AWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine LearningRayssa Küllian
 
Desvendando seus dados com Amazon Machine Learning
Desvendando seus dados com Amazon Machine LearningDesvendando seus dados com Amazon Machine Learning
Desvendando seus dados com Amazon Machine LearningAmazon Web Services LATAM
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoAmazon Web Services LATAM
 
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...Renato Groff
 

Semelhante a Sistemas de Recomendação: o que são, como funcionam e ferramentas (20)

Campus Party - Sistemas de Recomendação
Campus Party - Sistemas de RecomendaçãoCampus Party - Sistemas de Recomendação
Campus Party - Sistemas de Recomendação
 
Case Recommender: Fazendo recomendação em Python
Case Recommender: Fazendo recomendação em PythonCase Recommender: Fazendo recomendação em Python
Case Recommender: Fazendo recomendação em Python
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
 
Bancos de dados NoSQL na AWS
Bancos de dados NoSQL na AWSBancos de dados NoSQL na AWS
Bancos de dados NoSQL na AWS
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
AI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDCAI & Big Data - Personalização da Jornada - PicPay - TDC
AI & Big Data - Personalização da Jornada - PicPay - TDC
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenho
 
Sistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + SurpriseSistemas de Recomendação com Neo4j + Surprise
Sistemas de Recomendação com Neo4j + Surprise
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
 
Arquitetura da Informação
Arquitetura da InformaçãoArquitetura da Informação
Arquitetura da Informação
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 
Application Insights - Agosto/2016
Application Insights - Agosto/2016Application Insights - Agosto/2016
Application Insights - Agosto/2016
 
Application Insights - MS Weekend 2016
Application Insights - MS Weekend 2016Application Insights - MS Weekend 2016
Application Insights - MS Weekend 2016
 
AWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine Learning
AWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine LearningAWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine Learning
AWS Summit SP 2016: Desvendando Seu Dataset Com Amazon Machine Learning
 
Desvendando seus dados com Amazon Machine Learning
Desvendando seus dados com Amazon Machine LearningDesvendando seus dados com Amazon Machine Learning
Desvendando seus dados com Amazon Machine Learning
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de Trabalho
 
SAD e OLAP
SAD e OLAPSAD e OLAP
SAD e OLAP
 
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
Application Insights - III Encontro Metropolitano de Tecnologia - Baixada San...
 

Mais de Marlesson Santana

UFG - Topic Modeling in Text
UFG - Topic Modeling in TextUFG - Topic Modeling in Text
UFG - Topic Modeling in TextMarlesson Santana
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesMarlesson Santana
 
Data science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticasData science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticasMarlesson Santana
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMarlesson Santana
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesMarlesson Santana
 
Deep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoDeep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoMarlesson Santana
 
Training deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filteringTraining deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filteringMarlesson Santana
 
DDC - workshop deep learning
DDC -  workshop deep learningDDC -  workshop deep learning
DDC - workshop deep learningMarlesson Santana
 
Introdução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesIntrodução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesMarlesson Santana
 
Mineração de Dados em Redes Sociais
Mineração de Dados em Redes SociaisMineração de Dados em Redes Sociais
Mineração de Dados em Redes SociaisMarlesson Santana
 

Mais de Marlesson Santana (10)

UFG - Topic Modeling in Text
UFG - Topic Modeling in TextUFG - Topic Modeling in Text
UFG - Topic Modeling in Text
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisões
 
Data science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticasData science com python - frameworks e melhores práticas
Data science com python - frameworks e melhores práticas
 
Machine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produçãoMachine Learning: Do Notebook ao modelo em produção
Machine Learning: Do Notebook ao modelo em produção
 
Ciência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisõesCiência de Dados: a revolução na tomada de decisões
Ciência de Dados: a revolução na tomada de decisões
 
Deep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoDeep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de Recomendação
 
Training deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filteringTraining deep auto encoders for collaborative filtering
Training deep auto encoders for collaborative filtering
 
DDC - workshop deep learning
DDC -  workshop deep learningDDC -  workshop deep learning
DDC - workshop deep learning
 
Introdução a Redes Neurais Recorrentes
Introdução a Redes Neurais RecorrentesIntrodução a Redes Neurais Recorrentes
Introdução a Redes Neurais Recorrentes
 
Mineração de Dados em Redes Sociais
Mineração de Dados em Redes SociaisMineração de Dados em Redes Sociais
Mineração de Dados em Redes Sociais
 

Sistemas de Recomendação: o que são, como funcionam e ferramentas

  • 1.
  • 2. Sistemas de Recomendação O que são? Como funcionam? Do que se alimentam? Marlesson Santana
  • 3. Marlesson Santana ● Pesquisado no Deep Learning Brasil - UFG ● CDO na CQuantt Consultoria em Big Data e Machine Learning ● Community Manager do Data Hackers e Data Train
  • 4. Sumário ● Introdução a RecSys ● Principáis Algoritmos ● Arquitetura e Ferramentas ● Como avaliar um RecSys? ● Conclusão
  • 5. O que é um Sistema de Recomendação?
  • 6. RecSys é o processo que usa as preferências do usuário para filtrar e sugerir conteúdo personalizado.
  • 7. ● ~150 M de usuários ● ~10.000 títulos ● 190 Países ● 80% impactados com RecSys ● Recomendações além de filmes NETFLIX
  • 8. ● 300 M de usuários ● 120 M de produtos ● 18 países ● 35% das compras vem de RecSys ● 20 anos usando Recomendações AMAZON
  • 9. ● 217 M de usuários ● 40 M de faixas ● 50 países ● RecSys Interativo SPOTIFY
  • 10. RecSys ● É aplicável em diferentes domínios ● Otimiza a experiência do usuário dentro da plataforma ● Retém o usuário dentro da plataforma ● Revela padrões de consumo com base nas preferências que podem ser utilizados em outros setores
  • 11. Estamos a todo tempo deixando rastros das nossas preferências pela internet RecSys
  • 12. RecSys - O que são preferências? ● Suas interações e/ou notas concedidas para determinado conteúdo ● Podem ser do tipo explícita ou implícita ● São armazenadas ao longo da utilização do sistema Ex: curtidas, ratings, pause ou rewind, tempo de leitura, compartilhamentos.. etc
  • 15. RecSys - Content Based Algoritmos de CB utilizam da similaridade entre conteúdos para recomendar. 1. Analiza histórico do consumo 2. Recomenda os conteúdos mais similares que o usuário ainda não viu “Já que você comprou ‘O Senhor dos Anéis’, também recomendamos ‘O Hobbit’
  • 16. RecSys - Content Based Algoritmos de CB utilizam da similaridade entre conteúdos para recomendar. 1. Analiza histórico do consumo 2. Recomenda os conteúdos mais similares que o usuário ainda não viu Mas o que é similaridade?
  • 17. RecSys - Similaridade Item A Item B Item C
  • 18. RecSys - Similaridade Item A Item B Item C
  • 19. RecSys - Similaridade Precisamos definir pelo menos duas informações quando falamos de similaridade ● Atributos ● Métrica
  • 20. RecSys - Similaridade - Atributos
  • 21. RecSys - Similaridade - Métrica Att 1 Att 2 Item A 5 2 Item B 2 4 Item C 4 1 Após o mapeamento dos atributos do conteúdo temos um espaço vetorial
  • 22. RecSys - Similaridade - Métrica Distância Euclidiana Similaridade do Cosseno
  • 23. RecSys - Content Based Características do modelo: ● Algoritmo de rápida atualização ● Necessidade de modelagem de atributos ● Gera efeito de “bolha de consumo”
  • 25. RecSys - Collaborative Filtering Utiliza preferências de outros usuários para recomendar 1. Analizar histórico de interações de todos os usuários 2. Tenta “estimar” qual seria o valor da preferência do usuário para um item “Pessoas que assistiram o ‘O Senhor dos Anéis’ também assistiram “Star Wars”
  • 26. RecSys - Collaborative Filtering Os algoritmos de FC utilizam a matriz de interação com o objetivo de inferir os valores faltantes. ● Similaridade - KNN ● Fatoração de Matrizes - ALS, SVD ● Deep Learning
  • 27. RecSys - Collaborative Filtering - Similaridade dist(user1, user2)
  • 28. RecSys - Collaborative Filtering - FM
  • 29. RecSys - Collaborative Filtering - AutoEncoders O modelo usa a representação do usuário como um vetor de scores x ∈ ℝn, onde n é o número de itens. X = [3, 4, 2, 5, 5 ...] O AE após treinamento, a entrada do modelo é o vetor esparso e saída o vetor completo.
  • 30. RecSys - Collaborative Filtering Características do modelo: ● Simples de modelar e implementar ● Necessita de muitos dados históricos de preferências ● Pode ser computacionalmente custoso ● Problema de Cold Start
  • 32. RecSys - Cold Start O que fazer quando não sabemos nada ou pouco sobre o usuário ?
  • 33. RecSys - Cold Start O que fazer quando não sabemos nada ou pouco sobre o usuário ? ● Listas de TOP-n ● Listas personalizadas por curadoria ● Clusterização por Geolocalização ou poucas informações “Assista os filmes mais bem avaliados da nossa plataforma”
  • 35. SITE Logs de Interação Conteúdo Filtrado Engine RecSysBase de Dados Interação Recomendação 👩 Arquitetura de um RecSys
  • 39. Ferramentas Plataformas que oferecem uma API para uma Engine de RecSys
  • 40. Arquitetura Telemetria Recomendações Histórico de Eventos RecSys Engine Storage Conteúdo Base Transacional
  • 42. Métricas de RecSys Click-Through Rate Conversão Tempo no Site Retenção …. Baseadas no Erro (MAE, MSE) Precisão Ranking ... Em RecSys as métricas podem ser do tipo online ou offline.
  • 43. Métricas de RecSys - offline - MAE Métricas baseadas no erro médio são mais utilizadas nos algoritmos de regressão e predição das preferências
  • 44. Métrica simples que calcula a precisão binária. Itens mais relevantes devem aparecer à frente de itens menos relevantes Métricas de RecSys - offline - Precision@k 1 2 3 4 5 Precision@3 = 2/3 = 0.66 Precision@4 = 3/4 = 0.75 Precision@5 = 3/5 = 0.6
  • 45. Métrica alternativa que contabiliza a ordem que o item aparece na lista de recomendação. Métricas de RecSys - offline - DCG@k 1 2 3 4 5 DCG@3 = 3,32 + 0 + 1.10 = 4.42 DCG@4 = ... DCG@5 = ...
  • 46. Mais Métricas... CTR Taxa de Cliques. Se o que foi recomendado foi acessado. Cobertura Se todos os conteúdos da base estão sendo recomendados para alguém? Diversidade Se a recomendação está diversificada. Engajamento Se além de clicar o usuário engajou na recomendação (compartilhou, comentou.. etc). Novidade O quão nova é a recomendação. Surpresa Fator surpresa do que está sendo recomendado.
  • 47. Conclusão ● Qualquer sistema que ofereça conteúdo ao usuário pode ser otimizado por RecSys independente do tipo do conteúdo. ● Conhecer os padrões de consumo do seu cliente é fundamental em diversas outras áreas ● RecSys é um sistema complexo que envolve desde a coleta das informações a entrega da recomendação.