摘 要: 针对目前电子商务个性化推荐研究的不足,提出准确全面地获取用户独特兴趣爱好、满足用户差异化需求的推荐服务,同时构建了具体的个性化推荐系统模型,给出了基于协作过滤算法的电子商务个性化推荐的流程、系统设计和系统实现,从而有利于推动电子商务的发展。
关键词: 个性化推荐;用户兴趣模型;协作过滤
电子商务的迅速发展革命性地改变了人们的生产和生活方式,对于个人可以做到足不出户就获得所需要的商品和服务,对于企业则转变了传统经营模式,通过网站为用户提供一个直接、迅速而且不受商品陈列空间限制的庞大的商品购物平台[1]。然而在享受互联网技术推动电子商务发展的便利的同时,用户也发现自己处于了“信息爆炸而知识贫乏”的困境之中,也就是网站提供的品类繁杂的商品和用户相对单一的购物需求之间的矛盾[2]。
因此电子商务网站希望通过应用个性化推荐技术较准确地预测用户的购物需求,并给用户提供高质量的推荐服务,以此来挖掘更多的潜在用户,尽可能地将网站的浏览者转化为购买者,增强网站的关联销售能力,提高用户购物的满意度,最终达到提高网站竞争力,提高网站经营效益的目的。本文就如何针对不同用户提供差异化的服务做了研究并予以实现[3]。
电子商务个性化推荐系统以电子商务购物网站为依托,根据已知的用户信息(比如个人注册信息、历史访问记录、评分记录和订单),利用推荐技术和算法,分析用户的消费偏好,为不同的用户有针对性地推荐符合兴趣的商品。个性化推荐技术作为推荐系统的核心,是其重要的组成部分。其基本思想是:首先找与他自身兴趣比较相似的用户,然后将这些用户感兴趣的消费内容推荐给目标用户。其最大的优点是对推荐对象没有特殊的要求,能处理非结构化的复杂数据结构,如音频、视频等,也无需向基于内容的推荐那样去考虑推荐对象的内容及关键字的抽取等。但也存在着数据稀疏、冷启动等缺点。
1 系统总体设计
1.1 总体设计思想
基于协作过滤的个性化推荐系统是电子商务网站模拟了店铺营业员对用户的推荐行为,尽可能准确地获取用户的个性消费爱好,给不同用户提供差异化的推荐服务。首先,需要建立一种合理的个性化推荐体系,在该体系的指导下,分析用户的购物行为进而获取用户的兴趣爱好数据,构建用户兴趣爱好模型,并使用个性化推荐算法计算目标用户对每一个项目的期望值[4]。基于得出的用户期望值,个性化推荐系统就可以对不同的目标用户提供一种差异化的推荐服务。个性化推荐模型如图1所示。
通过以上模型可知,在本系统中主要涉及到3个角色,分别是客户端子系统、管理端子系统和个性化推荐子系统。而在作为核心部分的个性化推荐子系统中,以用户兴趣爱好数据作为输入参数,使用协作过滤算法计算目标用户对项目的预测值[5]。
1.2 系统框架
个性化推荐系统基于用户提交的兴趣爱好信息和在购物网站的浏览历史信息提供个性化推荐服务和购买建议,其总体结构分为前台客户端管理、后台管理和个性化推荐3个模块。
2 系统应用
2.1 客户端子模块
在个性化推荐系统中,用户作为最终的服务对象,参与了整个系统的服务过程。在本模块中,用户可以实现买卖交易,注册成为本站的会员享受系统提供的个性化推荐服务,也可以对商品和店铺根据提供的服务做出客观评价。此外,用户可以申请在本系统开启自己的网上店铺。
客户端子系统的另一个重要功能就是根据用户在本站的行为收集用户的兴趣爱好数据,并将其量化以建立用户兴趣模型,作为个性化推荐系统向用户提供推荐服务的有力依据,保证推荐的高质量和精准性。
2.2 管理端子模块
为了确保系统的正常运行,电子商务个性化推荐系统需要具有一个后台管理子系统对整个系统进行配置管理。主要功能模块包括:订单管理、会员管理、权限管理、管理员登录、系统配置管理、商品管理、店铺管理、广告管理、信息管理和个性化推荐模块管理。
为了增加个性化推荐系统的推荐质量,加强推荐的弹性范围,系统还允许管理员在个性化推荐模块管理及时修改算法阈值,从而更进一步提供系统的灵活性和扩展性。
2.3 个性化推荐模块
个性化推荐模块遵循入-处理-输出IPO(Input-Process-Output)模式[6],作为系统的核心部分,主要由数据表述、发现最近邻居和产生推荐数据集[7]3个阶段组成,其基本架构如图2所示。
(1)数据表述阶段
数据表述阶段最重要的是建立用户兴趣模型。用户兴趣模型建立的第一步是获取用户兴趣数据,目前主要有两种方法。一种是显式获取,即用户主动参与电子商务网站的反馈活动,要求用户中断正常的浏览行为对资源项目进行评分,这是获取用户兴趣最佳的方式,不足之处是,显式获取需要为用户带来了额外的负担,匆忙中填写的反馈信息很大程度上并不能客观地反映用户偏好。另一种是隐式获取,主要是以Web使用挖掘、人工智能和知识发现等理论为基础,利用JavaScript、AJAX等应用技术分析用户的浏览行为,获取用户兴趣偏好并转化为结构化数据的过程,它的优势主要在于整个过程不需要用户的主动参与,不会中断用户正常的浏览行为,也不会给用户带来额外负担,能够得到比显示反馈更丰富的用户偏好信息。因此,这里采用“以显式获取用户兴趣爱好为主,隐式获取为辅,显式和隐式相结合”的混合用户兴趣获取方式[8],避免了中文分词带来的误差和关键字抽取。将混合方式获得的用户兴趣数据先进行降噪处理,降低噪声对用户兴趣数据的干扰,比如在获取用户在某个页面上停留的时间信息时,可能由于浏览者中途离开而导致数据失效等。为了方便存储和计算,对用户兴趣数据经过降噪处理,转换成相应的用户对资源项目的评分,从而构建了用户兴趣模型。
本文借鉴MovieLens系统的用户评分规则[1],设定用户显式评分是一个0~5之间的数字,以0.5作为间隔共分为11个档次,表示用户对商品的个性化偏好程度,其转换规则如下。
①用户u购买了某商品k但未评分,则Ru,k=3.0。
②用户u对商品k的评分为score,则Ru,k=score。
③用户点击商品k的次数n与给定的除“0”外的10个分数档对应,则Ru,k=n×0.5,若Ru,k>5.0则Ru,k=5.0。
④获取时间与推测隐式评分对应关系如下:
Ru,k=1 (5≤t<10)2 (5≤t<10)3 (5≤t<10)4 (5≤t<10)5 (5≤t<10)
⑤其他情况下,Ru,k=0。
在一个典型的基于协作过滤技术的个性化推荐系统中,用户兴趣模型通常被表示为一个m×n的用户-项目评估矩阵R,m是用户数,n是项数,rij是第i个用户对第j个项目的评估数值,其具体值由显式和隐式用户兴趣获取的数据转换得来[6]。用户-项目评估矩阵R如表1所示。
(2)发现最近邻居集阶段
用户兴趣模型建立后,系统根据用户兴趣模型计算每一位用户的用户相似度,通过度量目标用户与所有候选邻居间的相似度,产生基于协作过滤的top-n邻居用户集,然后根据这个邻居用户集,结合协作过滤推荐算法,对用户作出个性化推荐服务和购买建议。其中协作过滤推荐的示意图如图3所示。
协作过滤算法是目前使用最多、应用最成熟的推荐技术。它的应用前提是:假设存在具有相似兴趣偏好的用户群,每个用户都有与其兴趣偏好相似的邻居用户。预测用户对某一项目的偏好是根据邻居用户的偏好程度计算的,也就是以属性或兴趣相近的用户建议作为个性化推荐的基础。协作过滤算法最大的优势在于不需要分析对象的特征属性,所以对推荐没有特殊要求,能处理非结构化的复杂对象,如音频、视频等[8]。
基于协作过滤推荐的上述优点,本文也采用协作过滤算法产生推荐。协作过滤算法有基于用户(User-based)协作过滤算法和基于项目(Item-based)协作过滤两种[9]。这里分别采用基于用户协作过滤算法和基于项目协作过滤算法两种方式产生推荐。采用余弦相似性算法计算用户相似度,它既可以用于基于用户的协作过滤中,也可以用于基于项目的协作过滤系统中。此方法是将用户评分看作n维向量项目空间上的向量,如果用户对项目没有进行评分,则将评分设置为默认值0,用户间的相似性通过向量间的余弦夹角来度量。余弦值越大表示用户的相似程度越高。设用户i和用户j在n维向量空间上的评分分别表示为向量和,则用户i和用户j之间的相似性sim(i,j)为:
采用余弦性算法的用户相似度处理过程如下:
输入:用户i和用户j关于所有项目的评分
输出:用户i和用户j的相似度
算法步骤:
第一步:判断用户i和用户j的合法性。
第二步:初始化sum(x2)、sum(y2)、sum(xy)分别为0,n为项目个数。
第三步:计算sum(x2)、sum(y2)、sum(xy)的值:
for 每一条项目记录
do
x=i1;y=j1;
if x,y都不为空
sum(x,y)+=x*y;
sum(x2)+=x*x;
sum(y2)+=y*y;
end if
end do
return sum(x,y)/(sqrt(sum(x2))*sqrt(sum(y2)));
将以上使用余弦相似性算法得到用户X和用户Y的相似度进行降序排序,取前k个用户做为目标用户的k邻居用户群。
(3)产生推荐数据集阶段
在得到最近邻居用户集数据后,接下来根据计算出来的最近邻居集预测评分并给目标用户产生推荐结果。设目标用户u的最近邻居集合用Tu表示,则目标用户u对项目i的预测评分Pu,i可以通过用户u对最近邻居集Tu中项目的评分得到,其中Pu,i的计算方法如下:
上式中sim(u,n)表示用户u与n之间的相似程度,Rn,i表示用户n对项目i的评分,u和n分别表示用户u和用户n对项目的平均评分。通过上述方法计算用户对所有未评分的项目的评分,然后选择其中预测评分最高的前若干项(top-n)作为推荐结果给当前用户[10],通过这样的基于用户兴趣相似度的推荐,网站就可以在恰当的时间向不同的用户推荐合适的商品。
基于项目的协作过滤推荐算法和基于用户的协作过滤推荐算法基本一致,且由于资源项目的相对静态性,因此它的计算相对简单。这里不再描述。
基于协作过滤算法的电子商务个性化推荐系统改进了传统的基于文本的推荐技术,扩大了推荐范围,提高了推荐质量,单渠道用户兴趣获取模式变成了多渠道用户兴趣获取模式,既避免了显式用户兴趣获取时带来的不良用户体验,也消除了单纯显式获取用户兴趣数据导致的数据稀疏性问题。
参考文献
[1] Chong Jiang. Research of an e-commerce personalized recommendation system[D]. Changsha: Central South University, 2009.
[2] Ting Wen. Research of mining personalized service based on Web content and Log[D]. Dalian: Dalian University of Technology, 2007.
[3] Zhao Liang, Hu Naijing, Zhang Shouzhi. Design of personalized recommendation algorithm[J]. Computer Research and Development, 2002:78-84.
[4] Li Dandan. Research of an e-commerce personalized recommendation based on hybrid algorithm[D]. Tianjing: Tianjing Finance University, 2008.
[5] Jie Yang. Appliation and research of an personalized recommendation system[D]. Beijing: University of Science and Technoloy of China, 2009.
[6] Wei Lu. Application of an e-commerce personalized recommendation system based on collaborative filtering algorithm[D].Beijing: Beijing University of Posts and Telecommunications, 2007.
[7] MASSA P, AVESANI P. Trust-aware collaborative filtering for recommender systems[C]. Proceedings of International Conference on Cooperative Information Systems, 2004:240-249.
[8] BADRUL SARWAR, GEORGE KARYPIS, JOSEPH KONSTAN, et al. Item-Based collaborative filtering recommendation Algorithms[C]. Proceedings of the Tenth International Conference on World Wide Web, 2003:285-295.
[9] CHEN Y L, CHENG L C. A novel collaborative filtering approach for recommending ranked items[J]. Expert System with Applications, 2008,34(4):2396-2405.
[10] ADOMAVICIUS G, TUZHILIN A. Towad the next generation of recommender systems:A survey of-the state-of-the—art and possible extensions[J]. IEEE Transaction on Knowledge and Data Engineering, 2005, 17(6):734-749.