推荐系统--入门篇

  推荐系统领域,常见两种推荐任务,一种是评分预测,一种是Top-N原则

  评分预测

    以下是两个用户对喜好的打分情况

User  Item  Rating
U1 羽毛球 4
U1 足球 3
U2 羽毛球 5
U2 ? ?

    由上图可得:U1和U2都喜欢羽毛球,并且喜爱的程度不低,那么我们可以推出U1和U2具有相同的爱好,因此我们就可以将足球推荐给U2,这就是评分预测大致的过程。

  Top-N原则

    以下是三个用户对物品的喜好情况

User  Item
U1 羽毛球,足球,排球
U2 足球,排球,篮球
U3 足球

  上图是U1和U2喜爱的兴趣爱好进行Top-N排名,那么接下来我们给U3进行推荐,上图U2的排名足球排第一,证明U2和U3有相同的兴趣爱好,所以现在先推荐U2 的排球,蓝球给U3,再推荐U1的羽毛球给U3 ,因此给U3 的推荐列表为排球,篮球,羽毛球。

    上述二者为推荐领域的两大推荐问题,常用Top-N。

  推荐系统流程图:

 

  上述推荐系统流程梳理:

1.首先用户登录某一个网站比如(优酷),点击需要看的视频内容,如《刘德华的电影》。

2.点击的内容传递给推荐引擎, 引擎会根据Top-N原则【中间经历了很多筛选受地域,政策,排序等等的影响,最终这5个精品才能展示在用户面前】返回有限的物品列表,推荐引擎的物品可能是自身算的或NoSQL数据库返回的。

3.这里注意会有一个很大的物品元数据管理,先将物品元数据经过正排然后倒排行为key为token,value 为item:score1 item2:score2 item3:score3

4.将第三步看K,V键值对插入Nosql索引数据库。

5.这里的NoSQL索引数据库有一个召回的过程:我们将NoSQL索引数据库称为Signal【信号源】并且库中的数据已经经过排序。

不同的NoSQL的数据可能采用不同的算法有CB算法,CF算法,ALS算法。在库中的过程称之为粗排。

召回的目的:a.获得更多的物品候选

筛选的目的:a.过滤掉比较差的物品(和当前推荐场景距离较远的)

6.用户点击的内容给推荐平台时,平台自身有一个分词服务,这里如会将《刘德华的电影》 进行切分并且打分如  刘德华:0.6 电影:0.4

7.然后将切分的词去检索NoSQL索引数据库 ,这时可能检索比如返回1000个候选物品,但是只能展示前5个。

8.这时返回1000个候选物品,给推荐引擎里存在的排序模型【理解为最权威的裁判】:

  a.这时会进行一个去重的逻辑,因为在各个数据库是去重的,但是从各个索引库返回的可能重复。

  b.进行精排

9.根据Top-N原则展示排名前5个的物品进行推荐。

posted on 2019-08-05 13:38  农夫三拳有點疼  阅读(280)  评论(0编辑  收藏  举报

导航