基于项目的多维信息推荐新方法_推荐算法论文

一种基于项目的多维信息推荐新方法,本文主要内容关键词为:多维论文,新方法论文,项目论文,信息论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

      随着计算机与网络技术的不断发展,人们已经越来越被包围在网络信息的海洋之中。如何在海量的网络信息中快速、准确地为用户提供他们所需要的信息已经成为信息服务面临的重要问题。信息推荐就是在这种背景下应运而生的,它是指通过分析用户的兴趣爱好,主动向用户推荐符合用户兴趣的项目。项目(item)指用户可能感兴趣的某些资源如电影、书籍、餐馆等。随着个性化信息服务范围的扩大和重要性的提升,用户对信息推荐的内容、方式和准确性等提出了更高的要求,传统推荐方法的不足也日益明显。目前信息推荐研究的新趋势主要包括:

      (1)新用户建模。对于用户而言,在使用信息推荐系统的初期是最需要获得推荐的。然而,由于获取的新用户信息不足,推荐系统很难正确了解新用户的兴趣,并难以建立新用户的特征模型,导致初期阶段用户获得的推荐质量较差,从而影响用户对推荐系统的信任。

      (2)综合了解用户与项目、挖掘用户隐性兴趣。传统推荐方法通过分析用户的历史评分了解用户兴趣,而这些评分数据只能代表用户的直接兴趣,用户的隐性兴趣难以挖掘,推荐系统难以满足用户的潜在需求。

      (3)多维度推荐、动态调整用户模型。维度表示推荐空间的范围,传统推荐方法只涉及用户和项目两个基本维度,忽略了时间、空间、用户行为等其他维度对推荐结果有效性的影响。然而,在动态环境中,用户对项目的喜爱会随着情景的变化而变化。传统推荐方法缺乏动态捕捉用户兴趣变化并及时调整用户模型的能力。

      本文主要是针对第三种新趋势,研究一种基于项目的多维信息推荐新方法。

      1 传统信息推荐的相关研究

      传统信息推荐方法主要分为协同过滤方法、基于内容的推荐方法以及混合推荐方法[1],协同过滤是目前应用最广泛的信息推荐方法。本文提出的新方法是基于项目的协同过滤多维信息推荐方法,因此,本文只对基于项目的协同过滤方法进行介绍。基于项目的协同过滤方法的依据是“用户感兴趣的项目应该是相似的”。基于项目的方法首先在用户—项目评分矩阵中计算各项目之间的相似度,找到各项目的“最近邻”,然后根据目标用户对这些“最近邻”的评分数据整合计算出目标用户对各项目的评分。最后,选择出评分最高的一个或者多个项目进行推荐。基于项目的协同过滤方法的流程分为三步[2]:

      (1)构建用户—项目评分矩阵

      在信息推荐中,需要推荐的目标用户(active user)用a表示,其他用户用u表示。

      

      

      (2)计算项目相似度

      基于项目的方法的关键是找到与目标项目i相似的“最近邻”。“最近邻”是通过计算其他项目如项目j与目标项目i之间的相似度而得到的,相似度的值越大,则项目j与项目i就越相似,那么在预测的公式中,项目j的评分的权重值就越大。

      可以采用Pearson相关相似度算法与余弦相似度算法来计算项目之间的相似度。

      Pearson相关相似度算法如下:

      

      余弦相似度算法把项目看做是用户空间上的向量,通过计算两个向量之间的夹角余弦来度量两个项目之间的相似性,计算公式如下:

      

      以上两个相似度计算公式中,U表示对项目i与项目j都进行过评分的用户集合,即

      

      (3)产生预测结果

      基于项目的方法采用以下公式预测目标用户对项目的评分:

      

      2 基于项目的多维信息推荐模型

      本文提出的多维信息推荐模型如图1所示,由以下几个部分构成:情景数据库、用户数据库、项目数据库、评分数据库、多维评分数据仓库、情景获取模块、多维信息推荐引擎模块、用户。

      情景数据库存储情景的各种基本信息;用户数据库存储用户的基本信息,如用户编号、用户姓名、用户年龄、性别等[3];项目数据库存储项目的基本信息,如项目名、项目类别、项目简介等;评分数据库存储用户在各种情景下对各项目的历史评分数据;历史评分数据在系统初始化时由用户输入,用户进行初始化输入(即初次登录系统,注册成会员)时,推荐系统向用户提供情景数据库、用户数据库和项目数据库的相关窗口,供用户选择,便于用户输入自己在各种情景下对各个项目的评分数据;多维评分数据仓库存储的是从用户数据库、项目数据库、情景数据库获得的基本信息(只存储关键属性,如编号)以及相应的历史评分数据,多维评分数据仓库向多维信息推荐引擎输出多维评分数据U(用户)×I(项目)×C(情景)×R(评分)[4]。

      情景获取模块的功能主要是获取用户的当前情景信息,转换成系统可识别的存储和表示形式,并向多维信息推荐引擎反馈用户的当前情景。情景获取模块获取用户当前情景信息的方式有两种:一种是用户显式地输入情景信息(用户情景输入),这种方式较为简单直接,但限制较大;另一种是系统通过全球定位系统、感温器、感压器、摄像头等传感器来隐式获取用户的即时情景(情景感知),这种方式获取的情景信息丰富。

      多维信息推荐引擎是多维信息推荐模型中最重要的组成部分。多维信息推荐引擎通过联合使用从多维评分数据仓库中获得的多维评分数据与从情景获取模块获得的当前情景信息,使用基于项目的多维信息推荐算法,得到最终的推荐结果并提供给用户[5]。

      

      用户是推荐系统的服务对象,用户向多维信息推荐引擎提出推荐请求。如果用户对系统的推荐结果不满意,可以修改推荐请求,重新向多维信息推荐引擎提出新的推荐请求。用户对推荐结果进行评分,用户输入的评分实时地在多维评分数据仓库中更新。

      3 基于项目的多维信息推荐算法

      基于项目的传统协同过滤方法并没有考虑情景对用户行为的影响,研究证明,情景会对用户的行为产生影响,同一个用户在不同的情景下,可能有不同的选择[6]。所以,把情景作为信息推荐考虑的要素是十分必要的。本文研制了一个全新的基于项目的多维信息推荐算法。在该算法中,首先计算情景的相似度,情景相似度的计算是从项目的角度来考察的;然后研制了一个多维推荐函数,该多维推荐函数把情景作为一个重要的变量,计算出用户对项目的预测评分;最后根据预测评分进行推荐。基于项目的多维信息推荐算法的推荐流程如下:

      (1)构建基于项目的情景评分矩阵

      在计算基于项目的情景相似度之前,首先要对多维推荐系统中的多维评分数据进行处理,构建基于项目的情景评分矩阵。一个项目在同一情景下可能被多个用户评分,如表2所示。

      

      基于项目的情景相似度的主要思想是从项目的角度来观察情景,把情景看成是项目空间的向量,因此需要将上表转换成只包含项目和情景的评分矩阵[7]。从表2中可以看到,在同一情景下同一项目可能被多个用户评分,那么计算这些评分的平均值,该平均值可以代表该项目在某一情景下的整体评分水平。因此,可以把表2转化成表3所示。

      

      (2)计算基于项目的情景相似度

      获得如表3所示的项目×情景评分矩阵之后,可以采用Pearson相关相似度公式计算各情景之间的相似度,历史情景

