58技术沙龙第十一期-推荐架构与算法实践

栏目: 数据库 · 发布时间: 5年前

内容简介:2019年5月17号,由58集团技术工程平台群联合人力资源神奇学院共同组织的58集团技术沙龙第十一期-“推荐架构与算法实践”在58集团北京总部举办。本次沙龙邀请了多位知名互联网公司的嘉宾,大家分享了各自团队在推荐系统架构以及算法方面的实践经验。

背景

2019年5月17号,由58集团技术工程平台群联合人力资源神奇学院共同组织的58集团技术沙龙第十一期-“推荐架构与算法实践”在58集团北京总部举办。本次沙龙邀请了多位知名互联网公司的嘉宾,大家分享了各自团队在推荐系统架构以及算法方面的实践经验。

58技术沙龙第十一期-推荐架构与算法实践

58技术沙龙第十一期-推荐架构与算法实践

58技术沙龙第十一期-推荐架构与算法实践

部分干货总结

一. 58推荐系统架构实践

58推荐系统经过重构和不断优化,形成了一套稳定、高性能、低耦合的基于 微服务的智能推荐系统架构,能够支持策略的快速迭代,大大提高了业务的迭代效率。目前这套推荐系统应用于58所有的推荐场景。

58智能推荐系统架构由应用层、策略层、数据层三部分组成,具体如下图所示:

58技术沙龙第十一期-推荐架构与算法实践

下面自低向上分别介绍每一层:

  • 数据层 主要包括业务数据和用户行为日志数据。业务数据主要包含用 户数据和帖子数据,其中用户数据包括C端用户数据和B端用户数据;帖子数据主要是发帖人在58平台上发布的帖子的基础属性数据。日志数据是对用户在58平台上反馈行为(筛选、点击、收藏、打电话、微聊等),其来源于在前端和后台的埋点。以上这些数据都用两种方式存储,一种是批量存储于HDFS上,便于进行离线分析,另外一种是实时流向kafka,便于进行实时计算。

  • 策略层: 和一般的推荐流程先召回后 排序 一样,策略层主要实现召回和排序两种功能。首先基于数据层的实时和离线日志开展各类基础数据计算(如用户画像、帖子画像和各类数据分析)以供召回和排序使用。召回层包含多种召回源的计算,例如协同过滤、矩阵分解、DNN、地域热门、兴趣召回和关联规则等。排序层主要是利用机器学习模型对召回数据进行排序,先后迭代了LR、FM、GBDT、融合模型(GBDT+LR模型,GBDT+FM模型)及DNN,基于这些模型分别开展了点击率、转化率和停留时长等多指标排序。本层数据处理使用了多种计算工具,例如使用MapReduce 和Hive做离线计算,使用 Kylin做多维数据分析,使用Spark、DMLC做大规模机器学习训练模型,使用tensorflow做深度学习模型训练(深度学习模型训练使用58人工智能平台wpai)。

  • 应用层: 通过提供rpc和http接口来实现外部业务接入,目前主要接入 了“猜你喜欢个性化推荐”,“详情页相关性推荐”,“搜索少无结果推荐”,“Feed流推荐”,“个性化推荐”,“热门推荐”,这些场景大多是向用户展示一个推荐结果列表,属于典型的topN推荐模式。

二. 58搜索 排序算法 实践

主要介绍下搜索机器学习平台,58搜索机器学习平台是搜索排序算法部自研的一套可高度配置,灵活使用的机器学习平台。从而解决了之前对多业务用单独流程优化而导致的多流程、多版本难以维护的问题,减少了不必要的重复工作,使算法人员可以把更多时间放在效果优化及模型迭代更新上,同时便于统一管理维护,历史流程回溯。搜索机器学习平台流程图如下:

58技术沙龙第十一期-推荐架构与算法实践

平台主要包括样本采样,特征工程和模型训练三个功能,每部分都提供了灵活的配置文件,使用者可根据需求进行配置,使用自己需要的方法 和模型,下面分别介绍每部分功能:

    1.  样本采样 :主要解决分类数据中的样本不均衡问题,平台提供基础采样方法和组合算子两部分,使用者可在采样配置中灵活配置。

  • 基础采样 ,基础采样包含11种过滤方法,如全通( AllPassFilter ), 全不通过(AllNotPassFilter),按类别过滤(ClassFilter),表达式过滤(ELFilter), 按照位置过滤(PosFilter)等。

  • 组合算子 ,组合算子包含”与,或,取反”3种算子,如( AndFilter )或( OrFilter )和取反( NotFilter )。

    2. 征工程 :特征工程主要包含个性化特征处理、连续特征处理和离散化特征处理三部分。

  • 个性化特征处理 ,个性化特征主要是用户与帖子属性的交互特征,每种 属性会派生出若干类特征,每类特征包含按不同时间等级计算生成时效性特征,这些特征是排序效果优化中比较重要的特征。

  • 连续特征处理 ,连续特征处理提供等频,等宽和自定义三种方式

  • 的离散化处理方式和归一化处理,需要使用者根据需要在特征处理中进行配置。

  • 离散化特征处理 ,主要使用one-hot编码处理。

    3. 模型训练 ,模型训练包含基础模型训练和融合模型训练两个模块, 使用者可根据需要在模型训练配置中选择需要使用的模型。

  •  基础模型训练: 基于spark平台开发,目前包含LR,FM,GBDT和 XGBOOST模型。

  • 融合模型模块: 基于基础模型训练完的模型进行融合,包含多模 型的加权融合,模型预测值作为特征的融合,FM因子作为特征的融合,xgboost树索引作为特征的融合四种方式,可根据配置使用其中一种或者多种融合方式。

为了方便调参,对于上述三个功能,在保证依赖数据存在的情况下可选择在训练和测试流程中单独使用每部分,例如在训练采样和特征工程数据都已经存在的情况下,仅需要模型训练不断调参优化,则可在模型训练部分更改完参数后,用运行参数控制只运行训练的模型训练部分,此外,平台提供了web界面,方便配置和模型管理,web界面如下图:

58技术沙龙第十一期-推荐架构与算法实践

三.总结

本次沙龙大家就推荐系统架构、排序算法等方面进行分享,一起讨论了各自在系统建设、效率优化等过程中的技术亮点和遇到的一些挑战及解决方案,同时大家还讨论了系统优化及效率优化中的前沿技术方案,对于后续推荐系统改进和效率模型优化有很大帮助。通过这次沙龙沟通交流,大家收获颇丰,认识了兄弟公司的朋友,希望大家以后在推荐系统架构优化及效率优化方面有更多的探索和交流。

58技术沙龙第十一期-推荐架构与算法实践


以上所述就是小编给大家介绍的《58技术沙龙第十一期-推荐架构与算法实践》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

剑指Offer

剑指Offer

何海涛 / 电子工业出版社 / 2014-6-1 / CNY 55.00

《剑指Offer——名企面试官精讲典型编程题(纪念版)》是为纪念本书英文版全球发行而推出的特殊版本,在原版基础上新增大量本书英文版中的精选题目,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。全书分为8章,主要包括面试流程:讨论面试每一环节需要注意的问题;面试需要的基础知识:从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量代码:讨论影响代码质量的3个要素(规范性......一起来看看 《剑指Offer》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具