● 在N多年前,用户进入一个购物网站的时候,看到的商品都是一样的,而现在每个用户进入首页的时候,看见的商品列表可能是不相同的;
● 在N多年前,用户进入一个新闻网站的首页,看到的新闻都是一样的,而现在,每个用户进入今日头条的时候,看到的新闻(文章)是不相同的;这些都要归功于推荐系统。
推荐系的分类
● 热门推荐:相当于一个排行榜功能,销售排行、好评排行、阅读排行等等;
● 相关推荐:用户买了一个商品,系统会告诉你类似的商品;用户阅读了一条新闻,这时候系统提示与此相关的内容。
● 个性化推荐:根据用户的历史行为,推荐给用户想要的内容;和相关推荐不同,相关推荐的前提是,要现有一个内容。前两种推荐都比较容易实现,这里主要说一说个性化推荐。
个性化推荐系统的组成
● 日志系统:不要想象成应用日志、Log,这里的日志系统可以看做对用户信息和用户行为的搜集,这是个性化推荐系统的基础数据。
● 推荐算法:个性化推荐算法的核心,根据数据,分析得到推荐的结果。
● 推送服务:得到推荐的结果之后,作用于用户;如在什么场景、时机下推荐。
推荐算法的基本流程
● A:从数据库中拿到用户行为和属性等数据,通过分析不同行为,生成当前用户的特征向量;比如用户特征属性(如性别)、用户关系属性(如好友关系)、用户偏好属性(如喜欢看足球);每个行业关注的用户特征是不相同的;
● B:不同的物品,也有不同的特征属性,比如对于视频来说,包含地区、导演、演员、类型等;这个模块要做的事情就是连接用户和内容;比如用户喜欢某些特征的内容;利用用户喜欢的内容,寻找与这些内容相似的内容;根据用户特征寻找相似的用户,然后看这些用户喜欢的内容等等;
● C:对初始的推荐列表进行过滤,排名等处理,生成最终的推荐结果。
● 举个比较好理解的例子,你平时使用今日头条,看了那些文章、每篇的停留时间、阅读进度、是否回复和点赞,然后推断出你的阅读偏好,进而给你推荐你感兴趣的新闻。
● 再举个比较出名的例子,就是【啤酒与尿布】的案例;大概意思是年轻的父亲去超市买尿布,父亲在购买尿布的同时,往往会顺便为自己购买啤酒,所以超市尝试将啤酒与尿布摆放在相同区域,结果提升商品销售收入;推荐算法也会挖掘出来事物之间隐藏的关系。