需求
在推荐系统的设计和开发过程中,离线推荐、召回以及模型验证是三个关键步骤。
离线推荐
离线推荐是指在推荐系统开发阶段,在不直接影响用户的情况下对推荐算法进行设计、训练和评估的过程。在这个阶段,工程师利用历史数据集来构建和优化推荐模型。离线推荐的目标是找到最有效的算法和参数设置,从而提高推荐质量。离线推荐的优点在于它可以在不影响实际用户体验的情况下进行大量的实验和调整,因此是推荐系统开发初期不可或缺的一环。
召回
召回是推荐系统的一个核心组件,其主要任务是从庞大的候选池中快速筛选出一小部分最相关的项目。召回阶段通常需要处理海量的数据,因此需要高效的算法来保证实时性和准确性。召回算法的选择非常关键,因为这直接影响到最终推荐列表的质量。常见的召回策略包括基于内容的过滤、协同过滤、基于知识图谱的方法等。为了提高推荐的多样性,召回阶段可能会采用多种策略组合的方式。
模型验证
模型验证是在离线推荐阶段完成之后,用来评估推荐模型性能的关键步骤。这个过程包括使用一组预定义的指标来衡量模型的有效性,例如准确率、召回率、F1
分数、多样性等。模型验证不仅可以帮助我们了解推荐模型的整体表现,还可以揭示模型在特定情况下的弱点,从而指导后续的改进工作。验证通常在离线环境下进行,以避免对实际用户体验造成干扰。
流程设计
前端
- 前端使用vue开发简单界面用于验证
- 未登录用户推荐
- 具备登陆、切换用户功能
- 根据不同用户推荐不同内容
- 用户点击内容后推荐相关内容
- 记录用户行为 点击、点赞、播放完整度
- 展示用户历史行为
后端接口
未登录用户推荐
GET /medialist?page=2&pageSize=10
登陆用户推荐
GET /medialist?page=2&pageSize=10&uid=123
相关推荐
GET /relatereco?page=2&pageSize=10&mediaid=123
用户历史行为列表
GET /useraction?page=2&pageSize=10&uid=1
上报用户行为
POST /useraction
{
“uid”:1,
“mediaid”:1,
“score”:1.2
}
功能设计
未登录用户推荐
登陆与用户推荐
- 输入用户id进行测试验证
- 点击推荐调用后端推荐接口
- 点击历史记录查可以查看该用户的历史记录
- 根据点赞 收藏 播放完整度 转发 计算出用户对该条媒资的评分
关联推荐
- 调用后台媒资相似度接口查询
- 模拟用户操作行为并上报后端进行存储