Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Artfinder - Real time art recommendations with Neo4j

256 vues

Publié le

Artfinder is the art marketplace. Users can buy original paintings, sculptures, limited edition prints and photography from independent artists.

David Dyball, DevOps Engineer, joins us for this week's online meetup to talk through how they're using Neo4j to make recommendations to user about which pieces of art they might like to buy. There'll be lots of Cypher queries!

Meetup link: https://www.meetup.com/Neo4j-Online-Meetup/events/238681208/

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Artfinder - Real time art recommendations with Neo4j

  1. 1. Our Graph Artist User Product LIKES LIKES Our first model
  2. 2. First Try…. Took 18 minutes per-user…. ouch!
  3. 3. Optimisations ● It didn’t take much for one user to traverse ~1M nodes & 14M relationships in one query ● Identification/limiting of supernodes (an individual node with more than 200K relationships) ● Limiting scope to only use the most recent ~400 [:LIKES] per user ● Pre-calculation of weighted User-to-User relationships ● Differentiating between actions/relationships in the graph ([:BOUGHT] vs. [:LIKES])
  4. 4. Our Graph Artist User Product BO U G H T_FR O M FO LLO W S LIKES BO U G H T SIM ILAR _TO _U SER Our second model
  5. 5. Pre-calculation of Similar Users
  6. 6. End result is a weight that identified the top {limit} users that are likely to influence the given user. These are then stored back in the graph under [:SIMILAR_TO_USER] relationships
  7. 7. Calculation of Recommendations Being able to pass in a {weights} array made request-time tweaking a lot easier.
  8. 8. Me My Recommendations
  9. 9. Tips / Things Learnt Artist User Product BO U G H T_FR O M FO LLO W S LIKES BO U G H T SIM ILAR _TO _U SER Be prepared to iterate on your model ● Make sure iteration is part of your development process Ask for Help from the Community! ● Slack is your friend! https://neo4j-users.slack.com ● The Neo4J team are ALWAYS answering questions on StackOverflow
  10. 10. HAS_STYLE H AS_SU BJEC T HAS_CATEGORY VIEW ED The Future Artist User Product BO U G H T_FR O M FO LLO W S LIKES BO U G H T VISU ALLY_SIM ILAR SIM ILAR _TO _U SER Style Subject Category VIEW ED

×