真实面经题目 · 原创解析
如何实现给用户推荐音乐的功能,需要哪些特征和算法?
音乐推荐设计要从用户、音乐、上下文和反馈特征出发,构建召回、排序、重排和反馈闭环,而不是只列协同过滤或深度模型。
出现于:百度 · 算法
真实面经题目 · 原创解析
音乐推荐设计要从用户、音乐、上下文和反馈特征出发,构建召回、排序、重排和反馈闭环,而不是只列协同过滤或深度模型。
我会把音乐推荐拆成数据、特征、模型和评估。特征上,用户侧有历史播放、收藏、跳过、搜索、歌单、偏好标签和实时行为;音乐侧有歌手、曲风、语言、节奏、音频 embedding、歌词语义和热度;上下文有时间、场景、设备和地理位置。算法上多路召回可用协同过滤、相似歌曲、内容向量和热门召回,排序模型预测点击、完播、收藏和长期满意度,重排处理多样性、去重和冷启动。
音乐推荐不只是点击率,通常还要看播放完成、收藏、加入歌单、重复收听、跳过率、长期留存和用户满意度。目标不同,样本和排序权重也不同。
用户侧要记录长期偏好和短期意图,包含播放历史、收藏、跳过、搜索、歌单、关注歌手、听歌时段和最近行为。短期兴趣能反映当前场景,长期兴趣保持稳定口味。
歌曲侧可以用歌手、专辑、语言、曲风、节奏、年代、歌词、音频特征、情绪标签、相似歌曲 embedding 和热度。冷启动时内容特征尤其重要。
召回阶段从海量曲库中取候选,粗排控制成本,精排做多目标预测,重排再处理重复歌手、曲风多样性、探索、冷门歌曲曝光和业务规则。
曝光、播放、跳过、收藏、分享和负反馈都要回流样本。还要处理位置偏差、热门偏差和马太效应,避免系统长期只推荐头部歌曲。
用歌曲内容特征、歌手先验、相似歌曲、编辑标签和小流量探索做冷启动。
重排阶段加入多样性、频控、探索和负反馈规则,同时控制同歌手、同曲风的连续曝光。
做多目标排序,按业务目标设置权重,并在线观察长期留存和满意度而不是单点指标。