本项目使用推荐系统中的多个模型进行对比,并基于Criteo数据集完成对点击率模型的训练和预测。也是对点击率模型的学习。
1 项目说明
据统计,2019年全国广告市场总体规模达8674.28亿元,较上年增长了8.54%(见图1),占国民生产总值(GDP)的0.88%。如今广告成为各短视频平台最重要的收入来源。
针对短视频、搜索、资讯等场景,应用飞桨PaddleRec的推荐算法技术,对召回数据进行排序最终展现给用户,最大限度吸引用户、留存用户、增加用户粘性、提高用户转化率。
个性化推荐系统一般包括两个模块,召回和排序。排序是指经过推理将用户感兴趣的内容按照点击率由高到低推荐给用户,在个性化推荐系统中决定了最终的推荐效果。对于数据量极大的业务,排序需要和召回模块配合使用,召回用来在全量的商品库中从不同的角度(标签匹配、深度模型、热门等)筛选出用户可能感兴趣的商品作为候选数据集,然后再由排序模块对候选集进行精准排序,推荐给用户。但是对于数据量不大的业务只使用排序模块即可。
架构介绍:
①用户使用产品
②产品接入推荐业务
③召回:
根据行为数据生成特征值, 生成用户模型;
根据下发日志获取仓库数据资源, 生成内容模型
对用户模型+内容模型进行显式和隐式召回
④排序:
对下发历史记录合并去重
进行粗排–>精排
⑤对排序和召回后的数据进行预测
⑥将预测结果加入广告等进行融合,最后返回给用户
参考下图
个性化推荐:
①从内容库选取大量数据
②召回系统根据用户画像和用户行为进行初步筛选
③通过粗排、精排选择预估更符合用户兴趣的
④增加广告等内容,重新排序,最后呈现给用户
参考下图
推荐系统大致流程:
①产品接入推荐业务后
②经过brpc进行请求
③发送给服务器计算,得到点击概率值,筛选概率较低的值
④结合召回系统进行内容融合,加入收益相关内容
参考下图
方案难点:
推理速度要求高: 在搜索中进行快速响应,增强用户使用体验,对模型推理速度有较高要求。
推理准确度要求: 在实际应用中推荐内容是否准确,对模型的精确度有一定的要求。
推理召回率: 根据用户的行为进行分析生成候选,再进行排序,最后呈现给用户。
在离线一致性: 如下图
DeepFM模型介绍:
其实DeepFM就是把Wide&Deep模型的wide部分改为了FM。
黑色线—带权重的连接,代表了FM的一阶特征部分
红色线—不带权重的连接,代表了二阶特征组合部分
蓝色线—稀疏特征向稠密特征转换的embedding向量,并且这个embedding会随着训练而学习更新
由上面网络结构图可以看到,DeepFM模型主要包括如下模块:
输入层(Sparse Features):输入数据包括类别特征和连续特征;
Embedding层(Dense Embeddings):该层的作用是对类别特征进行Embedding向量化,将离散特征映射为稠密特征。该层的结果同时提供给FM Layer和Hidden Layer,即FM Layer和Hidden Layer共享相同的Embedding层。
FM Layer:该模型主要提取一阶特征和两两交叉特征;
Hidden Layer:该模块主要是应用DNN模型结构,提取深层次的特征信息;
输出层(Output Units):对FM Layer和Hidden Layer的结果进行Sigmoid操作,得出最终的结果。表达式:
y^=sigmoid(yFM+yDNN)y^=sigmoid(yFM+yDNN)
其中