最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于云书签服务的个性化推荐WebOS系统

IT圈 admin 57浏览 0评论

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. 

发布评论

评论列表 (0)

  1. 暂无评论