SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
SISTEMA DE
RECOMENDAÇÃO
COM NEO4J +
SURPRISE
MORVANA BONIN
▪ Analista de Desenvolvimento na
KingHost,
▪ Estudante em Análise e
Desenvolvimento de Sistemas
▪ Fundadora e uma das
coordenadores do Meetup
Microservices de Poa
▪ Entusiasta de Machine Learning
▪ Fã de animes e mangás.
2
Sistemas de Recomendação
The most successful and widespread application of
machine learning technologies in business
3
4
“São classificados nos tipos
- Sistemas baseados em
filtragem de conteúdo
- Sistemas baseados em
filtragem colaborativa
- Sistemas híbridos
5
Content-based systems
examine properties of the items recommend
▪ Examina as propriedade dos itens
recomendados
▪ Fazem a sugestão semelhantes aos
que o usuário demonstrou interesse
no passado
▪ Ou sugestão sobre as configurações
de preferências do usuário.
7
8
Collaborative-filtering
systems
recommend items based on similarity
measures between users and/ or items
▪ Recomendação baseada na similaridade
medida entre usuários e/ou itens.
▪ Essa medição pode ser uma escala de
pontuação baseado em estrelas
▫ ícone caracterizando gostei e não gostei
(avaliação binária)
▫ através da postagem de comentários
sobre o item.
10
11
Hybrid systems
both content-based filtering and collaborative
filtering have there strengths and weaknesses
▪ Fortalecem as vantagens e
minimizam as principais
desvantagens da filtragem baseada
em conteúdo e filtragem
colaborativa
▪ Combinam diferentes métodos.
▪ Ajuda no chamado cold-start
13
14
Neo4j
Graph Databases for connected data
15
um conjunto de
vértices e arestas
que se ligam em
pares de vértices
distintos.
16
17
Muitas situações do mundo
real podem ser
convenientemente descritas
por meio de diagrama.
18
19
20
Surprise Python
A scikit building and analyzing
recommender systems.
21
22
é um scikit Python
para criar e analisar
sistemas de
recomendação.
23
▪ Implantação de vários
algoritmos de recomendação
▪ Documentação rica e detalhada.
▪ Benchmark dos algoritmos
sendo uma delas a medida
RMSE.
24
25
26
MAE - Mean
Absolute
Error
OBRIGADA!
Perguntas?
Meus contatos:
@morvanabonin
morvanabonin@gmail.com
morvana.bonin@king.host
27
REFERÊNCIAS
Estudo de Técnicas de Filtragem Híbrida em Sistemas de Recomendação de Produtos
<http://www.cin.ufpe.br/~tg/2013-2/cemb.pdf>
Bridges of Königsberg and Graph Theory
<http://www.mathscareers.org.uk/article/bridges-of-konigsberg-and-graph-theory>
Machine Learning for Recommender systems — Part 1 (algorithms, evaluation and cold
start)
<https://medium.com/recombee-blog/machine-learning-for-recommender-systems-p
art-1-algorithms-evaluation-and-cold-start-6f696683d0ed>
Mining of Massive Datasets <http://infolab.stanford.edu/~ullman/mmds/ch9.pdf>
28
Graph Databases Will Change Your Freakin' Life (Best Intro Into Graph Databases)
<https://youtu.be/GekQqFZm7mA>
Neo4j o que? Uma visão prática do banco de dados orientado a grafos
<https://neo4j.com/news/neo4j-o-que-uma-visao-pratica-do-banco-de-dados-orienta
do-a-grafos>
SciKits <http://scikits.appspot.com/>
Surprise Python <https://surprise.readthedocs.io/en/stable/getting_started.html>
Cypher Reference Card <https://neo4j.com/docs/pdf/neo4j-cypher-refcard-stable.pdf>
MAE and RMSE — Which Metric is Better?
<https://medium.com/human-in-a-machine-world/mae-and-rmse-which-metric-is-be
tter-e60ac3bde13d>
29

Mais conteúdo relacionado

Semelhante a Sistemas de Recomendação com Neo4j + Surprise

