基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx

上传人:wj 文档编号:1458655 上传时间:2023-04-30 格式:DOCX 页数:6 大小:98.69KB
下载 相关 举报
基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx_第1页
第1页 / 共6页
基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx_第2页
第2页 / 共6页
基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx_第3页
第3页 / 共6页
基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx_第4页
第4页 / 共6页
基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx_第5页
第5页 / 共6页
基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx

《基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx(6页珍藏版)》请在冰点文库上搜索。

基于Hadoop的图书个性化推荐服务研究Word格式文档下载.docx

数据应用

主动性知识服务、自动化资源发现、个性化推荐服务等

数据采集

读者行为数据、标签属性数据、微博、论坛、社交网络数据等

数据分析

大数据挖掘、特征匹配、建模、计算、过滤、排序等

数据处理

清洗、转换、筛选、抽取、集成、组织等

图1个性化推荐服务流程

2.2图书馆个性化推荐服务需求

图书馆个性化推荐服务就是要投其所好,通过采集处理读者在图书馆发生的借阅、检索、下载阅览等行为数据、读者标签属性数据以及在微博、论坛、社交网络等数据,构造一些算法或规则将读者真正感兴趣、反映读者真实需求的资源推荐给用户,从而提高图书馆资源利用率、提升读者满意度,但是,读者的历史行为既有显性行为如借阅图书、评价图书等,又有隐性行为如浏览网站、发表评论等,这些数据是海量的,而且图书馆提供的信息资源既包括馆藏的纸质图书,还包括TB、PB级的数字资源,这些种类繁多、形式各异的海量数据,增加了图书馆个性化推荐服务难度,同时彰显了个性化推荐服务的迫切性,也提出了更高的服务需求。

1.精准性

个性化推荐的内容必须精准、全面、新颖,精准是推荐的内容能真实反映读者的真实需求,帮助读者找到他们所需要的、喜欢的资源,全面是推荐的内容尽量涵盖读者需要的、喜欢的资源,全面反映读者各方面的兴趣点,新颖是推荐的内容能够给读者带来惊喜,甚至是帮助读者发现他们可能感兴趣但是却不容易发现的资源,帮助读者找到他们潜在的兴趣点,提升他们的发现能力,实现个性化推荐的价值。

2.综合性

图书馆个性化推荐服务不仅要推荐传统的馆藏的实体资源,还要把数字资源也纳入到推荐范围,这样就需要有效整合图书管理系统和数字资源管理系统,整合推荐的入口,统一推荐的方式,加强资源的共享,增强个性化服务效应。

同时,在海量的信息资源中,数据形态不再是简单的结构化状态,更多的则是半结构化和非结构化状态,为了更好地为读者提供个性化服务,必须将结构化、半结构化和非结构化的数据都收集起来进行处理,这样才能更好地满足读者对信息资源的需求。

3.时效性

个性化推荐应讲究时效性,系统能够快速响应新的数据和读者行为事件,并及时推荐相关内容,提高读者满意度。

其实个性化推荐系统需要收集、处理、分析的数据来源各异,数据形态多样,数据量庞大,为保证时效性和准确性,推荐系统分为离线分析处理和实时处理两部分,离线部分预先处理海量数据运算量大、耗时长、复杂度高的问题,如计算用户相似度,实时部分进行运算量小、耗时小的计算,如更新读者相似邻居集、生成推荐列表等,为增强实时性,进行计算的数据时间跨度不能太长。

4.差异性

个性化推荐服务应区分一般读者和新读者。

对于一般读者,个性化推荐可以通过技术手段获取数据,将读者与信息相关联,通过读者信息特征提取,将读者与读者相区分,从而达到千人千面的效果。

对于那些尚未在图书馆发生过借阅、下载阅览等行为的新读者,由于缺少相应的历史行为,产生了用户冷启动问题,个性化推荐系统通过收集新读者的基本属性如性别、专业、学历以及填写的兴趣爱好作为个性化推荐的依据。

