掌桥专利:专业的专利平台
掌桥专利
首页

基于个性化召回算法LFM的图书推荐方法

文献发布时间:2023-06-19 11:29:13


基于个性化召回算法LFM的图书推荐方法

技术领域

本发明属于推荐算法技术领域,推荐算法广泛应用于互联网平台,准确且高效的推荐算法对互联网服务的行业具有重要意义。本发明针对图书推荐领域,研究出了一套矩阵分解算法,在已有的数据集和测试集的条件下,利用个性化召回算法LFM从用户行为数据和图书数据中精准推荐给用户喜欢的图书。

背景技术

推荐算法在图书推荐系统中,对于用户的喜好推荐、系统性能评估等方面有着重要的作用。近年来,随着互联网服务行业的蓬勃发展,如:电商、小视频、新闻类app、影视app都会涉及运用推荐算法更好的为用户提供服务,研究者们对推荐算法的研究也越来越关注,并提出了很多推荐算法的方法和指标。

在协同过滤推荐中,基于用户的相似度率先被使用,基于项目的相似度被BadrulSarwar等人在2001年提出,基于项目的协同过滤与基于用户的协同过滤的区别在于计算相似性的主体不同,基于项目的协同过滤是计算项目之间的相似性,但二者本质都是根据用户的历史行为记录来挖掘用户与项目之间的潜在关系。协同过滤推荐算法本身存在一些缺陷:数据稀疏性、冷启动、可扩展性。为了解决或者在一定程度上改善这些问题,国内外大量的专家学者都进行了研究和实验。

个性化召回算法LFM-隐语义模型(latent factor model),属于协同领域,提到协同领域,很多人首先想到的就是基于物品的推荐item CF与基于用户的推荐user CF,itemCF:主体是item,首先会考虑的是item层面,可以根据目标用户喜欢的物品,寻找与这些物品类似的物品,然后推荐给用户。user CF:主体是user,首先考虑的是user层面,可以先计算和目标用户兴趣相似的用户,之后再根据计算出来的用户,从这些用户喜欢的物品给目标用户推荐物品。而LFM:是先对所有的图书物品进行分类,再根据用户喜欢的分类,给用户推荐该分类中的图书。

LFM具体的意义,这里通过item CF再进一步说明。item CF算法,是将item进行划分,这样一旦item贡献的次数越多,就会造成两个item越相近。举个例子来说,就是当你看你喜欢的电视节目的时候,为了不错过精彩的内容,你广告部分也会看;这时,后台就会统计,你看了电视节目,也看了广告。这样就可能分析出电视节目与广告比较接近。然而,事实上两者并不一样,如果知道两者属于不同的tag,不会将他们放到一起,进行降权处理。但是建立大量的tag体系就需要消耗大量的人力标注打标签,人力标注不适用。继而需要机器学习完成分类。在0-1搭建个性化推荐系统算法中显然是不切实际的。那么LFM算法就应运而生。LFM是根据用户对item的评分和浏览记录,来获取用户与物品之间的关系,物品与物品之间的关系。LFM不仅会考虑user,也会考虑item。

发明内容

针对现有协同过滤方法item CF与user CF两者的弊端考虑影响推荐结果的条件不全面问题。通过对大量学者和专家文献进行研究和分析,本文提出建立基于个性化召回算法LFM(潜在因子模型,Latent Factor Model)的图书推荐方法,LFM通过奇异值矩阵分解(SVD)处理评分矩阵,得到用户的潜在特征,以此评分缺失项目,就是一种很好的手段,基于LFM算法中引用强化学习方法以提升图书推荐的精确性和多样性,通过研究传统的LFM算法与深度学习中的梯度下降方法相结合,应用于最终设计的图书推荐模型上,在保证精准推荐结果的前提下,并引入了图书的负评分数据,以防止推荐结果的极端化,增加图书推荐的整体多样性。

本发明采用的技术方案如下:将item定义为图书,user定义为用户,我们提出了一种既考虑item因素,又考虑user因素推荐方法,考虑到item和item之间的关系,user和item之间的关系与最终的推荐结果密切相关,通过历史的用户评分产生模型的输入数据user矩阵和item矩阵,用user矩阵和item矩阵的矩阵乘拟合获得对item的点击矩阵,该模型目的就是利用user对item的点击矩阵获得对应的user向量和item向量,所以该算法又称为矩阵分解算法,最后利用深度学习中梯度下降的方法。分别用损失函数对user向量的偏导和损失函数对item向量的偏导,以及user向量对item向量的迭代来计算最终图书的推荐评分,同时考虑正反例作为推荐结果。

包括以下步骤:

步骤1,生成user对item的点击矩阵。

通过历史的用户评分作为图书推荐模型的输入数据:分别表示为user矩阵和item矩阵,用user矩阵和item矩阵的矩阵乘拟合获得user对item的点击矩阵。

