首页> 中国专利> 一种面向高校图书馆的图书个性化推荐方法和系统

一种面向高校图书馆的图书个性化推荐方法和系统

摘要

本发明公开了一种面向高校图书馆的图书个性化推荐的方法,解决高校图书馆现有的图书推荐算法中大规模数据存储和查询、可扩展性及推荐效果差的问题,其基本思路如下:首先将图书馆内的读者和图书等作为节点,构建图模型;其次,将读者的操作日志文件转化为读者‑图书类别偏好矩阵,和读者个人信息矩阵一起计算读者间的相似度,并把这些操作和挖掘出的信息作为边构建关联图谱;其次,将关联图谱和谱聚类相结合,提出了一种新的图书个性化推荐模型,计算得到关于读者的类簇分布;最后,当需要进行图书推荐时,在该读者对应的类簇中根据协同过滤算法计算出推荐图书列表。

著录项

  • 公开/公告号CN106202184A

    专利类型发明专利

  • 公开/公告日2016-12-07

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201610481556.6

  • 发明设计人 周可;李春花;吕丹阳;

    申请日2016-06-27

  • 分类号G06F17/30(20060101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人朱仁玲

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-06-19 01:07:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-31

    授权

    授权

  • 2017-01-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160627

    实质审查的生效

  • 2016-12-07

    公开

    公开

说明书

技术领域

本发明属于机器学习技术领域,更具体地,涉及一种面向高校图书馆的图书个性化推荐方法和系统。

背景技术

在各高校的日常学习生活中,图书馆不管是在学生间还是教师间都扮演着重要的角色,学生们和老师们查找文献或学习资料等都离不开图书馆的帮助。但是随着现代信息爆发式增长,高校图书馆内的藏书数量集已突破百万,虽然数字图书馆等现代化技术在一定程度上缓解了这个问题,但读者即使通过关键字进行搜索,也需要在众多搜索结果中进行浏览、筛选,而且很多情况下读者并不清楚自己的目标图书是什么,面对诸如这些问题,个性化图书推荐系统运用而生。

目前的研究仍然以采用关系型数据库进行数据存储为主,在大规模数据下进行遍历查找时需要通过外键关联多张表进行存储和查找,操作上都比较复杂。针对高校图书馆下的图书推荐多采用协同过滤推荐算法,通过寻找最近邻,产生推荐图书,但是它具有可扩展性差、评分矩阵极度稀疏、新用户“冷启动”等问题。针对可扩展性差的问题,当前的研究趋势是将推荐算法与聚类算法进行融合,在线下对读者或者图书进行聚类,来减少推荐时的计算规模,多使用K-means或其改进的聚类算法,但K-means也有很多方面的不足。为了解决稀疏度问题,目前多采用基于填充的伪评分矩阵进行计算,比如使用读者评分的中位数进行填充,但在高校图书馆场景下,用户对各图书的评分波动很小,该方法会减少用户的个性信息,对推荐结果的改善有限。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供了一种高校图书馆图书推荐方法和系统,其目的在于,解决现有高校图书馆内存在的数据存储和查找复杂的技术问题、以及现有图书推荐算法中存在的扩展性差、评分矩阵极度稀疏和新用户的“冷启动”问题,并提高图书推荐的质量。

为实现上述目的,按照本发明的一个方面,提供了一种面向高校图书馆的图书个性化推荐方法,包括以下步骤:

(1)对高校图书馆的源数据进行数据清洗,以提取出其中的元数据,并将该元数据导入到图数据库中;

(2)将图数据库中的元数据转化为读者对图书的喜好分数;

(3)根据步骤(2)获得的读者对图书的喜好分数计算读者对各图书类别的偏好程度P,多个偏好程度组成读者-图书类别偏好矩阵。

(4)根据元数据中的读者信息建立对应的读者个人信息矩阵,其中矩阵中的行表示不同的读者,列表示读者的属性;

(5)根据步骤(3)生成的读者-图书类别偏好矩阵和步骤(4)建立的读者个人信息矩阵计算读者间的相似度,并将计算得到的该读者间的相似度作为读者与读者之间的关联边插入关联图谱,从而在关联图谱中形成了基于读者相似度的无向带权图;

(6)使用谱聚类算法对步骤(5)中得到的关联图谱中的读者节点进行聚类,以得到读者与聚类类别之间的关系,其中步骤(5)中形成的无向带权图作为聚类过程的输入;

(7)根据步骤(6)得到的读者与聚类类别之间的关系生成推荐图书。

优选地,元数据包括读者信息、图书信息、图书类别信息、以及读者的日志属性信息。

优选地,步骤(2)具体为,根据元数据构造关联图谱,关联图谱中读者、图书和图书类别视为关联图谱中的一个节点,喜好分数Sbook作为读者和图书之间的边,图书所属关系作为图书和图书类别之间的边,其中喜好分数Sbook是通过对各种图书操作进行加权求和得出。

优选地,步骤(3)具体为,在步骤(2)建立的关联图谱上,查询得到读者A-图书-图书类别这条路径上的节点和边,然后使用公式计算读者A对各图书类别的喜好分数Scatagory,其中n为读者A在某图书类别下有执行操作的图书数量,最后使用公式P=Scategory/读者A的全部评分,以生成读者-图书类别偏好矩阵。

优选地,步骤(5)具体为,首先使用夹角余弦算法计算读者-图书类别偏好矩阵中读者间的相似度Sreader-category,然后使用夹角余弦算法计算读者个人信息矩阵中读者间的相似度Spersonal,最后将相似度相似度Sreader-category和相似度Spersonal加权求和,从而得出读者间的相似度Sreader-reader,将其作为读者与读者之间的关联边插入关联图谱。

优选地,步骤(6)包括如下子步骤:

(6.1)使用步骤(5)中形成的无向带权图作为聚类过程的输入;

(6.2)读取关联图谱中所有读者与其它读者之间的相似度,并根据该相似度建立谱聚类输入矩阵W和度矩阵D,其中W矩阵和度矩阵D都是q阶方阵,q表示所有读者的数量,度矩阵D的对角线元素为每位读者在关联图谱中的度数,并根据公式L=D-W构造规范化拉普拉斯矩阵L;

(6.3)对规范化拉普拉斯矩阵L进行特征分解,以获取前k个特征值对应的特征向量Vector1,Vector2,...,Vectork,其中k表示预先设定的类簇数目,将特征向量Vector1,Vector2,...,Vectork按特征值从小到大的顺序组成矩阵V;

(6.4)使用K-means聚类算法对矩阵V进行聚类,以得到聚类结果Cluster1,Cluster2,...,Clusterk,并根据聚类结果中每一行所属的类簇确定关联图谱中各读者分别所属的类别,即聚类类别;

(6.5)将步骤(6.4)得到的聚类类别作为实体节点写入关联图谱中,从而得到读者与聚类类别之间的关系。

优选地,步骤(7)包括如下子步骤:

(7.1)根据步骤(6)得到的读者与聚类类别之间的关系查找关联图谱中与该读者A属于同一类别的其他读者集合R={读者1,读者2,...,读者t-1},其中t表示该类别下的所有读者数量;

(7.2)在读者集合R中使用夹角余弦算法计算读者A和其他所有读者之间的相似度,选取相似度最大的u个读者,作为读者A的近邻集合,其中u为正整数;

(7.3)查询读者A的近邻集合中看过的所有图书集合B={图书1,图书2,...,图书y},其中y表示近邻集合中看过的所有图书的数量,利用评分预测算法计算读者A对所有图书集合B中各图书的预测喜好分数P;

(7.4)根据步骤(7.3)中得到的预测喜好分数对所有图书集合B进行排序,并取预测喜好分数最高的前C本图书作为最终结果推荐给读者,其中C为正整数。

优选地,步骤(7-3)是使用以下公式:

PA,I=SbookA+ΣrRSreader-readerA,r×(Sbookr,I-Sbookr)ΣrRSreader-readerA,r

其中I表示B集合中的图书条目,表示读者A对其操作过的图书的平均喜好分数,表示读者r对其操作过的图书的平均喜好分数,表示读者A与其近邻读者n之间的相似度,表示读者r对图书I的喜好分数。

按照本发明的另一方面,提供了一种面向高校图书馆的图书个性化推荐系统,包括:

第一模块,用于对高校图书馆的源数据进行数据清洗,以提取出其中的元数据,并将该元数据导入到图数据库中;

第二模块,用于将图数据库中的元数据转化为读者对图书的喜好分数;

第三模块,用于根据第二模块获得的读者对图书的喜好分数计算读者对各图书类别的偏好程度P,多个偏好程度组成读者-图书类别偏好矩阵。

第四模块,用于根据元数据中的读者信息建立对应的读者个人信息矩阵,其中矩阵中的行表示不同的读者,列表示读者的属性;

第五模块,用于根据第三模块生成的读者-图书类别偏好矩阵和第四模块建立的读者个人信息矩阵计算读者间的相似度,并将计算得到的该读者间的相似度作为读者与读者之间的关联边插入关联图谱,从而在关联图谱中形成了基于读者相似度的无向带权图;

第六模块,用于使用谱聚类算法对第五模块中得到的关联图谱中的读者节点进行聚类,以得到读者与聚类类别之间的关系,其中第五模块中形成的无向带权图作为聚类过程的输入;

第七模块,用于根据第六模块得到的读者与聚类类别之间的关系生成推荐图书。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明提升了推荐系统中数据访问查找的速率:由于采用了步骤(1)和步骤(4),底层使用图数据库进行存储,在此基础上建立关联谱图,使得通过关系查找节点或者通过节点查找边更加的快捷,对图谱的遍历操作也要优于传统的关系型数据库。

(2)本发明解决了高校图书馆场景下评分矩阵稀疏的问题:由于采用了步骤(2)将传统稀疏的读者-图书评分矩阵转化为较为密集的读者-图书类别偏好矩阵,从而降低了矩阵的极度稀疏性对相似性计算的影响。

(3)本发明在现有基于聚类的协同过滤算法的基础上,采用谱聚类算法对读者节点进行聚类,相对于传统的基于K-means或其改进算法下的推荐算法,聚类结果收敛于全局最优,效果更好,且时间复杂度更低。

(4)本发明解决了高校图书馆场景下新用户的“冷启动”问题:由于采用步骤(3),即使是新用户,根据其个人信息同样可以找到最近邻用户,对其进行图书推荐,从而解决了新用户的“冷启动”问题。

附图说明

图1是本发明面向高校图书馆的图书个性化推荐方法的流程图;

图2是本发明实施例中关联图谱的示意图;

图3是本发明实施例中读者-图书类别矩阵的示意图;

图4是本发明实施例中读者个人信息类别矩阵的示意图;

图5是本发明实施例中对读者节点聚类的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,本发明面向高校图书馆的图书个性化推荐方法包括以下步骤:

(1)对高校图书馆的源数据进行数据清洗(主要包括删除错误数据、无关的冗余信息和处理不完整的数据等操作),以提取出其中的元数据,并将该元数据(其包括读者信息、图书信息、图书类别信息、以及读者的日志属性信息)导入到图数据库中。

具体而言,元数据的格式是:读者{编号、姓名、学院、类型};图书信息{编号、作者名称、图书名称};图书类别{编号、类别名称};日志属性{图书预约次数、图书归还次数、图书借出次数、图书续借次数、图书在馆内阅读次数}。

(2)将图数据库中的元数据转化为读者对图书的喜好分数;

具体而言,本步骤首先根据元数据构造关联图谱,关联图谱中读者、图书和图书类别视为关联图谱中的一个节点,喜好分数作为读者和图书之间的边,图书所属关系作为图书和图书类别之间的边;

高校图书馆场景下缺少读者对图书的评分信息,因此使用读者的日志属性信息对图书进行隐式打分,通过对各种图书操作(包括图书预约、图书归还、图书借出、图书续借、图书在馆内阅读)进行加权求和得出读者对图书的喜好分数Sbook,根据各操作对读者喜好的贡献程度不同赋予权重,在本发明中,图书预约操作、图书归还操作、图书借出操作、图书续借操作、图书在馆内阅读操作依次所赋权值为:0.1、0.1、0.4、0.2、0.2,最后将喜好分数作为读者和所操作图书之间的边存入关联图谱中。

(3)根据步骤(2)获得的读者对图书的喜好分数计算读者对各图书类别的偏好程度P,多个偏好程度组成读者-图书类别偏好矩阵。例如,如果需要计算读者A对某个图书类别的偏好程度,首先在步骤(2)建立的关联图谱上,查询得到读者A-图书-图书类别这条路径上的节点和边;然后使用公式(其中n为读者A在某图书类别下有执行操作的图书数量)计算读者A对各图书类别的喜好分数Scatagory,最后使用公式P=Scategory/读者A的全部评分,生成读者-图书类别偏好矩阵,如图3所示。

本步骤的优点在于,将原本极度稀疏的q*q维读者-图书矩阵(其中q表示所有读者的数量)转化为相对密集的q*m维读者-图书类别偏好矩阵,其中m为图书类别的个数。

(4)根据元数据中的读者信息建立对应的读者个人信息矩阵,其中矩阵中的行表示不同的读者,列表示读者的属性,可以选择的属性如院系、专业和角色三个方面,其中,角色可分为:本科生、研究生、博士生、教工、退休和其他,专业有专业英语、信息安全等,院系有计算机科学与技术学院等,如图4所示。

(5)根据步骤(3)生成的读者-图书类别偏好矩阵和步骤(4)建立的读者个人信息矩阵计算读者间的相似度,并将计算得到的该读者间的相似度作为读者与读者之间的关联边插入关联图谱,从而在关联图谱中形成了一个基于读者相似度的无向带权图;

具体而言,本步骤首先使用夹角余弦算法计算读者-图书类别偏好矩阵中读者间的相似度Sreader-category,然后使用夹角余弦算法计算读者个人信息矩阵中读者间的相似度Spersonal,最后将相似度相似度Sreader-category和相似度Spersonal加权求和,从而得出读者间的相似度Sreader-reader,将其作为读者与读者之间的关联边插入关联图谱,最终形成的关联图谱如图2所示。

(6)使用谱聚类算法对步骤(5)中得到的关联图谱中的读者节点进行聚类,以得到读者与聚类类别之间的关系,其中步骤(5)中形成的无向带权图作为聚类过程的输入,聚类结果如图5所示(图中的虚线表示聚类过程中切割读者之间相似边的位置);具体地,本步骤包括如下子步骤:

(6.1)使用步骤(5)中形成的无向带权图作为聚类过程的输入;

(6.2)读取关联图谱中所有读者与其它读者之间的相似度,并根据该相似度建立谱聚类输入矩阵W和度矩阵D,其中W矩阵和度矩阵D都是q阶方阵(矩阵W的结构如下表1所示),度矩阵D的对角线元素为每位读者在关联图谱中的度数,而该度矩阵其余位置的元素都是0,并根据公式L=D-W构造规范化拉普拉斯矩阵L;

表1谱聚类输入矩阵

(6.3)对规范化拉普拉斯矩阵L进行特征分解,以获取前k个特征值对应的特征向量Vector1,Vector2,...,Vectork,其中k表示预先设定的类簇数目,其取值是任意正整数,将特征向量Vector1,Vector2,...,Vectork按特征值从小到大的顺序组成矩阵V;

本步骤的优点在于,对q阶的L矩阵进行了非线性降维操作,简化了后续计算的复杂度;

(6.4)使用K-means聚类算法对矩阵V进行聚类,以得到聚类结果Cluster1,Cluster2,...,Clusterk,并根据聚类结果中每一行所属的类簇确定关联图谱中各读者分别所属的类别,即聚类类别;

(6.5)将步骤(6.4)得到的聚类类别作为实体节点写入关联图谱中,从而得到读者与聚类类别之间的关系,方便后续的计算过程。

(7)根据步骤(6)得到的读者与聚类类别之间的关系生成推荐图书;具体地,本步骤包括如下子步骤:

(7.1)根据步骤(6)得到的读者与聚类类别之间的关系查找关联图谱中与该读者A属于同一类别的其他读者集合R={读者1,读者2,...,读者t-1},其中t表示该类别下的所有读者数量;

(7.2)在读者集合R中使用夹角余弦算法计算读者A和其他所有读者之间的相似度,选取相似度最大的u个读者(u为正整数,其数量可以自由设定),作为读者A的近邻集合;

(7.3)查询读者A的近邻集合中看过的所有图书集合B={图书1,图书2,...,图书y},其中y表示近邻集合中看过的所有图书的数量,利用评分预测算法计算读者A对所有图书集合B中各图书的预测喜好分数P;在本发明中,是使用以下公式:

PA,I=SbookA+ΣrRSreader-readerA,r×(Sbookr,I-Sbookr)ΣrRSreader-readerA,r

其中I表示B集合中的图书条目,表示读者A对其操作过的图书的平均喜好分数,表示读者r对其操作过的图书的平均喜好分数,表示读者A与其近邻读者n之间的相似度,表示读者r对图书I的喜好分数;

(7.4)根据步骤(7.3)中得到的预测喜好分数对所有图书集合B进行排序,并取预测喜好分数最高的前C本图书(其中C为正整数,其大小可自由设定)作为最终结果推荐给读者。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号