基于隐语义模型的协同过滤构建图书推荐系统
2020-04-01杨杰中
杨杰中
(中国人民大学附属中学 北京 100086)
前 言
随着互联网技术的快速发展,用户和图书的巨大增长为电子商务领域的推荐系统带来了三大关键挑战,即:如何提供高质量的推荐,如何在每秒为数百万用户和书籍实现多个推荐,并在面对数据稀疏性时实现高覆盖率[1]。
为了应对以上面临的挑战,同时减小因数据冗余、复杂及歧义所带来的问题,个性化推荐在科研中已经获得许多成果,相关的系统被广泛地应用于电子商务中。本文基于图书爆炸性增长的问题,提出以个性化推荐的方式构建图书推荐系统。其中,模型及方法的构建有利于快速、有效地为用户推荐个性化及长尾部分的图书;同时验证了基于隐语义模型的协同过滤方法具有可行性及实用性。本文所设计的图书推荐系统可为相关的工业设计提供研发思路,并促进相关领域的发展。
一、相关研究
在推荐系统领域,尤其是个性化推荐方法已经获得众多学者的认可。Jonathan等学者提出了一个用于提高协同过滤和新的算法元素准确性的框架[2]。Linden等学者通过比较相似项目而不是相似用户,证明使用项目到项目的协同过滤可扩展到非常大的数据集并生成高质量的推荐[3]。本文基于隐语义模型实现协同过滤算法,并设计具备可行性、实用性的图书推荐系统。此外,本文还根据数据稀疏、系统冷启动等问题进行了优化,系统还可以根据用户在阅读书籍时在不同章节的停留时间来分析数据的经典部分,使推荐系统更好地与模型融合。
二、图书推荐系统设计
本文在设计应用平台时,使用对用户行为模式进行评估来为用户推荐其所感兴趣的书籍并显示于图书推荐界面。同时,用户的关注列表、搜索记录也将为推荐系统提供用户的潜在兴趣及爱好。因此,本文设计图书推荐系统平台包含用户端及服务器端,用户端包含图书搜索、用户关注、图书推荐等界面,服务器可对用户的行为模型进行分析及做出推荐等行为,如图1所示。
图1 整个系统的研究思路
为了量化隐式信息,本文通过计算用户已读页数与阅读总时长之比来量化其对书的兴趣程度。经验表明,阅读的开头用户翻看某页的状态最缺乏规律,因此要惩罚开头页数。然后,用户本身阅读的快慢有所不同,因此用该用户平均阅读速度惩罚被慢速阅读的书。最后得到一个隐式信息指标:
T(i,A)是基于A用户阅读i书速度的隐式信息指标,其中i表示物体、A,B表示用户、B(i)指组成i书的页集合、u指书的页码、P(A)表示A用户看过的所有书的总页码数、T(A)表示A用户总阅读时间、TAiu表示A用户读完i书u页所花的时间。
三、模型的构建及优化
(一)DBSCAN聚类
为应对不知图书该分成多少类的问题,K-Means算法将无法适用于本任务,而DBSCAN可不用指定簇,其可依据分组进行遍历并自由生长。同时,DBSCAN可发现任何形状的簇并排除噪声点,这可应对图书复杂的分类问题。故本文选用DBSCAN对图书进行聚类。
(二)隐语义模型
隐语义模型是协同过滤中最常用的一种方法,其可获得用户对某项目的兴趣度[5]。模型算法的原理是构建用户—项目矩阵R,并计算两个低秩矩阵P与Q,将其相乘以计算兴趣度并弥补矩阵中的缺失值。
(三)相似度计算
本文采用余弦相似度[4]计算图书间的相似程度,如公式2所示。为了判断用户是否会喜欢某图书j,本文依据实验设定某一阈值,当大于阈值时,算法便判断j物品就可能是用户喜爱的书籍
利用相似度计算,系统可以基于用户已喜欢的图书i来推荐与该图书高度相关的图书j,并根据相关评分来获得用户对图书j的潜在得分以计算对该图书的推荐系数,最终获得基于图书的推荐列表。算法在实际运算中,无法将所有的图书都推荐给用户,故会选择推荐系统最高的N个图书推荐给用户。
四、数据集及模型评估方法
模型训练所用到的数据为MovieLens中在1997年到1998年的100K数据,其包含943个用户对1682个电影的评分,评分范围为1~5之间。
为了评估模型的性能,本文采用RMSE(均方根误差)和MAE(平均绝对误差)测量模型的损失。其中,RMSE是预测值与真实值偏差的平方与观测次数n比值的平方根。MAE是对同一物理量进行多次测量,并将各次测量的绝对误差取绝对值后再求平均值。
五、结果分析
在假设建模中,我们通过算法计算了读者观看每一页的时间,我们可以将这些时间再次利用于统计中,根据读者在某书停留的所有时间的集合制成图标,反映一本书的精彩程度,从而为观众展示这本书的高潮、低谷等部分。预想效果如图2所示:
图2 图书高潮预想效果图
如此可以看出,129页到193页比较精彩。
让热度排名较高的书籍,用出版时间和在训练中得出的出版时间的权重融合为新的热度系数,用Top-N算法排序后排出热度前N个的书籍,推广给群众。这样可以介入新用户对热门书籍的评价,部分解决新用户问题。
基于内容的推荐是通过用户给出的关键词等信息内容,寻找到具有对应信息或内容的物品进行推荐。对于新用户问题,首先采用调查问卷询问用户喜欢什么样内容的书籍,然后进行75%的基于内容推荐和25%的热门书籍推荐。这样可以完全解决新用户问题,将新用户过渡为老用户,再降低基于内容的推荐,增加协同过滤推荐。
六、总结与展望
本文通过基于隐语义模型的协同过滤算法构建图书推荐系统,所实现的模型根据用户阅读的习惯进行多种隐含语义的挖掘,并综合用户评分、评论等计算图书推荐系数,实验结果表明,隐语义模型能有效地挖掘用户对某物品的潜在兴趣。本文所设计的图书推荐系统可为工业界提供研究参考,并为相关研究提供实验基础。
在电子商务领域,用户的兴趣会随着时间的变化而改变,本文在考虑了矩阵稀疏及冷启动的问题基础上进行模型优化,但未对时间序列进行额外的处理,未来的研究可以将时间序列等信息纳入本文系统中,以提高推荐质量。此外,用户的评价往往包含了其对图书的看法及情感,往后可应用情感分析对用户的评价进行综合处理。基于神经网络的推荐系统已越来越受研究者的喜爱,未来的研究还可尝试使用神经网络以增加系统的自动化程度。