推荐系统之--入门篇

首先进入我们来步入今天的正题,推荐系统存在的意义:

    随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过载的时代。

在这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战:作为信息消费者,如何从大量信息中找到自己感兴趣的信息是一件非常困难的事情;作为信息生产者,如何让自己生产的信息脱颖而出,受到广大用户的关注,也是一件非常困难的事情。于是推荐系统应运而生。

推荐系统主要解决的痛点是:

    联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。

常见的推荐系统:

    在我们实际生活中,有很多推荐系统,常见的淘宝,京东,今日头条,优酷视频,美团外卖等等,可以说已经步入我们生活的方方面面,接下来我们来讲解下,推荐系统。

在推荐系统领域,常见两种推荐任务,一种是评分预测,一种是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个的物品进行推荐。

以上就是推荐系统入门的基本知识后续不断更新中。。。

猜你喜欢

转载自blog.csdn.net/u013953226/article/details/81172247