推荐系统详解——个性化推荐与非个性化推荐

原创
开发 项目管理
推荐系统应运而生,它是互联网和电子商务发展的产物,也是建立在海量数据挖掘基础上的一种智能商务服务平台。常用语多种决策的过程,比如购买什么商品、听什么音乐或者在网站上浏览什么网站和新闻等。

[[331245]]

【51CTO.com原创稿件】

1.导读

随着大数据资源的爆炸式增长和互联网软件技术的不断更新,各类企业与数以亿计的用户之间随时随地都在进行着信息交流,从而产生海量的交互信息。这些交互信息不仅数量巨大,而且具有多种多样形式的特点。所以就用户而言,这些产生交互信息的用户在享受网络资源带给自己极大便利的同时,也受到海量碎片化信息和超载数据信息的困扰。面对如此纷繁复杂的数据信息,这些用户无法或者很难在其中找到满足自己真正需要的内容或者对自己真正有益的信息,更多带给客户的只是无效信息轰炸。而对于企业而言,面对巨大的用户信息数据,如何有效管理和分析这些数据,并且通过挖掘其中的有效信息来为企业服务的用户提供他们可能感兴趣的内容至关重要。因此,推荐系统应运而生,它是互联网和电子商务发展的产物,也是建立在海量数据挖掘基础上的一种智能商务服务平台。常用语多种决策的过程,比如购买什么商品、听什么音乐或者在网站上浏览什么网站和新闻等。

2.推荐关注点与分类:

“物品”是推荐的重要关注点,它是用来表示系统向用户推荐的内容总称。一个推荐系统通常专注于一个特定类型的物品(电子产品、书籍、化妆品等),从而其设计的核心就是为特定类型的物品提供有效的建议来定制的。

推荐系统分为个性化推荐和非个性化推荐两大类,推荐系统性能的好坏主要取决于个性化推荐,其是推进系统的不断优化的核心。个性化推荐可以为用户推荐个性化服务及感兴趣商品,不断提升用户的体验,并且在这基础上提高了企业平台的吸引力和用户粘性,加大企业产品的销售和推广,从而达到互利共赢。非个性化推荐在一般情况下则是将热销商品数据或者阶段性榜单数据进行推送。通过结合两种不同推荐方式来更好完成不同场景下不同用户的推荐。下面我也会主要针对这两种推荐进行阐述。因为非个性化推荐内容比较固定,推荐的数据不需要太多的算法内容,因此,我将先从非个性化推荐入手,来一步步引导至个性化推荐。

2.1非个性化推荐

非个性化推荐,顾名思义就是不会去考虑每个用户特性,不会考虑用户的历史行为,比较简单粗暴的推荐给用户销量可观(销售榜单前十名等)的商品数据。就这一推荐方法而言,比较适用于冷启动模块用户推荐。我在之前一家互联网公司也是采用这一推荐方法来完成冷启动用户(近一个月无行为近一年有行为用户或者新注册用户)的推荐,都可以产生比较可观的PV和UV点击率以及购买率。下面我将结合自己在这一方面的工作经验比较简要的介绍下冷启动用户模块推荐商品数据的来源及处理。

(1)公司前台会形成商品购买榜单数据表,通过商品购买量形成对应的热度评分表,通过商品购买成交额形成商品得分表;

(2)基于商品热度评分表和得分表形成榜单数据表;

(3)对拿到的榜单数据表进行无效商品过滤、性别匹配过滤、四级商品组打乱等处理将固定数量的商品数据推送至Kafka用于实时刷新展示。

一个实际面临的问题?

在这类的推荐过程中,很多企业可能会面临一个问题就是冷启动用户数量过大,要想一次性推送商品数据给这些用户可能会超出公司平台的负载能力。经过考量,发现冷启动用户的活跃度是比较低的,在近一个月内活动的用户量很少,也就是说为我们的推送任务积累了一定的推送时间。对于这一模块用户数据推送,我们完全没必要一次性将所有用户推荐完(当然如果你的公司平台负载能力足够大的话,也就不存在这一问题),我们可以根据自己公司平台的负载能力将不同尾号的用户数据隔一段时间推送,例如将用户按尾号切成5等份(01、23、45、67、89),然后按日期除以5取得余数进行推送(余数为0推送尾号为0和1用户、余数为1推送尾号2和3用户.....)以此推送完全可以在满足公司平台负载能力的条件下,兼顾到用户商品数据的实效性。因为完美的推荐系统效果永远是个未知数,也是不断优化的结果,只有同时兼顾到影响推荐系统的因素并且在不同场景下这些因素进行权衡才能找到适合自己需要的推荐效果。

2.2个性化推荐

个性化推荐,顾名思义就是根据用户特有属性(历史行为、相关偏好等)来挖掘用户可能感兴趣的信息数据来完成实时性的推送。个性化推荐的效果基本也决定了整个推荐系统的推荐效果,我们在日常谈到的推荐系统基本也都是个性化推荐系统,因此在下文我将一并成为推荐系统。因为介绍推荐系统也就是在介绍个性化推荐。