Recomendação Baseada em Múltiplas Interações
Recomendação Baseada em Múltiplas InteraçõesRecomendação Baseada em Múltiplas Interações
Recomendação Baseada em Múltiplas InteraçõesArthur Fortes
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendaçãoLeonardo Marinho
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasAécio Pires
 
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?Marlesson Santana
 
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...KelvinSalton
 
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Joel Pinho Lucas
 
Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...
Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...
Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...Erica Byanca
 
IHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADE
IHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADEIHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADE
IHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADEFernandaRodriguesMac4
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
Técnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
Técnicas de Mineração de Dados Aplicadas a Sistemas de RecomendaçãoTécnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
Técnicas de Mineração de Dados Aplicadas a Sistemas de Recomendaçãosaspi2
 
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosCapítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosEverton Souza
 
Web Analytics para Desenvolvedores - TDC 2011
Web Analytics para Desenvolvedores - TDC 2011Web Analytics para Desenvolvedores - TDC 2011
Web Analytics para Desenvolvedores - TDC 2011dp6
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Lorena Caldas
 
Captando requisitos de forma ágil
Captando requisitos de forma ágilCaptando requisitos de forma ágil
Captando requisitos de forma ágilNícolas Iensen
 
SuggesTV - webmedia 2011
SuggesTV - webmedia 2011SuggesTV - webmedia 2011
SuggesTV - webmedia 2011Bruno Ghisi
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filteringZhang Yi Ling
 

Semelhante a Sistemas de Recomendação com Neo4j + Surprise (20)

Recomendação Baseada em Múltiplas Interações
Recomendação Baseada em Múltiplas InteraçõesRecomendação Baseada em Múltiplas Interações
Recomendação Baseada em Múltiplas Interações
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
 
Pipeconf no CoffeOps Campinas
Pipeconf no CoffeOps CampinasPipeconf no CoffeOps Campinas
Pipeconf no CoffeOps Campinas
 
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
Sistemas de Recomendação - O que são? Como funcionam? Do que se alimentam?
 
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
Estudo e Construção de um Protótipo de Framework de Recomendação para Lojas V...
 
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
Engajando usuários nos portais de conteúdo digital da Globo através de Sistem...
 
Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...
Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...
Resenha e Pôster - Project Categorization Systems: Aligning Capability with S...
 
IHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADE
IHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADEIHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADE
IHM - INTERFACE HOMEM MÁQUINA TESTE DE USABILIDADE
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
Técnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
Técnicas de Mineração de Dados Aplicadas a Sistemas de RecomendaçãoTécnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
Técnicas de Mineração de Dados Aplicadas a Sistemas de Recomendação
 
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosCapítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
 
Web Analytics para Desenvolvedores - TDC 2011
Web Analytics para Desenvolvedores - TDC 2011Web Analytics para Desenvolvedores - TDC 2011
Web Analytics para Desenvolvedores - TDC 2011
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5Desenvolvendo sua primeira aplicação Web com Rails 5
Desenvolvendo sua primeira aplicação Web com Rails 5
 
Apresentação FITEM 2012
Apresentação FITEM 2012Apresentação FITEM 2012
Apresentação FITEM 2012
 
Captando requisitos de forma ágil
Captando requisitos de forma ágilCaptando requisitos de forma ágil
Captando requisitos de forma ágil
 
SuggesTV - webmedia 2011
SuggesTV - webmedia 2011SuggesTV - webmedia 2011
SuggesTV - webmedia 2011
 
Collaborative filtering
Collaborative filteringCollaborative filtering
Collaborative filtering
 

Mais de Morvana Bonin

Arquitetura hexagonal
Arquitetura hexagonalArquitetura hexagonal
Arquitetura hexagonalMorvana Bonin
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine LearningMorvana Bonin
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingMorvana Bonin
 
Css cascading style sheet
Css cascading style sheetCss cascading style sheet
Css cascading style sheetMorvana Bonin
 

Mais de Morvana Bonin (8)

Arquitetura hexagonal
Arquitetura hexagonalArquitetura hexagonal
Arquitetura hexagonal
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
Oficina docker
Oficina dockerOficina docker
Oficina docker
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme Programming
 
