APP下载

个性化推荐系统在电子商务中的应用研究

2019-02-12

太原城市职业技术学院学报 2019年11期
关键词:感兴趣物品个性化

颜 颖

(义乌工商职业技术学院创业学院,浙江 义乌 322000)

通过对各大主流电子商务网站的研究,可以发现推荐系统的功能已遍布各类网站。无论淘宝网站中的“猜你喜欢”,亦或亚马逊网站中的“为您推荐”等功能,无不展示了推荐系统的强大。在各个电子商务网站之间,推荐系统已成为电子商务网站中最有竞争力的模块之一,它是必不可少的存在。因此,开发一个精准、强大的个性化推荐系统已成为各个电子商务网站面临的最大挑战。

一、推荐系统的意义

(一)推荐系统的含义

所谓的推荐系统,并不是一个独立的系统,在一定程度上说,它是依附于主体网站而存在的模块,也可以被称为是一种工具,其功能的运作需要主体网站的支撑。基于对主体网站中用户知识、用户行为及喜好的分析,该系统能够发现客户最为感兴趣的商品,并及时推荐给客户,从而达到提升交易额的目的。

(二)推荐系统的作用

从技术角度出发,推荐系统与搜索引擎类似,其被开发目的都是为了解决信息过载的问题。但与搜索引擎不同,推荐系统的推荐功能是在没有用户明确需求的情况下进行的,它通过对用户历史行为数据进行挖掘、分析、建模,最终找到用户可能会感兴趣的内容并加以推送。

从电子商务的角度出发,电子商务网站其跨时空跨地域的天然优势,以及较实体市场相对低廉的运营成本,使得其销售的产品数量远远大于实体店。而在电子商务网站中,主流商品通常只占一小部分,其余的大量商品大多为长尾商品[1],长尾商品通常具有非常客观的销售额。那么,如何将这批产品挖掘出来,将它们推送给可能对其感兴趣的用户,从而增加下单率与订单转换率,就是个性化推荐系统需要做的。

总的来说,推荐系统算法的目标就是根据不同的规则,找到产品和用户的对应关系,为不同需求的用户提供定制化的推荐。这样既解决了数据过载的问题,又为大量存在的长尾数据的再次被利用指明了方向。

二、推荐系统是如何与其他网站进行接口的

对于电子商务系统,必然会有一个用户界面(User Interface,简称UI系统)。UI系统主要负责页面展示与用户交互。用户在UI系统中会产生各种操作行为,包括点击、浏览、购买、支付等操作。为了记录用户在界面上的各种操作行为,网站通常会有日志系统。日志系统中的日志一般会存储在内存缓存、数据库或者文件系统中。但无论存储在何处,推荐系统都会获取到这些日志信息,并通过分析用户的行为数据,把数据结果汇总并生成推荐表,最终将推荐表展示在用户界面中。但是,不同的推荐系统在进行行为日志分析时所用到的算法不尽相同,根据不同的目标,采取的方式也会有所差异。

三、基于用户行为数据分析的推荐算法

基于用户行为数据分析算法为推荐系统算法中的一种。此外,推荐系统算法还包括基于推荐原则与推荐内容的算法。由于这两种算法与用户行为相较而言是相对独立的,它们的推荐结果很难适应于当前需求多变的用户群,用户体验感往往较差,因此在电子商务网站系统中已不是主流的算法。相比之下,基于用户行为数据分析的算法正好能弥补这一缺陷,特别是基于协同过滤的个性化推荐模型,协同过滤算法的个性化推荐模型具有精准匹配客户需求与及时推送等特性,有助于提升商品在电商平台的交易额,进而提升企业的盈利能力。[2]

因此,我们着重对基于用户行为数据分析的推荐算法进行探讨。

(一)基于用户行为的推荐算法

基于用户行为的推荐算法是一种比较直观的算法,从本质上说,其将用户数据分析结果分为用户感兴趣与不感兴趣两大类。

