Would love to understand the challenges you faced and any library or third-party products (e.g., recombee) you used to power the recommendation engine.
Ask HN: Has anyone built a recommendation engine in-house?
1–10 of 42 posts
Re: Ask HN: Has anyone built a recommendation engine in-house?
#2Re: Ask HN: Has anyone built a recommendation engine in-house?
#3I 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?
#4I 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?
#5Content 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?
#6Re: Ask HN: Has anyone built a recommendation engine in-house?
#7I 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.
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?
#8I 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?
#9I 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
[1] https://medium.com/@sadikkapadia/i-wrote-the-recommendation-...
Re: Ask HN: Has anyone built a recommendation engine in-house?
#10Earlier 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-...