黄杰1,杨淇深1,何相达1,何琛1,2
1.湖南科技学院 电子与信息工程学院 湖南永州 425100;2.湖南科技学院 计算机应用研究所 湖南永州 425100
摘 要:阐述了图书个性化推荐在图书馆服务中的重要性,分析了主流的协同过滤推荐算法的两种方法,结合图书馆图书推荐特点设计基于用户协同过滤算法,并提供了协同过滤算法在图书推荐中的详细思路,最终实现了图书馆图书个性化推荐,为图书馆服务师生发挥了重要作用。
关键词:图书馆;个性化推荐;协同过滤
1 引言
图书馆作为高校师生获取信息资源的重要机构,肩负着为广大师生提供资料查询的服务。然而,在海量的信息中,师生们想要便捷高效获取自己所需的资料信息绝非易事,师生们迫切需要经过筛选与处理后的有用的、及时的信息[1]。
随着互联网、移动端设备的快速发展,移动图书馆服务进入了新的阶段。用户在任意地点、任意时间,通过手机可以随时检索所需要的资源,即任何地点、任何时间获取个性化的图书馆内容。图书馆个性化推荐主要是在图书馆管理系统基本功能的基础上,使得用户找到尽可能多的兴趣点,来大大提高图书的利用率,不会让图书馆中书本大部分是藏在馆里,少部分被使用。它不但会找出来所有用户共同兴趣的共同性信息,也会去重视每个用户的独特的感兴趣的个性信息[2]。
2 协同过滤推荐算法
协同过滤算法的逻辑是对用户推荐那些跟他具有相似兴趣的用户喜欢过的商品,比如你的朋友喜欢文学方面的书,那么就会把文学方面的书推荐给你,这是最简单的基于用户的协同过滤算法,还一种是基于物品的协同过滤算法,根据你的历史浏览记录,来推荐跟你以前浏览过的同类或类似的图书。
协同过滤算法的实现原理是将所有<用户,物品>的行为对做聚合,利用集体智慧做推荐。其原理很像朋友的推荐,比如通过对用户喜欢的物品进行分析,发现用户A和用户B很像(他们都喜欢差不多的东西),用户B喜欢了某个物品而用户A没有喜欢,那么就把这个物品推荐给用户A。
(1)基于用户的协同过滤推荐方法
基于用户的协同过滤推荐通过计算用户之间的相似度,然后找到与目标用户兴趣相似的用户,并选择与其最相似的前N个用户,最后从N个用户的借阅图书集合中的找到用户喜欢的目标用户[3]。
(2)基于内容的协同过滤推荐方法
基于内容的协同过滤推荐通过计算图书之间的相似度,然后找到与目标图书相似的若干相邻用户,最后综合图书相似度和用户的历史借阅行为为用户生成图书推荐列表。
3 协同过滤推荐实现
3.1 基于用户借阅历史协同过滤
基于用户借阅历史的协同过滤算法,基本思想是如果一些用户对某些书籍的喜好度类似,那么说明用户有相同兴趣的联系,将用户之间不相同的书籍彼此分享,接受概率会大大地增加。基于用户借阅历史的协同过滤原理图如图1所示。
由上可知,UB-CF主要包括以下两个步骤:
(1)通过目标用户的借阅历史找到其它相似用户集合;
(2)通过相似用户集合,找到目标用户可能喜欢的且没有借阅过的推荐书籍集合。
第一步,找到与目标用户的相似用户集合。我们可利用用户的借阅历史来计算用户相似度。给定目标用户u和用户v,N(u)代表的是用户u的所有借阅历史并且根据时间升序排序,N(v)代表用户v的借阅历史集合。对ai进行求和表示的是根据目标用户的借阅书籍时间长短来标识评分的高低,近段时间的书籍评分最高。因此,我们在计算用户u和用户v的兴趣相似度的时候,在jaccard公式基础上乘以100后再引入一个表示目标用户借阅时间的小数,得到一个double小数。最终,用户兴趣相似度计算如公式1所示。
第二步是在得到用户之间的兴趣相似度矩阵后,在与目标用户兴趣最相似的K个用户中,推荐他们中喜好度最高的图书给目标用户。在如下公式中,S(u,k)表示和目标用户u兴趣相似度最高的K个用户集合,N(i)表示借阅过图书的用户集合,Wuv表示目标用户u和用户v的相似程度的评分值。用户u对物品i偏好度计算如公式2所示。
3.2 基于用户借阅历史协同过滤推荐实现步骤
基于用户借阅历史协同过滤算法实现主要可分成以下三步:
(1)获取指定用户(假设为u用户)的按借阅时间升序排列的借阅历史记录;
(2)如果其它用户跟u用户有相同的借阅书本,那么获取它的所有借阅记录;
(3)将所有的借阅记录变成二维数组,用户为每行,书本为每列,建立对应关系,如果此用户借阅过此书,自增1,用户矩阵相似度如表1所示。其它用户的评分根据用户兴趣相似度公式评分。评分越高,用户的兴趣相似度也越高。
(4)以用户矩阵相似度为基础,建立另一个以其它用户为行和本用户未借阅书本为列的二维数组,评分则根据用户u对物品i偏好度公式,图书偏好度评分P(u,i)如表2所示。根据以下图书偏好度P(u,i)数字推荐目标用户前N本书籍。
-
表2图书偏好度
4 结束语
图书馆作为高校师生重要的资源获取渠道,而往往库存的图书资源量非常多,因而如何能够为师生提供有效的图书推荐变得非常重要。协同过滤推荐作为一种经典而有有效的推荐算法,能够通过用户之间的兴趣建立关系,从而为不同的用户推荐非常贴合的图书,减少用户因检索图书而花费不必要的时间。本文采用基于用户的协同过滤算法,实现了图书馆的图书个性化推荐,提高了图书馆服务师生的效率。
[参考文献]
[1]范维,范兴平.高校图书馆服务教学科研的思考[J].科技与创新,2018(23):84-85.
[2]张丙奇.基于领域知识的个性化推荐算法研究[J].计算机工程,2005,31(21):7-10.
[3]王连喜.一种面向高校图书馆的个性化图书推荐系统[J].现代情报,2015,35(12):41-46.
基金项目:湖南科技学院2018年校级大学生研究性学习和创新性实验计划项目(湘科院教发[2018]32号)
作者简介:黄杰(1999-),男,汉族,湖南郴州,湖南科技学院电子与信息工程学院本科学生
通讯作者:何琛(1990-),男,汉族,湖南衡阳,硕士研究生,讲师,研究方向为分布式人工智能,湖南科技学院电子与信息工程学院专任教师。