信息推荐系统中的协同过滤方法及其实现_聚类论文

一种协同过滤方法及其在信息推荐系统中的实现,本文主要内容关键词为:方法论文,系统论文,信息论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

Internet网络是目前信息传播与获取的重要途径,通过无处不在的网络,利用搜索引擎,例如google等,人们可以访问比以往更多的信息。但是,迅速增长的站点在向网络用户传播海量信息的同时,也造成了严重的信息过载问题,即用户查询出大量的无关文档。为了解决这个问题,近些年来,研究者越来越重视WWW信息的自动过滤技术[1,2]。

信息自动过滤系统辅助用户处理大批量的输入数据流,根据用户需求去除不相关的输入文档或者对输入文档的相关度进行排序。通常认为信息过滤与信息检索具有相同的功能,两者都是为了使用户获取最能满足其需求的信息。但是,信息检索是通过匹配寻找符合用户需求的信息,而信息过滤则是通过匹配清除掉不符合用户需求的信息,达到为信息用户提供更精准的信息服务[6]。

本文首先对信息自动过滤技术进行回顾,重点对基于群体合作的信息过滤方法进行研究,并应用模糊聚类技术从项目的属性特征上对项目进行聚类,提出一种基于模糊簇的协同过滤算法。进一步地,利用多种自动过滤算法设计并实现了一个科技文献推荐系统。

1 信息自动过滤技术研究的回顾

信息过滤是信息处理过程中的一个重要环节。信息接受者对接受到的信息进行分类,剔除无用信息,只对有用信息进行进一步的加工、传播或存储。

信息过滤(Information filtering,IF)与信息检索(Information Retrieval,IR)密切相关。Croft指出[5],IR与IF如同一个硬币的正反两个方面,有许多相似之处。IR与IF的目的都是引导用户获取最能满足其任务或需求的最精确匹配或相关的信息。从抽象层次看,IR与IF的概念模型包含相同的实体和处理过程,都是由文本表示、需求描述(IR中的查询条件/IF中的用户需求)以及匹配算法/部件组成。IF研究早期,借鉴或改进了IR领域中的部分研究成果。例如,许多IF的过滤算法是基于对传统的精确匹配(布尔匹配)或最好匹配(空间向量、概率模型)检索模型的改进。IF比IR更注重系统的效率以及用户需求的学习功能。IR利用查询条件进行检索,IF利用用户偏好(Profile)进行过滤。一般地,查询条件由用户输入,一次检索过程完成之后,下一次检索时用户重新输入查询条件。用户偏好反映了用户较长时间内较稳定的信息需求,要求有过滤系统智能化地自动获取。

普遍认为,信息自动过滤系统由信息输入源、文档分类器、用户模型、用户界面、匹配算法以及本地过滤结果组成[7],如图1所示。

附图

图1 信息自动过滤系统组成

信息自动过滤系统具有如下特点:

(1)信息过滤处理的大部分是半结构化与非结构化信息,例如正文信息的过滤属于非结构化信息。

(2)信息过滤面向的是大批量信息处理,需要较快的响应速度。

(3)用户具有相对固定的信息兴趣,需要系统自动学习并调整用户偏好。

(4)信息过滤的目的是从输入信息流中去除无关信息,缩减输入数据集

2 一种基于模糊簇的协同过滤算法

协同过滤(Collaborative Filtering)或称社会过滤(Social Filtering),是利用人们之间兴趣爱好的相似性进行信息推荐的一种方法[3,4]。协同过滤的特点是:(1)能够过滤难以进行机器自动内容分析的信息;(2)共享其他人的经验;(3)减少用户的反馈量;(4)具有推荐新信息的能力。

协同过滤的基本出发点是:(1)用户是可以按兴趣分类的;(2)用户对不同信息的评价包含了用户的兴趣信息;(3)用户对一个未知信息的评价将和其相似(兴趣)用户的评价相似。

本文应用模糊聚类技术从项目的属性特征上对项目进行聚类。考虑到项目之间在属性特征上具有模糊性和传递性,由用户—项评分矩阵和模糊簇上的隶属度值,构造用户—模糊簇偏好矩阵,由此将寻找相似用户群体的过程由原来稀疏的用户—项评分矩阵转化到密集的用户—模糊簇偏好矩阵上。

本文提出的基于模糊簇的协同过滤推荐方法由以下几个步骤组成:(1)项目模糊聚类后构造密集的用户—模糊簇偏好矩阵;(2)在偏好矩阵上确定用户的相似群;(3)为目标用户形成推荐;(4)基于新的项集相似性计算方法预测未知项的评估值。

对于项目来说,本文采用公式(1)来计算项目相对于模糊簇的隶属度值。

附图

i=1,2,…,n;j=1,2,…,c.

(1)

x[,i]代表每个项目的属性特征向量,m[,j]代表每个模糊簇中心的属性特征向量,‖x[,i]-m[,j]‖代表项目i与模糊簇j的相近程度,c代表模糊簇的数目。

通过用户—项目偏好矩阵中用户所表达的偏好值,和每个项目属于各个模糊簇的隶属度值,本文构造了如表1所示的用户—模糊簇偏好矩阵。矩阵中的值代表用户u对模糊簇j的偏好值。

