I recently read the paper from Google named as this post. I find it worth to be shared with you. This is an example of a recommender system based on DL.

Recommendation as a search engine

It starts with underlining that a recommendation engine can be seen as a search engine where:

  • the input query is a user and contextual information;
  • the output is a ranked list of items, based on certain objectives such as click or purchase.

Thus, same as for the general ranking problem, one challenge is to achieve both:

  • memorization: learning the directly relevant frequent co-occurrence of items;
  • generalization: improving the diversity exploring new items combinations that have never or rarely occurred in the past.

The approach is then to rank items by their scores that is the probability of the user’s action given the features , where the features are:

  • user features;
  • contextual features;
  • impression features.

Ranking model for memorization and generalization

One the one hand a logistic regression can be used with cross-product transformation . Cross product transformations will memorize but not generalize.

On the other hand a DNN can generalize by learning a low dimensional dense embedding vector.

So combining both approaches authors propose the following model:

Continuous value features are in using tranformation, divided into quantiles.

Model