![Page 1: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/1.jpg)
Recommendationengineservices
![Page 2: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/2.jpg)
Aboutme
• ChristopheWillemsen• Neo4j&Elasticsearch SeniorConsultant@GraphAware• Belgium
![Page 3: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/3.jpg)
Whatwe’lltalkabout
• Recommendationenginesoverview• Graphdatabases– Neo4j(thebestfitforreco engines)• Thereisalibraryforthat– Reco4PHP• Buildareco engineforrecommanding peopletofollowonGithub
![Page 4: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/4.jpg)
Recommendations:Overview
• Newsyoushouldread• Booksyoushouldbuy• Personsyoumayknow• Whichversionofapackagetouse• Whichserviceisbestsuitedtohandlegivenfailure• Findingtherightcandidatesformedicalproofs• …
![Page 5: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/5.jpg)
Maintypesofrecommendations
• Contentbased(features)• Collaborativefiltering(relationsuser<->item)
![Page 6: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/6.jpg)
Thegoodnews
Features aswellasrelationships arenaturallyrepresentedinagraph database.
![Page 7: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/7.jpg)
Neo4j– aquickintro
![Page 8: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/8.jpg)
Thegoodnews
Therecommendation logiccanberepresentedinagraphtraversal.
![Page 9: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/9.jpg)
Example
![Page 10: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/10.jpg)
Recommendation:BusinessSide
Identifybusinessrulesinordertoprovide
recommendationsthatmatters
![Page 11: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/11.jpg)
Example
![Page 12: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/12.jpg)
Recommendation:BusinessSide
RecommendtoAlicemoviesratedbypersonswhoratedthesamemovies
thanherbutthatshedidn’tactuallyalreadyrated yet
![Page 13: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/13.jpg)
Yourfirstrecommendationquery- Cypher
![Page 14: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/14.jpg)
Recommandation :BusinessSide
IftheMoviehasaGenre thatinterest Alice,
add 1tothescore
![Page 15: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/15.jpg)
Yoursecondrecommendationquery
![Page 16: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/16.jpg)
Thereallifeismorecomplex
Thespecifications ofarecommendationengine
arefarmorecomplexinthereallife
![Page 17: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/17.jpg)
Reallifeismorecomplex
Imaginethatyoushouldimplementthefeature
“Peopleyoumayknow”onLinkedIn
![Page 18: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/18.jpg)
Reallifeismorecomplex
Afterabrainstormingsession,youcomeupwiththefollowingwaysoffindingpeople
youmayknow
![Page 19: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/19.jpg)
Lifeismorecomplex• Commoncontacts• Facebookfriendsincommon•Mobile/emailcontactsincommon• Allcontactsofyourcontacts•Workedforsamecompany• Studiedatsameschool• Sharesameinterests• Livesinsamecity
![Page 20: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/20.jpg)
Reallifeismorecomplex
Butit’sjustthebeginning.
Let’sgoback.
![Page 21: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/21.jpg)
Reallifeismorecomplex
Morecontactsincommon:
Morerelevant?
![Page 22: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/22.jpg)
Reallifeismorecomplex…
Samecityorstudiedatsameschool:
Doesthesizematters?
![Page 24: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/24.jpg)
Reallifeismorecomplex
Whatshouldwedowithcontacts
Whoarepending?Whoarerejected?
Whoarealwaysignored?
![Page 25: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/25.jpg)
![Page 26: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/26.jpg)
Reallifeismorecomplex
Basestepsofarecommendationengine
• Discover• Qualify• Removenonrelevant•Measurequality
![Page 27: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/27.jpg)
#Reco4PHPOpen-Source RecommendationEngineSkeleton
atop Neo4j
![Page 28: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/28.jpg)
Reco4PHP
• StandalonePHPLibrary• Opinionatedarchitecture• Flexible• Handlealltheglue
![Page 29: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/29.jpg)
#Reco4PHPcomposerrequiregraphaware/reco4php
![Page 30: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/30.jpg)
Let’sbuildarecommendationengine
![Page 31: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/31.jpg)
Yourfirstrecommendationengine
ImaginewehaveagraphrepresentinginteractionsonGithub
![Page 32: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/32.jpg)
![Page 33: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/33.jpg)
Yourfirstrecommendationengine
Ourintentionistorecommendpeopleyoumayfollowbasedonthefollowing:
• Morefollowersincommon=>bestscore• Contributedtothesamerepository• Penalizetoomuchfollowers• Excludebots• Peopleyoualreadyfollowshouldn’tberecommended• Wedon’twanttorecommendtheuseritselfofcourse
![Page 34: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/34.jpg)
Discover
![Page 35: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/35.jpg)
![Page 36: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/36.jpg)
![Page 37: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/37.jpg)
Qualify
![Page 38: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/38.jpg)
Qualify
![Page 39: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/39.jpg)
Blacklistsetfiltres
Wecouldcreateablacklistorafilter forexcludingtheuserforwhomwearerecommending
people,butlet’susesomethingbuilt-in.
![Page 40: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/40.jpg)
Bindalltogether
![Page 41: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/41.jpg)
![Page 42: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/42.jpg)
![Page 43: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/43.jpg)
demo
![Page 44: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/44.jpg)
Questions?
![Page 45: Recommendation Engines with Neo4j, Symfony and Reco4PHP](https://reader033.vdocuments.net/reader033/viewer/2022051101/589b94721a28abc0098b6c4f/html5/thumbnails/45.jpg)
#thank_youTwitter:@ikwattro- @graph_aware
http://graphaware.comhttps://github.com/graphaware