Live data from Hacker News

Ask HN: Has anyone built a recommendation engine in-house?

news.ycombinator.com

1–10 of 42 posts

Re: Ask HN: Has anyone built a recommendation engine in-house?

#2
I built a document recommendation project as part of a course, wrote it in python using the term-frequency inverse document frequency (TF-IDF) formula. It's actually a pretty straight forward method for recommending similar documents based on content.

https://github.com/ElementalWarrior/LearningAnalytics

Re: Ask HN: Has anyone built a recommendation engine in-house?

#3

I built a document recommendation project as part of a course, wrote it in python using the term-frequency inverse document frequency (TF-IDF) formula. It's actually a pretty straight forward method for recommending similar documents based on content. https://github.com/ElementalWarrior/LearningAnalytics

Thanks for sharing the repo. Was the course on recommender system or just a CS course and you chose to build a recommender system?

Re: Ask HN: Has anyone built a recommendation engine in-house?

#4

I built a document recommendation project as part of a course, wrote it in python using the term-frequency inverse document frequency (TF-IDF) formula. It's actually a pretty straight forward method for recommending similar documents based on content. https://github.com/ElementalWarrior/LearningAnalytics

Thanks for sharing the repo. Was the course on recommender system or just a CS course and you chose to build a recommender system?

The course had a section on it, it also covered things such as Bayes nets, it was basically a precursor course for machine learning. I chose to build the document recommendation project as my final project.

https://people.ok.ubc.ca/bowenhui/analytics/

Re: Ask HN: Has anyone built a recommendation engine in-house?

#5
There are basically 3 types of recommender engines:

Content Based: If you can represent your products as a vector, you can have a distance between each product, then you have a item-item recommendation. You can use all kinds of embedding to achieve this results, some techniques that we tried are word2vec embedding of user navigation, auto encoding of features using neural networks, dimensionality reduction with PCA, ALS, etc. There are lots of libs for solving these problems as is a very studied field, usually numpy and for finding the neighbors we use ann from scikitlearn, because if you have millions of items, you cant just find the distance between all the pairs.

Collaborative - Filtering, here you use the pairs of behavior of the users, . There is a surprise lib in python that works well, you have the MlLib from Spark too, this techniques are called matrix factorization techniques, and also gives you a embedding of the item or the user, and you can apply the techniques of content based to find user-user and item-item recommendations along the user-item recommendations

Hybrid Models: These are the models that use behavior and features of the user an items, LightFM is a good lib that works well, but you can model it with other tools like neural networks ( https://ai.google/research/pubs/pub45530 ).

The challenges are depending on the company, its not the same to recommended small amount of items to large number of users than large number of items to small number users.

There is a whole specialization in coursera that is really good https://www.coursera.org/specializations/recommender-systems

Re: Ask HN: Has anyone built a recommendation engine in-house?

#6
I wrote the recommendation system at Netflix (still in use after 5 years). Primary problem was company politics. Many groups were not happy that one person could write a system that was better in A/B test, had more uptime and cheaper to run. All of it (ML, production, monitoring), was custom code.

Re: Ask HN: Has anyone built a recommendation engine in-house?

#7

I wrote the recommendation system at Netflix (still in use after 5 years). Primary problem was company politics. Many groups were not happy that one person could write a system that was better in A/B test, had more uptime and cheaper to run. All of it (ML, production, monitoring), was custom code.

I always wondered how do you find the best artwork for the movies, is it multi armed bandits with thompson sampling?

In my company navigating politics is always the hard part, the marketing team would love to spam everyone all the time and the product and sales team would love to sell some kind of upgraded recommendation, its hard to push back but with metrics of coverage, ctr, precision, etc we usually kept them quiet with this metrics

Re: Ask HN: Has anyone built a recommendation engine in-house?

#8

I wrote the recommendation system at Netflix (still in use after 5 years). Primary problem was company politics. Many groups were not happy that one person could write a system that was better in A/B test, had more uptime and cheaper to run. All of it (ML, production, monitoring), was custom code.

Almost all of your top-level comments mention you did this

Re: Ask HN: Has anyone built a recommendation engine in-house?

#9

I wrote the recommendation system at Netflix (still in use after 5 years). Primary problem was company politics. Many groups were not happy that one person could write a system that was better in A/B test, had more uptime and cheaper to run. All of it (ML, production, monitoring), was custom code.

Almost all of your top-level comments mention you did this

Interestingly, his Medium post from two years ago [1] also says "5 years ago", and happens to be the only activity there.

[1] https://medium.com/@sadikkapadia/i-wrote-the-recommendation-...

Re: Ask HN: Has anyone built a recommendation engine in-house?

#10
post #9

Earlier quoted context omitted.

Almost all of your top-level comments mention you did this

Interestingly, his Medium post from two years ago [1] also says "5 years ago", and happens to be the only activity there. [1] https://medium.com/@sadikkapadia/i-wrote-the-recommendation-...

I don't keep track of time. That system is old technology. I did confirm from a Netflix employee that they still use it a few months ago. Deep learning, LDA (even one of Xavier's pet projects - k-means), did not do better.
Post reply on HN