5.多样性

推送服务是个性化消息的出口,是将个性化推荐内容展示给读者的载体,为满足读者的多样化需求,推送形式也应该是多样的,既有PC端,又有手机端,既有网页展示,又有APP,既有短信,又有邮件,既有IOS,又有Andriod,满足不同读者的不同需求,读者能对推送的内容进行订阅或忽略的选择,充分体现图书馆服务的人性化和个性化。

2.2个性化推荐算法设计

要满足图书馆个性化推荐服务需求,最核心部分在于推荐算法设计,推荐算法直接影响个性化推荐的准确性、精准度。

目前最流行的,也是最成功的就是协同过滤算法,算法原理在于寻找与目标用户相似的用户,根据相似用户的行为为目标用户进行推荐,协同过滤算法有两种,分为基于用户的协同过滤UB-CF和基于物品的协同过滤IB-CF,本文也采用该算法,其基本思想就是通过读者对图书的喜好,挖掘出读者或者图书间的联系,然后基于这些关联性进行图书的推荐,算法步骤是:

首先构建读者-图书偏好矩阵,然后计算读者(图书)的相似性;

最后,通过读者(图书)相似度,形成最近邻居集对读者进行实时推荐。

根据算法关注点不同,笔者在UB-CF和IB-CF基础上,提出了基于读者的协同过滤算法R-CF、基于图书的协同过滤算法B-CF。

2.2.1构建读者-图书偏好矩阵

协同过滤算法依赖用户-项目评分矩阵来计算用户或项目相似性,考虑到现有的图书管理系统没有评分功能,本文采用读者借阅记录构建读者-图书评分矩阵,表示读者与图书的借阅关系,用读者借阅图书的时间长短来表示读者对图书的评分,最后做归一化处理将评分归一到0-10之间。

考虑到读者的阅读习惯、借阅图书的难易程度、图书的字数等因素会对借阅时间长短产生影响,对推荐结果产生误差,因此本文加入读者平均借阅时间、图书的平均借阅时间来定义读者对图书的偏好程度。

Tu_b_borrow_timeTu_average_time+Tb_average_time*10,Tu_b_borrow_time≤Tu_average_time+Tb_average_time

Ru,b=(2-1)

10,Tu_b_borrow_time>

Tu_average_time+Tb_average_time

公式中的Ru,b表示读者u对图书b的评分,Tu_b_borrow_time表示读者u借阅图书b的天数,Tu_average_time表示读者u平均借阅天数,Tb_average_time表示图书b的平均借阅天数。

由于图书馆里的图书种类上千种,图书数量几十万本,读者借阅的只是其中的几十本,这样会造成读者对图书的评分数据较少,影响相似性计算,最终产生不准确的推荐结果,为解决数据稀疏性问题,本文引入中图法,降低读者-图书偏好矩阵的维度,根据读者对一类图书中的每本读书偏好值得平均值作为读者对每一类图书的偏好值,构建读者-图书类别评分矩阵。

Ru,c=b∈cRu,b|N(Ru,b)|

Ruc表示读者u对图书类别c的评分,Ru,b表示读者u对图书b的评分,b表示图书索引号,c表示某一类图书,N(Ru,b)表示读者u对图书b的评分的集合。

2.2.2计算相似度

在读者-图书类别评分矩阵基础上,引入平均评分来计算读者和图书的余弦相似度。

1.读者相似度矩阵计算公式:

simu,v=c∈Iu,vRu,c-Ru(Rv,c-Rv)c∈Iu,vRu,c-Ru2c∈Iu,vRv,c-Rv2

sim(u,v)表示读者u与读者v的相似度,Ru,c表示读者u对图书类别c的评分值即偏好值,Rv,c表示读者v对图书类别c的评分,Iu,v表示读者u和读者v都有评分的图书类别集合,Ru,Rv分别表示读者u,读者v的平均评分值。

2.图书相似度矩阵计算公式:

