首页 > 范文大全 > 正文

高校数字图书馆用户推荐系统研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇高校数字图书馆用户推荐系统研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对在高校数字图书馆环境下应用推荐系统的相关问题进行阐述,通过系统需求分析、框架设计、最终构造出系统原型,并在实验环境下生成了一定的推荐效果。

关键词:数字图书馆 推荐系统 协同过滤 用户角色 隐性化偏好

中图分类号:TP39 文献标识码:A 文章编号:1007-3973(2011)006-072-02

1 引言

在高校数字图书馆中,海量的数字化馆藏资源让用户难以快速准确地查找到所需资源,也未能提供用户个性化的信息服务。针对这一问题,本文提出在高校数字图书馆环境下应用推荐系统,通过对系统的需求分析和设计,最终构造出系统原型,并生成了一定的推荐效果。

2 系统需求分析

高校数字图书馆用户推荐系统的环境较特殊,系统用户构成稳定且能以专业学科等属性天然划分不同用户群,用户群之间的差异性明显,群内用户之间存在较多的相似性。数字化馆藏资源能以中图法和学科专业进行划分且能与用户进行关联。系统信息服务提供的对象以文本为主,从推荐技术实现上更有效可行。

从Taylor的四阶段信息需求模型。可知,用户存在着较难以清晰表达的隐性化信息需求,用户需要引导以发现自己的内在需求。但另一方面,用户的隐性化信息需求可表达为用户在系统中的点击、浏览、收藏和查询等行为,以及相似用户已表达但当前用户未察觉的需求。

结合用户评分所表达的显性化偏好,采取偏好混合提取方式。并设用户的显式偏好为较高权重,可生成用户偏好描述文件。在用户推荐系统中,这一描述文件由偏好模型转化。偏好模型。是描述数字图书馆中所有用户综合在一个周斯内的信息需求的模型,它包括用户的持久偏好、即时偏好和可能偏好。持久偏好是基于用户的学历、学科专业、年龄和性别等基本信息而产生。即时偏好基于用户的浏览行为和查询记录等隐性化偏好,依据系统的偏好规则而产生。可能偏好是用户未能表达的偏好,但在相似用户中存在的偏好。

把用户的偏好模型,以一个引导机制来实现用户偏好的表达,并建立集成检索和个性化导航等多种服务方式于一体的个性化服务体系,其基本框架如图1。

3 系统设计

分析高校数字图书馆的用户环境可知,用户能较好的协作,适宜采用协同过滤推荐算法。产生推荐。为克服传统CF算法中的稀疏评分数据问题。结合系统用户和资源的特点,把对应1~4的分值与用户的点击、浏览、收藏以及查询行为关联起来,建立修正的I-U评分矩阵。

以用户之间存在的明确而稳定的学科专业属性进行用户群划分,产生用户角色。相同用户角色下,用户的评分倾向相似,用户之间具有良好的关联和相似的偏好特征。以这一思想,定义约束权重系数K以修正的皮尔逊相关系数。来计算用户相似度sim。相同角色时,K为1;不同角色时,取用户之间评分项的交集比例作为K的值。以KRia代替Ria确定用户的相似性,具体计算如(1):

错误!未找到引用源。 (1)

然后设定一个阈值,当,则为最邻近用户。把大于的相似度排序,以Top-N排序产生用户的最邻近用户群。然后采用平均加权法来计算预测评分并产生推荐结果。

把改进的协同过滤推荐算法设计成系统的推荐流程并引用并修改电子商务中的Taste推荐引擎,以高效实现协同过滤推荐算法和流程。用户推荐引擎设计如图2。

其中,基于Taste的推荐引擎主要有用于人机对话的用户应用接口层,推荐系统层以及数据库存储层三个层次。其中推荐系统层封装了最近邻用户集合和据模型等功能模块。整个推荐引擎由用户偏好信息的抽象接口的数据模型、用户相似计算、项相似计算、最近邻用户集和推荐核五个部分组成。

4 推荐效果生成

在Ubuntu下安装Apache的Mahout,eclipse,MySQL4.x,ApacheAnt 1.7,ApacheMaven2.0.10,JKD 1.6和Tomcat5.5以上版本的软件,以及下载MovieLens提供的million-ml-data测试数据集。在基于Taste的推荐引擎中对“用户”、“项目”和“首选项”的组件操作,以较快速的构建推荐系统。

第一阶段:为简便起见,实验选用FileDataModel类来创建模型和使用PearsonCorrelationSimilarity类定义用户的相似度,图3为实现代码。

第二阶段:构建一个识别与相关用户类似的用户的UserN-ei曲borhood类和一个负责创建推荐项目排名表的Recommen-der。图4为实现主代码。

第三阶段:打印输出虚构用户ID为995推荐的首选5项,如图5。

6 结语

在高校数字图书馆中应用推荐系统以提供个性化信息服务具有十分重要的意义和实用价值,本文在综合分析系统环境和用户需求下,构建了适用的用户偏好模型和推荐算法,通过推荐引擎的设计,建立了用户推荐系统的原型,并在实验环境下生成了推荐效果。