首页 理论教育高校图书馆大数据应用模式与实证研究成果

高校图书馆大数据应用模式与实证研究成果

【摘要】:为验证本方案的可行性和推荐性能,实现推荐系统并开展实证研究。按此规则共收集到1万多组数据。针对不同的调和参数α的准确率和多样率的统计结果如图10.15所示。

为验证本方案的可行性和推荐性能,实现推荐系统并开展实证研究。

1.实证数据来源

采用与10.3.4节相同的数据源。

2.软硬件环境

本系统在3个节点的Spark集群上运行,所有节点的配置相同,见表10.10。因为数据计算量非常庞大,系统分为Spark离线计算和Web显示界面系统两大部分。离线计算用于在Hadoop+Spark分布式平台上计算全部文献两两之间的关联权重,构建海量的RDD三元组,并实现排名且保存到数据库中,离线计算需要较长的时间;Web显示界面用于显示推荐结果,能够从上述数据库中直接调用关联结果,达到实时推荐和显示目的。

表10.10 软硬件配置

3.“混合关联”参数分析及选取

“混合关联”中的调和参数α用于调节两类不同关联所占的权重比例,是关键参数。在推荐系统Web界面上,每一次推荐都会产生推荐列表,长度为L。为获取测试数据,规定如下测试规则:在测试者浏览该长度为L的文献列表时,如果认为某条推荐记录是其“感兴趣”的文献,就对该条记录“点赞”,被“点赞”的文献认为是“准确”的推荐。设每次“点赞”的记录条数为N(N<=L),可在系统后台自动收集,用于统计“准确率”和“多样率”。按此规则共收集到1万多组数据。依据公式(5)和(6)计算每一轮推荐的准确率和多样率,求其统计平均值。针对不同的调和参数α的准确率和多样率的统计结果如图10.15所示。

图10.15 “混合关联”调和参数α分析

图10.15 (a)中,随着α的增大,准确率在达到一个峰值后回落,意味着单方面依赖“字符串匹配”或“相似性度量”,准确率都不佳。原因在于当α较大时,在“字符串匹配”过程中,容易受到同名“作者”以及“关键词”歧义而导致的错误匹配,使得准确率反而下降;图10.15(b)中,随着“相似性度量”的权重(1-α)的下降,多样性指标一直下降,说明高权重的“相似性度量”有利于推荐出“多样率”好的文献。另外可以发现,在α=0.5到0.7附近,能够在多样率损失不大的情况下,获得较高的准确率。

4.“混合关联”推荐性能评估

一般而言,为保证实验评估的合理性,参考算法应属于同一类型,并基于相同的测试数据集和在相同的软硬件环境下进行评估。

(1)比较算法的选取。本节方案属基于内容的文献推荐算法,经过调研,选择文献[35]和文献[36]中的算法进行对比,前者提出一种“不依赖用户日志资源的研究论文推荐”算法(Source Independent Framework for Research Paper Recommendation,SIF-RPR),后者提出一种通过论文关键词计算相似度的“基于单一用户历史偏好的论文推荐”算法(Paper Recommender System Based on the Past Ratingsof a User,PRS-PRU),两者都是基于内容的论文推荐算法,具有可比性。三类算法的原理见表10.11。

表10.11 三种算法原理比较

按照10.4.1节所述的基于内容推荐算法的三个步骤,表中给出三种算法所采用的建模方法和技术,可以看出,三种算法主要区别在于:

①建模方法不同。在提取用户感兴趣文献和数据库中文献的特征时,SIF-RPR算法提取篇名和摘要,PRS-PRU仅提取关键词,而HLA-LLR全面提取短文档(作者、关键词)和长文档(篇名和摘要)并进行融合。

②产生推荐列表的流程不同。SIF-RPR是先检索后计算,PRS-PRU和HLALLR都是先计算后检索,两种方式在计算复杂度上有显著差异。

③抽取分词和构建空间向量模型的技术不同。SIF-RPR分别采用n-gram和Noun-phrases提取分词和TF技术建模,而HLA-LLR采用NLPIR分词软件和TF-IDF技术建模。

(2)推荐性能评估及分析:

①文献数据库选择。因为SIF-RPR和PRS-PRU算法均为论文推荐算法,为方便比较,选取如10.3.4节所述的论文数据库(47万多条记录)作为文献数据。

②算法参数及测试环境。根据参考文献[37]的说明,选用在SIF-RPR算法表现最好n-gram搭配TF统计技术的方案参与比较;本节提出的算法HLA-LLR选用当调和参数α=0.6时(此时准确率和多样率相对均衡)的“混合关联”方案;PRS-PRU算法中未涉及重要参数。所有算法的测试软硬件配置见表10.10,评测目标是各推荐算法的准确率和多样率,结果如图10.16所示。