步骤2,构建图书推荐模型。

建模的主题思想描述如下:

输入:利用步骤1产生的user对item的点击矩阵(1代表点击、0代表未点击)。user和item的向量维度是自定义的,用user与item作内积的值可以判断user对item的偏好。向量的维度一般表示影响用户偏好的特征,特征例如:item title,是否含是人文的、动漫的、社科的、计算机类的等等这些特征会影响用户的偏好。这里比如来说统计出来有7个特征。那么在模型设置的时候就可以把维度设置为7,得到的向量显然就是user1,Item1都会表示7维度的向量。那么将user1,item1的转置乘起来是一个常数。如果将每一个user和item的向量乘起来可以和点击矩阵的常数无限接近的话。那么这个模型的效果就越好。

建立模型步骤如下:

步骤2.1,利用监督学习的思想,图书推荐模型的最终输出为user向量和item向量,记为p

步骤2.2,利用2.1的描述建立基础模型公式,如下所示:p(u,i)表示user-item对,如果user点击了item,那么p(u,i)=1,否则p(u,i)=0;

其中

步骤2.3,采用梯度下降方法获得LFM损失函数如下,这里采用的是平方损失-L2损失(均方误差),公式解释:p(u,i)是训练样本的label,如果user点击了item,那么p(u,i)=1,否则p(u,i)=0。p

loss=∑

步骤2.4,为了防止过拟合,增加了正则化项。公式如下:前半部分是2.3建模公式,α是正则化系数,是用来平衡平方损失与正则化项,采用的是L2正则化,L2正则化就是直接在原来的损失函数基础上加上权重参数的平方和,正则化目的是为了让模型更加简单化,公式中的

步骤3,训练模型,输出模型得到的user和item的向量。

步骤3.1,训练模型前,将损失函数对p

损失函数对p

公式解释:其中,β是learning rate,即学习率。

步骤3.2,训练模型,步骤3.1得到的p

步骤3.2.1,负样本的选取。比起正样本,负样本的数量是非常多的。因为,展现给用户的item比用户点击的item要多的多。要有一定的负采样规则,选取那些充分展现而用户没有点击的item作为负样本。

步骤3.2.1,隐特征F、正则参数

如果固定了正则参势

步骤4,根据模型得到的user和item的向量,根据user向量对item向量的迭代来计算最终图书的推荐评分,进而得出用户图书推荐列表。

与现有技术相比,本发明具有以下优点:本方法利用深度强化学习方法,通过梯度下降方法得到基础公式,在公式的改进上加上损失函数和正则化项,从而不需要人工干预的得出比较合理的user向量和item向量,这样给每个用户推荐的图书结果更加精确。

(1)LFM是比较传统的监督学习的方法,根据训练样本的label设定损失函数,利用最优化的方法使损失函数最小化。只不过这里的特征是隐特征,隐特征表示就是图书的特征,不像其他模型中的特征那样直观。item CF是基于公式间求解相似度矩阵,相对来说,缺少了学习的过程,推荐给用户的图书没有那么全面。所以,从理论基础的完备性上,利用个性化的LFM召回算法计算图书的推荐结果相对更好。

(2)空间复杂度方面:item CF需要存储item s相似表,需要的空间复杂度=图书数的平方;而LFM只需要存储user向量和item向量,所以空间复杂度=图书数目隐类数+用户数目隐类数。相比较而言,显然个性化的LFM召回算法的空间复杂度更低。

附图说明

图1为本发明具体实施方式的流程图;

具体实施方式

实施方式如图1所示,包括以下步骤,LFM图书推荐算法采用公开数据集BX-Book:

步骤S1,LFM图书推荐算法的基础函数的编写;

步骤S2,LFM图书推荐算法训练数据抽取;

步骤S3,LFM图书推荐算法模型训练;

步骤S4,基于LFM图书推荐算法的用户个性化推荐与推荐结果分析;

实施方式的LFM图书推荐算法的基础函数的编写步骤S1还包括以下步骤:

步骤S11,读取图书信息,清洗图书信息数据,将图书ISBN编码作为key,图书的标题、作者、出版时间、出版社作为value,方便最后根据推荐结果key,获取图书的信息;

实施方式的LFM图书推荐算法训练数据抽取步骤S2还包括以下步骤:

步骤S21,通过BX-Book数据集获得user对item的点击矩阵,根据数据集分析默认按照user对item评分大于等于6分视为正例,评分小于6分视为反例,取出正例反例集合中最小个数,方便步骤S3做矩阵运算;

实施方式的LFM图书推荐算法模型训练步骤S3还包括以下步骤:

步骤S31,通过图书推荐模型公式6,公式7得出通过函数写出真实的编程函数LFM_Train,该函数输入参数为:步骤S11获取的用户点击矩阵,矩阵维度F,正则化因子

