2024年5月22日发(作者:桐语海)
I
:;
沫
应用研究
基于云书签服务的个性化推荐WebO S系统
崔海波
(湖北大学计算机与信息工程学院湖北武汉430062)
摘要:面对互联网中海量的信息,需要解决以下两个重要问题:一是如何从海量信息中获取对自己真正有用的信息,二是如何管理好已经获取
的信息。本文设计了一种webos系统,其核心思想是将个性化推荐技术应用于网站的推荐,由传统的“人找信息”变为“信息找人”,从而同时解决上述两
个问题。
关键词:云书签个陆化推荐WebOS网站推荐系统协同过滤
中图分类号:TP3l1.5 文献标识码:A 文章编号:1o07.9416(2015)04.0063.04
1引言
随着互联网的高速发展与Web2.0技术的广泛应用,互联网用
,
2.2推荐算法概述
推荐算法是个性化推荐系统中最核心与关键的部分,很大程度
户的上网需求日益丰富与多元化。如何有效地管理用户浏览的网
上决定了系统性能的优劣。目前应用较广的推荐算法主要有协同过
滤推荐、基于内容推荐、基于用户信息推荐、基于知识和规则的推荐
页、使用的网络应用程序成为一个重要的问题。
网站的类别与用
WebOS称为网络操作系统,是一种基于浏览器的虚拟操作系
等。互联网中网站和用户的数量都是非常巨大的,
统。它提供了一个访问运行在服务器端的网络应用程序的窗口。用户
户的需求也千差万别。本系统目标是同类网站推荐。对于某一类网
基于项目的协同过滤比传统的基于
通过浏览器来使用网络应用程序。用户浏览器与服务器程序的通信
站,网站数量远小于用户数量。
准确度更高。网站的信息几
通过H 协议实现。WebOS的界面类似于一般操作系统的桌面。目
相似用户的协同过滤方法计算量更小、
女口图书、电影)的,很难像基于
前的WebOS主要提供网络应用程序的服务。这种服务模式较为单
乎是全领域而不是面向某一特定领域(
兴趣相近”的用户。基于这
网络应用程序的普及度也不高,导致了WebOS未得到广泛应用。
相似用户的协同过滤算法那样找到完全“
一
,
本系统决定主要采用基于项目的协同
用户使用浏览器的最基本需求是浏览网页,必然需要网页书签来收
些特点,经过一定量的实验,
item-based collaborative filtering algorithms)。算法
藏和管理自己访问的网页。本文设计的WebOS系统主要基于网页书
过滤算法(
根据评分值计算已
签服务,提供高效美观的书签管理方式,把握了用户的最基本需求。
基于用户的收藏和浏览频率给网站赋予评分值,
再以相似度作为权重,加权各已
面对庞大数目的网站,用户如何快速地获得自己感兴趣的网站
评分项目与待预测项目的相似度,
得到预测项目的预测评分值,以预测评分值作为
而不被海量的信息所淹没以至于花费大量时间搜索无用信息?本文
评分项目的评分,
采用了个性化推荐技术来解决该问题。个性化推荐是根据用户的兴
排序依据得出Top-N推荐项目表。
2.3数据模型
趣特点,针对性地为其提供信息和服务,目前主要应用于电子商务
中。本文设计的WebOS将该技术运用到网站推荐中,根据用户的收
该算法的核心数据模型是一个用户一项目评分矩阵A,如表1。
列代表网站,矩阵单元的值为用户给网站的评
藏记录反映出的兴趣信息,运用协同过滤推荐算法,将符合其兴趣
矩阵的行代表用户,
分。评分可通过用户对网站的收藏和浏览频率来确定。
的相关网站推荐给用户,达到拓展性阅读的功效。
本文设计了一个WebOS系统。它基于Linux,Apache,Mysql,
在矩阵R中,假设用户数量为 ,网站数量为n。则 为
第m行代表用户m,第n列代表网站n。第f
PHP,HTML5,Javascript以及Ajax的架构,集成了书签服务、个性
m×n的矩阵。其中,
表示用户f对网站.,的评分。
化推荐、文件管理与网络应用程序管理的功能,提供流畅快捷的用
行第 列的值R,
2.4用户对网站评分的计算方法
户体验。
2网站个性化推荐
2.1功能描述
在传统的推荐系统中,用户对项目的评分由用户的打分行为显
示确定。用户对项目的评分值在一定范围内浮动,如0到10。分数越
高表示用户对项目的喜好度越高。
表1用户一项目评分矩阵
当今互联网中网站的数量是巨大的,而大多数人常访问的网站
数却很少。海量的网站信息很容易将用户淹没,增大了用户找到自
己真正感兴趣的信息的难度。用户获取网站信息的主要途径为搜索
引擎和门户网站。这两种方式本质都是“人找信息”的模式,均存在
信息过载和无法根据用户兴趣进行个性化信息服务的缺点。本文设
计的系统引用了个性化推荐技术,采集用户的网页收藏和浏览记
‘
墨
,2
R.:
R2
2
,
Ii l
录,依据一定的推荐算法,为每个用户针对性地推荐符合其兴趣的
网站。例如某用户经常在淘宝网上购物,系统察觉他的网上购物的
兴趣,就会自动推荐给他亚马逊、京东商城、Ebay等一些优质的购物
网站,提供他更多元化的选择。
R
1
,
足, R.
R,1. , R ,
收稿日期:2015—03—06
作者简介:崔海波(1979--),男,湖北武汉人,硕士研究生,讲师,研究方向:系统分析与集成,数据库应用。
应用研究
而在本文设计的网站推荐系统中,用户不会对网站做显示的打
分行为。用户对网站的兴趣体现在收藏和浏览频率上。因此,我们用
这两个指标来计算用户对网站的评分。
另外我们令cos[
算)。
:cOS e。s《 :0(为方便后续计
由于不同用户的评分尺度是不一样的,仅以用户评分为网站得
设Ⅳ为该用户收藏该网站子页面的个数。用户收藏一个网站的
分依据的余弦相似性算法忽略了这一点。因此,我们对余弦算法进
子页面越多,这个网站对他就越重要。设F为近一段时期内用户访问
行了修正,在计算时将用户给网站的评分减去网站所得的平均分,
某网站的频率,频率等于从当前时刻向前推一段时间间隔中用户访
以提高准确度。为此,我们令 表示集合U中的用户给网站f的评
问网站的次数/这段时间间隔的长度。用户访问一个网站的频率越
分的算数平均值。则相似度计算公式为:
高,表示他对该网站的兴趣越浓。而用户的兴趣又是随时间变化的,
段时间内可能对某类特定网站感兴趣,过一段时间又可能聚焦于
新的兴趣。固采用近期访问频率作为指标能够反映用户兴趣的变化。
一
{霞
。
一矗、j { 一R}
…
、
f、ql } ~ ===== : =::====:========一 — ——=================== ==;= ===
fR—j : f
l 善
~; ■:: 式(2—5)
’
用户对网站的评分值R为上述两个指标的函数:
R=F(Ⅳ,F)
均值确定:
式(2—1) 修正余弦相似性是对余弦相似性算法的另一种修正方案。它在
函数F的规则有很多设定方法。本文采用两个指标的加权平
计算网站相似度时将用户给网站的评分减去该用户对所有网站的
R=F(Ⅳ,F)=aN+ F
式中权重a, 由系统设定。
2.5未评分项目的处理方法
评分的平均值。由于网站推荐将未评分的网站设置为吩,且每个用
式(2—2)
户参与评分的网站只占全体网站的极小部分,所以在计算用户平均
评分时不考虑评分为0的网站。我们令R 为用户U对他所评分的所
有网站的评分值的算数平均值。则相似度计算公式为:
由于使用网站收藏与浏览量来确定用户给网站的评分,使得评
分的计算不同于一般的推荐算法。我们定义如果用户对某个网站没
有评分,则该用户对该网站的评分值为0。这样做的原因是:用户对网
站的评分是隐式进行的,并不会通过打分的方式进行评分。收藏是反
映用户对网站的兴趣的最重要因素。一个用户对大部分收藏的网站
的浏览量差别不会很大。如果仿照一般的推荐算法,在计算两个网站
相关度时仅考虑同时收藏两网站的用户,则用户对网站的评分向量
很可能差别甚微,甚至相似度接近于1而失去比较意义。如果将未收
2.8预测评分
∑(R. 一置 (R 一 )
ke£
皇
■ 了 式(2—6)
对于某一目标用户U,我们令集合 表示他已评分的网站,
表示他未评分的网站。
{意lR. ≠0,1 k n}
=
式(2—7)
式(2—8)
藏其中一个网站的用户加入进来,他们对未收藏的网站的评分设为
0,则相似度计算会有较大差别,可较客观地反映用户兴趣的差异。
2 6算法输入与输出
本文采用的推荐算法的输入部分为所有用户对网站的评分信
息,这些信息储存在数据库中,用以构建数据模型。在实际系统中,
输入信息由用户的书签和他收藏网站的浏览量获得。
输出包含两部分。一是用户对于其没有评分的网站的预测评
分,二是由用户可能感兴趣的网站组成的Top—N推荐列表。
12={七lR =0,1 k n}
预测评分的目标是根据目标用户对已评分项目的评分与已评
分项目和未评分项目的相似度,计算出他对未评分项目的预测评
分。本文使用的算法是:对于某一待评分网站,它的预测评分为该目
标用户已评分网站的分值的加权平均值,权重为它们与该待评分网
站的相似度。
求目标用户U对某个他未评分网站 的预测评分 ..的计算公
式为:
宾
一
2.7网站相似度计算
协同过滤算法中项目间的相似度计算方法主要有余弦相似性、
:=…
。。sf? r}
…一 …
相关相似性和修正的余弦相似性。后两种方法实际是对余弦相似性
算法的两种修正。
在表1的矩阵R中,我们把每个网站的评分信息看成是一个m
维线性空间的向量。两个网站间的相似度用相应的两向量的余弦夹
角表示。
f
式(2—9)
2.9推荐算法优化
上述算法是理论上的协同过滤算法。在实际应用中会遇到一些
问题。为此,我们需要对算法进行进一步优化以提高运行效率和推
荐准确度。
如果将全体用户与全体网站构成的矩阵进行计算,计算量将是
计算网站f和网站,相似度之前先找出至少收藏其中一个网站
的用户集 。设 为矩阵中用户的全集,用户U对网站i的评分为
十分庞大的。由于用户和网站都是海量的,导致用户一网站评分矩阵
R ,对网站 的评分为R 。则
稀疏性很高。本文设计的优化方法旨在降低稀疏性与计算量。
U:{UIR ×R ,≠0,U∈ }
可用以下公式算出:
式(2—3)
对于海量的网站,系统先对其进行聚类分析。这么做是因为系
令两个不同网站i和.,的评分向量为 与 ,则它们的相似度
统的目标是对相关网站的推荐。推荐相关网站才符合依据用户兴趣
的要求。计算一个购物网站和一个社交网站的相似度是没有意义
的。因此,系统基于网站内容对网站进行聚类,对用户的推荐目标网
站必须是与他的已收藏网站处于一个类中的。这样就大幅度减少了
计算矩阵的列数。
对于海量的用户,我们也对其进行聚类分析。由于不同地区、年龄、
式(2—4)
职业、社交群体的用户群所关注的信息集是有很大差别的,我们将不同
1欺nar-.q ̄.未
r
应用研究
用户群的推荐计算任务独立开来分别执行。这样就减少了用户一网站矩
网站评分矩阵尺。
阵的行数。很多推荐系统中所反映的基于好友的推荐效果比单纯基于
(2)选用一种计算网站相似度的算法,计算出每两个网站间的相
算法的推荐效果更好体现了将用户聚类与划分群体方法的优越性。
似度矩阵P。
推荐系统的冷启动问题一直存在。冷启动问题是指推荐系统刚
(3)对于矩阵R中不为0的每一项 ,,由式2-9计算出它的预
刚建立时,由于用户数很少,评分数也很少,导致推荐系统性能不稳
测评分值 。
定,用户就不能得到有价值的推荐。本文设计的解决方案是为刚注
(4)对于每个用户,由式2-1O计算出他的l,},。最后由所有用户
册的用户人工推荐一些热门的网站作为初始数据,用户若不喜欢可
的 i^‘计算出该相似度算法的ll, 。
以删除。这就使得初始的推荐由加法模型变成了减法模型。这种减
(5)如三种相似度算法未全部求出 ,则选取另一种相似度
法模型的依据是网站推荐与一般的商品推荐存在一个重要区别。那
计算方法,返回步骤3。否则执行下一步骤。
就是存在一些主流、热门的大网站是大部分用户都会访问的。这样
(6)如基于六种不同矩阵大小的计算都已完成,『J!IJ进入下一步
就一定程度上解决了冷启动问题,使得刚注册的用户也能很好地使
骤。否则选取另一矩阵大小,返回步骤l。
用系统,不会失去兴趣。
2.10推荐系统性能的量化评估
推荐系统预测评分的质量一般采用预测分值和实际分值的平均
(7)将实验数据绘制成图标,进行分析与研究(图1)。
实验结果分析如下:
(1)前两种算法的全体用户平均相对MAE的值随矩阵规模增大
绝对误差(MeanAbsoluteError,MAE)来衡量。对于某一用户U,令
R.,表示用户u对网站拍勺实际评分,该评分从用户一网站评分数据
.
而趋于稳定和收敛。说明样本容量越大,预测值误差越稳定。
(2)余弦相似性算法和相关相似性算法的MAE值差别甚做。并
库中获取。令
表示用户u对网站i的预测评分,它由上文所述算
且余弦相似度算法MAE小于相关相似性算法MAE。修正余弦相似
法计算得出。令集合 表示该用户已评分的网站,如公式2—7所示,Ⅳ
性算法的MAE较高且不稳定。所以,在本文设计的网站推荐模型下,
表示集合 。的元素数目。则对于用户U的Ma&由以下公式算出:
∑ —R
MAE= 一
余弦相似度算法是最优的计算网站相似度的算法。
(3)余弦相似性算法和相关相似性算法的MAE值几乎不随矩阵
并随着矩阵规模的增大而收敛于0.25。那么究竟
式(2-l0)
规模的变化而变化,
是什么因素决定了MAE需要进一步实验来确定。
由于评分误差的大小受评分区间的影响。未排除这一因素,我
3.2确定影响MAE的因素的实验
本实验我们选取余弦相似度算法。根据上述实验,矩阵规模不决
定MAE。那么我们就要考虑其他可变因素。由于用户评分向量是线
们引入了平均相对误差^7 ,它是用平均绝对误差与评分区间宽度
的比值表示:
式(2-11)
性的,因此评分取值区间不影响评分向量的夹角,也就不会影响平均
衡量整个推荐系统预测评分质量的指标为所有用户的 的算
相对MAE。本实验采用控制变量法,选取的可变因素有:矩阵稀疏
\『 J =
术平均值蠢 。令S表示全体用户的集合,Jv表示全体用户的数目。
∑^ ,
^
V
度,用户评分的分布。通过控制单一变量来确定这两个因素是否能决
定MAE。矩阵规模为1000行1000列,评分取值仍为0到10问的整数。
式(2-12)
首先我们假设用户评分的分布是均匀的随机分布,评分取值为
0,l o】之间的整数。矩阵稀疏度用评分为啪比例来决定。令离散随机
Top-N推荐质量的衡量采用信息检索领域的评分标准,即准确
[
(表3)
率(precision)和召回率(recal1)。对于某个目标用户,表2给出了网站
变量x表示用户对网站的评分。则X的概率分布为:
收藏与推荐的关系。
由此表可计算出系统的准确率P和召回率R:
尸: !
Al+
其中,q为矩阵稀疏度,也就是矩阵中值为0的单元的比率。q越
表2用户一收藏关系表
式(2-13)
用户收藏的网站数 用户未收藏的网站数
推荐给用户的
式(2-14)
4+ 2
最终整个系统的准确率和召回率分别是所有用户准确率与召
回率的算数平均值。
R:
4 Bl
虽 未推荐给用户的
三种网站相似度算法平均相对姒E比较
3实验结果与分析
3.1网站相似度算法性能评估实验
本文设计了一个实验来比较三种计算网站相似度的方法得到
乱8
的¨{0的值,用以评估这三种方法的优劣。i i德 小,代表系统的
预测评分性能越好。实验中采集的数据由本文设计的WebOS在实际
应用中保存的数据库中得到。实验中用户给网站的评分值的取值范
围是【0,1 0]的整数。同时,本实验还设置了不同的样本集的大小,用
来分析样本大小对算法性能的影响。由于在实际情况下,一般同一
类网站数不会很多,而同一类用户数比较多。固实验中用户数分别
设为500,1000,1500。网站数分别为200,400。
(1)将数据库中的用户一评分数据采集出来,构建最初的用户一
全螂 锕。Q 6
卜糸弦相 度算}矗
一.HB关相识度算法
—
鹰正采豫相似虔算法
n 4
n 2
母
8
导
吕
蜒阵擐曩
图1三种网站相似度算法的平均相对MAE比较
(65 j
应用研究
表3用户评分均匀随机分布
X
-
O
-
l
-
2
_
3
_
4
E
5 6
_
7 8 9 10
p q (1一q)/lo (I—q)/IO (I—q)/IO (I—q)/10 (I—q) /IO (I—q)/1O (1-q)/Io (I-q)/Io (1一q)/Io (I—q) 10
表4用户评分标准正太分布
X
p
O
0.5
1
0.0O69
2
0.0227
3
0.0792
4
O.1592
5
0.2257
6
0.2257
7
0.1592
8
0.0792
9
0.0227
10
O.0069
矩阵稀疏度与、lAE 系髑
用户评分概率分布与凇 天系圈
蟾阵赫鼍度
图2矩阵稀疏度与MAE关系
大,代表矩阵越稀疏。q的取值范围为[0,l】。(表4) 参考文献
图3用户评分概率分布与MAE关系
根据这一模型,我们通过实验计算出矩阵稀疏度q与全体用户
[1]余力,刘鲁.电子商务个性化推荐研究[A].计算机集成制造系统.
平均MAE的关系。
2004.
然后再控制矩阵系数度不变,改变用户评分概率分布,观察结
[2]章晋波.推荐系统中协同过滤算法的研究与实现.北京邮电大学
果。由于现实生活中,人们特别喜欢的网站与特别不喜欢的网站较
硕士论文,2009.
少,而感觉不明确的网站占大多数。因此我们可以假设用户评分分布
[3]Memcached:High—Performance.Distributed Memory Object
为0到lo2:间的标准正太分布。本步骤中选用的矩阵系数度为0.5,评
Caching System,201 1,Available at:httD://memcached.org/.
分概率分布为近似的标准正太分布:
[4]PHP extension for interfacing with Memcached,201 2,Avail—
我们再计算出此情况下的MAE,与前面的做比较。
able at:http://pec1.php.net/package/Memcached.
由图2可看出,矩阵稀疏度很高时,MAE变得不稳定。矩阵稀疏
[5JAn open source C/C++client library for the Memcached server.
度很低时,MAE稳定并趋近与0.223。矩阵稀疏度在0.1至0.9时,
201 0。Available at:http://libMemcached.0rq门1bHemcached.html
MAE稳定并趋近于0.25。这表明当用户一网站评分矩阵稀疏度不是
[6]K.Vaidyanathan.S.Narravula.et a1.。Designing Efficient
非常大(超过0.95)时,MAE都是比较稳定的。这时矩阵稀疏度不是影
Systems Services and Primitives for Next-Generation Data
响MAE的因素。
Centems。1n Workshop on NSF Next Generation Software(NGS)
从图3可看出,矩阵稀疏度一定时,用户评分为标准正太分布的
Program;held in conjunction with IPDPS,2007.
MAE低于用户评分为均匀随机分布的MAE。这表明实际中如果用户
[7]A.S.Tamenbaum。M.V.Steen,Distributed Systems:Prin-
ciples and Paradigms,2nd ed.Pearson Prentice-Ha]].2006.
的评分接近标准正太分布,则平均预测误差较小,系统性能较好。
综上所述,用户评分的概率分布是唯一影响系统预测评分的平
[8]J.Petrovic。Using Memcached for data distribution in in—
均相对误差的因素。
dustria1 environment,In:Proceedings of the Th1rd Interna-
4结语
本文设计了一种WebOS系统。它以云书签服务和网站个洼化推
tional Conference on Systems(ICONS)。2008,pp368-372.
[9]D.A.Menace,Scaling Web Sites Through Caching。IEEE Internet
Computing,2003,7(4):86-89.
荐为核心和亮点,集成了传统的应用程序管理和文件管理功能,旨
在为用户提供方便快捷的上网窗口。本文将个性化推荐技术引用到
[1 O]David Karger,Alex Sherman。Andy Berkheimer。Bill Bogstad。
Rizwan Dhan1d1na,Ken lwamoto,Brian Kim,Luke Matkins。Yoav
Yerushalmi,Web caching with consistent hashing,Computer Networks:
网站推荐中,结合实际情况修改和优化了传统的基于项目的系统过
滤算法。本文用实际开发的系统进行了实验以评估推荐算法的性
能。主要评估三种计算网站相似度算法的性能和样本集大小对算法
性能的影响。
The International Journal of Computer and Te1ec0mmun1cat10ns
Networking,V。31 n.1 l一16。P.1 203—1 213,May 1 7。1999.
2024年5月22日发(作者:桐语海)
I
:;
沫
应用研究
基于云书签服务的个性化推荐WebO S系统
崔海波
(湖北大学计算机与信息工程学院湖北武汉430062)
摘要:面对互联网中海量的信息,需要解决以下两个重要问题:一是如何从海量信息中获取对自己真正有用的信息,二是如何管理好已经获取
的信息。本文设计了一种webos系统,其核心思想是将个性化推荐技术应用于网站的推荐,由传统的“人找信息”变为“信息找人”,从而同时解决上述两
个问题。
关键词:云书签个陆化推荐WebOS网站推荐系统协同过滤
中图分类号:TP3l1.5 文献标识码:A 文章编号:1o07.9416(2015)04.0063.04
1引言
随着互联网的高速发展与Web2.0技术的广泛应用,互联网用
,
2.2推荐算法概述
推荐算法是个性化推荐系统中最核心与关键的部分,很大程度
户的上网需求日益丰富与多元化。如何有效地管理用户浏览的网
上决定了系统性能的优劣。目前应用较广的推荐算法主要有协同过
滤推荐、基于内容推荐、基于用户信息推荐、基于知识和规则的推荐
页、使用的网络应用程序成为一个重要的问题。
网站的类别与用
WebOS称为网络操作系统,是一种基于浏览器的虚拟操作系
等。互联网中网站和用户的数量都是非常巨大的,
统。它提供了一个访问运行在服务器端的网络应用程序的窗口。用户
户的需求也千差万别。本系统目标是同类网站推荐。对于某一类网
基于项目的协同过滤比传统的基于
通过浏览器来使用网络应用程序。用户浏览器与服务器程序的通信
站,网站数量远小于用户数量。
准确度更高。网站的信息几
通过H 协议实现。WebOS的界面类似于一般操作系统的桌面。目
相似用户的协同过滤方法计算量更小、
女口图书、电影)的,很难像基于
前的WebOS主要提供网络应用程序的服务。这种服务模式较为单
乎是全领域而不是面向某一特定领域(
兴趣相近”的用户。基于这
网络应用程序的普及度也不高,导致了WebOS未得到广泛应用。
相似用户的协同过滤算法那样找到完全“
一
,
本系统决定主要采用基于项目的协同
用户使用浏览器的最基本需求是浏览网页,必然需要网页书签来收
些特点,经过一定量的实验,
item-based collaborative filtering algorithms)。算法
藏和管理自己访问的网页。本文设计的WebOS系统主要基于网页书
过滤算法(
根据评分值计算已
签服务,提供高效美观的书签管理方式,把握了用户的最基本需求。
基于用户的收藏和浏览频率给网站赋予评分值,
再以相似度作为权重,加权各已
面对庞大数目的网站,用户如何快速地获得自己感兴趣的网站
评分项目与待预测项目的相似度,
得到预测项目的预测评分值,以预测评分值作为
而不被海量的信息所淹没以至于花费大量时间搜索无用信息?本文
评分项目的评分,
采用了个性化推荐技术来解决该问题。个性化推荐是根据用户的兴
排序依据得出Top-N推荐项目表。
2.3数据模型
趣特点,针对性地为其提供信息和服务,目前主要应用于电子商务
中。本文设计的WebOS将该技术运用到网站推荐中,根据用户的收
该算法的核心数据模型是一个用户一项目评分矩阵A,如表1。
列代表网站,矩阵单元的值为用户给网站的评
藏记录反映出的兴趣信息,运用协同过滤推荐算法,将符合其兴趣
矩阵的行代表用户,
分。评分可通过用户对网站的收藏和浏览频率来确定。
的相关网站推荐给用户,达到拓展性阅读的功效。
本文设计了一个WebOS系统。它基于Linux,Apache,Mysql,
在矩阵R中,假设用户数量为 ,网站数量为n。则 为
第m行代表用户m,第n列代表网站n。第f
PHP,HTML5,Javascript以及Ajax的架构,集成了书签服务、个性
m×n的矩阵。其中,
表示用户f对网站.,的评分。
化推荐、文件管理与网络应用程序管理的功能,提供流畅快捷的用
行第 列的值R,
2.4用户对网站评分的计算方法
户体验。
2网站个性化推荐
2.1功能描述
在传统的推荐系统中,用户对项目的评分由用户的打分行为显
示确定。用户对项目的评分值在一定范围内浮动,如0到10。分数越
高表示用户对项目的喜好度越高。
表1用户一项目评分矩阵
当今互联网中网站的数量是巨大的,而大多数人常访问的网站
数却很少。海量的网站信息很容易将用户淹没,增大了用户找到自
己真正感兴趣的信息的难度。用户获取网站信息的主要途径为搜索
引擎和门户网站。这两种方式本质都是“人找信息”的模式,均存在
信息过载和无法根据用户兴趣进行个性化信息服务的缺点。本文设
计的系统引用了个性化推荐技术,采集用户的网页收藏和浏览记
‘
墨
,2
R.:
R2
2
,
Ii l
录,依据一定的推荐算法,为每个用户针对性地推荐符合其兴趣的
网站。例如某用户经常在淘宝网上购物,系统察觉他的网上购物的
兴趣,就会自动推荐给他亚马逊、京东商城、Ebay等一些优质的购物
网站,提供他更多元化的选择。
R
1
,
足, R.
R,1. , R ,
收稿日期:2015—03—06
作者简介:崔海波(1979--),男,湖北武汉人,硕士研究生,讲师,研究方向:系统分析与集成,数据库应用。
应用研究
而在本文设计的网站推荐系统中,用户不会对网站做显示的打
分行为。用户对网站的兴趣体现在收藏和浏览频率上。因此,我们用
这两个指标来计算用户对网站的评分。
另外我们令cos[
算)。
:cOS e。s《 :0(为方便后续计
由于不同用户的评分尺度是不一样的,仅以用户评分为网站得
设Ⅳ为该用户收藏该网站子页面的个数。用户收藏一个网站的
分依据的余弦相似性算法忽略了这一点。因此,我们对余弦算法进
子页面越多,这个网站对他就越重要。设F为近一段时期内用户访问
行了修正,在计算时将用户给网站的评分减去网站所得的平均分,
某网站的频率,频率等于从当前时刻向前推一段时间间隔中用户访
以提高准确度。为此,我们令 表示集合U中的用户给网站f的评
问网站的次数/这段时间间隔的长度。用户访问一个网站的频率越
分的算数平均值。则相似度计算公式为:
高,表示他对该网站的兴趣越浓。而用户的兴趣又是随时间变化的,
段时间内可能对某类特定网站感兴趣,过一段时间又可能聚焦于
新的兴趣。固采用近期访问频率作为指标能够反映用户兴趣的变化。
一
{霞
。
一矗、j { 一R}
…
、
f、ql } ~ ===== : =::====:========一 — ——=================== ==;= ===
fR—j : f
l 善
~; ■:: 式(2—5)
’
用户对网站的评分值R为上述两个指标的函数:
R=F(Ⅳ,F)
均值确定:
式(2—1) 修正余弦相似性是对余弦相似性算法的另一种修正方案。它在
函数F的规则有很多设定方法。本文采用两个指标的加权平
计算网站相似度时将用户给网站的评分减去该用户对所有网站的
R=F(Ⅳ,F)=aN+ F
式中权重a, 由系统设定。
2.5未评分项目的处理方法
评分的平均值。由于网站推荐将未评分的网站设置为吩,且每个用
式(2—2)
户参与评分的网站只占全体网站的极小部分,所以在计算用户平均
评分时不考虑评分为0的网站。我们令R 为用户U对他所评分的所
有网站的评分值的算数平均值。则相似度计算公式为:
由于使用网站收藏与浏览量来确定用户给网站的评分,使得评
分的计算不同于一般的推荐算法。我们定义如果用户对某个网站没
有评分,则该用户对该网站的评分值为0。这样做的原因是:用户对网
站的评分是隐式进行的,并不会通过打分的方式进行评分。收藏是反
映用户对网站的兴趣的最重要因素。一个用户对大部分收藏的网站
的浏览量差别不会很大。如果仿照一般的推荐算法,在计算两个网站
相关度时仅考虑同时收藏两网站的用户,则用户对网站的评分向量
很可能差别甚微,甚至相似度接近于1而失去比较意义。如果将未收
2.8预测评分
∑(R. 一置 (R 一 )
ke£
皇
■ 了 式(2—6)
对于某一目标用户U,我们令集合 表示他已评分的网站,
表示他未评分的网站。
{意lR. ≠0,1 k n}
=
式(2—7)
式(2—8)
藏其中一个网站的用户加入进来,他们对未收藏的网站的评分设为
0,则相似度计算会有较大差别,可较客观地反映用户兴趣的差异。
2 6算法输入与输出
本文采用的推荐算法的输入部分为所有用户对网站的评分信
息,这些信息储存在数据库中,用以构建数据模型。在实际系统中,
输入信息由用户的书签和他收藏网站的浏览量获得。
输出包含两部分。一是用户对于其没有评分的网站的预测评
分,二是由用户可能感兴趣的网站组成的Top—N推荐列表。
12={七lR =0,1 k n}
预测评分的目标是根据目标用户对已评分项目的评分与已评
分项目和未评分项目的相似度,计算出他对未评分项目的预测评
分。本文使用的算法是:对于某一待评分网站,它的预测评分为该目
标用户已评分网站的分值的加权平均值,权重为它们与该待评分网
站的相似度。
求目标用户U对某个他未评分网站 的预测评分 ..的计算公
式为:
宾
一
2.7网站相似度计算
协同过滤算法中项目间的相似度计算方法主要有余弦相似性、
:=…
。。sf? r}
…一 …
相关相似性和修正的余弦相似性。后两种方法实际是对余弦相似性
算法的两种修正。
在表1的矩阵R中,我们把每个网站的评分信息看成是一个m
维线性空间的向量。两个网站间的相似度用相应的两向量的余弦夹
角表示。
f
式(2—9)
2.9推荐算法优化
上述算法是理论上的协同过滤算法。在实际应用中会遇到一些
问题。为此,我们需要对算法进行进一步优化以提高运行效率和推
荐准确度。
如果将全体用户与全体网站构成的矩阵进行计算,计算量将是
计算网站f和网站,相似度之前先找出至少收藏其中一个网站
的用户集 。设 为矩阵中用户的全集,用户U对网站i的评分为
十分庞大的。由于用户和网站都是海量的,导致用户一网站评分矩阵
R ,对网站 的评分为R 。则
稀疏性很高。本文设计的优化方法旨在降低稀疏性与计算量。
U:{UIR ×R ,≠0,U∈ }
可用以下公式算出:
式(2—3)
对于海量的网站,系统先对其进行聚类分析。这么做是因为系
令两个不同网站i和.,的评分向量为 与 ,则它们的相似度
统的目标是对相关网站的推荐。推荐相关网站才符合依据用户兴趣
的要求。计算一个购物网站和一个社交网站的相似度是没有意义
的。因此,系统基于网站内容对网站进行聚类,对用户的推荐目标网
站必须是与他的已收藏网站处于一个类中的。这样就大幅度减少了
计算矩阵的列数。
对于海量的用户,我们也对其进行聚类分析。由于不同地区、年龄、
式(2—4)
职业、社交群体的用户群所关注的信息集是有很大差别的,我们将不同
1欺nar-.q ̄.未
r
应用研究
用户群的推荐计算任务独立开来分别执行。这样就减少了用户一网站矩
网站评分矩阵尺。
阵的行数。很多推荐系统中所反映的基于好友的推荐效果比单纯基于
(2)选用一种计算网站相似度的算法,计算出每两个网站间的相
算法的推荐效果更好体现了将用户聚类与划分群体方法的优越性。
似度矩阵P。
推荐系统的冷启动问题一直存在。冷启动问题是指推荐系统刚
(3)对于矩阵R中不为0的每一项 ,,由式2-9计算出它的预
刚建立时,由于用户数很少,评分数也很少,导致推荐系统性能不稳
测评分值 。
定,用户就不能得到有价值的推荐。本文设计的解决方案是为刚注
(4)对于每个用户,由式2-1O计算出他的l,},。最后由所有用户
册的用户人工推荐一些热门的网站作为初始数据,用户若不喜欢可
的 i^‘计算出该相似度算法的ll, 。
以删除。这就使得初始的推荐由加法模型变成了减法模型。这种减
(5)如三种相似度算法未全部求出 ,则选取另一种相似度
法模型的依据是网站推荐与一般的商品推荐存在一个重要区别。那
计算方法,返回步骤3。否则执行下一步骤。
就是存在一些主流、热门的大网站是大部分用户都会访问的。这样
(6)如基于六种不同矩阵大小的计算都已完成,『J!IJ进入下一步
就一定程度上解决了冷启动问题,使得刚注册的用户也能很好地使
骤。否则选取另一矩阵大小,返回步骤l。
用系统,不会失去兴趣。
2.10推荐系统性能的量化评估
推荐系统预测评分的质量一般采用预测分值和实际分值的平均
(7)将实验数据绘制成图标,进行分析与研究(图1)。
实验结果分析如下:
(1)前两种算法的全体用户平均相对MAE的值随矩阵规模增大
绝对误差(MeanAbsoluteError,MAE)来衡量。对于某一用户U,令
R.,表示用户u对网站拍勺实际评分,该评分从用户一网站评分数据
.
而趋于稳定和收敛。说明样本容量越大,预测值误差越稳定。
(2)余弦相似性算法和相关相似性算法的MAE值差别甚做。并
库中获取。令
表示用户u对网站i的预测评分,它由上文所述算
且余弦相似度算法MAE小于相关相似性算法MAE。修正余弦相似
法计算得出。令集合 表示该用户已评分的网站,如公式2—7所示,Ⅳ
性算法的MAE较高且不稳定。所以,在本文设计的网站推荐模型下,
表示集合 。的元素数目。则对于用户U的Ma&由以下公式算出:
∑ —R
MAE= 一
余弦相似度算法是最优的计算网站相似度的算法。
(3)余弦相似性算法和相关相似性算法的MAE值几乎不随矩阵
并随着矩阵规模的增大而收敛于0.25。那么究竟
式(2-l0)
规模的变化而变化,
是什么因素决定了MAE需要进一步实验来确定。
由于评分误差的大小受评分区间的影响。未排除这一因素,我
3.2确定影响MAE的因素的实验
本实验我们选取余弦相似度算法。根据上述实验,矩阵规模不决
定MAE。那么我们就要考虑其他可变因素。由于用户评分向量是线
们引入了平均相对误差^7 ,它是用平均绝对误差与评分区间宽度
的比值表示:
式(2-11)
性的,因此评分取值区间不影响评分向量的夹角,也就不会影响平均
衡量整个推荐系统预测评分质量的指标为所有用户的 的算
相对MAE。本实验采用控制变量法,选取的可变因素有:矩阵稀疏
\『 J =
术平均值蠢 。令S表示全体用户的集合,Jv表示全体用户的数目。
∑^ ,
^
V
度,用户评分的分布。通过控制单一变量来确定这两个因素是否能决
定MAE。矩阵规模为1000行1000列,评分取值仍为0到10问的整数。
式(2-12)
首先我们假设用户评分的分布是均匀的随机分布,评分取值为
0,l o】之间的整数。矩阵稀疏度用评分为啪比例来决定。令离散随机
Top-N推荐质量的衡量采用信息检索领域的评分标准,即准确
[
(表3)
率(precision)和召回率(recal1)。对于某个目标用户,表2给出了网站
变量x表示用户对网站的评分。则X的概率分布为:
收藏与推荐的关系。
由此表可计算出系统的准确率P和召回率R:
尸: !
Al+
其中,q为矩阵稀疏度,也就是矩阵中值为0的单元的比率。q越
表2用户一收藏关系表
式(2-13)
用户收藏的网站数 用户未收藏的网站数
推荐给用户的
式(2-14)
4+ 2
最终整个系统的准确率和召回率分别是所有用户准确率与召
回率的算数平均值。
R:
4 Bl
虽 未推荐给用户的
三种网站相似度算法平均相对姒E比较
3实验结果与分析
3.1网站相似度算法性能评估实验
本文设计了一个实验来比较三种计算网站相似度的方法得到
乱8
的¨{0的值,用以评估这三种方法的优劣。i i德 小,代表系统的
预测评分性能越好。实验中采集的数据由本文设计的WebOS在实际
应用中保存的数据库中得到。实验中用户给网站的评分值的取值范
围是【0,1 0]的整数。同时,本实验还设置了不同的样本集的大小,用
来分析样本大小对算法性能的影响。由于在实际情况下,一般同一
类网站数不会很多,而同一类用户数比较多。固实验中用户数分别
设为500,1000,1500。网站数分别为200,400。
(1)将数据库中的用户一评分数据采集出来,构建最初的用户一
全螂 锕。Q 6
卜糸弦相 度算}矗
一.HB关相识度算法
—
鹰正采豫相似虔算法
n 4
n 2
母
8
导
吕
蜒阵擐曩
图1三种网站相似度算法的平均相对MAE比较
(65 j
应用研究
表3用户评分均匀随机分布
X
-
O
-
l
-
2
_
3
_
4
E
5 6
_
7 8 9 10
p q (1一q)/lo (I—q)/IO (I—q)/IO (I—q)/10 (I—q) /IO (I—q)/1O (1-q)/Io (I-q)/Io (1一q)/Io (I—q) 10
表4用户评分标准正太分布
X
p
O
0.5
1
0.0O69
2
0.0227
3
0.0792
4
O.1592
5
0.2257
6
0.2257
7
0.1592
8
0.0792
9
0.0227
10
O.0069
矩阵稀疏度与、lAE 系髑
用户评分概率分布与凇 天系圈
蟾阵赫鼍度
图2矩阵稀疏度与MAE关系
大,代表矩阵越稀疏。q的取值范围为[0,l】。(表4) 参考文献
图3用户评分概率分布与MAE关系
根据这一模型,我们通过实验计算出矩阵稀疏度q与全体用户
[1]余力,刘鲁.电子商务个性化推荐研究[A].计算机集成制造系统.
平均MAE的关系。
2004.
然后再控制矩阵系数度不变,改变用户评分概率分布,观察结
[2]章晋波.推荐系统中协同过滤算法的研究与实现.北京邮电大学
果。由于现实生活中,人们特别喜欢的网站与特别不喜欢的网站较
硕士论文,2009.
少,而感觉不明确的网站占大多数。因此我们可以假设用户评分分布
[3]Memcached:High—Performance.Distributed Memory Object
为0到lo2:间的标准正太分布。本步骤中选用的矩阵系数度为0.5,评
Caching System,201 1,Available at:httD://memcached.org/.
分概率分布为近似的标准正太分布:
[4]PHP extension for interfacing with Memcached,201 2,Avail—
我们再计算出此情况下的MAE,与前面的做比较。
able at:http://pec1.php.net/package/Memcached.
由图2可看出,矩阵稀疏度很高时,MAE变得不稳定。矩阵稀疏
[5JAn open source C/C++client library for the Memcached server.
度很低时,MAE稳定并趋近与0.223。矩阵稀疏度在0.1至0.9时,
201 0。Available at:http://libMemcached.0rq门1bHemcached.html
MAE稳定并趋近于0.25。这表明当用户一网站评分矩阵稀疏度不是
[6]K.Vaidyanathan.S.Narravula.et a1.。Designing Efficient
非常大(超过0.95)时,MAE都是比较稳定的。这时矩阵稀疏度不是影
Systems Services and Primitives for Next-Generation Data
响MAE的因素。
Centems。1n Workshop on NSF Next Generation Software(NGS)
从图3可看出,矩阵稀疏度一定时,用户评分为标准正太分布的
Program;held in conjunction with IPDPS,2007.
MAE低于用户评分为均匀随机分布的MAE。这表明实际中如果用户
[7]A.S.Tamenbaum。M.V.Steen,Distributed Systems:Prin-
ciples and Paradigms,2nd ed.Pearson Prentice-Ha]].2006.
的评分接近标准正太分布,则平均预测误差较小,系统性能较好。
综上所述,用户评分的概率分布是唯一影响系统预测评分的平
[8]J.Petrovic。Using Memcached for data distribution in in—
均相对误差的因素。
dustria1 environment,In:Proceedings of the Th1rd Interna-
4结语
本文设计了一种WebOS系统。它以云书签服务和网站个洼化推
tional Conference on Systems(ICONS)。2008,pp368-372.
[9]D.A.Menace,Scaling Web Sites Through Caching。IEEE Internet
Computing,2003,7(4):86-89.
荐为核心和亮点,集成了传统的应用程序管理和文件管理功能,旨
在为用户提供方便快捷的上网窗口。本文将个性化推荐技术引用到
[1 O]David Karger,Alex Sherman。Andy Berkheimer。Bill Bogstad。
Rizwan Dhan1d1na,Ken lwamoto,Brian Kim,Luke Matkins。Yoav
Yerushalmi,Web caching with consistent hashing,Computer Networks:
网站推荐中,结合实际情况修改和优化了传统的基于项目的系统过
滤算法。本文用实际开发的系统进行了实验以评估推荐算法的性
能。主要评估三种计算网站相似度算法的性能和样本集大小对算法
性能的影响。
The International Journal of Computer and Te1ec0mmun1cat10ns
Networking,V。31 n.1 l一16。P.1 203—1 213,May 1 7。1999.