PokitBlog is starting a new trend called Technical Tuesdays #techtuesdays (Throwback Thursdays are so yesterday). In honor of our amazing technical and data science teams along with the insightful content they have to share, we're kicking this one off from our own Denise Gosnell, PhD, engineer and data scientist extraordinaire, as recently seen quoted in USA Today. Here's Part 1 of What it Really Means to be 'Somebody Like You'. And, don't forget to join us again next Tuesday for Part 2 of this post on #techtuesdays.
The other day, I hopped on a favorite online media streaming service and started looking for something to watch. As I clicked from movie to movie, I noticed something – the recommendations were getting smarter with each click. As a frequent online shopper, I've become accustomed to the product recommendation pane that typically appears at the bottom of a page, but this particular one intrigued me. As I browsed around the site, the recommendation section changed from “people who viewed this item also viewed...” to “people who viewed this product ultimately watched..." and the suggestions were right on.
My data-centric mind turning, I wondered, how are they doing this?
Being my nerdy self, I took to the drawing board to get a general idea of the logic behind this morphing algorithm. I wondered if they were using a graph database to make these suggestions. And if so, how would that work?
Let’s look at what is happening here from a graph perspective. [mental check: have you gone through our intro to graph theory? It’s a quick one - head over here and then come back.]
Using graph theory, this is what your interaction graph looks like when you start browsing movies on an online streaming service:
The power of an online streaming recommendation system comes from the thousands of people who have previously looked at the same movies you are currently looking at. Consider two customers who looked at the same movies as you did, and let’s visualize their interaction graph:
In this example, your online browsing experience is directly influenced by the sequence of movies previously selected by people like you [in this case, our Alice and Bob]. The data trails from previous customers give us the golden list: the movies watched by other people who also clicked on the movies you are interested in. In real time, the whole interaction comes together like this:
As you click through your favorite movies, the power of graph databases enables dynamic and online processing of your data to create real time recommendations specifically for you.
While this is just an initial glimpse into the wide world of recommendation systems, it is natural to begin to think of ways to improve the system. For example, if we throw a few thousand more people like you into the mix, the more data we have and thus, the more personalized the recommendations become. We can choose to include varying windows of historical information into the system; the possibilities and techniques are endless.
Why would we, PokitDok, be educating you about graph systems set against a movie-watching backdrop? To find out, consider this a scene setter and stay tuned for a health inspired part two where we will demonstrate some our latest breakthroughs in Graph Theory technology along with what it could mean for the future of healthcare.
- Snake_Byte #28: Term x Document Matrices via Sklearn's DictVectorizer - April 21, 2017
- DC Blockchain Codeathon - April 11, 2017
- Snake_Bytes #5: Vector Distances - October 12, 2016
- TinkerPop and Titan from a Python State of Mind: A Tutorial via Docker - December 15, 2015
- Online Recommendation Systems: Getting Personal with Gremthon - Part 2 - April 14, 2015
- Online Recommendation Systems: What it Really Means to be 'Somebody Like You' - Part 1 - April 7, 2015
- The top 3 things we love most about the PokitDok HealthGraph - January 27, 2015
- The PokitDok HealthGraph - January 20, 2015