步骤S32,通过函数LFM_Train得到用户向量user_vec和图书向量item_vec;

实施方式的基于LFM图书推荐算法的用户个性化推荐与推荐结果分析步骤S4还包括以下步骤:

步骤S41,将步骤S32用户获得的用户向量user_vec和每一个图书向量item_vec做矩阵运算,获得的值代表用户对每一个图书的可能感兴趣的程度,值越大,越值得推荐,该值称为推荐得分。

步骤S42,将步骤S41结果进行分析,取出每一个用户可能感兴趣的图书top5(按照推荐得分排序取出前五)图书作为推荐结果。

下面给出应用本发明的实验结果。

表1给出了本发明方法在开源数据集BX-Book下的测试结果。实验中将每一个用户作为测试集进行测试,测试评价的方式由用户历史评分大于6.0分的图书与推荐图书top5(按照推荐得分排序取出前五)作对比进行分析。由于用户数据较多,随机取出了三组用户。由表可知,用户的推荐结果和用户历史观看的图书类型基本一致,整体来说,基于LFM的个性化召回算法应用于图书推荐上效果很好。

用户id:"39345"历史看过的图书(评分大于6.0):

["图书名","作者","出版年限","出版社"]

["StormingHeaven","Kyle Mills","2000","HarperTorch"]

["LakeWobegon days","GarrisonKeillor","1986","PenguinBooks"]

["DeadlyLove(AFrancescaCahillRomance)","B.D.Joyce","2001"]

["Maquette For Murder(Worldwide Library Mysteries)","GretchenSprague","2001","WorldwideLibrary"]

["TheDaVinci Code","DanBrown","2003","Doubleday"]

用户id:"39345"推荐结果top5:

["图书名","作者","出版年限","出版社"]

["ANNE FRANK:DIARYOFAYOUNG GIRL","Anne Frank","1989","Pocket"]

["Angel In Time(American RomanceNo 419)","Stella Cameron"',"1991","Harlequin"]

["The Silver Metal Lover",'"Tanith Lee","1999","SpectraBooks"]

["How CouldYou Do That?",'"Laura C.Schlessinger"',"1996","HarperAudio"]

["Das Ergebnis.Ein Roman","Eliyahu M.Goldratt","2001","CampusSachbuch"]

用户id:"171118"历史看过的图书(评分大于6.0):

["图书名","作者","出版年限","出版社"]

["Castle","DavidMacaulay","1977","WalterLorraine Books"]

["The Best ofCallahan","John Callahan","2003","Ballantine Books"]

["The SabbathdayRiver","Jean HanffKorelitz","2001","BerkleyPublishing Group"]

["The Burning House","Jay Ingram","1996","Penguin Books Ltd"]

["The EveningNews","Arthur Hailey","2001","Doubleday Books"]

用户id:"171118"推荐结果(top5):

["图书名","作者","出版年限","出版社"]

["The Worst ofTimes","Patricia G.Miller","1994","Harpercollins"]

["Gunsmith Cats:Misty\s Run","Kenichi Sonoda","2002","DarkHorseComics"]

["How to Be a Caring Christian","WarrenW.Wiersbe","1981","Backto theBible"]

["Wind from a Foreign Sky(The Tielmaran Chronicles,Book 1)","KatyaReimann","1997","TorBooks"]

["Das Seth-Material.Ein Standardwerk esoterischen Wissens.","JaneRoberts","2000","Hugendubel"]

用户id:"111816"历史看过的图书(评分大于6.0):

["图书名","作者","出版年限","出版社"]

["Death ofa Hussy","M.C.Beaton","1991","Fawcett Books"]

["The Sibling Constellation(Contemporary Astrology)","Brian Clark","1999","Penguin Books"]

["Total Recall:A V.I.Warshawski Novel","Sara Paretsky","2002","DellPublishing Company"]

["The Floating Girl","Sujata Massey","2001","Avon"]

["Nursery Crimes(Mommy-Track Mysteries(Paperback))","AyeletWaldman","2001","BerkleyPublishing Group"]

用户id:"111816"推荐结果(top5):

["图书名","作者","出版年限","出版社"]

["Shameless","Paul Burston","2004","WarnerBooks"]

["The RealAge Diet:Make Yourself Younger With What You Eat","MichaelF.Roizen","2001","HarperResource"]

["Ghost Soldiers:The Epic Account of World War II\s Greatest RescueMission","HAMPTON SIDES","2002","Anchor"]

["Playing for Keeps:Michael Jordan and the World That He Made","DavidHalberstam","1999","Random House Inc"]

["Latin for People:Latina Pro Populo","Paul Alexander Humez","1978","Back Bay Books"]。

相关技术
  • 基于个性化召回算法LFM的图书推荐方法
  • 一种基于组合算法的个性化图书推荐方法
技术分类

06120112941353