A tríade do tempo
A tríade do tempoA tríade do tempo
A tríade do tempo
 
Css cascading style sheet
Css cascading style sheetCss cascading style sheet
Css cascading style sheet
 
Html
HtmlHtml
Html
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 

Sistemas de Recomendação com Neo4j + Surprise

  • 2. MORVANA BONIN ▪ Analista de Desenvolvimento na KingHost, ▪ Estudante em Análise e Desenvolvimento de Sistemas ▪ Fundadora e uma das coordenadores do Meetup Microservices de Poa ▪ Entusiasta de Machine Learning ▪ Fã de animes e mangás. 2
  • 3. Sistemas de Recomendação The most successful and widespread application of machine learning technologies in business 3
  • 4. 4
  • 5. “São classificados nos tipos - Sistemas baseados em filtragem de conteúdo - Sistemas baseados em filtragem colaborativa - Sistemas híbridos 5
  • 7. ▪ Examina as propriedade dos itens recomendados ▪ Fazem a sugestão semelhantes aos que o usuário demonstrou interesse no passado ▪ Ou sugestão sobre as configurações de preferências do usuário. 7
  • 8. 8
  • 9. Collaborative-filtering systems recommend items based on similarity measures between users and/ or items
  • 10. ▪ Recomendação baseada na similaridade medida entre usuários e/ou itens. ▪ Essa medição pode ser uma escala de pontuação baseado em estrelas ▫ ícone caracterizando gostei e não gostei (avaliação binária) ▫ através da postagem de comentários sobre o item. 10
  • 11. 11
  • 12. Hybrid systems both content-based filtering and collaborative filtering have there strengths and weaknesses
  • 13. ▪ Fortalecem as vantagens e minimizam as principais desvantagens da filtragem baseada em conteúdo e filtragem colaborativa ▪ Combinam diferentes métodos. ▪ Ajuda no chamado cold-start 13
  • 14. 14
  • 15. Neo4j Graph Databases for connected data 15
  • 16. um conjunto de vértices e arestas que se ligam em pares de vértices distintos. 16
  • 17. 17
  • 18. Muitas situações do mundo real podem ser convenientemente descritas por meio de diagrama. 18
  • 19. 19
  • 20. 20
  • 21. Surprise Python A scikit building and analyzing recommender systems. 21
  • 22. 22 é um scikit Python para criar e analisar sistemas de recomendação.
  • 23. 23 ▪ Implantação de vários algoritmos de recomendação ▪ Documentação rica e detalhada. ▪ Benchmark dos algoritmos sendo uma delas a medida RMSE.
  • 24. 24
  • 25. 25
  • 28. REFERÊNCIAS Estudo de Técnicas de Filtragem Híbrida em Sistemas de Recomendação de Produtos <http://www.cin.ufpe.br/~tg/2013-2/cemb.pdf> Bridges of Königsberg and Graph Theory <http://www.mathscareers.org.uk/article/bridges-of-konigsberg-and-graph-theory> Machine Learning for Recommender systems — Part 1 (algorithms, evaluation and cold start) <https://medium.com/recombee-blog/machine-learning-for-recommender-systems-p art-1-algorithms-evaluation-and-cold-start-6f696683d0ed> Mining of Massive Datasets <http://infolab.stanford.edu/~ullman/mmds/ch9.pdf> 28
  • 29. Graph Databases Will Change Your Freakin' Life (Best Intro Into Graph Databases) <https://youtu.be/GekQqFZm7mA> Neo4j o que? Uma visão prática do banco de dados orientado a grafos <https://neo4j.com/news/neo4j-o-que-uma-visao-pratica-do-banco-de-dados-orienta do-a-grafos> SciKits <http://scikits.appspot.com/> Surprise Python <https://surprise.readthedocs.io/en/stable/getting_started.html> Cypher Reference Card <https://neo4j.com/docs/pdf/neo4j-cypher-refcard-stable.pdf> MAE and RMSE — Which Metric is Better? <https://medium.com/human-in-a-machine-world/mae-and-rmse-which-metric-is-be tter-e60ac3bde13d> 29