候选检索、过滤、评分和排序这四个阶段构成目前绝大部分推荐系统的设计模式。下图展示了四个阶段的如何训练、部署并支持推理时间查询,应用于实际生产的推荐系统比基本的推荐模型复杂得多。我们认为下图较准确地呈现了当今大多数实际推荐系统的构建方法。接下来让我们看看推荐系统的实际应用。首先,通过研究常见推荐任务,我们发现以下用例都具有相似的模式,符合上述四个阶段。 然后,我们可以分析现实中的推荐系统,看看其中的各个步骤分别属于哪一个阶段。Meta公司的Instagram团队曾发布一篇文章Powered by AI: Instagram’s Explore recommender system (IGQL query language),介绍其开发的查询语言(Query Language),它可以让推荐系统的开发更加简便。Instagram提供了如下例子,从中可见,这种查询语言可以完全映射我们总结的四个阶段。 Pinterest也有一系列关于推荐系统的论文:Related Pins at Pinterest:The Evolution of a Real-World Recommender System、Pixie: A System for Recommending 3+ Billion Items to 200+ Million Users in Real-Time和Applying deep learning to Related Pins。下图摘自上述第一篇论文,展示了Pinterest系统架构的演变。同样,Pinterest的推荐系统总体也符合四个阶段,只是候选检索和过滤被整合为同一阶段。 最后,Instacart在2016年公布了如下推荐架构(http://slideshare.net/SharathRao6/recommendation-systems-instacart),也符合我们所说的四个阶段。首先是检索候选商品,过滤用户已购买的商品,然后对待推荐商品评分,最后对待推荐商品进行重新排序,以增加展示条目的多样性。