SlideShare a Scribd company logo
1 of 37
Download to read offline
Graph Gurus Episode 2
Building the Next Generation
Recommendation Engine
with a Graph Database, using TigerGraph’s GraphStudio visual SDK
© 2018 TigerGraph. All Rights Reserved
Welcome
● Attendees are muted but you can talk to us via Chat in Zoom
● We will have 10 min for Q&A at the end
● Send questions at any time using the Q&A tab in the Zoom menu
● The webinar will be recorded
● A link to the presentation and reproducible steps will be emailed
2
Developer Edition Download https://www.tigergraph.com/developer/
© 2018 TigerGraph. All Rights Reserved
Today’s Moderator
● BS in Electrical Engineering and Computer
Science from UC Berkeley
● MS in Electrical Engineering from Stanford
University
● PhD in Computer Science from Kent State
University focused on graph data mining
● 15+ years in tech industry
3
Victor Lee, Director of Product Management
© 2018 TigerGraph. All Rights Reserved
Today’s Guru
● BS in Computer Science from Fudan
University, China
● Master in Computer Science from Cornell
University
● With TigerGraph for over 3 years
● Co-author of GSQL query language
● Leading the design and development of
GraphStudio
4
Renchu Song, Engineering Manager
© 2018 TigerGraph. All Rights Reserved 5
Developer Edition Download https://www.tigergraph.com/developer/
Building a movie recommendation engine
1. Example data set
2. Defining movie recommendation graph schema
3. Defining data mapping
4. Loading data
5. Implementing movie recommendation algorithm
6. Executing query through RESTFul endpoint
© 2018 TigerGraph. All Rights Reserved 6
Developer Edition Download https://www.tigergraph.com/developer/
1. Example Data Set - MovieLens 20M
• Size: 841M (after decompression)
• 20 million ratings applied to 27,000 movies by 138,000 real users.
• Download: https://grouplens.org/datasets/movielens/20m/
© 2018 TigerGraph. All Rights Reserved 7
Data Format - CSV
movieId,title,genres
1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy
2,Jumanji (1995),Adventure|Children|Fantasy
3,Grumpier Old Men (1995),Comedy|Romance
4,Waiting to Exhale (1995),Comedy|Drama|Romance
5,Father of the Bride Part II (1995),Comedy
6,Heat (1995),Action|Crime|Thriller
7,Sabrina (1995),Comedy|Romance
8,Tom and Huck (1995),Adventure|Children
9,Sudden Death (1995),Action
10,GoldenEye (1995),Action|Adventure|Thriller
11,"American President, The (1995)",Comedy|Drama|Romance
...
userId,movieId,rating,timestamp
1,2,3.5,1112486027
1,29,3.5,1112484676
1,32,3.5,1112484819
1,47,3.5,1112484727
1,50,3.5,1112484580
1,112,3.5,1094785740
1,151,4.0,1094785734
1,223,4.0,1112485573
1,253,4.0,1112484940
1,260,4.0,1112484826
1,293,4.0,1112484703
...
ratings.csv (20000264 rows)movies.csv (27278 rows)
© 2018 TigerGraph. All Rights Reserved 8
2. Defining Movie Recommendation Graph Schema
2 vertex types: person, movie 1 edge type: rate
© 2018 TigerGraph. All Rights Reserved 9
3. Defining Data Mapping
movies.csvratings.csv
person(id) movie(id, title, genres)
rate(rating, rated_at)
© 2018 TigerGraph. All Rights Reserved 10
4. Loading Data
• Loading speed
depends on machine
configuration
• Here it takes about 2
minutes.
© 2018 TigerGraph. All Rights Reserved 11
5. Implementing Movie Recommendation Algorithm
Collaborative Filtering
“People who liked items which you like also like THESE OTHER ITEMS.”
I liked Wonder Woman
And Lady Bird
Group A also liked
Wonder Woman and
Lady Bird … and
The Shape of Water.
© 2018 TigerGraph. All Rights Reserved 12
Input:
A person p, two integer parameters k1
and k2
Algorithm steps:
1. Find all movies p has rated;
2. Find all persons rated same movies as p;
3. Based on the movie ratings, find the k1
persons that have most similar tastes with p;
4. Find all movies these k1
persons rated that p hasn’t rated yet;
5. Recommend the top k2
movies with highest average rating by the k1
persons;
Output:
At most k2
movies to be recommended to person p.
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 13
Input:
A person p, two integer parameters k1
and k2
Algorithm steps:
1. Find all movies p has rated;
2. Find all persons rated same movies as p;
3. Based on the movie ratings, find the k1
persons that have most similar tastes with p;
4. Find all movies these k1
persons rated that p hasn’t rated yet;
5. Recommend the top k2
movies with highest average rating by the k1
persons;
Output:
At most k2
movies to be recommended to person p.
p
…...
rate
rate
rate
PRatedMovies
PSet
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 14
Input:
A person p, two integer parameters k1
and k2
Algorithm steps:
1. Find all movies p has rated;
2. Find all persons rated same movies as p;
3. Based on the movie ratings, find the k1
persons that have most similar tastes with p;
4. Find all movies these k1
persons rated that p hasn’t rated yet;
5. Recommend the top k2
movies with highest average rating by the k1
persons;
Output:
At most k2
movies to be recommended to person p.
p
…...
rate
rate
rate
PRatedMovies
PSet
…...
PeopleRatedSameMovies
rate
rate
rate
rate
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 15
Input:
A person p, two integer parameters k1
and k2
Algorithm steps:
1. Find all movies p has rated;
2. Find all persons rated same movies as p;
3. Based on the movie ratings, find the k1
persons that have most similar tastes with p;
4. Find all movies these k1
persons rated that p hasn’t rated yet;
5. Recommend the top k2
movies with highest average rating by the k1
persons;
Output:
At most k2
movies to be recommended to person p.
p
…...
rate
rate
rate
PRatedMovies
PSet
…...
PeopleRatedSameMovies
rate
rate
rate
rate
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 16
Input:
A person p, two integer parameters k1
and k2
Algorithm steps:
1. Find all movies p has rated;
2. Find all persons rated same movies as p;
3. Based on the movie ratings, find the k1
persons that have most similar tastes with p;
4. Find all movies these k1
persons rated that p hasn’t rated yet;
5. Recommend the top k2
movies with highest average rating by the k1
persons;
Output:
At most k2
movies to be recommended to person p.
p
…...
rate
rate
rate
PRatedMovies
PSet
…...
PeopleRatedSameMovies
rate
rate
rate
rate
…...
rate
rate
rate
rate
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 17
Input:
A person p, two integer parameters k1
and k2
Algorithm steps:
1. Find all movies p has rated;
2. Find all persons rated same movies as p;
3. Based on the movie ratings, find the k1
persons that have most similar tastes with p;
4. Find all movies these k1
persons rated that p hasn’t rated yet;
5. Recommend the top k2
movies with highest average rating by the k1
persons;
Output:
At most k2
movies to be recommended to person p.
p
…...
rate
rate
rate
PRatedMovies
PSet
…...
PeopleRatedSameMovies
rate
rate
rate
rate
…...
rate
rate
rate
rate
RecommendedMovies
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 18
GSQL Edge Block And Accumulator
Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs
Person:s movie:mrate:r
r1{ rating = 2.5 }
r2 { rating = 4.5 }
r3 { rating = 0.5 }
r4 { rating = 5.0 }
r6 { rating = 5.0 }
r7 { rating = 4.0 }
@avgRating = 0
AvgAccum<double> @avgRating;
...
// People = { Tom, Emily, Dan }
...
AvgMovieRating =
SELECT m
FROM People:s -(rate:r)-> movie:m
WHERE r.rating >= 1.0
ACCUM m.@avgRating += r.rating
POST-ACCUM m.@avgRating += 1
ORDER BY m.@avgRating DESC
LIMIT 2;
Tom
Emily
Dan
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
Dunkirk
The Matrix
Zootopia
Star War
r5 { rating = 4.0 }
© 2018 TigerGraph. All Rights Reserved 19
GSQL Edge Block And Accumulator
Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs
Person:s movie:mrate:r
r1{ rating = 2.5 }
r2 { rating = 4.5 }
r3 { rating = 0.5 }
r4 { rating = 5.0 }
r6 { rating = 5.0 }
r7 { rating = 4.0 }
@avgRating = 0
AvgAccum<double> @avgRating;
...
// People = { Tom, Emily, Dan }
...
AvgMovieRating =
SELECT m
FROM People:s -(rate:r)-> movie:m
WHERE r.rating >= 1.0
ACCUM m.@avgRating += r.rating
POST-ACCUM m.@avgRating += 1
ORDER BY m.@avgRating DESC
LIMIT 2;
Tom
Emily
Dan
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
Dunkirk
The Matrix
Zootopia
Star War
r5 { rating = 4.0 }
© 2018 TigerGraph. All Rights Reserved 20
GSQL Edge Block And Accumulator
Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs
Person:s movie:mrate:r
r1{ rating = 2.5 }
r2 { rating = 4.5 }
r3 { rating = 0.5 }
r4 { rating = 5.0 }
r6 { rating = 5.0 }
r7 { rating = 4.0 }
@avgRating = 0
AvgAccum<double> @avgRating;
...
// People = { Tom, Emily, Dan }
...
AvgMovieRating =
SELECT m
FROM People:s -(rate:r)-> movie:m
WHERE r.rating >= 1.0
ACCUM m.@avgRating += r.rating
POST-ACCUM m.@avgRating += 1
ORDER BY m.@avgRating DESC
LIMIT 2;
Tom
Emily
Dan
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
Dunkirk
The Matrix
Zootopia
Star War
r5 { rating = 4.0 }
© 2018 TigerGraph. All Rights Reserved 21
GSQL Edge Block And Accumulator
Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs
Person:s movie:mrate:r
r1{ rating = 2.5 }
r2 { rating = 4.5 }
r4 { rating = 5.0 }
r6 { rating = 5.0 }
r7 { rating = 4.0 }
@avgRating = 0
AvgAccum<double> @avgRating;
...
// People = { Tom, Emily, Dan }
...
AvgMovieRating =
SELECT m
FROM People:s -(rate:r)-> movie:m
WHERE r.rating >= 1.0
ACCUM m.@avgRating += r.rating
POST-ACCUM m.@avgRating += 1
ORDER BY m.@avgRating DESC
LIMIT 2;
Tom
Emily
Dan
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
@avgRating = 0
Dunkirk
The Matrix
Zootopia
Star War
r5 { rating = 4.0 }
r3 { rating = 0.5 }
© 2018 TigerGraph. All Rights Reserved 22
GSQL Edge Block And Accumulator
Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs
Person:s movie:mrate:r
r1{ rating = 2.5 }
r2 { rating = 4.5 }
r3 { rating = 0.5 }
r4 { rating = 5.0 }
r6 { rating = 5.0 }
r7 { rating = 4.0 }
@avgRating = 2.5
AvgAccum<double> @avgRating;
...
// People = { Tom, Emily, Dan }
...
AvgMovieRating =
SELECT m
FROM People:s -(rate:r)-> movie:m
WHERE r.rating >= 1.0
ACCUM m.@avgRating += r.rating
POST-ACCUM m.@avgRating += 1
ORDER BY m.@avgRating DESC
LIMIT 2;
Tom
Emily
Dan
@avgRating = avg(4.5 + 5.0) = 4.75
@avgRating = 4.5
@avgRating = 4.0
@avgRating = 0
@avgRating = 0
@avgRating = 0
Dunkirk
The Matrix
Zootopia
Star War
r5 { rating = 4.0 }
© 2018 TigerGraph. All Rights Reserved 23
GSQL Edge Block And Accumulator
Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs
Person:s movie:mrate:r
r1{ rating = 2.5 }
r2 { rating = 4.5 }
r3 { rating = 0.5 }
r4 { rating = 5.0 }
r6 { rating = 5.0 }
r7 { rating = 4.0 }
AvgAccum<double> @avgRating;
...
// People = { Tom, Emily, Dan }
...
AvgMovieRating =
SELECT m
FROM People:s -(rate:r)-> movie:m
WHERE r.rating >= 1.0
ACCUM m.@avgRating += r.rating
POST-ACCUM m.@avgRating += 1
ORDER BY m.@avgRating DESC
LIMIT 2;
Tom
Emily
Dan
@avgRating = 0
@avgRating = 0
@avgRating = 0
Dunkirk
The Matrix
Zootopia
Star War
r5 { rating = 4.0 }
@avgRating = 2.5 + 1 = 3.5
@avgRating = 4.75 + 1 = 5.75
@avgRating = 4.5 + 1 = 5.5
@avgRating = 4.0 + 1 = 5.0
© 2018 TigerGraph. All Rights Reserved 24
GSQL Edge Block And Accumulator
Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs
Person:s movie:mrate:r
r1{ rating = 2.5 }
r2 { rating = 4.5 }
r3 { rating = 0.5 }
r4 { rating = 5.0 }
r6 { rating = 5.0 }
r7 { rating = 4.0 }
AvgAccum<double> @avgRating;
...
// People = { Tom, Emily, Dan }
...
AvgMovieRating =
SELECT m
FROM People:s -(rate:r)-> movie:m
WHERE r.rating >= 1.0
ACCUM m.@avgRating += r.rating
POST-ACCUM m.@avgRating += 1
ORDER BY m.@avgRating DESC
LIMIT 2;
Tom
Emily
Dan
@avgRating = 0
@avgRating = 0
@avgRating = 0
Dunkirk
The Matrix
Zootopia
Star War
r5 { rating = 4.0 }
@avgRating = 3.5
@avgRating = 5.75
@avgRating = 5.5
@avgRating = 5.0
© 2018 TigerGraph. All Rights Reserved 25
Step 1. Find all movies p has rated;
p
…...
rate
{ rating = 3.5 }
rate
{ rating = 5.0 }
rate
{ rating = 3.0 }
PRatedMovies
PSet
{ @rated = true, @ratingByP = 3.5 }
{ @rated = true, @ratingByP = 5.0 }
{ @rated = true, @ratingByP = 3.0 }
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 26
Step 2. Find all persons rated same movies as p
…... …...
PRatedMovies PeopleRatedSameMovies
@ratingByP = 3.5
@ratingByP = 5.0
@ratingByP = 3.0
rate
rate
rate
rate
rate
rate
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 27
Step 3. Find the k1
persons that have most similar tastes with p.
A = [3.5, 3.0]
B = [0.5, 5.0]
@lengthASqr = 3.5 * 3.5 + 3.0 * 3.0 = 21.25
@lengthBSqr = 0.5 * 0.5 + 5.0 * 5.0 = 25.25
@dotProductAB = 3.5 * 0.5 + 3.0 * 5.0 = 16.75
@cosineSimilarity = 16.75 / sqrt(21.25) / sqrt(25.25) = 0.72311
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 28
Step 3. Find the k1
persons that have most similar tastes with p.
…...
PRatedMovies PeopleRatedSameMovies
@ratingByP = 3.5
@ratingByP = 5.0
@ratingByP = 3.0
@cosineSimilarity = 1
@lengthASqr = 3.5 * 3.5 + 3.0 * 3.0 = 21.25
@lengthBSqr = 0.5 * 0.5 + 5.0 * 5.0 = 25.25
@dotProductAB = 3.5 * 0.5 + 3.0 * 5.0 = 16.75
@cosineSimilarity = 16.75 / sqrt(21.25) / sqrt(25.25) = 0.72311
@cosineSimilarity = 0.99753
…...
rating = 3.5
rating = 5.0
rating = 0.5
rating = 5.0
rating = 5.0
rating = 3.5
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 29
Step 3. Find the k1
persons that have most similar tastes with p.
…...
PRatedMovies PeopleRatedSameMovies
@cosineSimilarity = 1
@cosineSimilarity = 0.99753
…...
@cosineSimilarity = 0.72311
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 30
Step 4. Find all movies these k1
persons rated that p hasn’t rated yet.
PeopleRatedSameMovies
…... …...
rate
RecommendedMovies
rate
rate
rate
rate
@rated = false
@rated = false
@rated = false
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 31
PeopleRatedSameMovies
…... …...
rating = 2.5
RecommendedMovies
rating = 5.0
rating = 4.5
rating = 4.5
rating = 1.0
@recommendScore = 1.75
@recommendScore = 4.75
@recommendScore = 4.5
Step 5. Recommend the top k2
movies with highest average rating by k1
persons.
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 32
Step 5. Recommend the top k2
movies with highest average rating by k1
persons.
PeopleRatedSameMovies
…... …...
rating = 2.5
RecommendedMovies
rating = 5.0
rating = 4.5
rating = 4.5
rating = 1.0
@recommendScore = 1.75
@recommendScore = 4.75
@recommendScore = 4.5
5. Implementing Movie Recommendation Algorithm
© 2018 TigerGraph. All Rights Reserved 33
curl -X GET 'http://<MACHINE-IP>:9000/query/MyGraph/RecommendMovies?p=238&k1=50&k2=20' |
python -m json.tool
6. Executing query through RESTFul endpoint
© 2018 TigerGraph. All Rights Reserved 34
Other Recommendation Algorithms
Another example:
https://doc.tigergraph.com/GSQL-Demo-Examples.html
● Content-based
○ Considers the genres of the movies
Other approaches and formulas
● Profile the users and focus on similar users
● Other scoring systems
Production systems using TigerGraph - Wish.com
delivering real-time cross-sell and up-sell recommendations to over
300 million users and driving billions in annual revenue
Person Movie Genre
Q&A
Please send your questions via the Q&A menu in Zoom
35
© 2018 TigerGraph. All Rights Reserved
Episode 3: Sept 12
Detecting Fraud and Money Laundering in Real-Time with a Graph DB
https://info.tigergraph.com/graph-gurus-3
36
REGISTER FOR MORE
WEBINARS AT
https://www.tigergraph.com/
webinars-and-events/
© 2018 TigerGraph. All Rights Reserved
Additional Resources
37
Compare the Developer Edition and Enterprise Free Trial
https://www.tigergraph.com/download/
Guru Scripts
https://github.com/tigergraph/ecosys/tree/master/guru_scripts
Join our Developer Forum
https://groups.google.com/a/opengsql.org/forum/#!forum/gsql-users
Take the Developer Survey
https://www.tigergraph.com/developer-edition-feedback-survey/
@TigerGraphDB youtube.com/tigergraph facebook.com/TigerGraphDB linkedin.com/company/TigerGraph

