推荐系统提供web服务的2种方式( 六 )


 
4.算法形态对推荐web服务选择的影响
推荐算法种类繁多,从简单的KNN、item-based协同过滤到复杂的深度学习、强化学习推荐算法,不同的算法实现方式、需要的数据来源、计算复杂度等都不一样 。这也导致了算法的使用场景不一样 。
 
像深层深度学习这种模型结构非常复杂的推荐算法,即使为单个标的物打分(即计算出用户对标的物的偏好度),计算时间也是简单算法的若干倍,这时在短时间内(比如100毫秒之内)为大量的标的物打分是不现实的,因此这类算法一般用于排序阶段(排序阶段只对成百上千的标的物打分),因此比较适合实时装配性的策略 。
 
简单的推荐算法,如item-based协同过滤、矩阵分解,由于计算复杂度低,一般用于召回阶段,因此是比较适合事先计算型的 。
 
总结本文讲解了推荐系统提供web服务的两种主要方式,一种是事先计算型,提前将用户的推荐结果计算出来并存放到NoSQL中,当用户使用推荐模块时,推荐web服务直接将该用户的推荐结果取出来并组装成合适的数据结构最终在前端展示给用户,另一种是实时装配型,我们需要将计算推荐结果需要的原材料准备成“半成品”(就是各种特征),将这些中间结果事先存起来,当用户使用推荐服务时,推荐web服务通过简单的组装与计算(调用封装好的推荐模型),将“半成品”加工成该用户的推荐结果,并最终给到用户 。
 
这两种提供web服务的推荐方案各有优缺点,我们需要根据公司现在的技术储备、人员能力、团队规模、产品形态等多个维度进行评估和选择 。不管采用哪种方式,最终的目的是一样的,我们需要为用户提供个性化的、响应及时的优质推荐服务 。
 
参考资料

  1. [基于TensorFlow Serving的深度学习在线预估] https://zhuanlan.zhihu.com/p/46591057
  2. [手把手教你使用TF服务将TensorFlow模型部署到生产环境] https://zhuanlan.zhihu.com/p/60542828
  3. https://www.tensorflow.org/serving
  4. https://github.com/facebookresearch/faiss




推荐阅读