机制 | 应用场景 | 原理概述 |
---|---|---|
内容推荐 | 适用于冷启动 | |
基于内容的协同过滤 | 数据量较大 | 判断内容相似度,相似度高的内容;播放内容A的用户,也会对内容B感兴趣 |
基于用户的协同过滤 | 数据量较大,但数据量越大可信度越低 | 把数据代入专门计算相似度的公式,获得不同用户(二者)口味的相似度;推测相似度高的用户,喜好的内容也类似,进而可以相互推荐 |
基于标签的推荐 | 适用于冷启动 |
协同过滤的风险
协同过滤技术在个性化推荐初期具有较好的效果,但随着产品结构、内容复杂度和用户人数的不断增加,协同过滤技术的缺点也一点一点的暴露出来了。
算法 | 应用机制 | 原理概述 |
---|---|---|
topN | 基础算法 | 1、直接用List的sort方法进行排序处理 2、使用排序二叉树进行排序,然后取出前N名 3、使用最大堆排序,然后取出前N名 |
矩阵算法 | 基础算法 | 找到内容和内容之间相关性最高的,用topN的方式排序,就可以将内容相关性高的做推荐 |
内容关联算法 | 内容推荐 | 将item的基本属性、内容信息提取出来;抽出taglist,为每一个tag赋一个权重。不需要冷启动,时效高;但是对item需要解析,所以对音视频等不太友好;推出的内容缺乏惊喜,内容同质化严重 |
协同过滤算法 | 协同过滤 | 有惊喜,只依赖用户行为,不需要对内容完全解析;但是需要大量数据才能运转 |
神经网络矩阵分解 | 协同推荐基础算法 | 用户和内容之间自关联,用cf-nade建模为用户和内容评分,模型中可以用隐式反馈(动态指标)帮助克服评分稀疏的问题 【注:显示反馈-评分,评级;隐式反馈-操作行为等指标】 |
slope one | 基于内容协同过滤 | 通过评分之间的差值,推测另一个得分f(x) = x+b |
用户行为轨迹 | 严格来说不算是一种算法,该逻辑的重点是依据单个用户的一条行为轨迹,对场景进行切分。 实现与场景匹配有助于提升推荐效果,能够提升用户的使用时长,以及用户活跃度 |
没有哪种推荐技术敢说自己没有弊端, 往往一个好的推荐系统也不是只用一种推荐技术就解决问题, 往往都是相互结合来弥补彼此的不足, 常见的组合方式如下
综合所有的推荐策略和算法,大致可以分为以下常见的推荐策略: