We’re all familiar with recommendations in a number of different areas of our lives. Recommendations for social media connections, e-commerce products, or streaming media content are ubiquitous.
Perhaps less well known are applications for recommendations in different contexts, like education, HR, fraud, business process management, or offender rehabilitation.
In this webinar, we will discuss some of these recommendations use cases in more detail, and look at how graph data can be used to model each domain and power a recommendations engine. We’ll also see an example use case demonstrated using Neo4j.
Graphs for Recommendation Engines: Looking beyond Social, Retail, and Media
1. Graphs for recommendation
engines: Looking beyond social,
retail, and media
Joe Depeau
Senior Pre-sales Consultant
@joedepeau
http://linkedin.com/in/joedepeau
2. • Recommendations Overview
• Why Neo4j ?
• Neo4j Recommendation Framework
• The Property Graph model and the Cypher query language
• Recommendations use case examples
• Demo
• Q & A
2
Agenda
4. 4
Recommendations Are Everywhere
Job Search
and Recruiting
Financial
Services
Retail
Government
Services
Healthcare
Travel
Media and
Entertainment
Social
5. 5
Recommendations Are Everywhere in the Enterprise
Human Resources
Supplier Analytics
Product
and BOM
Analytics
Personalization
Customer
Journey
6. 6
“You May Also Like…”
It might sound easy, but there’s a lot going on behind the scenes
I hadn’t thought
of that!
Promotions
Blazing Speed
Machine
Learning
Lots of Data
Match People
and Products
Personalization
7. 7
Real-Time Recommendations
Consider user needs and your business
strategies in your recommendations
User Perspective
Recommend similar
and even surprising
things by considering:
• Past behavior
• Similar users
• Related things
Business Perspective
Make recommendations
that promote your
business strategies:
• Diversity
• Cost savings
• Revenue
• Regulatory compliance
8. 8
Hybrid Scoring-Based Approach is More Contextual
Graph technology enables you to make
recommendations that weight multiple methods
Collaborative
Filtering
Based on similar
users or things
Content
Filtering
Based on user
history and profile
Rules-Based
Filtering
Based on
predefined rules
and criteria
Business
Strategy
Based on business
goals, KPIs, and
regulations
10. • Traverse highly connected data from
disparate data sources
• Combine with Graph Algorithms
• Flexible model
• Explainability
Why Use Graph Database for Recommendations?
11. 11
Neo4j Gives You Control of Your Online Business
Self-learning framework improves recommendations over time
Customer Context
Recommendations
Monitor and Adjust
Machine Learning
Feedback
13. 13
Results with the Neo4j Platform
Blazing Speed
Thousands of times
faster than MySQL
Moved from batch
to real-time
4ms response time
(target was 20ms)
Major US retailer
Demand-Based Pricing
Refresh prices
18 times faster and
adjust pricing based
on local demand
Fortune 200 hotelier
Effortless Scalability
90% of $35M+ daily
Neo4j transactions
Major US retailer
Higher Sales
In one quarter, digital
sales rose 34%
to record high
Major US retailer
Agility
Faster, easier
development
with 90% less code
15. 15
Neo4j Intelligent Recommendation Framework
Graph-Based Recommendation System
• Bases recommendations on flexible scoring-
based algorithms
• Traverses complex set of relationships and
large data sets at blazing speed
• Considers both user and business perspectives
• Incorporates ML for dynamic segmentation of
users and similarity computation
• Produces explainable recommendations
16. Recommendation Framework Technology
Engines Are Processing Pipelines
• Pipelines mimic process of building
recommendations to reduce query complexity
• Easier to develop and maintain
• Can enable and disable different parts of the
pipeline based on business rules
Promotions, inventory, etc.
• Ability to score and weight phases differently
• Supports traceability and explainability
Recommendation
Framework Advantages
• Faster time to realization
• Development and
implementation flexibility
• Code-free development
Highly Configurable Engines
• Works with any data model
• Highly contextual recommendations
for what the user is doing now
• Different engines for different uses
Discovery
Exclude
Boost
Diversity
17. Graph Algorithms
Pathfinding and Search
Parallel BFS and DFS
Shortest Path
Single-Source Shortest Path
All Pairs Shortest Path
Minimum Spanning Tree
A* Shortest Path
Yen’s K Shortest Path
K-Spanning Tree (MST)
Random Walk
Centrality and Importance
Degree Centrality
Closeness Centrality
Betweenness Centrality
PageRank
Harmonic Closeness Centrality
Dangalchev Closeness Centrality
Wasserman and Faust Closeness
Centrality
Approximate Betweenness
Centrality
Page Rank, Personalized
PageRank, and Article Rank
Eigenvector Centrality
Community Detection
Triangle Count
Clustering Coefficients
Connected Components (Union
Find)
Strongly Connected
Components
Label Propagation
Louvain Modularity (1 Step &
Multi-Step)
Balanced Triad (Identification)
Similarity
Euclidean Distance
Cosine Similarity
Jaccard Similarity
Overlap Similarity
Pearson Similarity
Link Prediction
Adamic Adar
Common Neighbours
Preferential Attachment
Resource Allocations
Same Community
Total Neighbours
neo4j.com/docs/graph-algorithms/current/ Updated April 2019
19. 19
Car
DRIVES
name: “Dan”
born: May 29, 1970
twitter: “@dan”
name: “Ann”
born: Dec 5, 1975
since:
Jan 10, 2011
brand: “Volvo”
model: “V70”
Anatomy of a Property Graph Database
Nodes
• Represent the objects in the
graph
• Can be labeled
Relationships
• Relate nodes by type and
direction
Properties
• Name-value pairs that can go on
nodes and relationships.
LOVES
LOVES
LIVES WITH
OW
NS
Person Person
20. 20
MATCH (:Person { name:“Dan”} ) -[:LOVES]-> (beloved)
LOVES
Dan Ann
NODE RELATIONSHIP TYPE
LABEL PROPERTY VARIABLE
Introducing Cypher