图10.16 推荐性能比较

③评估结果讨论和分析。图10.16(a)和(b)是各算法在全数据集(47万多条数据)条件下,不同长度推荐列表下的准确率和多样率,一般而言,准确率指标反映了推荐列表中符合用户偏好的文献占比的高低,而体现文献两两相异性的多样率在一定程度上与该算法的准确率负相关;随着Top N长度的增加,与用户偏好高相似的论文进入列表的比率稳步提高,因此各算法在整体上均呈现准确率提高而多样率降低的趋势;相对其他两种算法,HLALLR较全面融合论文各种特征,而且在构建空间向量模型时,所采用的TFIDF技术比TF能更准确提取文档特征,使其在准确率和多样率上均表现较好;仅依据关键词特征进行相似度计算是PRS-PRU表现不佳的主要原因。

图10.16 (c)和(d)横坐标轴是参与推荐的论文库的大小,准确率和多样率是在Top N=10条件下的测试结果。随着论文库规模的增加,备选数据更加丰富,各算法的准确率稳步提高,多样率随之降低;HLA-LLR在技术上采用“先计算后检索”方案,能够基于所有文献已产生的两两相似度数值检索并排序,优于SIF-RPR的“先检索后计算”方案,因为SIF-RPR过早通过“字符匹配”检索,可能会导致部分未通过“字符匹配”但文档“空间向量”高相似的论文丢失。需要指出的是,本方案的“先计算后检索”方式在准确率和多样率上表现较好,其代价是需要预先计算文献的两两相似度,计算量非常巨大,对于参与测评的数十万条(105)数据而言,计算总复杂度为O(105×105)=O(1010),其计算耗时也较长,因此该方案只适用于高性能的分布式平台上采用。

5.Spark计算性能评估

(1)Spark分布式计算性能。分布式高性能计算是大数据平台的主要优点之一,Spark可以工作于单节点和多节点(多台服务器联机)等多种模式。如图10.17(a)是在不同模式中Spark的耗时情况,其中横坐标轴表示推荐系统在文献“字符串匹配”关联计算过程中,系统输出的已成功“匹配”的RDD关联三元组数目,数量级为109,反映了计算规模;纵坐标以分钟为时间单位,明显看出,在同等任务下,与单节点比较,二节点的耗时会减少,但是优势不明显,这是因为尽管二节点计算资源(内存和CPU)有了较大提升,但是服务器之间的数据交换需要通过网络传输,网络带宽在一定程度上形成了瓶颈,限制了计算速度。Spark三节点的分布式系统耗时最少且性能提高显著,因为计算资源更加充裕,另外此时Spark系统管理和协调能力更强。

(2)Spark与Hadoop+MapReduce框架比较。MapReduce是较早用于大数据分布式计算的平台,相对于单机系统具有优越的性能。图10.17(b)为三节点分布式系统上Spark和MapReduce的计算时间比较,相比MapReduce,Spark优势较为明显。例如对于输出20×109数量级的RDD三元组计算中,Spark耗时约13分钟,而MapReduce需要约300分钟,为Spark耗时的20多倍。原因在于Spark是基于内存的计算,计算过程的中间结果存储在内存中,避免了与磁盘交换数据的消耗,较大提高了计算性能。值得注意的是,在本次测试中,并未达到Spark官网[38]上宣称的比MapReduce快100倍的效果,原因在于本次测试的数据规模(109数量级)还相对较小,Spark高性能未完全发挥;另外分布式系统中,网络传输带宽也限制了性能的进一步提升。

图10.17 Spark计算性能

6.原型系统及推荐结果

图10.18为推荐原型系统界面,显示为图书和论文的推荐列表。其中虚线框为方便说明所添加。在Web系统开发时,依据“‘混合关联’参数分析及选取”一节的分析,当α的取值为“0.7”“0.6”和“0.1”时,将推荐结果分为“标准”“精确”和“多样”三种类型,如标记①所示。标记②是用户浏览文献“孙建军:图书情报专业学位教育的整体规划与可持续发展”,点击该链接,系统推荐功能激活后的推荐结果,推荐页面只显示了部分列表,其余页面隐藏在滚动条下。标记③是图书推荐结果,标记④和⑤是论文推荐结果。标记③和④与用户所浏览的论文内容具有高相关性,经查证也为孙建军的论文,是“准确率”较高的推荐。标记⑤是图书情报领域其他论文,是“多样化”推荐的结果。另外,界面系统上设计的“点赞”功能,主要用于获取用户反馈,同时也是用于获取“准确率”与“多样率”测试数据的交互接口

图10.18 推荐原型系统界面