Recommender system (source code)

= Recommender system

A <recommender system> selects or ranks items for a particular user or context, such as choosing books from a large catalogue. Its prediction target may be a rating, a click or a purchase; these targets need not coincide with what a user ultimately values. A common architecture first retrieves a manageable candidate <set>, then scores and reranks it.

Content-based filtering uses similarities between items; collaborative filtering uses patterns of interactions between users and items. If two readers overlap strongly in their previous choices, a book enjoyed by one can become a candidate for the other even without matching its description. Learned <vectors> make this retrieval a <nearest neighbor search> or related similarity search. A <dot product> also depends on vector length, so normalizing the <vectors> can change rankings.<Candidate generation overview by Google>[candidate-generation table, Embedding space, Comparing similarity measures]{ref}