从0到1搭建个性化推荐系统

来源:腾讯课堂Coding学院 作者:罗鑫骥

1、背景

在互联网信息爆炸式增长的当今,通过传统人工筛选运营方式提供服务时代已然过去,能通过用户历史行为精准推荐用户感兴趣内容成为必然趋势,主流个性化推荐系统流程包括用户行为采集、分类提取、离线用户建模、在线用户模型预测等。结合目前手机QQ浏览器软件应用App分发业务发展需求,历时半年多时间,从无到有搭建一套个性化推荐系统支撑专区App分发业务。


2、业务整体Review

目前推荐场景覆盖包括专区首页猜你喜欢模块推荐,打底推荐与QB内垂直搜索,对应效果如下图红框标识:


image.png


进过半年的优化打磨,关键阶段效果提升汇总如下:

image.png


3、整体框架

在输出整体架构图前,先回归最初产品个性化推荐需求,技术方案选型最终都要服务于需求

【个性化推荐需求】

根据活跃用户的长期兴趣推荐用户最感兴趣的AppList,效果评价指标是推荐App的CTR

【技术方案选型】

工程Part

在线模块:分粗排阶段和精排阶段

1、粗排阶段根据用户长期兴趣画像召回相关度较高的Item,同时减轻精排阶段压力;

2、精排阶段则根据粗排召回的ItemList,通过离线训练好的排序模型预测CTR,最终下发TopN ItemList作为推荐结果;

离线模块:

1、用户长期兴趣:负责在线粗排召回,通过离线累计用户消费行为,映射成兴趣体系,最终积累成用户长期兴趣画像,最终将画像导入在线系统;

2、排序模型:负责在线精排阶段排序模型的训练,训练阶段需要用户消费日志,同时收集用户特征和Item特征,最终整合成训练样本集,通过Spark等分布式计算框架训练模型并导入在线系统;

算法Part

粗排召回:粗排的召回效果直接影响推荐的效果,不过项目初期的方案不太适合制定太复杂的策略,初期我们先敲定一个热度计算公式对备选Item进行全排序:HOT(x) = LOG(下载量(x)) + 评分(x) * 0.2,最后根据Item分类构建待召回反向索引结构

精排模型:产品制定推荐效果评价指标是App按天CTR,即排序模型是pCTR模型,结合业界成熟方案以及团队技术积累准备度,选用LR作为pCTR模型

【整体架构图】

image.png

1、将用户在专区预推荐位的Item曝光和点击行为上报到离线集群

2、用户实时拉取推荐结果,粗排备选池会预先Ready(对应架构图中的备选优化,策略参考上面算法Part的粗排召回),通过用户关联历史兴趣画像,根据画像获取关联度Top的ItemList,同时进行列表退避;然后用召回ItemList关联Item特征,用户关联用户特征,部分特征需要走特征工程处理,加载离线训练好的LR模型,预测每一个Item的pCTR,进行排序;产品策略会在兼顾用户体验维度对下发列表进行干预,比如多样性,游戏App占比等;最终下发排序结果列表

3&4、将用户交互行为与推荐结果等数据导入离线计算集群:1)根据按天用户行为计算按天兴趣画像,同时和历史画像进行合并构成用户兴趣长期画像;2)用用户对Item点击或曝光作为样本原,与Item特征、用户特征关联形成训练样本集,通过Spark API训练得到稳定的LR模型

5、按天将用户累计长期兴趣画像和LR模型结果导出到HDFS路径

6、用户兴趣画像定期刷入在线Cache

7、将LR模型按天导入在线DB,在线服务定时加载LR模型以及查询用户长期兴趣画像


4、优化小结

将个性化推荐系统Pipeline搭建上线后,目光就转移到推荐效果的优化,优化主要分三部分:1)LR模型特征优化,主要包括常用特征工程方法以及引入新的业务特征;2)LR训练工具Spark API训练性能提升加学习率曲线绘制;3)粗排召回阶段引入基于Item的协同过滤;

【特征优化】

1、特征工程

在当前项目中,我们主要采用的特征工程方案包括:

image.png

离散枚举:性别(男性1,女性2,未知3),单维特征扩展成三维,一条样本仅设置一维

连续等距:比如用户年龄,可观察在如下样本中用户年龄的分布图(x坐标表示年龄,y坐标表示对应用户群累计占比),14-46岁间隔用户群分布均匀(且为相对有效年龄),且占整体用户群99%以上,这类特征可以对样本进行等值切分,间隔可根据模型效果调整

image.png

归一化LOG:比如App下载量,如下是样本中App对应的下载量分布图(x坐标表示下载量,y坐标表示对应用户群累计占比),对比年龄分布图,App群50%占比以上比较均匀,但是前50%跨度较大,此时我们使用的方案是对整体下载量求LOG,然后再进行等值One-Hot

image.png

2、引入新特征

项目初期使用的特征包括如下脑图中的蓝色与绿色特征,训练的样本量是按周,采样的正负比例是1:5,最终的AUC是0.6890;

image.png

在专注特征优化阶段,主要的方向是引入更多的特征,通过梳理,将脑图中的标黄和标灰特征纳入到引入阶段。在具体引入优先级的排期中,需要权衡特征收集的复杂度、特征的覆盖度等因素,最终在优化阶段确定引入脑图中的标黄特征,结果AUC提升到0.7592

image.png

【协同过滤】

分类粗排召回策略的优势是对主打用户长期兴趣方向定向,缺点是很难引入Item相关度较高但并非同类的Item,也就是较难发现用户隐含兴趣;协同过滤的目标就是对分类粗排召回策略缺点的一种补充。

常用的协同过滤Based-Memory包括User-Based与Item-Based,对标两种模型有如下对比:

image.png

通过调研目前项目的推荐场景优选Item-Based,接入流程上,回到整体架构图,采用离线训练Item-Item相似度矩阵并离线根据用户历史安装App进行预测,最终刷入在线Cache,供在线服务在召回流程查询协同过滤推荐结果,进而统一精排下发


5、项目展望

1、LR模型引入更多新特征 以及 特征工程更多的尝试,可参考参考文献[5]

2、pCTR预测模型尝试GBDT + LR

3、App分类互斥策略

感谢过程中Carbonzhang & Meifangli 的大力支持


相关文档推荐

新零售行业Agent解决方案.PDF

1742957777  6.72MB 34页 积分5

B2B市场人DeepSeekAI提示词手册.PDF

1742949832  2.93MB 26页 积分6

AIGC如何助力工作和学习.PDF

1742949482 尹健 10.53MB 93页 积分8

DeepSeek政务应用场景与解决方案.PDF

1742949439  3.03MB 34页 积分6

2025年央国企信创数字化研究报告.PDF

1742809441  4.72MB 55页 积分5

2024年中国营销行业AI应用发展研究报告.PDF

1742803952  2.8MB 29页 积分4

AI落地应用最新工具集.PDF

1742450890  1.7MB 8页 积分4

DeepSeek完全实用手册.PDF

1742450791  3.62MB 114页 积分10

离散制造破局之道主数据管理平台重构.PDF

1742450737 詹慧超 4.6MB 37页 积分6

DeepSeek提示词设计、幻觉避免与应用.PDF

1742351308 程希冀 2.5MB 47页 积分6

相关文章推荐