1.一、常见的推荐算法原理(时间、位置影响)
1.1.基于用户基本信息推荐
如:领域、职位、工作年龄、性别、所在地
这个是比较基础的推荐之一,基于用户的基本信息,可以根据他的这些信息给
他推荐感兴趣的或者相关的内容。
1.2.基于物品/内容基本信息推荐
文章的一些显性属性如:领域、主题、类型、来源
这也是一种基础的推荐,基于被推荐物的基本信息,或者说是被推荐物的显性属性。
基于关联规则推荐
发现用户与物品之间的关联关系,协同过滤推荐。
对于用户建模:基于用户基础数据、第三方数据(如微博登录)
产品中操作数据(点击转发查看页面停留时间购买评论)
建立用户兴趣图谱,标签体系树状结构配上权重
对于物品建模:根据物品类型处理,如一首歌有超过100个元数据特征,包括歌曲的风格,年份,演唱者等等。
每个用户(user)都有自己的偏好,比如A喜欢带有小清新的、吉他伴奏的、王菲等元素(latent
factor),如果一首歌(item)带有这些元素,那么就将这首歌推荐给该用户
就是用元素去连接用户和音乐。每个人对不同的元素偏好不同,而每首歌包
含的元素也不一样。
基于知识推荐
某一领域的一整套规则和路线进行推荐。参照可汗学院知识树。如随着阅历
的增长,程序员看书越来越专业,有一定的路线可寻。
1.3.基于模型的推荐模型
机器学习的方式训练用户喜好模型。技术驱动方向。
1.4.协同推荐
基于用户的协同过滤推荐(UserCF):给用户推荐和他兴趣相似的其它用户喜
欢的物品。
基于物品的协同过滤推荐(ItemCF):给用户推荐和他之前喜欢的物品相似的
物品
1.5.基于标签的推荐
内容有标签,用户也会因为用户行为被打上标签,通过给用户打标签或是用户
给产品打标签为其推荐物品。
1.6.不常用
隐语义模型推荐(LFM):通过隐含特征推荐和用户兴趣匹配的物品。
社会化推荐:让好友给自己推荐物品。
基于地理位置的推荐(LARS):根据用户的地理位置进行推荐。
2.如何设计一个好的推荐系统?5
2.1. UGC、编辑、热门
- UGC:获取更多用户行为数据,用户显性和隐形的数据-编辑:处于种种目的编辑的运营
-热门:最火最热门的内容
2.2.新用户的冷启动
在没有大数据做基础的时候,可以有下面两种解决方案:
-基于用户信息的推荐
-尽快让用户表达兴趣
2.3.稀疏性
有的时候你有的总内容数量远大于用户有“打分”的内容数量,对于这种情况的
解决方案:-用户隐形打分-降维。
Matrix of boolean feature,投射到低维空间,再用机器学习-结合基于物品基本信息的推荐
2.4.多样性
-看过什么,推荐相同类型的;
-为你推荐你需要也比较适合你的;
-基于你的性格、兴趣等,推荐甚至连自己没想到过却真正感兴趣的;
2.5.实时性
根据用户的行为, 实时的调整。好的推荐系统是在不断更新的
3.推荐系统的度量
3.1.什么是好的推荐系统:
获得反馈并一直迭代
满足用户的需求,推荐给用户的是用户会感兴趣的内容。
满足所有的内容都被推荐给感兴趣的用户(衡量的指标为覆盖率)。
推荐系统本身搜集到高质量的用户反馈,能够对之进行不断的完善。3.2.推荐算法的考核指标:
准确率
召回率
流行度
覆盖率
3.3.推荐系统的测试方法:
离线测试:通过用户行为数据形成数据集
用户调查
在线实验:A/B测试(切分流量,将用户分成不同的层控制观察)