基于云计算平台的图书馆混合推荐技术研究
赵 冉
(河北金融学院,河北保定 071000)
摘 要: 研究基于云计算平台的图书馆混合推荐技术,向不同类型用户精准推荐图书。构建以并行计算框架为计算前提的图书馆混合推荐系统。采用Flume 采集图书馆用户日志信息和图书馆图书数据,将采集到的数据信息传输到Kafka 消息中间件后,向集群中传入集群订阅的数据信息,集群在用户粘稠度较低时采用聚类算法聚类图书馆数据信息,获取聚类中心,依照聚类中心用户读书偏好向目标用户推荐图书。在用户粘稠度较高时,采用基于协同过滤的混合推荐算法分析目标用户阅读偏好,计算目标用户偏好和用户群中用户偏好相似程度,将偏好相似程度作为权值,组合多个权值产生预测评分,通过预测评分推荐图书。经过实验分析发现,该方法推荐精准性最高为99.72%,推荐查准率高于95%,响应时间不超过0.2 s,说明该方法能高效快速地向目标用户推荐图书。
关键词: 云计算平台;图书馆;混合推荐;图书数据采集;数据信息聚类;协同过滤
0 引 言
用户获取图书资源的重要途径是图书馆,随着科学技术的不断发展,图书馆信息服务迎来巨大挑战[1]。在传统图书馆信息服务模式下,所有用户统一使用一个图书馆平台,用户想要获取自己所需图书信息时,只需主动向图书馆平台提交查询请求,图书馆平台通过用户查询请求后用户就可获取需求信息。但是随着信息化的不断发展,高校图书馆信息量不断膨胀[2],导致传统信息服务模式下的用户难以快速发现符合自身偏好的图书信息。在此情况下学者应将研究重点放在图书馆推荐技术上,通过设计较好的图书馆推荐技术及时将符合目标用户偏好的图书推荐给目标用户,且设计的图书馆推荐技术能过滤图书馆中的海量数据,在较短时间内响应目标用户需求[3]。该图书馆推荐技术必须具备处理大数据的能力。经过实际调查分析发现,当前主流内存计算框架是Spark,且处理大数据的能力较好,因此基于云计算平台设计图书馆推荐技术能提升处理大数据的能力和推荐效率[4]。通过云计算平台处理大数据后,应将推荐效果较好的推荐算法融合到云计算平台中,精准快速地向目标用户推荐图书[5]。通过查阅相关文献发现,当前个性化图书馆推荐技术在用户粘稠度较低的情况下,无法精准向目标用户推荐图书[6],因此需在基于云计算平台的图书馆推荐技术中添加混合推荐算法,当用户粘稠度较低时采用基于Spark 的聚类算法推荐图书,当用户粘稠度较高时采用协同过滤算法向目标用户推荐图书。根据上述分析本文研究基于云计算平台的图书馆混合推荐技术,通过该技术弥补当前图书馆推荐技术存在的缺陷,提升推荐图书的质量[7]。
在对土颗粒进行检测的过程中,主要采用筛分实验,并根据实验得到的结果,确定级配参数。在对土料进行检测的过程中,确定其颗粒大小是非常重要的环节,特别是对工程施工中使用的一些颗粒较粗的材料,应对其尺寸进行具体的测量[1]。同时,利用实验检测,对土的组成成分及颗粒大小的界限进行测定。在检测过程中,常用到不同标准的土壤筛,将施工用土进行过筛处理,并利用不同标准筛子对土材料的筛分,获得土材料中不同颗粒的百分比[2]。通常情况下,土壤筛的标准有以下几种:63mm、28mm、20mm、14mm、3.35mm、2.36mm、600μm、以及150μm等。
1 图书馆混合推荐技术
1.1 图书馆混合推荐系统总体架构
基于云计算平台的图书馆混合推荐系统将并行计算框架作为计算前提,依照分布式结构将采集到的数据信息传输到集群,传输过程中采用Kafka 消息中间件传输数据信息,并行化处理数据信息,基于云计算平台的图书馆混合推荐系统框架结构如图1 所示。
图1 图书馆混合推荐系统
Fig.1 Library hybrid recommendation system
从图1 中可清晰明了地观察出基于云计算平台的图书馆混合推荐系统推荐过程。首先,存储收集到的图书馆用户日志和图书馆图书数据,存储位置是本地数据库[8],采用Flume 的Tail 命令观测图书馆用户日志变化规律,采集图书馆用户日志信息和图书馆图书数据[9]。其次,将图书馆用户日志信息和图书馆图书数据传输到Kafka 消息中间件中,采用Kafka 消息中间件将集群订阅的图书馆用户日志信息和图书馆图书数据传输到集群中,创建分布式数据集,依照定义算子和函数预处理分布式数据,根据用户粘稠度采用不同推荐算法计算分布式数据。当用户粘稠度较低时采用聚类算法,当用户粘稠度较高时采用基于协同过滤的混合推荐算法,将推荐结果传输到HBase 数据库中,存储推荐结果。
(二)普法与执法存在脱节,缺乏有效融合。“谁执法谁普法”责任制要求,要“将普法贯穿于执法全过程,渗透于执法各环节”。根据调研的情况来看,大部分单位较为重视责任制的落实,结合各自实际开展了许多形式内容丰富的普法工作,值得肯定。但应该注意到,各级各部门对“谁执法谁普法”责任制的要求认识仍有欠缺,存在单纯为了普法而普法的现象,执法与普法存在脱节,问题有以下四个方面:
光的散射主要是由于光传播所在的介质中存在密度非均匀部分,光束会因介质中微粒的散射作用而改变光束传播的方向,即偏离直线传播;散射导致传播中的光强度严重衰减,从而大大缩减了光的传播距离;散射一般包括瑞利散射、米散射和透明物质的折射所引起的随机过程等类型。
1.2 图书馆混合推荐算法
4)reduceBykey 操作RDD3,计算新聚类中心,同时判断聚类中心收敛性,当聚类中心不收敛时,需继续迭代聚类中心[13],如果聚类中心出现收敛的状况,需依照key 值合并聚类中心。
1.2.1 聚类算法
当用户粘稠度较低时需聚类用户,假定同类用户读书偏好相同,基于聚类结果向目标用户推荐图书。本文采用聚类算法聚类用户[12],将图书馆图书数据划分成多个片区,每个片区大小相同,聚类操作多个片区,合并聚类结果得到最终所需聚类。算法详细步骤如下所示:
为检测本文方法的推荐性能,需研究不同推荐列表长度下本文方法推荐的精准度和多样率,通过精准度表示推荐列表中符合目标用户阅读偏好的图书占有比重,通过多样率表示推荐图书的多样性,研究结果如表1所示。
2)读取map 函数,通过双层并行遗传算法获取聚类中心b 1和b 2,通过获取的聚类中心得到新弹性分布式数据集RDD1。
3)MapToPair 操作原有弹性分布式数据集,通过每个点和聚类中心之间的距离聚类划分原有弹性分布式数据集,得到RDD3。
图书馆混合推荐算法在不同粘稠度的状况下分别采用相应算法推荐图书馆图书。假设用户粘稠度较低,即存在新用户的情况下,应采用聚类算法,假定同类用户具有相同的读书偏好,依照聚类结果向目标用户推荐图书。当用户粘稠度较高时,应采用基于协同过滤的混合推荐算法向目标用户推荐图书,下面详细讨论不同粘稠度下图书馆推荐算法的计算过程。
1)选取近邻用户。假设Di =(y 1,y 2,… ,yj )表示其他用户和目标用户评价向量,当用户m 和目标用户的Dm 之间相似性与既定阈值相符合时,将用户m 当成是目标用户的近邻用户,此时选取用户m 为评分预测的计算用户集。通过Pearson 系统计算用户之间相似程度,相似度计算公式如下所示:
1.2.2 基于协同过滤的混合推荐算法
路上,他如常地看报纸,却不再专心,总是抬头来偷看她,与她对话。她就淡淡地应着,然后她接到他的邀约:晚上一起吃饭。
为检测本文方法的推荐效果,检测本文方法查准率和误判率判断推荐效果,其中,推荐成功图书和推荐图书总数之间的比值表示查准率,推荐失败的图书总数和推荐图书总数之间比值表示误判率。系统统计结果如图2 所示,同时将采用本文方法推荐图书的界面效果用图3 呈现出来。
5)采用filter 函数筛选出需要的聚类中心,依照聚类中心用户读书偏好向目标用户推荐图书。
式中和 分别表示用户y 和用户f 对图书馆中图书的评分均值;zyj 和zfj 分别表示用户y 和用户f 对图书j 的评分;Cyf 表示用户z 和用户f 都评价过的图书集合;sim(y ,f )表示用户y 和用户f 相似度系数。通过上述过程选取目标用户的近邻用户。
2)预测评分。采用全局数值算法预测评分,将上文计算的相似度当成权值,组合多个权值产生预测评分,其计算公式如下所示:
式中:m 表示计算用户集中用户数量;Qyj 表示用户y 对图书j 的预测评分。
综上所述,基于云计算平台的图书馆混合推荐过程是当目标用户登录基于云计算平台的图书馆混合推荐系统后,系统需要判断用户粘稠度,粘稠度较低时,需聚类用户,假定同类用户有相同读书偏好,依照聚类算法获取聚类中心,通过聚类中心中用户读书偏好向目标用户推荐图书;当粘稠度较高时采用基于协同过滤的混合推荐算法,寻找近邻用户,采用评分向量计算用户相似性,预测评分,依照预测评分结果向目标用户推荐图书[15]。
同时将推荐结果传输到集群的核心组件中,分析计算推荐结果数据和备份推荐结果数据的同时向目标用户推荐图书,将最终推荐结果存储到HDFS 分布式文件系统中,Web 服务器可随时访问HBase 数据库和HDFS分布式文件系统中的推荐数据信息。基于云计算平台的图书馆混合推荐系统能够实现多种功能,包括分析用户日志数据、推荐图书、实时备份数据等功能[10]。分布式并行化处理显式反馈和隐式反馈的数据,其中显式反馈数据指的是用户收藏和属性特征等用户行为,隐式反馈数据指的是在某图书上用户消耗的时间或者搜索图书类别等数据。依照计算的推荐结果将图书馆中图书推荐给目标用户,目标用户可采用Web 网页访问该推荐系统[11]。该系统中最为重要的是图书推荐算法,根据用户粘稠度采用相应图书推荐算法推荐图书。
2 实验验证
为验证本文基于云计算平台的图书馆混合推荐技术的性能,需采用Windows XP 系统,双核CPU 1.85 GHz和4 GB 内存的计算机,本次实验的测试数据为某高校图书馆读者借阅图书数据。
2.1 推荐效果
当用户粘稠度较高时,采用基于协同过滤的混合推荐算法分析用户阅读偏好,在用户群中筛选出与目标用户阅读偏好较为一致的用户,采用近邻用户产品评价信息数据计算目标用户对图书馆的预测评分,通过预测评分数据探析目标用户对图书馆中某类图书的需求程度[14],根据需求程度的高低向用户推荐相应的图书馆图书。基于协同过滤的混合推荐算法过程主要包括以下两个步骤:
图2 统计结果
Fig.2 Statistical results
图3 推荐界面
Fig.3 Recommended interface
从图2 中可以看出,随着用户评价图书数目的不断增加,本文方法推荐的查准率逐渐上升,误判率逐渐下降,且本文方法推荐查准率不低于95%,说明本文方法查准率较高,本文方法推荐效果较好。
从图3 中的推荐界面可以看出,采用本文方法后用户能够清晰明了地从推荐界面中看到推荐图书,简单快速地寻找自身感兴趣图书,目标用户可从界面中观察推荐图书的推荐分值,选取自己感兴趣的图书,降低搜寻时间。
2.2 推荐性能评估
1)通过Flume 采集图书馆图书数据,创建弹性分布式数据集RDD。
表1 本文方法推荐性能
Table 1 Recommending performance of this method
由表1 可得本文方法推荐精准性和图书两两相异性多样率之间呈反比,随着推荐列表长度的增加,与目标用户阅读偏好较为一致的图书进入列表比重会逐步上升,方法精准性会显著上升,多样性会显著降低,且方法推荐精准性最高,最高数值为99.72%,推荐性能较好。
该模式以石头为主要建筑材料,修筑跌水、谷坊和护岸等主体工程,稳固沟道。在此基础上,布设植物措施,恢复沟道植被。
2.3 运行情况
为验证本文方法在计算机中的运行情况,检测用户量不同情况下本文方法的响应时间、内存使用情况和CPU 使用情况,通过SAS 绘图软件显示检测结果,如图4所示。
论习近平总书记关于人民幸福重要论述的时代价值…………………………………………郭曰铎,张荣华(4,76)
在“1.3.6”条件下绘制标准曲线为 Y=2.0×106X-15 721 (R2=0.999 6)。 表明橙皮苷进样量在 0.30~2.25 μg 呈良好的线性关系。
图4 本文方法运行情况
Fig.4 Operating status of this method
从图4 可看出,随着用户人数的增加,采用本文方法向目标用户推荐图书馆的响应时间逐渐增加,且内存使用情况和CPU 使用情况也随着用户人数的增加而不断增加,但是从总体上看,采用本文方法向目标用户推荐图书后计算机的内存使用情况和CPU 使用情况不超过60%,本文方法响应时间不超过0.2 s,即本文方法推荐时间较短,且采用本文方法向目标用户推荐图书的整个过程中较少使用CPU,占有内存较小,说明本文方法响应时间快,能够节省计算机内存空间。
3 结 论
当前图书馆中含有海量图书信息,基于云计算平台的图书馆混合推荐技术能够快速有效地从图书馆中采集到所需图书馆用户日志信息,依照用户粘稠度采用相应算法向目标用户推荐图书。本文方法充分考虑用户粘稠度,弥补当前个性化图书馆推荐技术无法向粘稠度较低的用户推荐图书的缺陷,经过实验分析发现,本文方法推荐精准度高,可将本文方法应用到实际的图书馆推荐中。
许沁一直矛盾着,几次都动摇了想要回钻戒,几次又否定了这念头。抛光生意做十来年了,少缴税金何止二十万,税务风险像把利刃,一直悬在她头上。如今好不容易靠上了葛局长这座山,无论如何不能倒了。想这次送礼虽然倒贴了,但葛局长必定心中有数,日后税务方面的事全仗他了。许沁也忖度了要回钻戒的后果,哪怕是换一款稍便宜的钻戒,情形都可能截然相反。一是靠山从此倒了,别人还会说许沁过河拆桥;二是能否要回钻戒,许沁并没把握。虽说送葛局长钻戒时,许沁悄悄打开了录音笔,但谈话时只提钻戒,未提价格。葛局长随便还个三两万的钻戒,又能奈何?
参考文献
[1]宋维维,夏绍模,李赞.基于大数据处理平台的图书馆智慧服务探索与实践[J].情报科学,2018,36(6):45-49.SONG Weiwei,XIA Shaomo,LI Zan.Exploration and practice of library wisdom service based on big data processing platform[J].Intelligence science,2018,36(6):45-49.
[2]曾志强,何小东,王颖,等.基于Hadoop 和Spark 的森林火灾混合大数据分析系统研究[J].世界林业研究,2018,31(2):55-59.ZENG Zhiqiang,HE Xiaodong,WANG Ying,et al.Research on mixed big data analysis system of forest fire based on Hadoop and Spark [J].World forestry research,2018,31(2):55-59.
[3]车宝真,蔚承建,万夕里,等.基于平台的心电大数据分析处理[J].计算机工程与设计,2018,39(1):108-114.CHE Baozhen,WEI Chengjian,WAN Xili,et al.ECG data analysis and processing based on platform [J].Computer engineering and design,2018,39(1):108-114.
[4]牛振东,王帅,王诗航,等.新闻事件的分布式混合推荐算法[J].北京理工大学学报,2017,37(7):721-726.NIU Zhendong,WANG Shuai,WANG Shihang,et al.Distributed hybrid recommendation algorithm for news events [J].Journal of Beijing Institute of Technology,2017,37(7):721-726.
[5]许明杰,蔚承建,沈航.Spark 并行化基于物品协同过滤算法[J].计算机工程与设计,2017,38(7):1817-1822.XU Mingjie,WEI Chengjian,SHEN Hang.Item-based collaborative filtering algorithm on Spark parallelization [J].Computer engineering and design,2017,38(7):1817-1822.
[6]代明竹,高嵩峰.基于Hadoop、Spark 及Flink 大规模数据分析的性能评价[J].中国电子科学研究院学报,2018,13(2):149-155.DAI Mingzhu,GAO Songfeng.Framework performance evaluation based on Hadoop,Spark and Flink large-scale data analysis[J].Journal of the China Academy of Electronic Sciences,2018,13(2):149-155.
[7]戚荣志,王志坚,黄宜华,等.基于Spark 的并行化组合测试用例集生成方法[J].计算机学报,2018(6):1284-1299.QI Rongzhi,WANG Zhijian,HUANG Yihua,et al.Generating combinatorial test suite with Spark based parallel approach[J].Journal of computer science,2018(6):1284-1299.
[8]王磊,邹恩岑,曾诚,等.基于Spark 的大数据聚类研究及系统实现[J].数据采集与处理,2018,33(6):1077-1085.WANG Lei,ZOU Encen,ZENG Cheng,et al.Research and implementation of big data clustering based on Spark [J].Journal of data acquisition and processing,2018,33(6):1077-1085.
[9]胡德敏,龚燕.基于Spark 的混合推荐算法研究[J].计算机应用研究,2017,34(12):3585-3588.HU Demin,GONG Yan.Research on hybrid recommendation algorithm based on Spark technology [J].Application research of computer,2017,34(12):3585-3588.
[10]王源龙,孙卫真,向勇.基于Spark 的混合协同过滤算法改进与实现[J].计算机应用研究,2019,36(3):222-227.WANG Yuanlong,SUN Weizhen,XIANG Yong.New improvement and implementation of hybrid collaborative filtering algorithm based on Spark platform [J].Application research of computer,2019,36(3):222-227.
[11]杨娟,张鹏业.基于Spark 的UCSLIM 推荐算法研究及实现[J].北京邮电大学学报,2016,39(z1):37-41.YANG Juan,ZHANG Pengye.Design and implementation of parallel UCSLIM algorithm based on Spark [J].Journal of Beijing University of Posts and Telecommunications,2016,39(S1):37-41.
[12]曹健,张俊杰,李海生,等.基于Apache Spark 的海量图像并行检索[J].计算机应用,2018,38(z2):183-186.CAO Jian,ZHANG Junjie,LI Haisheng,et al.Distributed retrieval for massive images based on Apache Spark [J].Journal of computer applications,2018,38(S2):183-186.
[13]顾荣,王善永,郭晨,等.基于Spark 的大规模语义规则后向链推理系统[J].中文信息学报,2018,32(3):120-134.GU Rong,WANG Shanyong,GUO Chen,et al.Large scale semantic rule-based backward chaining reasoning on Spark[J].Journal of Chinese information,2018,32(3):120-134.
[14]叶璐,董增寿.基于Spark 的改进关联规则算法研究[J].电子技术应用,2017,43(6):126-129.YE Lu,DONG Zengshou.An improved algorithm of association rules based on the Spark [J].Application of electronic technique,2017,43(6):126-129.
[15]刘扬.基于质量的学术文献混合推荐模型研究[J].情报理论与实践,2015,38(2):17-22.LIU Yang.Research on mixed recommendation model of academic literature based on quality [J].Intelligence theory and practice,2015,38(2):17-22.
Research on library hybrid recommendation technology based on cloud computing platform
ZHAO Ran
(Hebei Finance University,Baoding 071000,China)
Abstract: The library hybrid recommendation technology based on cloud computing platform is studied in this paper to recommend books precisely to different types of users.A library hybrid recommendation system taking parallel computing framework as calculation precondition is constructed.Flume is used to collect library user log information and library book data.The collected data information is transmitted to Kafka message middleware,and then the cluster subscribing data information is transmitted to the cluster.When the user consistency is low,the cluster uses clustering algorithm to cluster the library data information,obtain clustering centers,and recommend books to target users according to the reading preferences of users in clustering center.When the consistency of users is high,a hybrid recommendation algorithm based on collaborative filtering is adopted to analyze target users′ reading preferences and calculate the similarity between target users′ preferences and user preferences in user groups.The preference similarity is taken as weight to combine multiple weights to generate predictive scores.Books are recommended according to the predictive scores.The experimental analysis results show this method′s recommendation accuracy can reach to 99.72%,the recommendation precision ratio is higher than 95%,and the response time is no more than 0.2 s,which indicate that the method can recommend books to target users efficiently and quickly.
Keywords: cloud computing platform;library;hybrid recommendation;book data acquisition;data information clustering;collaborative filtering
中图分类号: TN99-34;TP302
文献标识码: A
文章编号: 1004-373X(2019)23-0145-05
DOI: 10.16652/j.issn.1004-373x.2019.23.031
收稿日期: 2019-05-13
修回日期: 2019-05-30
作者简介: 赵 冉(1981—),女,河北正定人,副研究馆员,研究方向为图书信息情报。
标签:云计算平台论文; 图书馆论文; 混合推荐论文; 图书数据采集论文; 数据信息聚类论文; 协同过滤论文; 河北金融学院论文;