用户行为在电子商务网站上会产生各种操作记录,包括网页浏览、购买、点击、收藏、评分和评论等,这些记录均以日志的形式保存在系统中。通过对用户行为的分析,可以将数据分为显性反馈数据与隐形反馈数据。显性反馈数据中可以较明确地确定用户对产品的喜好。如:用户直接的评价,喜欢或者不喜欢。隐性反馈数据则较难确定,如页面浏览数据,通过浏览页面很难直观地判断出用户是否对某一产品感兴趣。通常情况下,分析显性反馈数据可以很容易区分用户行为是正反馈还是负反馈,而隐形反馈数据就比较难以确定。

(二)基于领域的算法

推荐系统中最基本的算法为基于领域的一类算法,这类算法在行业中被广泛使用。这类算法主要分为两个类别:其一为基于用户的协同过滤算法,其二为基于物品的协同过滤算法。

1.基于用户协同过滤算法(UserCF算法)

UserCF算法的基本思想:在一个个性化的推荐系统中,当一个用户A需要个性化推荐时,首先需要确定与其兴趣相似的其他用户集合B,进而确定用户集合B感兴趣但用户集合A却没有接触过的产品,并推荐给A集合的用户。所以,以协同过滤算法机制的核心计算包括如下两个方面:

(1)确定与目标用户兴趣的相似度较高的用户集合;

(2)确定(1)集合内用户感兴趣且较为新奇物品的同时将其推荐给用户A。

UserCF算法中的首要任务是计算两个用户的兴趣相似度。给定用户u和用户v,令N(u)与N(v)分别表示有过正反馈的用户v与u物品的结合。通过余弦相似度的计算公式,则可以计算:

事实上对独立用户而言,对冷门物品通过这类方式进行计算,一定程度上更能表明用户间兴趣的相似度。因此,如果直接使用基于余弦相似度的公式来计算所得的结果并不够准确,我们需要对热门产品进行一定程度的惩罚:

得出用户间兴趣相似度的结果后,UserCF算法会智能地对用户推荐感兴趣的物品,同时也会告知用户有k个用户也对该物品感兴趣。具体的计算公式如下式:

上式中,S(u,K)表示用户u兴趣最接近的用户数量为K个,N(i)为用户对物品i有过行为的集合,Wuv为用户v与u的兴趣相似度,γvi则为用户V对物品i的兴趣程度。

2.基于物品的协同过滤算法(Item CF算法)

通俗地讲,这一算法在于能够为用户推荐感兴趣的物品或是与其感兴趣物品特性相近的物品。需要注意的是,Item CF这一算法并非是通过物品内置属性的相似度来确定用户关注相似度的,而是对用户行为数据进行分析后得出的物品间的相似度。也可以理解为:若A与B两种物品的相似度较高,用户对A物品感兴趣的同时也对B物品感兴趣。所以,关于ItemCF的算法主要包括如下两个步骤:

(1)对物品间相似的计算;

(2)基于用户历史行为与物品间的相似度为用户生成并推荐有关物品列表。

令给定两位用户分别为i和j,若│N(i)│为对商品i感兴趣的用户数量,N(i)∩N(j)为同时对物品 i与 j感兴趣的用户数,则Wij可看作为用户同时对i于j物品的占比。那么,

然而,当物品j很热门时,Wij的值就会很大,接近于1。此时,就会出现一种现象:任何物品都会和热门的物品有很大的相似度。为了避免推荐出热门的物品,可以根据余弦相似度公式得出:

但是事实上,并不是每个用户的贡献都是相同的,非因自身需求因素而批量购买的用户的贡献远远没有出于自身兴趣而购买少量物品的用户的贡献大。因此,针对这类用户,需要对其进行惩罚。这时需引入IUF概念,这一概念是由John S.Breese提出,其既为用户活跃度对数的导数的参数,同时不活跃用户对物品相似度的贡献应当大于等于活跃用户。若增加IFU的有关参数来对物品相似度进行修正,则得出兴趣相似度公式如下:

这里,N(u)代表用户喜欢的物品集合。

得到用户之间的兴趣相似度后,ItemCF算法会为用户推荐和他兴趣最相似的k个用户喜欢的物品。公式如下:

