欢迎来到天天文库
浏览记录
ID:15796750
大小:923.02 KB
页数:21页
时间:2018-08-05
《互联网智能推荐系统架构设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、互联网智能推荐系统架构设计21一,题记58同城智能推荐系统大约诞生于2014年(C++实现),该套系统先后经历了招聘、房产、二手车、黄页和二手物品等产品线的推荐业务迭代,但该系统耦合性高,难以适应推荐策略的快速迭代。58同城APP猜你喜欢推荐和推送项目在2016年快速迭代,产出了一套基于微服务架构的推荐系统(Java实现),该系统稳定、高性能且耦合性低,支持推荐策略的快速迭代,大大提高了推荐业务的迭代效率。此后,我们对旧的推荐系统进行了重构,将所有业务接入至新的推荐系统,最终成功打造了统一的58同城智能推荐系统。下面我们将对58同城智能推
2、荐系统展开介绍,首先会概览整体架构,然后从算法、系统和数据三方面做详细介绍。整体架构首先看一下58同城推荐系统整体架构,一共分数据层、策略层和应用层三层,基于58平台产生的各类业务数据和用户积累的丰富的行为数据,我们采用各类策略对数据进行挖掘分析,最终将结果应用于各类推荐场景。21二,数据层主要包括业务数据和用户行为日志数据。业务数据主要包含用户数据和帖子数据,用户数据即58平台上注册用户的基础数据,这里包括C端用户和企业用户的信息,帖子数据即用户在58平台上发布的帖子的基础属性数据。这里的帖子是指用户发布的房源、车源、职位、黄页等信息,
3、为方便表达,后文将这些信息统称为帖子。用户行为日志数据来源于在前端和后台的埋点,例如用户在APP上的筛选、点击、收藏、打电话、微聊等各类操作日志。21这些数据都存在两种存储方式,一种是批量存储在HDFS上以用作离线分析,一种是实时流向Kafka以用作实时计算。三,策略层基于离线和实时数据,首先会开展各类基础数据计算,例如用户画像、帖子画像和各类数据分析,在这些基础数据之上便是推荐系统中最重要的两个环节:召回和排序。召回环节包括多种召回源的计算,例如热门召回、用户兴趣召回、关联规则、协同过滤、矩阵分解和DNN等。我们采用机器学习模型来做推荐
4、排序,先后迭代了LR、FM、GBDT、融合模型以及DNN,基于这些基础机器学习模型,我们开展了点击率、转化率和停留时长多指标的排序。这一层的数据处理使用了多种计算工具,例如使用MapReduce和Hive做离线计算,使用Kylin做多维数据分析,使用Spark、DMLC做大规模分布式机器学习模型训练,使用theano和tensorflow做深度模型训练。三,应用层再往上就是应用层,我们通过对外提供rpc和http接口来实现推荐业务的接入。58同城的推荐应用大多是向用户展示一个推荐结果列表,属于topN推荐模式,这里介绍下58同城的几个重要
5、的推荐产品:21猜你喜欢:58同城最重要的推荐产品,推荐场景包括APP首页和不同品类的大类页,目标是让用户打开APP或进入大类页时可以快速找到他们想要的帖子信息,这主要根据用户的个人偏好进行推荐。详情页相关推荐:用户进入帖子详情页,会向用户推荐与当前帖子相关的帖子。该场景下用户意图较明显,会采用以当前帖子信息为主用户偏好信息为辅的方式进行推荐。搜索少无结果推荐:用户会通过品类列表页上的筛选项或搜索框进入品类列表页获取信息,若当前筛选项或搜索条件搜索出的结果较少或者没有结果,便会触发推荐逻辑进行信息推荐。此时会结合当前搜索条件的扩展以及用户
6、偏好信息进行推荐。个性化推送(Push):在用户打开APP前,将用户感兴趣的信息推送给他们,促使用户点击,提高用户活跃度。这里包含推送通知的生成和推送落地页上帖子列表的生成两个推荐逻辑。值得一提的是推送是强制性的推荐,会对用户形成骚扰,因此如何降低用户骚扰并给用户推荐真正感兴趣的信息尤为重要。Feed流推荐:我们的推荐产品在某些推荐场景下是以Feed流的形式展现的,例如APP消息中心的今日推荐场景、推送落地页场景。用户可以在这些页面中不断下拉刷新消费信息,类似时下火热的各大资讯Feed流推荐。推荐系统是一个复杂的工程,涉及算法策略、工程架
7、构和效果数据评估三方面的技术,后文将分别从这三方面介绍58同城推荐系统。21四,算法推荐涉及了前端页面到后台算法策略间的各个流程,我们将推荐流程抽象成如下图所示的召回、排序、规则和展示四个主要环节:召回环节即使用各种算法逻辑从海量的帖子中筛选出用户感兴趣的帖子候选集合,一般集合大小是几十到上百。排序即对候选集合中的帖子进行打分排序,这里一般会使用机器学习排序模型,排序环节会生成一个排序列表。规则环节即我们可能对排序列表采取一定的规则策略,最终生成一个包含N条结果的列表。例如在规则环节我们可能会采取不同的去重策略,如文本去重、图片去重、混合
8、去重等,可能会采取不同的列表打散策略,可能会迭代产品经理提出的各种规则逻辑。21由于推荐系统的最终评价是看统计效果,因此各种人为的规则都会影响最终结果,我们抽象出规则环节后便可以对任何逻辑做线
此文档下载收益归作者所有