3.推荐系统的功能与效果评估

3.1推荐系统的功能

推荐系统的功能很多,主要分为以下几类:

(1)增加物品的销售数量,毋庸置疑,这个是任何一家企业都必须对推荐系统首要考量的因素。可以这么说,一个不能增加物品销数量的推荐系统就不叫推荐系统了,因为它的存在已经没有实质性的意义。虽然这样说比较势利,但是这也是基础,因为企业的发展基本都是建立在盈利的基础之上,这是任何一个推荐系统都不能忽视的因素;

(2)出售更多种类的物品,很多人会问,这个功能不是和上面功能是一样的吗?其实不然,仔细看下,你就会发现还是有些区别的。第一个功能四物品的销售数量,第二个功能则更加关注销售物品的种类。也就是说你的推荐系统不仅要提升某一类或者品牌的商品销售额之外,你还需要推荐出更多种类或者品牌的商品。这也是为了解决推荐过程中的长尾效应(长尾效应我将会在后续讲到)。举个例子,你的推荐系统提升了格力空调的销售数量和成交额,但是你不能一直推荐格力空调这一类商品,公司还需要你推荐格力品牌的其他电器(冰箱、风扇等等)。或者需要你推荐其他品牌的空调(美的、海尔等等),这样就会更加有利于公司平台的运营,从而挖掘用户的潜在兴趣,不至于使用户需求专一特有化。

(3)增加用户满意度,这个指标很难从一个确切数字去判断,只能通过调查问卷或者推荐商品评价大致上去衡量下用户满意的程度。并且不同用户之间体验感受是感官上的,很难去用一个数字去定量表示出来,并且还存在恶意评价之类的用户。所以基本这个增加用户满意度只能大致上考虑到。

(4)增加用户忠诚度,这个功能基本上也反应了用户满意程度,但不能直接等于。用户忠诚度就可以用户买了又买、看了又看、买了又看之类的数据表来总结出。

3.2推荐系统效果评估

推荐系统就是把一个商品给一个喜欢这个商品的人或者说有意向买这个商品的人,所以可以将用户分为两部分,一个是有意向的,一个是无意向的,所以这样的问题叫做分类问题。同时,在有意向的用户群中,有的是很有意向的,有的是不太有意向的,对应于数字上的问题就是回归问题。因此,推荐系统的运行过程可以看成一个分类或者回归问题,也就是说可以通过分类/回归的相关指标对推荐系统效果进行衡量,主要有以下几个参数:

(1)均方根误差(RMSE):

(2)平均绝对误差(MAE):

 

(3)准确率(Precision):(推荐的商品中使用的占比)

(4)召回率(Recall): (使用的商品中推荐的占比)

(5)ROC曲线:  (未被使用的商品中推荐的占比)

 

 

被推荐

未被推荐

使用

真阳性数(tp)

假阴性数(fn)

未被使用

假阳性数(fp)

真阴性数(tn)

 

真阳性数(tp):推荐的商品用户使用了,即推荐有效;

假阴性数(fn):使用的商品是未推荐的,即推荐不足;

假阳性数(fp):推荐的商品用户未使用,即推荐无效;

真阴性数(tn):没有使用,也没有推荐。

4. 总结

通过个性化推荐实时推送信息数据提供给用户来满足用户的实时需求,这一类主要是针对于日常活跃用户完成推荐,通过活跃用户的历史偏好信息和行为来为用户制定满意的推荐数据;非个性化推荐则是对于个性化推荐的补充和延续,主要针对冷启动用户模块,达到锦上添花的效果。因此任何一个推荐系统都必须将其结合起来,不断优化推荐类型的占比,考虑不同的运用场景,从而设计出一个较为满意且符合实际情况的推荐系统。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

 

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2022-11-01 07:19:45

推荐系统非个性化

2023-07-26 07:51:30

游戏中心个性化

2016-01-07 13:23:35

构建实时推荐系统

2015-11-09 10:12:08

大数据个性化推荐

2024-07-02 09:41:11

2023-08-22 15:37:45

深度学习人工智能

2018-04-26 11:30:29

OracleBronto产品推荐

2018-04-27 16:23:27

Oracle Bron个性化产品

2019-09-06 08:29:33

Netflix架构推荐系统

2021-07-18 22:47:08

大数据电商算法

2022-09-06 17:43:02

​​AISummit数据运营

2016-04-08 11:39:49

用户画像个性化推荐标签

2017-09-29 14:56:28

深度学习CTR预估

2016-02-19 10:16:48

母婴个推电商

2019-05-20 08:11:02

淘宝个性化推荐

2015-08-05 10:52:13

京东数据驱动个性化推荐

2021-04-01 14:26:09

亚马逊云科技Amazon Pers

2018-11-08 09:37:08

微博系统架构

2023-03-21 12:46:30

智慧城市人工智能大数据

2011-01-20 10:19:21

PowerShell个性化
点赞
收藏

51CTO技术栈公众号