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 $P(y|x)$ that is the probability of the user’s action $y$ given the features $x$, 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 $\Phi_k(x) = \prod_{i=1}^{d} x_i^{c_{k, i}}$. 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 $[0, 1]$ using $P(X \leq x)$ tranformation, divided into $n_q$ quantiles.