More Related Content

What's hot

Recommendation at Netflix Scale
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix ScaleJustin Basilico
 
Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2
Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2
Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2TigerGraph
 
Graph Gurus Episode 3: Anti Fraud and AML Part 1
Graph Gurus Episode 3: Anti Fraud and AML Part 1Graph Gurus Episode 3: Anti Fraud and AML Part 1
Graph Gurus Episode 3: Anti Fraud and AML Part 1TigerGraph
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectiveJustin Basilico
 
Tutorial: Context In Recommender Systems
Tutorial: Context In Recommender SystemsTutorial: Context In Recommender Systems
Tutorial: Context In Recommender SystemsYONG ZHENG
 
A Unified Approach to Interpreting Model Predictions (SHAP)
A Unified Approach to Interpreting Model Predictions (SHAP)A Unified Approach to Interpreting Model Predictions (SHAP)
A Unified Approach to Interpreting Model Predictions (SHAP)Rama Irsheidat
 
Graph Databases and Machine Learning | November 2018
Graph Databases and Machine Learning | November 2018Graph Databases and Machine Learning | November 2018
Graph Databases and Machine Learning | November 2018TigerGraph
 
Reinforcement Learning 7. n-step Bootstrapping
Reinforcement Learning 7. n-step BootstrappingReinforcement Learning 7. n-step Bootstrapping
Reinforcement Learning 7. n-step BootstrappingSeung Jae Lee
 
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1TigerGraph
 