与当前情景c之间的相似度可以由以下公式计算:

      

      (3)预测目标用户a在当前情景c下对项目i的评分

      和传统二维推荐一样,预测目标用户c在当前情景c下对项目i的评分,需要找出项目i的“最近邻”。在这里,本文采用传统的二维方法,采用相关相似度方法在忽略情景的情况下计算项目之间的相似度,找出项目i的“最近邻”,计算公式如下:

      

      根据项目相似度的值进行降序排名,找到排名前N的项目作为项目i的top-N个“最近邻”。然后,利用“最近邻”项目的评分数据,结合情景相似度,预测出目标用户a在当前情景c下对项目i的评分值。

      在预测目标用户a在当前情景c下对项目i的评分值时,需要分析项目i的各“最近邻”项目被目标用户a评分时的情景

,以

与当前情景c的相似度为权值,进行加权计算,得到最终的在预测目标用户a在当前情景c下对项目i的评分值,计算公式如下:

      

      

      (4)提出对目标用户a在当前情景c下的推荐结果

      根据第(3)步中得到的目标用户a在当前情景c下对各项目的预测评分,按照评分大小进行降序排列。如果用户只需要一个推荐结果,则把排名第一的项目推荐给用户。如果用户需要多(如n)个项目,则把排名前n的项目推荐给用户,则推荐项目名单为

      4 实验方案及结果分析

      4.1 数据收集方式

      目前很少有进行多维信息推荐的应用,很难直接从某个网站应用中获得实验数据,因此本文作者采用网络调查的方式进行了实验数据的收集。实验使用的数据集来源于问卷星(http://www.sojump.com/jq/758095.aspx)。该网络调查主要是收集不同情景下用户对电影的评分。其中,基本的两维是用户与项目,情景维是时间维、地点维、伴侣维,即需要用户输入在某时间(工作日、周末、节假日)、在某地点(电影院、家里/宿舍)与某伴侣(独自一人、与家人、情侣、普通朋友)对不同电影的评分。实验总共收集了228个用户对50部电影的评分数据,其中每个用户评分的电影不少于30部,评分范围为1~5。

      4.2 评估指标

      本文采用了精准率Precision(P)、召回率Recall(R)与F-measure(F)作为评估指标。Precision定义为被推荐项目中与用户需求相关的项目数目占被推荐项目总数的比例,用来衡量被推荐的项目与用户真实需求相关性的大小,从而评价推荐效果。Precision的值越大,推荐效果越好。Recall定义为被推荐项目中与用户需求相关的项目数目占与用户需求相关的项目总数的比例,用来衡量与用户真实需求相关的项目被推荐的几率,从而评价推荐效果。Recall得值越大,推荐效果越好[8]。F-measure(F)联合使用Precision(P)和Recall(R)作为综合的评价指标,

,F-measure的值越大,推荐效果越好。

      4.3 实验流程

      (1)计算各情景之间的相似度本文研制的算法从项目的角度来观察各情景评分的,因为在各情景下同一项目可能被多个用户进行了评分,所以要对各情景下各项目的评分数据进行处理,本文采用求平均值的方法来获得各项目在各情景下的评分,本实验把通过这种处理的评分数据称作基于项目的情景评分数据。以下是实验的部分截图:

      1)基于项目的情景评分数据,如图2所示。

      2)计算基于项目的情景相似度

      把第1)步得到的基于项目的情景评分导入到SPSS,如图3所示。

      点击菜单“分析”,选择“相关分析”,得到各情景之间的相似度,如图4所示。

      (2)在忽略情景的评分数据中计算其他项目与当前项目的相似度,找出当前项目的N个最近邻。

      同样的,采用SPSS工具计算得到各项目之间的相似度,截图如图5所示。

      (3)计算出目标用户对各项目的预测评分,如图6所示。

      4.4 实验结果及分析

      4.4.1 基于项目的多维信息推荐算法各评估指标

      基于项目的多维信息推荐算法的评价指标的值如图7所示。

      

      

      

      

      

      

      从图7可以看到,随着推荐项目的数目不断增大,基于项目的多维信息推荐算法的精准率Precision呈下降趋势,而召回率Recall与F-measure呈上升趋势。说明随着推荐数目的不断增加,在推荐的项目中与用户相关项目的数目占推荐项目数目的比例越来越小(即命中率越来越小)。而随着推荐数目的不断增加,在推荐的项目中与用户相关项目的数目占与用户相关项目总数的比例越来越大。这主要是因为随着推荐数目的不断增加,推荐项目中与用户相关项目的数目是不断增加的,而与用户相关项目的总数是不变的,因此召回率会不断增大,因而导致F-measrue的值也不断增大。

      4.4.2 基于项目的多维信息推荐算法与传统推荐算法的对比分析

      从下页图8可以看出,基于项目的多维信息推荐算法无论是在精准率Precision、召回率Recall还是综合指标F-measure上都是优于传统推荐算法的。总体而言,在推荐项目数目比较小时,如n=1,n=5时,基于项目的多维信息推荐算法各评价指标的值略高于传统算法;而推荐项目数目比较大时,如n=10,n=15,n=20时,基于项目的多维信息推荐算法各评价指标的值远高于传统算法。这说明在推荐项目数目比较大时,基于项目的多维信息推荐算法相比传统推荐算法的优越性更加明显。

      

      5 结语

      随着网络信息量的日益增长,“信息超载”目前已经成为迫切需要解决的问题。信息推荐技术是一项主动信息服务技术,它从大量信息中自动选择符合用户兴趣的内容推荐给用户,从而满足用户的个性化需求。本文对信息推荐新领域——多维信息推荐进行了研究,提出了一个基于项目的多维信息推荐模型,研制了一个全新的多维信息推荐算法,并通过实验研究验证了该算法的优越性。本文采用网络调研的方式获得的实验数据,而网络调研的方法对数据来源的控制能力比较差,接受网络调研人员的身份无法确定,数据的稀疏度比较大。鉴于以上原因,本文的研究对象与范围还存在一些局限性,后续笔者将开发或者利用更加智能化的、自动收集数据的工具与方法获取更加广泛的数据,或寻找更加便利的高质量数据来源,扩大研究的范围。

标签:;  ;  ;  ;  ;  

基于项目的多维信息推荐新方法_推荐算法论文
下载Doc文档

猜你喜欢