表1 用户—模糊簇偏好矩阵

用户-模糊簇 C[,1]

C[,2]

C[,c]

U[,1]

4 3 … 1

U[,2]

5 2 … 1

… …… ……

U[,n]

4 3 1

其中,偏好值的计算如公式(2)所示。

附图

j=1,2,…,c (2)

PC[,u,j]代表用户u对模糊簇j的偏好值,PI[,u,i]代表用户u对项目i的偏好值,Iu代表用户u已评估的项目集合。

如果两个用户对模糊簇的偏好一致的话,则用户之间的信息兴趣是一致的。对于用户u和用户v之间的模糊簇相似性,本文采用皮尔森相关关系公式计算,如公式(3)所示。

sim(u,v)=

附图

(3)

其中,PC[,u,j]代表用户u对模糊簇j的偏好值,代表用户u在模糊簇上的平均偏好值。在此基础之上,本文采用传统的K近邻评分方法,利用被推荐用户的K个近邻用户的模糊簇评分,计算目标项目的评分结果,并排序反馈给用户作为推荐结果。

3 实验分析

对于本文提出的推荐算法,本文采用Compaq系统研究中心站点提供的关于EachMovie协作过滤的数据集(http://www.research.compaq.com/src/eachmovie)进行了实验验证。

我们选取电影类型作为项目的属性特征,实现基于模糊簇的协同过滤推荐。

3.1 不同聚类阈值的实验结果

基于模糊簇的协同过滤推荐方法首先需要对所有项目进行模糊聚类,在模糊聚类的基础上得到每个项目相对于模糊簇的隶属度值,因此模糊聚类所形成的模糊簇对推荐方法的精确度有一定的影响。

为了选择最佳的聚类阈值,我们在222个用户的关于1000个电影的13790条评分数据上,交叉做了五组实验。每组选择50个用户进行实验,最后将五组实验结果进行平均。实验结果如图2所示,其中横坐标是为目标用户所选择的近邻的数目,纵坐标是相应的MAE的值。取阈值0.7、0.8和0.9三个值分别进行实验。实验结果,0.8的MAE较少。在下面3.2节的过滤方法对比实验中,我们取0.8作为聚类域值。

附图

图2 不同模糊聚类阈值的结果

3.2 与基于用户的协同过滤推荐算法的比较实验结果

本文实现了经典的基于用户的协同过滤推荐算法,与我们提出的改进方法进行对比分析,在同等的实验条件下,采用了“除了一个所有”(all but one)的测试原则。

我们取每组50个用户实现基于用户的协同过滤推荐方法,并将五组实验数据进行平均,与阈值为0.8的基于模糊簇的协同过滤推荐方法进行对比,对比结果如图3所示。

附图

图3 与基于用户的协同过滤推荐算法的比较结果

3.3 实验结果分析

我们提出的基于模糊簇的协同过滤推荐方法比基于用户的协同过滤推荐方法具有较小的MAE值,在推荐精度上有所改善。通过在实验数据集合上的测试,以及实验结果的对比分析,我们认为本文提出的方法考虑了推荐项目在属性特征上的相似性,对于协同过滤推荐算法的“冷启动”问题有一定的改善作用,这和我们的初衷是一致的。

4 科技文献推荐系统的设计与实现

针对科技文献检索的特点,结合传统的过滤算法以及基于模糊簇的协同过滤算法,本文设计实现了一个科技文献推荐系统。系统的逻辑框架如图4所示。

附图

图4 科技文献检索系统总体框架

在科技文献推荐系统中,我们实现的推荐策略包括:基于规则的推荐,基于内容的推荐,基于模糊聚类的项目协同过滤推荐。对于没有被任何用户评价过的文献,首先根据文献项目之间的相似程度构成项目相似群,然后基于用户评价信息构造用户—项目协同相似关系群,完成对冷启动问题中的项目进行评价。

系统的反馈结果界面如图5所示,它的整体设计主要体现在:(1)界面的统一性;(2)界面的方便性和易操作性。我们采用Web脚本编写开发工具JSP(Java Server Page),在代码中嵌入相应的javaScipt语言脚本。通过JSP设计的Web浏览器界面引导用户使用推荐系统。

附图

图5 系统的反馈结果界面

5 小结

随着网络的广泛应用以及信息获取方式的不断丰富,信息过滤方法的研究日益受到重视。本文首先对信息自动过滤技术的研究现状进行了回顾,重点对基于群体的协同过滤技术进行了研究,应用模糊聚类技术对协同过滤算法进行了改进。在科技文献推荐系统中我们对多种推荐算法进行了实现和验证。

进一步的研究工作:

(1)推荐系统在其他领域的应用验证,尤其在电子商务领域中的应用;

(2)对用户间的相似度计算的效率进行改进;

(3)对用户偏好的更新提出简单可行的策略。

标签:;  ;  ;  ;  ;  ;  ;  

信息推荐系统中的协同过滤方法及其实现_聚类论文
下载Doc文档

猜你喜欢