Reinforcement Learning 6. Temporal Difference Learning
Reinforcement Learning 6. Temporal Difference LearningReinforcement Learning 6. Temporal Difference Learning
Reinforcement Learning 6. Temporal Difference LearningSeung Jae Lee
 
Reinforcement Learning 8: Planning and Learning with Tabular Methods
Reinforcement Learning 8: Planning and Learning with Tabular MethodsReinforcement Learning 8: Planning and Learning with Tabular Methods
Reinforcement Learning 8: Planning and Learning with Tabular MethodsSeung Jae Lee
 
Shallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender SystemShallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender SystemAnoop Deoras
 
An introduction to deep reinforcement learning
An introduction to deep reinforcement learningAn introduction to deep reinforcement learning
An introduction to deep reinforcement learningBig Data Colombia
 
Past, present, and future of Recommender Systems: an industry perspective
Past, present, and future of Recommender Systems: an industry perspectivePast, present, and future of Recommender Systems: an industry perspective
Past, present, and future of Recommender Systems: an industry perspectiveXavier Amatriain
 
Tiger graph 2021 corporate overview [read only]
Tiger graph 2021 corporate overview [read only]Tiger graph 2021 corporate overview [read only]
Tiger graph 2021 corporate overview [read only]ercan5
 
Reinforcement Learning
Reinforcement LearningReinforcement Learning
Reinforcement LearningDongHyun Kwak
 
