歌曲推荐场景下如何做好内容分发

场景

  1. 分发推歌歌曲
  2. 分发vip歌曲
  3. 分发长尾歌曲

架构

歌曲池,歌曲倒排索引,召回,排序,探索,实时监控

召回

协同过滤(itembased)

数据:用户最近180天完整播放且收藏的歌曲 uid: sid1, sid2, sid3
mapreduce 计算歌曲共现数和各个歌曲的总次数
相似度函数: jaccard 相似
输出:歌曲到相似歌曲的映射表
sid1 \t sid2,sid3,sid4

用户画像

首先计算用户画像
输入

  1. 歌曲类目:风格,语种,城市等级,省份,评论数,发布年代,艺人性别。
  2. 用户偏好歌曲(收藏或完整播放)
    输出:计算用户在不通歌曲类目下的转化情况(不通类目的权重用各类目的方差归一化后)

根据用户画像推荐歌曲
输入:
用户画像
歌曲类目
输出:用户偏好分

基于向量召回

向量获取:word2vec, gcn等

i2i召回:

keys:歌曲,query:用户偏好歌曲(最近收藏或完整播放歌曲)
利用faiss向量引擎进行检索

u2i召回

youtube DNN召回:用户最近播放序列 --> 用户embedding --> softmax 进行分类(几十万label)
DSSM召回:用户embdding塔,歌曲embdding塔 --> cosine loss

如何提高歌曲向量覆盖

CB2CF

歌曲内容特征 --> cf vector cosine loss

音频

歌曲音频特征 --> cf vector cosine loss

排序

LR模型

人工交叉特征

FM模型

二阶自动交叉特征

DIN模型

用户序列attention建模,

LINUCB模型

长尾歌曲探索
偏好因子 + 探索因子

你可能感兴趣的:(推荐系统模型)