Tuesday 14 June 2016

ANOTHER podcast with Ben Nussbaum, AtomRain - for a good reason

Waw - this has been quite a spring for Neo4j, and for all of us working at Neo Technology. It started with an unbelievable quarter end in March (where we really had a record number of new customers joining us), into April with the release of the Panama Papers by the ICIJ, and then of course GraphConnect Europe - and it's long and interesting aftermath. Long story short: it's been a hot season for Neo4j, but a slow season for the Graphistania podcast. But: I feel like that may be changing again. With the summer ahead of us, I am hoping and planning to have even more interesting conversations.

And the thing is: I had even recorded another podcast episode in April that I had never published. After having spoken to Ben Nussbaum - the first podcast is over here - we actually found out that we had FORGOTTEN to talk about one of Ben's most interesting graph stories - the story of DateNight Movies. So here it is - finally:

Here's the transcript of our conversation:
RVB: 00:02 Hello, everyone. My name is Rik, Rik Van Bruggen, from Neo Technology. You guys were probably expecting a brand new, fresh podcast guest with a new story, a new story-line and everything. Well, guess what? This week is going to be a little bit different. I've invited actually the same guest that we had last week on our podcast, Benjamin Nussbaum from Atom Rain. Hi, Ben.

 BN: 00:28 Hey, Rik. Thanks for having me again [chuckles]. I appreciate it. I realized last week after we finished, we didn't talk about Date Night at all. I wanted to tell you the origin story first. 