Intro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningIntro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningKhaled Saleh
 
Déjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsJustin Basilico
 
Movie Recommendation System - MovieLens Dataset
Movie Recommendation System - MovieLens DatasetMovie Recommendation System - MovieLens Dataset
Movie Recommendation System - MovieLens DatasetJagruti Joshi
 
GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...
GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...
GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...Balázs Hidasi
 

What's hot (20)

Recommendation at Netflix Scale
Recommendation at Netflix ScaleRecommendation at Netflix Scale
Recommendation at Netflix Scale
 
Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2
Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2
Graph Gurus Episode 4: Detecting Fraud and Money Laudering in Real-Time Part 2
 
Graph Gurus Episode 3: Anti Fraud and AML Part 1
Graph Gurus Episode 3: Anti Fraud and AML Part 1Graph Gurus Episode 3: Anti Fraud and AML Part 1
Graph Gurus Episode 3: Anti Fraud and AML Part 1
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry Perspective
 
Tutorial: Context In Recommender Systems
Tutorial: Context In Recommender SystemsTutorial: Context In Recommender Systems
Tutorial: Context In Recommender Systems
 
A Unified Approach to Interpreting Model Predictions (SHAP)
A Unified Approach to Interpreting Model Predictions (SHAP)A Unified Approach to Interpreting Model Predictions (SHAP)
A Unified Approach to Interpreting Model Predictions (SHAP)
 
Graph Databases and Machine Learning | November 2018
Graph Databases and Machine Learning | November 2018Graph Databases and Machine Learning | November 2018
Graph Databases and Machine Learning | November 2018
 
Reinforcement Learning 7. n-step Bootstrapping
Reinforcement Learning 7. n-step BootstrappingReinforcement Learning 7. n-step Bootstrapping
Reinforcement Learning 7. n-step Bootstrapping
 
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
Graph Gurus Episode 31: GSQL Writing Best Practices Part 1
 
Reinforcement Learning 6. Temporal Difference Learning
Reinforcement Learning 6. Temporal Difference LearningReinforcement Learning 6. Temporal Difference Learning
Reinforcement Learning 6. Temporal Difference Learning
 
Reinforcement Learning 8: Planning and Learning with Tabular Methods
Reinforcement Learning 8: Planning and Learning with Tabular MethodsReinforcement Learning 8: Planning and Learning with Tabular Methods
Reinforcement Learning 8: Planning and Learning with Tabular Methods
 
Shallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender SystemShallow and Deep Latent Models for Recommender System
Shallow and Deep Latent Models for Recommender System
 
An introduction to deep reinforcement learning
An introduction to deep reinforcement learningAn introduction to deep reinforcement learning
An introduction to deep reinforcement learning
 
Past, present, and future of Recommender Systems: an industry perspective
Past, present, and future of Recommender Systems: an industry perspectivePast, present, and future of Recommender Systems: an industry perspective
Past, present, and future of Recommender Systems: an industry perspective
 
Tiger graph 2021 corporate overview [read only]
Tiger graph 2021 corporate overview [read only]Tiger graph 2021 corporate overview [read only]
Tiger graph 2021 corporate overview [read only]
 
Reinforcement Learning
Reinforcement LearningReinforcement Learning
Reinforcement Learning
 
Intro to Deep Reinforcement Learning
Intro to Deep Reinforcement LearningIntro to Deep Reinforcement Learning
Intro to Deep Reinforcement Learning
 
Déjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender SystemsDéjà Vu: The Importance of Time and Causality in Recommender Systems
Déjà Vu: The Importance of Time and Causality in Recommender Systems
 
Movie Recommendation System - MovieLens Dataset
Movie Recommendation System - MovieLens DatasetMovie Recommendation System - MovieLens Dataset
Movie Recommendation System - MovieLens Dataset
 
GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...
GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...
GRU4Rec v2 - Recurrent Neural Networks with Top-k Gains for Session-based Rec...
 

Similar to Graph Gurus Episode 2: Building a Movie Recommendation Engine

Software Suite for Movie Market Analysis
Software Suite for Movie Market AnalysisSoftware Suite for Movie Market Analysis
Software Suite for Movie Market Analysisdariospin93
 
Regression Model for movies
Regression Model for moviesRegression Model for movies
Regression Model for moviesMohit Rajput
 
Netflix recommendation systems
Netflix recommendation systemsNetflix recommendation systems
Netflix recommendation systemsMina Tafreshi
 
Project Management IMDB
Project Management IMDBProject Management IMDB
Project Management IMDBhaktansen
 
Recommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine LearningRecommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine LearningTigerGraph
 