S(j,K)是和物品j最相似的K个物品的集合,Wij是物品i和物品j的相似度,γui是用户u对物品i的兴趣。

3.UserCF算法和ItemCF算法的比较

从数据分析维度的角度看,可以说UserCF算法是对用户数据进行横向的挖掘,更着重于为用户推荐那些和该用户有共同兴趣爱好的用户喜欢的物品,关注点在于兴趣相似的小群体的热点。而ItemCF算法是对用户数据纵向的挖掘,其关注的点是目标用户的历史,通过分析目标用户过去的记录为其推荐其感兴趣的相似度高的产品。

从数据算法复杂度的角度来看,在UserCF算法中,计算机需要针对每个用户维护一个巨大的兴趣相似度矩阵。随着电子商务的不断发展,系统中的用户数量会成倍增加,因此对于用户兴趣相似度矩阵的相关计算就会越来越繁杂,其运算时间复杂度和空间复杂度会近似于几何倍数的增长,这就对计算机的硬件需求提出了严峻的挑战。相比之下,ItemCF算法着重于维护物品相似度矩阵,在用户数目远远小于物品数量,系统中相对比较稳定,因此更适用于电子商务类的网站。

四、推荐技术在电子商务中的应用

(一)推荐系统在亚马逊中的应用

以著名电子商务网站亚马逊为例。亚马逊是最早使用推荐系统的电子商务平台。基于物品的ItemCF算法(协同过滤算法)于1998年正式上线,这一算法将处理百万级商品,同时也将用户推向了一个电子商务领域发展的新高度。[3]在此之前,协同过滤算法主要还是基于用户的,由于物品数变化频率要小于用户数量的变化率,因此此前并不完全适用于亚马逊。

亚马逊在ItemCF算法广泛使用以后,系统在一定程度上进行了改版,将推荐系统的功能分布在网站页面的多个角落。首先,在主页面中较为醒目位置放置了用户购买历史与浏览行为等个性化模块;在搜索结果页一侧展示了与搜索商品有关的推荐结果;此外,在用户购物车界面中增设了用户可能感兴趣的其他商品;在订单的尾部会出现购买这些物品后未来建议购买的产品(也就是捆绑销售)等。整个亚马逊电子商务系统中到处出现了推荐模块的身影,它以各种形式融入于页面中。每位用户登录系统所见到的网上商店都是不同的,千人千面。依据微软研究院对其后几年的调查数据显示,亚马逊至少有三成的页面浏览量源于系统的推荐。[3]

(二)推荐系统中算法的选择

在实际的开发过程中,没有一种算法是适用于所有系统的,也没有一种算法能够满足所有系统的需求。当面临不同的应用场景的算法选择时,一定要结合产品自身与使用平台的考量,需要考虑到例如产品冷启动期间数据量、长期样本数据量的多少以及算法所在的平台的成熟度等。[4]另外,不同的数据量级下不同方法配合不同算法产生的性能压力也需要考察。多数情况下,很多业务场景不会只使用一种算法来解决问题,往往需要多个算法相互结合。因此,在推荐系统算法的选择上,根据不同的场景和需求可以采用混合推荐的方法,利用多种方法之间的优势,规避各种方法的劣势,从而达到比较完美的效果。

个性化推荐系统是一门强大的自学习工具,它的核心就是有好的算法,通过好的算法就可以得到较精确的反馈。它的发展从无到有,现如今已演变成为电商网站的基础设施之一。面对未来的挑战,个性化推荐系统还需要不断地提高,不断地更新与探索。算法是一个程序系统的灵魂所在,其更新迭代的速度也极快,唯有不断地使机器学习,才更有可能提供更为智能化与人性化的服务。相信未来,个性化推荐系统可以做得更好、更智能、更全面。

猜你喜欢

感兴趣物品个性化
称物品
一种融合PageRank和PersonalRank的多层个性化推荐算法
“双十一”,你抢到了想要的物品吗?
更 正
坚持个性化的写作
谁动了凡·高的物品
上汽大通:C2B个性化定制未来
同桌宝贝
找物品
编读往来