RVB: 00:41 I need to know all about this because I've been just playing around with this site. So it's datenightmovies.com. It's fascinating, it's like a recommendation engine for movies for lonely people without a social life like myself, right? 
BN: 00:58 It's kind of like that, but it's actually a little different. 
RVB: 01:02 Tell me all about it. 
BN: 01:03 Yeah. We worked with MediaHound for the last few years building the entertainment graph which brings together all movies, TV shows, books, games, and music into one location to enable really good personalization and recommendations. One of the cool products that's been built off of that is Date Night, which is available at datenightmovies.com. It's essentially answering the question of, "What should we watch tonight?" You put in your favorite movie or a movie you feel like, and your significant other or your date for that night puts in another movie, or if you're watching a movie by yourself you just put in both [chuckles]. And then it'll take both of those movies, mix them together, basically look at all the characteristics of both of them and determine good recommendations for what you both might like. So you can finally get to stop arguing about, "What should we watch" and just get to actually watching a movie [chuckles]. 
RVB: 02:12 It's a great concept. I love it already. I haven't tried it yet in real life, but I love the concept. Where did this come from? 
BN: 02:20 When this originated, about a year and a-- in February 2015, we had amassed a significant amount of movie and TV data into the entertainment graph, and I was just starting to play around with the recommendations. And the first pass that I did in designing and building the recommendation engine and the scoring, which all happens in real time - because it's using Neo4j. It was starting to return pretty decent results, and that was basically just the similar to use case. If you're on the Gladiator page, what else it related to this that you might also like? Then it was Valentine's day actually in February 2015, and my wife was putting our six-month-old son to bed, and she finished that, he went to sleep and he wasn't fussing, he wasn't crying anymore which is fantastic. And she came out and we're like, "What should we do now?" 
RVB: 03:29 Don't tell me there's an emergency now. 
BN: 03:31 No, there's no emergency. The trucks are just going past the office. 
RVB: 03:36 Exactly. Sorry, I interrupted you again. 
BN: 03:40 No, no. It's all good. She was putting him to bed. I've been working on the algorithm, I was working on Valentine's day, which was very-- 
RVB: 03:49 Good for you, man. 
BN: 03:51 Yeah, right? So, in order to tie it together, I was at the place where I was starting to take multiple movies and return recommendations across multiple of them, which is kind of like a user-suggested feed. And in the spur of the moment, because she came out and I was working, I was like, "Oh well, this isn't good." I was like, "Hey, you want to watch a movie?"  And she said, "Sure, what should we watch?" And I was like, "Well, that's always that question I never like to be asked." And I said, "Well, give me two of your favorite movies." And she said, "Ghost and Pretty Woman." And I was like, "Okay. Well, that's interesting. I need something to offset this a little bit." So I put in The Matrix and Despicable Me [chuckles]. And the algorithm in that very early, first version kind of, came back with Enchanted. I told her what the algorithm had suggested, and we looked it up on Amazon and we were like, "Oh, this looks interesting." It's basically a Disney movie where the characters come into the real world. We watched it, and we both ended up liking it. I was just like, "Wow!" 
RVB: 05:00 That's the result. Yeah. 
BN: 05:01 Yeah [chuckles]. 
RVB: 05:04 Very cool. 
BN: 05:06 So, that was really exciting. And then, maybe a few week later, I did a Wednesday talk at the MediaHound office, just about the recommendation engine we were building, and shared that example of Date Night. The client team and the rest of the company just took it and ran with it, and turned it into what is now datenightmovies.com. It's actually up for a Webby
RVB: 05:31 That's what I saw. That's amazing. It's really cool. 
BN: 05:38 I didn't think that something that started out so simply would be impacting so many people. I guess that question of, "What should we watch tonight" just really resonates. 
RVB: 05:48 I think it does, yeah. Tell us more about the algorithm, or the the recommendation system that you built. Is it using any particular recommendation algorithms like Collaborative filtering or something like that? How does it work? Can you tell us a little bit about that? 
BN: 06:04 Yes. So there's actually a blog post published on this on the Neo site that goes into a bit more detail. But at the high level, it's using content-based filtering, which looks at the characteristics. We have a lot of movie experts at MediaHound that have done a lot of really good classification of the movies. So we've taken that approach in these initial phases, and we started to look at Collaborative filtering. We've kind of looked at both, and then in the early days, we just went with the content-based route to start with, and it ended up being pretty effective. It starts out with a movie, and you have some set of things that-- if you have movies on the left and you have something in the middle that defines that movie or describes it. Like with Gladiator, it would be like a sword and sandals epic, Roman Empire, and then The Notebook could be like drama, and romance, and these other characteristics, so genres, the type. There's a lot of other different elements that go into those. 
BN: 07:09 You're basically starting with a movie, going through the set of things that are connected to that movie and then looking at all the other movies that are also connected to those things in the middle. And then it's a matter of flipping it around to actually do the scoring algorithm and determine how significant each one of those characteristics, or traits, or genres that are in the middle are for those particular set of movies, and then returning their recommendations. The cool thing with Neo4j is you can do that all in real time. And certain genres like drama are connected to about 18,000 different movies. So even if you're touching 20, 30, 40, 50,000 nodes, we've still been able to do it in just in few hundred [MS?], and get a response in real time. Even with all the scoring and everything. It ended up being really cool. 
RVB: 08:04 It actually reminds me of one of my favorite demos, as some people may know, is my beer graph where I take two similar beers, or two beers and I find out which beers connect them. The thing is on the path, are usually quite interesting, right? So it reminds me of that a little bit. Super cool. I really love this story. I just saw on the website they're second in place for the Webby. I hope they really pull it off, that will be fantastic, and kudos to you and your wife as well. 
BN: 08:40 Thank you. Yes, everybody go vote for Date Night. 
RVB: 08:44 Exactly. All right. Ben, thank you so much for doing another podcast recording with me. That's a really cool story, very interesting for our listeners. I look forward to seeing you next week at the Graph Connect poling. 
BN: 08:58 Yep. I'll see you there, Rik. Thank you. 
RVB: 08:59 All right. Thank you, man. Bye-bye. 
BN: 09:02 Bye.
Subscribing to the podcast is easy: just add the rss feed or add us in iTunes! Hope you'll enjoy it!

All the best


No comments:

Post a Comment