刘海鸥 孙晶晶 苏妍嫄 张亚明
〔摘 要〕大数据环境下,推荐系统项目评分的稀疏性问题愈加突出,单兴趣表示方法也难以对用户多种情境兴趣进行准确描述,导致推荐结果精度大大降低。鉴于此,提出一种多情境兴趣表示方法,在此基础上构建面向图书馆大数据知识服务的多情境兴趣推荐模型,通过对用户多情境兴趣的层次划分,利用蚁群层次挖掘的优势来发现目标用户的若干最近邻类簇,然后根据类簇内相似用户对目标项目的评分对未评分项目进行预测,最后结合MapReduce化的大数据并行处理方法来进行协同过滤推荐。实验结果表明,多情境兴趣的建模方法改善了单兴趣建模存在的歧义推荐问题,有效缓解了大数据环境下项目评分的数据稀疏问题,MapReduce化的蚁群层次聚类方法也大大改善了推荐系统的运行效率。
〔关键词〕大数据知识服务;多情境兴趣;蚁群层次聚类;协同过滤推荐
DOI:10.3969/j.issn.1008-0821.2018.06.009
〔中图分类号〕G203 〔文献标识码〕A 〔文章编号〕1008-0821(2018)06-0062-06
〔Abstract〕Under the big data environment,the sparsity problem of recommendation system project becomes more and more serious.In addition,the traditional single interest representation method is difficult to accurately described,resulting in the reduced accuracy of recommendation result.In view of this,this paper put forward with a kind of multiple interest representation based on recommendation model for library big data knowledge service,by dividing the level of user interest more situations,using ant colony level mining advantage to some target users nearest neighbor cluster.According to the cluster within the same user rating to forecast the goal of the project not scored,this paper finally implemented parallel processing method for collaborative filtering with the MapReduce data.The experimental results showed that the modeling method generates new multiple item clustering interest tree by hierarchical partition mechanism,enhanced the mining depth of situational interest,and the MapReduced ant colony clustering method also greatly reduced the overall computation time,significantly improved the efficiency of the recommendation system.
〔Key words〕library big data knowledge service;multi contextual interest;ACO hierarchical clustering;CF recommendation
随着图书馆海量数据服务资源的不断涌现,项目评分稀疏性[1]、信息语义复杂性与多重性[2]问题大大增加了图书馆大数据知识服务个性化推荐系统实现的难度。图书馆大数据知识服务的个性化推荐是将读者兴趣、知识领域等关联信息加工为能够生动描述读者偏好的知识元,由此来支持数字图书馆各种推荐服务,最终为用户提供满足其个性化需求的知识资源。其中,项目评分的稀疏性问题研究已久,在此不详细赘述;信息语义的多重性是指推荐系统中的信息缺乏明确的情境语义,其内容难以进行精准形式化的表示,没有实现对推荐语义的细粒度关联与挖掘,如图书馆推荐词料库中可能潜在的“一词多义”、“多词一义”现象。因此,推荐语料库中语义表达的同义性、相关性、歧义性、可替代性大大降低了图书馆个性化推荐系统的精准性,由此产生许多与现实差距甚远的推荐结果,出现“歧义推荐”问题。
与传统的用户单兴趣表示与挖掘模型相比,用户多兴趣表示模型在传统单语义兴趣建模的基础上,针对兴趣多语义、多样性的特点进行子类划分和描述,以此降低不同子类兴趣特征导致的语义分歧与相互干扰的影响,从而克服单兴趣模型中各兴趣特征主题间的影响问题,提高推荐的准确性。如余力、刘鲁等[3]在探讨用户的多兴趣推荐问题时,提出了融合用户与项目评分的混合协同过滤推荐机制,同时给出了用户的多兴趣表示机制,这也是我国最早对用户多兴趣推荐进行探讨的学术文献,具有较强的理论指导意义,但该种方法难以对邻居用户与待预測项目的相关性进行准确描述。徐红等[4]引入了基于时间的数据阈值、兴趣类型以及用户项目兴趣权值的表达公式,以此探讨用户多兴趣的表征问题。马健等[5]在推荐系统中引入了滑动窗口与渐进遗忘策略,由此提出一种融合多兴趣特征的推荐方法,实验结果表明,该方法可保持对用户兴趣的持续更新,可为用户提供符合其兴趣特征的服务资源。杨长春、孙婧[6]将传统协同过滤方法与用户信任度相结合,建立了用户多面兴趣信任度的协同过滤挖掘模型,但是该模型面临着用户打分积极性不高而可能导致信任评分稀疏的问题。张富国等[7]在探讨多兴趣推荐过程中引入了用户间的信任关系,基于信任视角分析用户多兴趣的协同过滤机制;模型不仅可以基于信任关系抵抗推荐过程中存在的“托”攻击问题,同时还能进一步改善挖掘的性能与推荐的准确性。需要指出的是,融合信任的多兴趣推荐需要对用户间存在的信任关系/信任度进行准确衡量,但大多数研究者采用的实验数据结构难以定量描述用户间的信任关系,因此给多兴趣推荐带来了较大的问题。
鉴于多兴趣建模与多兴趣推荐存在的上述问题,有学者通过研究[8-9]提出了融合情境的多兴趣表示方法与推荐机制,在传统的单兴趣表征模型中引入用户的情境语义信息,基于用户的不同情境对其兴趣类别进行划分,从而解决语义分歧挖掘的问题[10]。如在图书馆推荐系统中,用户检索“苹果”一词,系统给出了《苹果病虫害综合防治》以及《苹果故事:乔布斯的简洁之道》两个截然不同的推荐结果,这是因为检索词的“一词多义”(苹果本身存在“水果”与“电子产品”两种语义)造成的。但如果考虑特定的情境,如在“电子产品类数目”情境类别中进行挖掘时,就能剔除《苹果病虫害综合防治》的推荐结果,从而有效降低了不同类别兴趣间同一语义相互干扰的问题,避免了歧义推荐的发生。基于此,本文针对图书馆推荐系统传统的“用户——兴趣描述”的单语义推荐模型,进一步加大对图书馆用户情境特征关联的情境语义挖掘,提出“用户——情境语义类别——兴趣语义特征”的多级挖掘模式;同时,为解决多兴趣的层次划分以及海量数据下的层次搜索问题,本文在推荐模型中引入了蚁群算法与层次聚类方法,基于此提出一种面向图书馆大数据知识服务的多情境兴趣推荐方法,通过对用户情境兴趣的多层次划分,利用蚁群在搜索路径上遗留的信息素来发现目标用户近邻类簇,利用类簇内其他用户对目标项目的评分来预测未评分项目的评分,以此解决图书馆协同过滤推荐系统面临的数据稀疏以及歧义推荐问题。
1 多情境兴趣的蚁群层次聚类
在面向图书馆大数据知识服务的多情境兴趣推荐过程中,为了获得全局最优的精准推荐结果,本文引入了蚁群层次聚类方法,基于蚁群优化算法对层次聚类进行优化,基于此生成新的项目聚类兴趣树,然后经过蚁群算法的信息素反馈机制进行层次搜索,从而提高多兴趣推荐的精度。
1.1 蚁群算法与层次聚类
聚类是数据挖掘领域的热点关注问题,成功应用于用户行为统计分析、机器学习等相关领域。但是聚类方法也存在其自身的局限性,即在进行层次划分时由于缺乏全局待优化的目标函数而加大选择的难度,退而求其次的局部合并效果难以实现全局聚类的效果。为了保障大数据多情境语义挖掘方法在多层次挖掘过程中获得全局最优的高质量聚类结果,本文在改进过程中引入了蚁群优化与层次聚类算法,提出蚁群多情境语义挖掘方法,对情境语义的层次划分与挖掘机制进行了改进,利用蚁群多路径信息素反馈及其挥发机制来进行全局路径寻优,从而实现全局最优的高质量聚类。蚁群多情境语义挖掘的具体步骤包括:
Step 1:对本文蚁群聚类涉及到的参数进行设置,给定实验的必要条件。
Step 2:对蚂蚁群进行启动。假设初始时刻存在n座城市、h只蚂蚁,蚂蚁根据所经过的觅食路径上遗留下的信息素来选择合适的路径,由此得到的路径转移概率设为pkij(t):
Step 3:对信息素进行更新。如某一时刻蚂蚁实现了一次路径转移,则需对路径上该蚂蚁的信息素数量进行更新,计算公式为:
1.2 蚁群层次聚类方法
1.2.1 距离标准与簇心选择
距离标准与簇心选择是进行蚁群层次聚类的第一步,本文采用广泛使用的欧氏距离来衡量兴趣属性的相似度:
1.2.2 目标函数选择
本文在选择目标函数时主要采用了Chaimontree的内部指标计算方法[11]:
1.2.3 蚁群算法的优化
鉴于蚁群算法会因为启发式信息而导致其收敛速度上升,因此,本文在计算路径选择的转移概率时引入了基于环境效应的信息素以及基于距离的启发式信息:
1.2.4 蚁群层次聚类方法
1.3 算法的Mapreduce化
大数据环境下,蚁群层次聚类在计算过程中具有较高的并行性,当其求解规模较大时,会严重降低蚁群系统的收敛速度,从而影响多情境兴趣的推荐效果以及推荐的实时性。利用Hadoop分布式与跨异构平台优势,可有效提高推荐的深度和精度,保障推荐的实时性。如文献[12]基于MapReduce框架构建了云环境下个性化数字电视节目推荐模型;文献[13]与文献[14]分别提出了MapReduce处理的多文本聚类模型与图书馆个性化服务推荐算法。因此,本文使用云计算MapReduce处理工具对蚁群算法的并行运算进行处理,通过大数据MapReduce并行挖掘机制来改善算法的收敛速度。大数据的并行处理流程为:在推荐系统文件中输入蚁群优化算法的信息素、城市间距离以及其他参数数据,每个又包括两个阶段。在蚁群算法的阶段,在每一个上分配一定数量的蚁群,由此可获取相关的参数数据,经过多次运算得出算法中各个蚂蚁历遍各城市的可行解,将这些可行解作为Map阶段的输出,同时也是Reduce阶段的输入;在Map阶段,更新全局信息素,由此得出最优解并作为该阶段的输出。蚁群算法经过多次的迭代后,可得出算法的最优解。具体而言,MapReduce化的蚁群算法过程如下。
1.3.1 Map阶段
1.3.2 Reduce阶段
接收Map阶段的相关输出,以此作为Map的输入〈key2,value2〉,对蚁群信息素进行更新,并行处理计算得出的最优值和最优解,得出〈key3,value3〉。如〈key3,value3〉满足求解条件,则运算结束,否则继续按照上述步骤循环进行。
2 多情境興趣的蚁群层次聚类推荐
按照前文蚁群层次聚类方法对情境相似的用户进行聚类,聚类结果记为C={c1,c2,…,cn},其中n为聚类的个数。通过聚类,可以得出与目标用户最近的邻类簇,再用类簇内其他用户对目标项目的评分来预测未评分项目的评分,从而进行过滤推荐。
2.1 项目评分预测
3.3 聚类实验
在进行蚁群层次聚类的过程中,鉴于蚁群算法中存在多组不同的参数,为保证聚类效果达到最佳,在运算过程中首先需要调试参数。经过多次对本文蚁群聚类算法进行实验发现,当聚类实验过程中的蚂蚁数量为100,λ取值0.5,且经过1 000次最大迭代次数时,蚁群的聚类效果较为理想,由此得出的偏离误差较小。当蚂蚁数=100时,运算得出的最小偏离误差=28 795,此时的蚁群聚类效果如图1(a)所示。经过进一步的实验,当MIN=19 854,实验的聚类效果达到最佳,如图2(b)所示。
3.4 并行处理的性能分析
为了测试环境下本文多兴趣推荐算法的性能,本部分采用加速比S与相对加速比指标S相对进行实验分析。首先,以用户为单位从该校数字图书馆借阅系统数据库中分别抽取100个用户、200个用户、500个用户和1 000个用户,分别定义为数据集D1、D2、D3、D4,4个数据集中包含了若干种知识服务应用以及用户对服务资源的评分(评分高低不同且评价服务资源的数量也不相同)。算法的聚类个数设定为10个,基于此测试Hadoop环境下上述数据集的并行运行时间,Hadoop运行的节点数量分别选择2、4、6、8四种不同的情况,由此记录下D1~D4数据集在不同数目节点下的运行时间,详见图2所示(横坐标为节点数,纵坐标为加速比)。
从图2的测试结果可以看出,在使用D1测试数据集时,本文推荐模型在Hadoop环境下运行的加速比曲线小于1,且会随着节点数的增加而呈现出先降后升的变化;而当测试数据集为D2~D4时,在节点数量相同情况下,测试得出的加速比S会随着数据量的变大而迅速增长,而在数据量相同的情况下,测试得出的加速比会随节点数的增加而不断上升。为了进一步对比Hadoop环境下不同数目节点对并行計算结果的影响,图3对Hadoop分布式环境下算法执行的相对加速比S相对进行了对比(横坐标为节点数,纵坐标为加速比)。根据图3的比较结果可以看出,在D1数据集情况下,本实验测试出的S相对曲线下降趋势非常明显,而对D2~D4数据集来说,虽然其S相对曲线也呈现出下降的趋势,但随节点数的增加,其S相对曲线的下降趋势趋于平稳。从图3的对比结果还可以看出,在小数据量如D1的测试情况下,推荐模型在Hadoop环境下的运行效率较低,没有很好地体现并行计算的优势,究其原因,主要是Hadoop环境下推荐系统的作业启动时间以及交互时间较长,而真正用于并行计算的时间则相对较短,因此综合在一起的最终运行时间较长,很难体现Hadoop集群并行计算的优势。但随着测试数据量的不断增加,大数据环境下推荐系统用于启动以及交互的时间占比逐步变小,而更多的比例则主要用于系统的并行计算。因此,测试数据集越大(推荐算法处理的数据量越多),本文算法并行计算的速度优势就越明显,推荐系统的并行处理效率也就越高。
3.5 推荐结果分析
为了验证多兴趣推荐方法的推荐性能,本文引入了Item-Based CF、User-Based CF以及Model-Based CF 3种传统的推荐算法与其进行比较[18]。实验过程中,分别赋予了最近邻居(Nearest Neighbors)不同数值,通过对Nearest Neighbors数目的变化对上述3种算法MAE值的变化情况进行比较,最终得出的推荐结果如图4、图5所示。
值逐渐减小,且该值减小的幅度趋于增大;而与Item-Based CF、User-Based CF以及Model-Based CF推荐算法的比较结果也显示,本文算法的MAE值明显小于上述3种传统推荐方法,表明本文推荐算法比传统推荐算法的误差更小,推荐结果更为准确。图5表明,与3种传统推荐算法(Item-Based CF、User-Based CF、Model-Based CF)相比,本文多情境兴趣的图书馆大数据知识服务推荐方法可在较大程度上有效缓解传统CF推荐的数据稀疏性问题,这是因为在大数据环境下,图书馆用户成员评分数据的稀疏性会导致许多用户没有或极少有共同评分的项目,在使用传统的协同过滤推荐算法时,就很难做出有效的挖掘,推荐的准确性大大降低。面向图书馆大数据知识服务的多情境兴趣推荐算法通过对用户情境兴趣进行层次划分,使用改进的层次聚类算法和新的目标函数生成聚类的兴趣树,然后通过蚁群算法中的信息素反馈机制进行层次搜索,由此得出与目标用户最近的邻类簇,再用类簇内其他用户对目标项目的评分来预测未评分项目的评分,因此有效缓解了大数据环境下用户评分数据极端稀疏的问题,取得了较好的推荐效果。
4 结 论
针对大数据环境下协同过滤面临的评分稀疏与单兴趣建模问题,提出一种面向图书馆大数据知识服务的多情境兴趣推荐方法。实验结果表明,本文方法有效解决了单兴趣建模存在的歧义推荐问题,缓解了传统协同过滤推荐的数据稀疏性问题,取得了更低的误差值,MapReduce化的蚁群层次聚类方法也大大提高了系统的运行效率。本文贡献主要包括以下3个方面:①提出一种图书馆大数据知识服务的多情境兴趣模型的表示方法,通过对图书馆用户多情境兴趣的层次划分生成新的项目聚类兴趣树,基于蚁群算法的信息素反馈机制进行层次搜索,以此解决单兴趣建模存在的歧义推荐问题,提高多兴趣推荐的宽度。②本文改进的蚁群层次聚类算法利用蚁群层次挖掘的优势来发现目标用户的若干最近邻类簇,然后根据类簇内相似用户对目标项目的评分预测未评分项目的评分,有效缓解了大数据环境下项目评分的数据稀疏问题,提高了推荐系统的精度。③面向大数据知识服务的蚁群层次聚类求解规模较大,严重影响蚁群系统的收敛速度与推荐系统的实时性,通过处理工具对蚁群算法的并行运算进行处理,大大减小了全局计算时间,显著改善了推荐系统的运行效率。需要指出的是,本文实验部分以某高校数字图书馆数据为例,其借阅系统的数据量还不够大,虽然在一定程度上体现了大数据知识服务的特点,但还难以称得上是真正意义上的大数据。拟在今后的实验中进一步加大数据集的容量,深入分析大数据知识服务并行挖掘与协同推荐背后的内在规律。
参考文献
[1]程芳,沈红岩,赵艳.一种有效缓解数据稀疏问题的协同过滤推荐算法[J].现代情报,2017,37(3):76-79.
[2]韩玺,何秀美,张玥,等.基于语义关联的图书馆移动视觉搜索资源与服务聚合研究[J].现代情报,2017,37(10):3-7.
[3]余力,刘鲁,李雪峰.用户多兴趣下的个性化推荐算法研究[J].计算机集成制造系统,2004,10(12) :1610-1615.
[4]徐红,彭黎,郭艾寅.基于用户多兴趣的协同过滤策略改进研究[J].计算机技术与发展,2011,21(4) :73-76.
[5]马健,杜泽宇,李树青.基于多兴趣特征分析的图书馆个性化图书推荐方法[J].现代图书情报技术,2012,(6) :1-8.
[6]杨长春,孙婧.用户多兴趣信任度的个性化推荐[J].计算机工程与应用,2012,48(32) :80-84.
[7]张富国,徐升华.基于信任的电子商务推荐多样性研究[J].情报学报,2010,29(2):350-355.
[8]陳晶.图书馆大数据知识服务情境化推荐系统[J].图书馆理论与实践,2018,(6):181-187.
[9]张亚明.面向云环境的移动信息服务情景化协同过滤推荐[J].情报学报,2014,33(5):508-519.
[10]蔡肖红,刘培玉,王智昊.基于语境情感消岐的评论倾向性分析[J].郑州大学学报:理学版,2017,49(2) :48-53.
[11]Chaimontree S,Atkinson K,Coenen F.Best Clustering Configuration Metrics:Towards Multi-Agent Based Clustering[C].Proc of the 6th Int Conf Advanced Data Mining and Applications.Chongqing:Springer,LNAI,6440,2010:48-59.
[12]Chin-Feng Lai,Jui-Hung Changa,Chia-Cheng Hu,Yueh-Min Huang,Han-Chieh Chao.CPRS:A Cloud-Based Program Recommendation System for Digital TV Platforms[J].Future Generation Computer Systems,2011,27(6):823-835.
[13]杜秀英.基于聚类与语义相似分析的多文本自动摘要方法[J].情报杂志,2017,36(6):167-172.
[14]何胜,冯新翎,武群辉,等.基于用户行为建模和大数据挖掘的图书馆个性化服务研究[J].图书情报工作,2017,61(1):40-45.
[15]刘海鸥.面向大数据知识服务推荐的移动SNS信任模型[J].图书馆论坛,2014,(10):68-75.
[16]宓翠.融合云环境用户情境兴趣的移动SNS信任推荐模型[J].小型微型计算机系统,2018,38(3):630-634.
[17]刘海鸥.云环境用户情境感知的移动服务QoS混合推荐[J].情报杂志,2016,35(4):183-189.
[18]何军,刘业政,王锦坤.基于社会选择和社会影响的社交网络社群分类与群推荐策略研究[J].现代情报,2018,38(1):92-99.
(责任编辑:郭沫含)