[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous Driving
[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous Driving[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous Driving
[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous DrivingKiho Suh
 
Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...
Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...
Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...TigerGraph
 
RecSys Challenge 2014, SemWexMFF group
RecSys Challenge 2014, SemWexMFF groupRecSys Challenge 2014, SemWexMFF group
RecSys Challenge 2014, SemWexMFF groupLadislav Peska
 
Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...
Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...
Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...GameCamp
 
PhD Defense: Dynamic Generation of Personalized Hybrid Recommender Systems
PhD Defense: Dynamic Generation of Personalized Hybrid Recommender SystemsPhD Defense: Dynamic Generation of Personalized Hybrid Recommender Systems
PhD Defense: Dynamic Generation of Personalized Hybrid Recommender SystemsSimon Dooms
 
The Future of Television - AWS Summit Sydney 2018
The Future of Television - AWS Summit Sydney 2018The Future of Television - AWS Summit Sydney 2018
The Future of Television - AWS Summit Sydney 2018Amazon Web Services
 
Real-world News Recommender Systems
Real-world News Recommender SystemsReal-world News Recommender Systems
Real-world News Recommender Systemskib_83
 
VUEDB media kit
VUEDB media kitVUEDB media kit
VUEDB media kitVUEDB
 
Effective creatives in user acquisition
Effective creatives in user acquisitionEffective creatives in user acquisition
Effective creatives in user acquisitionGameCamp
 
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devicesMastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devicesJean-Philippe Doiron
 
R markup code to create Regression Model
R markup code to create Regression ModelR markup code to create Regression Model
R markup code to create Regression ModelMohit Rajput
 

Similar to Graph Gurus Episode 2: Building a Movie Recommendation Engine (20)

Software Suite for Movie Market Analysis
Software Suite for Movie Market AnalysisSoftware Suite for Movie Market Analysis
Software Suite for Movie Market Analysis
 
Regression Model for movies
Regression Model for moviesRegression Model for movies
Regression Model for movies
 
Netflix recommendation systems
Netflix recommendation systemsNetflix recommendation systems
Netflix recommendation systems
 
Project Management IMDB
Project Management IMDBProject Management IMDB
Project Management IMDB
 
Gashte Police (Police Patrol)
Gashte Police (Police Patrol)Gashte Police (Police Patrol)
Gashte Police (Police Patrol)
 
Recommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine LearningRecommendation Engine with In-Database Machine Learning
Recommendation Engine with In-Database Machine Learning
 
[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous Driving
[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous Driving[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous Driving
[한국어] Safe Multi-Agent Reinforcement Learning for Autonomous Driving
 
Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...
Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...
Graph Gurus Episode 28: In-Database Machine Learning Solution for Real-Time R...
 
RecSys Challenge 2014, SemWexMFF group
RecSys Challenge 2014, SemWexMFF groupRecSys Challenge 2014, SemWexMFF group
RecSys Challenge 2014, SemWexMFF group
 
Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...
Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...
Game monetization and promotion in Asia (with focus on Indonesia, Japan, Sout...
 
PhD Defense: Dynamic Generation of Personalized Hybrid Recommender Systems
PhD Defense: Dynamic Generation of Personalized Hybrid Recommender SystemsPhD Defense: Dynamic Generation of Personalized Hybrid Recommender Systems
PhD Defense: Dynamic Generation of Personalized Hybrid Recommender Systems
 
The Future of Television - AWS Summit Sydney 2018
The Future of Television - AWS Summit Sydney 2018The Future of Television - AWS Summit Sydney 2018
The Future of Television - AWS Summit Sydney 2018
 
Raccomender engines
Raccomender enginesRaccomender engines
Raccomender engines
 
Real-world News Recommender Systems
Real-world News Recommender SystemsReal-world News Recommender Systems
Real-world News Recommender Systems
 
TMDb movie dataset by kaggle
TMDb movie dataset by kaggleTMDb movie dataset by kaggle
TMDb movie dataset by kaggle
 
VUEDB media kit
VUEDB media kitVUEDB media kit
VUEDB media kit
 
Effective creatives in user acquisition
Effective creatives in user acquisitionEffective creatives in user acquisition
Effective creatives in user acquisition
 
Mastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devicesMastering Multiplayer Stage3d and AIR game development for mobile devices
Mastering Multiplayer Stage3d and AIR game development for mobile devices
 
R markup code to create Regression Model
R markup code to create Regression ModelR markup code to create Regression Model
R markup code to create Regression Model
 
Movie Trailers
Movie TrailersMovie Trailers
Movie Trailers
 

More from TigerGraph

MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATIONMAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATIONTigerGraph
 
Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...TigerGraph
 
Building an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signalsBuilding an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signalsTigerGraph
 
Care Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information SystemCare Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information SystemTigerGraph
 
Correspondent Banking Networks
Correspondent Banking NetworksCorrespondent Banking Networks
Correspondent Banking NetworksTigerGraph
 
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...TigerGraph
 
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...TigerGraph
 
Fraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph LearningFraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph LearningTigerGraph
 
Fraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On GraphsFraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On GraphsTigerGraph
 
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraphFROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraphTigerGraph
 
Customer Experience Management
Customer Experience ManagementCustomer Experience Management
Customer Experience ManagementTigerGraph
 
Graph+AI for Fin. Services
Graph+AI for Fin. ServicesGraph+AI for Fin. Services
Graph+AI for Fin. ServicesTigerGraph
 
Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.TigerGraph
 
Plume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis LibraryPlume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis LibraryTigerGraph
 
GRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMSGRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMSTigerGraph
 
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...TigerGraph
 
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...TigerGraph
 
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUIMachine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUITigerGraph
 
Supply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AISupply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AITigerGraph
 

More from TigerGraph (20)

MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATIONMAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
MAXIMIZING THE VALUE OF SCIENTIFIC INFORMATION TO ACCELERATE INNOVATION
 
Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...Better Together: How Graph database enables easy data integration with Spark ...
Better Together: How Graph database enables easy data integration with Spark ...
 
Building an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signalsBuilding an accurate understanding of consumers based on real-world signals
Building an accurate understanding of consumers based on real-world signals
 
Care Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information SystemCare Intervention Assistant - Omaha Clinical Data Information System
Care Intervention Assistant - Omaha Clinical Data Information System
 
Correspondent Banking Networks
Correspondent Banking NetworksCorrespondent Banking Networks
Correspondent Banking Networks
 
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
Delivering Large Scale Real-time Graph Analytics with Dell Infrastructure and...
 
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
Deploying an End-to-End TigerGraph Enterprise Architecture using Kafka, Maria...
 
Fraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph LearningFraud Detection and Compliance with Graph Learning
Fraud Detection and Compliance with Graph Learning
 
Fraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On GraphsFraudulent credit card cash-out detection On Graphs
Fraudulent credit card cash-out detection On Graphs
 
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraphFROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
FROM DATAFRAMES TO GRAPH Data Science with pyTigerGraph
 
Customer Experience Management
Customer Experience ManagementCustomer Experience Management
Customer Experience Management
 
Graph+AI for Fin. Services
Graph+AI for Fin. ServicesGraph+AI for Fin. Services
Graph+AI for Fin. Services
 
Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.Davraz - A graph visualization and exploration software.
Davraz - A graph visualization and exploration software.
 
Plume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis LibraryPlume - A Code Property Graph Extraction and Analysis Library
Plume - A Code Property Graph Extraction and Analysis Library
 
TigerGraph.js
TigerGraph.jsTigerGraph.js
TigerGraph.js
 
GRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMSGRAPHS FOR THE FUTURE ENERGY SYSTEMS
GRAPHS FOR THE FUTURE ENERGY SYSTEMS
 
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
Hardware Accelerated Machine Learning Solution for Detecting Fraud and Money ...
 
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
How to Build An AI Based Customer Data Platform: Learn the design patterns fo...
 
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUIMachine Learning Feature Design with TigerGraph 3.0 No-Code GUI
Machine Learning Feature Design with TigerGraph 3.0 No-Code GUI
 
Supply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AISupply Chain and Logistics Management with Graph & AI
Supply Chain and Logistics Management with Graph & AI
 

Recently uploaded

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Recently uploaded (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Graph Gurus Episode 2: Building a Movie Recommendation Engine

  • 1. Graph Gurus Episode 2 Building the Next Generation Recommendation Engine with a Graph Database, using TigerGraph’s GraphStudio visual SDK
  • 2. © 2018 TigerGraph. All Rights Reserved Welcome ● Attendees are muted but you can talk to us via Chat in Zoom ● We will have 10 min for Q&A at the end ● Send questions at any time using the Q&A tab in the Zoom menu ● The webinar will be recorded ● A link to the presentation and reproducible steps will be emailed 2 Developer Edition Download https://www.tigergraph.com/developer/
  • 3. © 2018 TigerGraph. All Rights Reserved Today’s Moderator ● BS in Electrical Engineering and Computer Science from UC Berkeley ● MS in Electrical Engineering from Stanford University ● PhD in Computer Science from Kent State University focused on graph data mining ● 15+ years in tech industry 3 Victor Lee, Director of Product Management
  • 4. © 2018 TigerGraph. All Rights Reserved Today’s Guru ● BS in Computer Science from Fudan University, China ● Master in Computer Science from Cornell University ● With TigerGraph for over 3 years ● Co-author of GSQL query language ● Leading the design and development of GraphStudio 4 Renchu Song, Engineering Manager
  • 5. © 2018 TigerGraph. All Rights Reserved 5 Developer Edition Download https://www.tigergraph.com/developer/ Building a movie recommendation engine 1. Example data set 2. Defining movie recommendation graph schema 3. Defining data mapping 4. Loading data 5. Implementing movie recommendation algorithm 6. Executing query through RESTFul endpoint
  • 6. © 2018 TigerGraph. All Rights Reserved 6 Developer Edition Download https://www.tigergraph.com/developer/ 1. Example Data Set - MovieLens 20M • Size: 841M (after decompression) • 20 million ratings applied to 27,000 movies by 138,000 real users. • Download: https://grouplens.org/datasets/movielens/20m/
  • 7. © 2018 TigerGraph. All Rights Reserved 7 Data Format - CSV movieId,title,genres 1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy 2,Jumanji (1995),Adventure|Children|Fantasy 3,Grumpier Old Men (1995),Comedy|Romance 4,Waiting to Exhale (1995),Comedy|Drama|Romance 5,Father of the Bride Part II (1995),Comedy 6,Heat (1995),Action|Crime|Thriller 7,Sabrina (1995),Comedy|Romance 8,Tom and Huck (1995),Adventure|Children 9,Sudden Death (1995),Action 10,GoldenEye (1995),Action|Adventure|Thriller 11,"American President, The (1995)",Comedy|Drama|Romance ... userId,movieId,rating,timestamp 1,2,3.5,1112486027 1,29,3.5,1112484676 1,32,3.5,1112484819 1,47,3.5,1112484727 1,50,3.5,1112484580 1,112,3.5,1094785740 1,151,4.0,1094785734 1,223,4.0,1112485573 1,253,4.0,1112484940 1,260,4.0,1112484826 1,293,4.0,1112484703 ... ratings.csv (20000264 rows)movies.csv (27278 rows)
  • 8. © 2018 TigerGraph. All Rights Reserved 8 2. Defining Movie Recommendation Graph Schema 2 vertex types: person, movie 1 edge type: rate
  • 9. © 2018 TigerGraph. All Rights Reserved 9 3. Defining Data Mapping movies.csvratings.csv person(id) movie(id, title, genres) rate(rating, rated_at)
  • 10. © 2018 TigerGraph. All Rights Reserved 10 4. Loading Data • Loading speed depends on machine configuration • Here it takes about 2 minutes.
  • 11. © 2018 TigerGraph. All Rights Reserved 11 5. Implementing Movie Recommendation Algorithm Collaborative Filtering “People who liked items which you like also like THESE OTHER ITEMS.” I liked Wonder Woman And Lady Bird Group A also liked Wonder Woman and Lady Bird … and The Shape of Water.
  • 12. © 2018 TigerGraph. All Rights Reserved 12 Input: A person p, two integer parameters k1 and k2 Algorithm steps: 1. Find all movies p has rated; 2. Find all persons rated same movies as p; 3. Based on the movie ratings, find the k1 persons that have most similar tastes with p; 4. Find all movies these k1 persons rated that p hasn’t rated yet; 5. Recommend the top k2 movies with highest average rating by the k1 persons; Output: At most k2 movies to be recommended to person p. 5. Implementing Movie Recommendation Algorithm
  • 13. © 2018 TigerGraph. All Rights Reserved 13 Input: A person p, two integer parameters k1 and k2 Algorithm steps: 1. Find all movies p has rated; 2. Find all persons rated same movies as p; 3. Based on the movie ratings, find the k1 persons that have most similar tastes with p; 4. Find all movies these k1 persons rated that p hasn’t rated yet; 5. Recommend the top k2 movies with highest average rating by the k1 persons; Output: At most k2 movies to be recommended to person p. p …... rate rate rate PRatedMovies PSet 5. Implementing Movie Recommendation Algorithm
  • 14. © 2018 TigerGraph. All Rights Reserved 14 Input: A person p, two integer parameters k1 and k2 Algorithm steps: 1. Find all movies p has rated; 2. Find all persons rated same movies as p; 3. Based on the movie ratings, find the k1 persons that have most similar tastes with p; 4. Find all movies these k1 persons rated that p hasn’t rated yet; 5. Recommend the top k2 movies with highest average rating by the k1 persons; Output: At most k2 movies to be recommended to person p. p …... rate rate rate PRatedMovies PSet …... PeopleRatedSameMovies rate rate rate rate 5. Implementing Movie Recommendation Algorithm
  • 15. © 2018 TigerGraph. All Rights Reserved 15 Input: A person p, two integer parameters k1 and k2 Algorithm steps: 1. Find all movies p has rated; 2. Find all persons rated same movies as p; 3. Based on the movie ratings, find the k1 persons that have most similar tastes with p; 4. Find all movies these k1 persons rated that p hasn’t rated yet; 5. Recommend the top k2 movies with highest average rating by the k1 persons; Output: At most k2 movies to be recommended to person p. p …... rate rate rate PRatedMovies PSet …... PeopleRatedSameMovies rate rate rate rate 5. Implementing Movie Recommendation Algorithm
  • 16. © 2018 TigerGraph. All Rights Reserved 16 Input: A person p, two integer parameters k1 and k2 Algorithm steps: 1. Find all movies p has rated; 2. Find all persons rated same movies as p; 3. Based on the movie ratings, find the k1 persons that have most similar tastes with p; 4. Find all movies these k1 persons rated that p hasn’t rated yet; 5. Recommend the top k2 movies with highest average rating by the k1 persons; Output: At most k2 movies to be recommended to person p. p …... rate rate rate PRatedMovies PSet …... PeopleRatedSameMovies rate rate rate rate …... rate rate rate rate 5. Implementing Movie Recommendation Algorithm
  • 17. © 2018 TigerGraph. All Rights Reserved 17 Input: A person p, two integer parameters k1 and k2 Algorithm steps: 1. Find all movies p has rated; 2. Find all persons rated same movies as p; 3. Based on the movie ratings, find the k1 persons that have most similar tastes with p; 4. Find all movies these k1 persons rated that p hasn’t rated yet; 5. Recommend the top k2 movies with highest average rating by the k1 persons; Output: At most k2 movies to be recommended to person p. p …... rate rate rate PRatedMovies PSet …... PeopleRatedSameMovies rate rate rate rate …... rate rate rate rate RecommendedMovies 5. Implementing Movie Recommendation Algorithm
  • 18. © 2018 TigerGraph. All Rights Reserved 18 GSQL Edge Block And Accumulator Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs Person:s movie:mrate:r r1{ rating = 2.5 } r2 { rating = 4.5 } r3 { rating = 0.5 } r4 { rating = 5.0 } r6 { rating = 5.0 } r7 { rating = 4.0 } @avgRating = 0 AvgAccum<double> @avgRating; ... // People = { Tom, Emily, Dan } ... AvgMovieRating = SELECT m FROM People:s -(rate:r)-> movie:m WHERE r.rating >= 1.0 ACCUM m.@avgRating += r.rating POST-ACCUM m.@avgRating += 1 ORDER BY m.@avgRating DESC LIMIT 2; Tom Emily Dan @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 Dunkirk The Matrix Zootopia Star War r5 { rating = 4.0 }
  • 19. © 2018 TigerGraph. All Rights Reserved 19 GSQL Edge Block And Accumulator Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs Person:s movie:mrate:r r1{ rating = 2.5 } r2 { rating = 4.5 } r3 { rating = 0.5 } r4 { rating = 5.0 } r6 { rating = 5.0 } r7 { rating = 4.0 } @avgRating = 0 AvgAccum<double> @avgRating; ... // People = { Tom, Emily, Dan } ... AvgMovieRating = SELECT m FROM People:s -(rate:r)-> movie:m WHERE r.rating >= 1.0 ACCUM m.@avgRating += r.rating POST-ACCUM m.@avgRating += 1 ORDER BY m.@avgRating DESC LIMIT 2; Tom Emily Dan @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 Dunkirk The Matrix Zootopia Star War r5 { rating = 4.0 }
  • 20. © 2018 TigerGraph. All Rights Reserved 20 GSQL Edge Block And Accumulator Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs Person:s movie:mrate:r r1{ rating = 2.5 } r2 { rating = 4.5 } r3 { rating = 0.5 } r4 { rating = 5.0 } r6 { rating = 5.0 } r7 { rating = 4.0 } @avgRating = 0 AvgAccum<double> @avgRating; ... // People = { Tom, Emily, Dan } ... AvgMovieRating = SELECT m FROM People:s -(rate:r)-> movie:m WHERE r.rating >= 1.0 ACCUM m.@avgRating += r.rating POST-ACCUM m.@avgRating += 1 ORDER BY m.@avgRating DESC LIMIT 2; Tom Emily Dan @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 Dunkirk The Matrix Zootopia Star War r5 { rating = 4.0 }
  • 21. © 2018 TigerGraph. All Rights Reserved 21 GSQL Edge Block And Accumulator Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs Person:s movie:mrate:r r1{ rating = 2.5 } r2 { rating = 4.5 } r4 { rating = 5.0 } r6 { rating = 5.0 } r7 { rating = 4.0 } @avgRating = 0 AvgAccum<double> @avgRating; ... // People = { Tom, Emily, Dan } ... AvgMovieRating = SELECT m FROM People:s -(rate:r)-> movie:m WHERE r.rating >= 1.0 ACCUM m.@avgRating += r.rating POST-ACCUM m.@avgRating += 1 ORDER BY m.@avgRating DESC LIMIT 2; Tom Emily Dan @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 @avgRating = 0 Dunkirk The Matrix Zootopia Star War r5 { rating = 4.0 } r3 { rating = 0.5 }
  • 22. © 2018 TigerGraph. All Rights Reserved 22 GSQL Edge Block And Accumulator Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs Person:s movie:mrate:r r1{ rating = 2.5 } r2 { rating = 4.5 } r3 { rating = 0.5 } r4 { rating = 5.0 } r6 { rating = 5.0 } r7 { rating = 4.0 } @avgRating = 2.5 AvgAccum<double> @avgRating; ... // People = { Tom, Emily, Dan } ... AvgMovieRating = SELECT m FROM People:s -(rate:r)-> movie:m WHERE r.rating >= 1.0 ACCUM m.@avgRating += r.rating POST-ACCUM m.@avgRating += 1 ORDER BY m.@avgRating DESC LIMIT 2; Tom Emily Dan @avgRating = avg(4.5 + 5.0) = 4.75 @avgRating = 4.5 @avgRating = 4.0 @avgRating = 0 @avgRating = 0 @avgRating = 0 Dunkirk The Matrix Zootopia Star War r5 { rating = 4.0 }
  • 23. © 2018 TigerGraph. All Rights Reserved 23 GSQL Edge Block And Accumulator Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs Person:s movie:mrate:r r1{ rating = 2.5 } r2 { rating = 4.5 } r3 { rating = 0.5 } r4 { rating = 5.0 } r6 { rating = 5.0 } r7 { rating = 4.0 } AvgAccum<double> @avgRating; ... // People = { Tom, Emily, Dan } ... AvgMovieRating = SELECT m FROM People:s -(rate:r)-> movie:m WHERE r.rating >= 1.0 ACCUM m.@avgRating += r.rating POST-ACCUM m.@avgRating += 1 ORDER BY m.@avgRating DESC LIMIT 2; Tom Emily Dan @avgRating = 0 @avgRating = 0 @avgRating = 0 Dunkirk The Matrix Zootopia Star War r5 { rating = 4.0 } @avgRating = 2.5 + 1 = 3.5 @avgRating = 4.75 + 1 = 5.75 @avgRating = 4.5 + 1 = 5.5 @avgRating = 4.0 + 1 = 5.0
  • 24. © 2018 TigerGraph. All Rights Reserved 24 GSQL Edge Block And Accumulator Learn more at GSQL webinar: https://www.youtube.com/watch?v=EslAkGAEbFs Person:s movie:mrate:r r1{ rating = 2.5 } r2 { rating = 4.5 } r3 { rating = 0.5 } r4 { rating = 5.0 } r6 { rating = 5.0 } r7 { rating = 4.0 } AvgAccum<double> @avgRating; ... // People = { Tom, Emily, Dan } ... AvgMovieRating = SELECT m FROM People:s -(rate:r)-> movie:m WHERE r.rating >= 1.0 ACCUM m.@avgRating += r.rating POST-ACCUM m.@avgRating += 1 ORDER BY m.@avgRating DESC LIMIT 2; Tom Emily Dan @avgRating = 0 @avgRating = 0 @avgRating = 0 Dunkirk The Matrix Zootopia Star War r5 { rating = 4.0 } @avgRating = 3.5 @avgRating = 5.75 @avgRating = 5.5 @avgRating = 5.0
  • 25. © 2018 TigerGraph. All Rights Reserved 25 Step 1. Find all movies p has rated; p …... rate { rating = 3.5 } rate { rating = 5.0 } rate { rating = 3.0 } PRatedMovies PSet { @rated = true, @ratingByP = 3.5 } { @rated = true, @ratingByP = 5.0 } { @rated = true, @ratingByP = 3.0 } 5. Implementing Movie Recommendation Algorithm
  • 26. © 2018 TigerGraph. All Rights Reserved 26 Step 2. Find all persons rated same movies as p …... …... PRatedMovies PeopleRatedSameMovies @ratingByP = 3.5 @ratingByP = 5.0 @ratingByP = 3.0 rate rate rate rate rate rate 5. Implementing Movie Recommendation Algorithm
  • 27. © 2018 TigerGraph. All Rights Reserved 27 Step 3. Find the k1 persons that have most similar tastes with p. A = [3.5, 3.0] B = [0.5, 5.0] @lengthASqr = 3.5 * 3.5 + 3.0 * 3.0 = 21.25 @lengthBSqr = 0.5 * 0.5 + 5.0 * 5.0 = 25.25 @dotProductAB = 3.5 * 0.5 + 3.0 * 5.0 = 16.75 @cosineSimilarity = 16.75 / sqrt(21.25) / sqrt(25.25) = 0.72311 5. Implementing Movie Recommendation Algorithm
  • 28. © 2018 TigerGraph. All Rights Reserved 28 Step 3. Find the k1 persons that have most similar tastes with p. …... PRatedMovies PeopleRatedSameMovies @ratingByP = 3.5 @ratingByP = 5.0 @ratingByP = 3.0 @cosineSimilarity = 1 @lengthASqr = 3.5 * 3.5 + 3.0 * 3.0 = 21.25 @lengthBSqr = 0.5 * 0.5 + 5.0 * 5.0 = 25.25 @dotProductAB = 3.5 * 0.5 + 3.0 * 5.0 = 16.75 @cosineSimilarity = 16.75 / sqrt(21.25) / sqrt(25.25) = 0.72311 @cosineSimilarity = 0.99753 …... rating = 3.5 rating = 5.0 rating = 0.5 rating = 5.0 rating = 5.0 rating = 3.5 5. Implementing Movie Recommendation Algorithm
  • 29. © 2018 TigerGraph. All Rights Reserved 29 Step 3. Find the k1 persons that have most similar tastes with p. …... PRatedMovies PeopleRatedSameMovies @cosineSimilarity = 1 @cosineSimilarity = 0.99753 …... @cosineSimilarity = 0.72311 5. Implementing Movie Recommendation Algorithm
  • 30. © 2018 TigerGraph. All Rights Reserved 30 Step 4. Find all movies these k1 persons rated that p hasn’t rated yet. PeopleRatedSameMovies …... …... rate RecommendedMovies rate rate rate rate @rated = false @rated = false @rated = false 5. Implementing Movie Recommendation Algorithm
  • 31. © 2018 TigerGraph. All Rights Reserved 31 PeopleRatedSameMovies …... …... rating = 2.5 RecommendedMovies rating = 5.0 rating = 4.5 rating = 4.5 rating = 1.0 @recommendScore = 1.75 @recommendScore = 4.75 @recommendScore = 4.5 Step 5. Recommend the top k2 movies with highest average rating by k1 persons. 5. Implementing Movie Recommendation Algorithm
  • 32. © 2018 TigerGraph. All Rights Reserved 32 Step 5. Recommend the top k2 movies with highest average rating by k1 persons. PeopleRatedSameMovies …... …... rating = 2.5 RecommendedMovies rating = 5.0 rating = 4.5 rating = 4.5 rating = 1.0 @recommendScore = 1.75 @recommendScore = 4.75 @recommendScore = 4.5 5. Implementing Movie Recommendation Algorithm
  • 33. © 2018 TigerGraph. All Rights Reserved 33 curl -X GET 'http://<MACHINE-IP>:9000/query/MyGraph/RecommendMovies?p=238&k1=50&k2=20' | python -m json.tool 6. Executing query through RESTFul endpoint
  • 34. © 2018 TigerGraph. All Rights Reserved 34 Other Recommendation Algorithms Another example: https://doc.tigergraph.com/GSQL-Demo-Examples.html ● Content-based ○ Considers the genres of the movies Other approaches and formulas ● Profile the users and focus on similar users ● Other scoring systems Production systems using TigerGraph - Wish.com delivering real-time cross-sell and up-sell recommendations to over 300 million users and driving billions in annual revenue Person Movie Genre
  • 35. Q&A Please send your questions via the Q&A menu in Zoom 35
  • 36. © 2018 TigerGraph. All Rights Reserved Episode 3: Sept 12 Detecting Fraud and Money Laundering in Real-Time with a Graph DB https://info.tigergraph.com/graph-gurus-3 36 REGISTER FOR MORE WEBINARS AT https://www.tigergraph.com/ webinars-and-events/
  • 37. © 2018 TigerGraph. All Rights Reserved Additional Resources 37 Compare the Developer Edition and Enterprise Free Trial https://www.tigergraph.com/download/ Guru Scripts https://github.com/tigergraph/ecosys/tree/master/guru_scripts Join our Developer Forum https://groups.google.com/a/opengsql.org/forum/#!forum/gsql-users Take the Developer Survey https://www.tigergraph.com/developer-edition-feedback-survey/ @TigerGraphDB youtube.com/tigergraph facebook.com/TigerGraphDB linkedin.com/company/TigerGraph