为解决数据稀缺性问题,本文引入了中图法,所以需要在计算图书类别相似度矩阵的基础上计算图书相似度矩阵,图书类别相似度矩阵计算公式与读者相似度类似。

simi,j=u∈Ii,jRu,i-Ri(Ru,j-Rj)u∈Ii,jRu,i-Ri2c∈Ii,jRu,j-Rj2

sim(i,j)表示图书类别i与图书类别j的相似度,Ru,i表示读者u对图书类别i的评分值即偏好值,Ru,j表示读者u对图书类别j的评分值即偏好值,Rv,c表示读者v对图书类别c的评分,Ii,j表示对图书类别i和图书类别j都有评分的读者集合,Ri,Rj分别表示图书类别i和图书类别j的平均评分值即平均偏好值。

如果图书p和图书q属于图书类别i,那么图书p和图书q的相似度为1,如果图书p和图书q分别属于图书类别i和图书类别j,那么它们的相似度就是图书类别i和图书类别j的相似度,图书p和图书q的相似度计算公式如下:

simp,q=simi,j,p∈i,q∈j1,p,q∈i

2.2.3基于读者的协同过滤算法R-CF

通过读者相似度形成读者最近邻居集,即与读者u兴趣爱好最相似的k个最近邻居的集合Nuk,读者u对候选推荐集中的图书p的偏好值计算公式如下:

Ru,p=Ru+v∈Nuksimu,v(Rv,p-Rv)v∈Nuksimu,v

2.2.4基于图书的协同过滤算法B-CF

通过图书相似度形成图书最近邻居集,即与图书p最相似的k个最近邻居的集合Nuk,读者u对图书p的偏好预测值计算公式如下:

Ru,p=Rp+v∈Nuksimp,q(Ru,q-Rq)v∈Nuksimp,q

2.2.5改进后的混合推荐算法

2.2.6新读者推荐算法

协同过滤算法适合于有大量读者行为数据的情况,对于那些没有任何历史行为的新读者,存在冷启动问题,为此,本文对新读者采用聚类的推荐算法。

通过分析新读者的基本属性如专业、年级、性别以及收集到的新读者偏好,通过K-

3基于Hadoop平台的图书馆个性化推荐系统的实现

从海量的大数据挖掘有效信息并向读者提供高质量的个性化推荐是图书馆个性化推荐系统基本需求,为此,我们需要一个能够并行处理并存储海量数据的平台,云计算技术提出了解决方案,在众多云计算技术中,大数据处理框架Hadoop提供了一个快速、可靠的大数据分析和处理平台黄宜华.深入理解大数据:

大数据处理与编程时间[M].北京:

机械工业出版社,2014

,Hadoop里的HDFS能够实现对海量大数据的高效率的存储,并行计算框架Spark基于mapreduce实现分布式计算。

Hadoop集群环境的搭建,可以根据读者海量的浏览借阅下载数据进行Spark数据挖掘和分析,最后计算出用户和图书之间的相似度,对读者进行个性化推荐。

3.1系统架构

基于上面的分析,本文以Hadoop为大数据分析平台、Spark为计算框架设计了基于Hadoop的图书馆个性化推荐系统,如下图所示。

在图1所示的系统架构中,主要分为数据采集层、数据处理层、数据应用层,分别用于数据收集、数据建模和算法实现、系统应用,算法实现分为离线分析计算和实时计算。

1.数据采集层

图书馆个性化推荐服务的基础是数据的提取,包括来自各业务系统中的读者数据、

图书数据等结构化数据和机器日志等非结构化数据,这两种数据的采集方式不同。

结构化数据采集:

通过ETL(Kettle)工具从图书管理系统、各资源应用系统、一卡通系统等采集读者数据、图书元数据、书目数据、借阅数据,并经过数据清洗、转换,将数据加载到HDFS中。

  非结构化数据采集:

除了结构化数据,系统还需要采集读者访问日志作为个性化推荐算法的数据来源,可以通过Flume收集URL日志等机器数据,然后存储在HDFS中,再编写数据解析模板,通过kafka对外提供数据服务;

外部数据通过爬虫程序获取知网、百度学术、万方等学术库的信息存储到MySQl数据库中,使用ETL(Kettle)工具完成定时调度存储到HDFS中。

HDFS是大规模数据分布式存储管理系统,具有可扩展性、高可靠性和高可用性等特点,为上层应用程序提供一个大数据存储系统。

HBase是建立在HDFS之上的分布式数据库,能对结构化、半结构化、非结构化数据进行实时读写和随机访问柳益君,何胜等.大数据挖掘在高校图书馆个性化服务中的应用研究[J].图书情报工作,2017(5):

23-29.

2.数据处理层

图书馆个性化推荐系统需要及时获取读者的行为事件和新的数据,做出快速响应,所以系统分为了离线分析和实时计算两部分。

离线分析计算进行的是复杂度高、数据量大、耗时长的计算,主要实现推荐算法,对读者浏览、下载、借阅记录进行降噪与转换,采用比MapReduce处理速度更快的Spark,使用SparkSQL,MLlib构建Spark框架用于编码分析与机器学习,预先进行读者行为分析,计算读者-图书评分矩阵、读者及图书相似度、最近邻居集、读者偏爱的图书,并存到内存中。

实时计算需要对读者当前的借阅、下载等行为做出快速响应,通过kafka从Flume中获取读者在最新的行为事件如下载电子资源、借阅图书等,在Storm的Topology中实时读取这些信息,并获取内存中的数据,在离线分析计算基础上做轻量的增量计算,如部分调整该读者的图书评分矩阵并更新该读者的最近邻居集,计算推荐列表。

SPark分布式计算框架的SparkSQL对大数据的支持好,效率高,同时提供了不断改进的MLlib机器学习库,对本文采用的协同过滤机器学习算法支持很好,使用起来非常方便。

Mlib机器学习是数据通过推荐算法构建模型并对模型进行评估,如召回模型,如果评估的性能达到要求,就讲结果推荐给读者,否者就调整算法(如最近邻居值)重新建立模型,再评估,如此循环,最终获得让读者满意的推荐结果。

3.数据应用层

应用层是系统和读者交互的载体,提供的是推荐服务,包括今日推荐、猜你喜欢、读者画像、新用户推荐、推荐评分等服务。

其中,猜你喜欢是基于R-CF、B-CF推荐算法和改进后的协同过滤算法分析以后推荐给读者的推荐列表;

今日推荐展示的是最热门图书推荐列表;

结合资源类别、适用人群以及读者对资源的浏览、借阅、下载、关注和收藏等行为,系统对读者进行画像,从而确定推荐列表。

新用户推荐是针对那些没有任何历史行为的心读者的历史行为,用于解决冷启动问题,首先收集通过中图法收集读者的偏好,根据再结合新读者的基本属性如专业、年级等,将新读者进行分类,为每个类别的新读者确定推荐列表。

同时系统提供了推荐评分模块,让读者对推荐结果进行反馈,重新计算出新的推荐列表。

针对移动时代的使用新习惯,系统根据用户ID等信息融合不同的终端的数据,包括PC端、移动APP、微信,从而做到更加个性化的服务。

在最终的推荐内容展示上,会根据终端的差异选择不同的展示形式。

3.2系统推荐功能的实现

基于Hadoop的图书馆个性化推荐系统的推荐功能的实现,主要是对开源的机器学习框架Spark中的推荐接口SparkSQL,Mlib的实现。

补充:

代码

推荐界面截图

4结束语

在信息爆炸时代,大数据挖掘技术能够准确分析读者对图书、文献等资源的需求,为高校图书馆个性化推荐服务提供了解决方案,将图书馆传统的被动服务模式转变为主动的、个性化的服务模式,对提升图书馆资源利用率、提高读者满意度具有重要意义。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2