about
Learning Tree-Based Deep Model for Recommender Systems (arxiv.org)
95 points by Matfyzak on Jan 11, 2018 | hide | past | pdf | 10 comments on HN

In plain words: A tree narrows items from broad to specific, so a deep network scores a user against a few nodes instead of the catalog, keeping search time nearly flat as items grow. It beat usual recommenders on two large datasets and in a Taobao ad test.

Abstract · Learning Tree-based Deep Model for Recommender Systems

Model-based methods for recommender systems have been studied extensively in recent years. In systems with large corpus, however, the calculation cost for the learnt model to predict all user-item preferences is tremendous, which makes full corpus retrieval extremely difficult. To overcome the calculation barriers, models such as matrix factorization resort to inner product form (i.e., model user-item preference as the inner product of user, item latent factors) and indexes to facilitate efficient approximate k-nearest neighbor searches. However, it still remains challenging to incorporate more expressive interaction forms between user and item features, e.g., interactions through deep neural networks, because of the calculation cost. In this paper, we focus on the problem of introducing arbitrary advanced models to recommender systems with large corpus. We propose a novel tree-based method which can provide logarithmic complexity w.r.t. corpus size even with more expressive models such as deep neural networks. Our main idea is to predict user interests from coarse to fine by traversing tree nodes in a top-down fashion and making decisions for each user-node pair. We also show that the tree structure can be jointly learnt towards better compatibility with users' interest distribution and hence facilitate both training and prediction. Experimental evaluations with two large-scale real-world datasets show that the proposed method significantly outperforms traditional methods. Online A/B test results in Taobao display advertising platform also demonstrate the effectiveness of the proposed method in production environments.

Han Zhu, Xiang Li, Pengye Zhang, Guozheng Li, Jie He, Han Li, Kun Gai
arXiv:1801.02294 · stat.ML, cs.IR, cs.LG · submitted Jan 8, 2018 · updated Dec 21, 2018
abstract · pdf · html · Accepted by KDD 2018

add comment on HN

Recommendation systems are a deep learning perennial since the Netflix contest.

My impression of Youtube, Amazon, Tumblr and other is that the recommendation process in practice is close to useless. And this isn't because I don't want recommendations.

Moreover, in all these situations, I feel like it just be improved by asking the user instead. There are thing I'd love recommendations on and I'd be quite willing to tell these portals about my preferences. But it doesn't seem like they want to know, don't have internal search worth much, don't take my search terms account when recommending, etc.

It seems like in practice, most sites actually want the effects of not being able to immediate drill past items that leverage their crappy interface to get exposure since I assume there are extra profits in one form or another to be made with these.

I wrote the recommender at Netflix about 5 years ago (every line of code). Netflix has been degrading it since then. The problem is that many companies are hotbeds of politics over expertise. Recommender, UI, A/B tests, etc are an excellent venue for politics at the expense of the product.

Some anecdotes from Netflix: https://www.reddit.com/r/MachineLearning/comments/6xiwr4/d_w... (Scroll down for my comments. Ignore namp243 comments - see below).

Another example is the "Netflix prize team" at Verizon/Yahoo. They refuse to share data with any other groups (they are afraid of being discovered), leaving other groups literally nothing to do.

In my opinion Youtube recommendations are improving. They are still pretty bad but they are trying interesting approaches.

Can you share any ideas on how you would implement a new recommender these days? Any papers you like? I am trying to learn more about this topic, but good information is hard to come by. The best resources I found so far are presentations from Netflix and Spotify, but they skip over so many details and assume so much knowledge that it's hard to get good results without being able to consult someone with experience.
https://research.google.com/pubs/pub45530.html is the most complete recent paper I've seen.
Thanks! So, would you say the future for recommendation is deep learning? While I am not opposed to it, I find it very opaque.
The future is a long time. Eventually faster computation, larger memory would allow taking smaller and smaller steps during training (coupled with avoiding "bad optima" with stochastic training). All of this would improve robustness of training.

The domain dictates whether degree of opacity (or other attributes), would rule out deep learning.

Netflix recommender does not use deep learning (which is pretty amazing given how badly they have messed it up). From the conversations I had (a couple of years ago), they gave up with it. I'm sure the Youtube team could do a better job on the Netflix data then they managed to do.

Interesting feedback on recommenders, thanks for sharing.

> Moreover, in all these situations, I feel like it just be improved by asking the user instead. There are thing I'd love recommendations on and I'd be quite willing to tell these portals about my preferences.

Explicit feedback would be amazing, but my experience is that you do not get many chances to request it from your users. Sign-up is the best chance, but anything after that is a non-starter from a UX perspective.

> But it doesn't seem like they want to know, don't have internal search worth much, don't take my search terms account when recommending, etc.

This is an excellent idea. The YouTube paper linked below (which I recommend very highly if you’re interested) mentions search terms as input features.

>> Moreover, in all these situations, I feel like it just be improved by asking the user instead. There are thing I'd love recommendations on and I'd be quite willing to tell these portals about my preferences.

> Explicit feedback would be amazing, but my experience is that you do not get many chances to request it from your users. Sign-up is the best chance, but anything after that is a non-starter from a UX perspective.

Wait, I don't mean I'd fill some dumb survey or something. Yeah no one does that. What I mean is if I could have a set of key-words and other filters that determined what appeared on my home page, I'd definitely spend time tuning those to get what I wanted and I suspect a lot of people would do that. Of course I'm not holding my breath since the trend of the last ten years has been less and less customization for things like that.

The first sentence of the abstract is poor English, and the fifth contains a factual inaccuracy about a very well-known recommendation algorithm (collaborative filtering is not content-based).
I agree. The fine article is very poorly written.

I was not able to find out whether they used decision trees or something novel.