[发明专利]一种基于物品k-最近邻算法的图书推荐方法和系统在审
申请号: | 201810050236.4 | 申请日: | 2018-01-18 |
公开(公告)号: | CN109684536A | 公开(公告)日: | 2019-04-26 |
发明(设计)人: | 郝宁宁;李媛鸣;陈梦瑶;石冰洁;王川;刘二宝;祝晓雪;高婧 | 申请(专利权)人: | 郝宁宁 |
主分类号: | G06F16/9535 | 分类号: | G06F16/9535;G06K9/62 |
代理公司: | 西安弘理专利事务所 61214 | 代理人: | 宁文涛 |
地址: | 710021 陕西省西安市*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图书推荐 算法 最近邻算法 协同过滤 个性化 技术应用 图书信息 应用 | ||
1.一种基于物品的k-最近邻算法的图书推荐方法,其特征在于,包括以下步骤:
步骤1,将用户历史图书评分行为数据按照均匀分布随机分为M份,选取一份作为测试集,将剩下的M-1份作为训练集,在用户历史图书评分行为数据的训练集上建立基于物品的k-最近邻推荐模型;
步骤2,通过k-最近邻推荐模型在用户历史图书评分行为数据的训练集上建立用户兴趣模型,生成推荐图书列表,再通过结合用户历史图书评分行为数据的测试集,计算最相似物品的个数k在初始值的情况下,k-最近邻算法的准确率和召回率;
步骤3,依次更新建立k-最近邻推荐模型中的所设定的算法的最相似物品的个数k值,计算不同k值下的图书推荐列表;并计算不同k值情况下,基于物品的k-最近邻算法的准确率和召回率;
步骤4,将每个不同k值所对应的准确率和召回率相加,得到基于物品的k-最近邻算法的性能指标值;取基于物品的k-最近邻算法的多组性能指标值的最大值所对应的参数k的值作为某用户在基于物品的k-最近邻算法的中的最优算法参数k的值;
步骤5,输入某用户在基于物品的k-最近邻算法的最优参数k的值,利用步骤1中的k-最近邻推荐模型为用户产生基于物品的k-最近邻算法的图书推荐列表。
2.根据权利要求1所述的一种基于物品的k-最近邻算法的图书推荐方法,其特征在于,步骤1中的k-最近邻推荐模型的建立步骤如下:
步骤1.1,将用户历史图书评分行为数据的训练集处理为m*n的用户图书评分矩阵R;
步骤1.2,使用同现矩阵计算物品间的相似度;
步骤1.3,对于每本图书,按从大到小的顺序将该图书与其他图书的相似度进行排序;
步骤1.4,根据相似度计算结果,结合算法参数k,产生基于物品的k-最近邻算法的候选推荐图书列表,再利用预测评分的计算公式,计算出候选推荐图书列表中的每本图书的预测评分,并按预测评分从大到小的顺序对候选推荐图书列表进行排序,取候选推荐图书排序列表的前几本图书组成最终的图书推荐列表,产生基于物品的k-最近邻算法的推荐图书列表。
3.根据权利要求2所述的一种基于物品的k-最近邻算法的图书推荐方法,其特征在于,步骤1.2中用户间的相似度计算,使用的相似性度量为同现矩阵,其中元素tkn表示图书k与图书n之间的关联度,同现矩阵T计算过程如下所示:
当用户u对图书i、j、k进行了评分,对同现矩阵T中图书i、j、k的组成子矩阵Tijk中的每一个元素添加数值1;
针对所有的用户进行上述操作,然后将所有的结果相加,并将同现矩阵T中的元素进行归一化处理,归一化公式计算如下:
在上述公式中,ti′j表示图书i和图书j之间的相似度;
通过归一化处理同现矩阵,以得到物品之间的相似度。
4.根据权利要求2所述的一种基于物品的k-最近邻算法的图书推荐方法,其特征在于,步骤5中预测评分的计算公式如下所示:
在上式中,和是用户u和用户u′对物品的平均评分,sim(u,u′)是用户u和用户u′之间的相似度,N是与物品i最相似的物品组成的集合。
5.根据权利要求1所述的一种基于物品的k-最近邻算法的图书推荐方法,其特征在于,步骤2中的k-最近邻算法的准确率和召回率,计算公式如下所示:
步骤2.1,准确率
式中,Precision(I(u)表示对于用户u,基于物品的k-最近邻算法的准确率,R(I(u))表示基于物品的k-最近邻推荐算法为用户u产生的的图书推荐列表,T(u)表示用户u评分过的物品的推荐列表,U表示所有用户;
步骤2.2,召回率
式中,Recall(I(u)表示对于用户u,基于物品的k-最近邻算法的召回率,R(I(u))表示基于物品的k-最近邻推荐算法为用户u产生的的图书推荐列表,T(u)表示用户u评分过的物品的推荐列表,U表示所有用户。
6.一种基于物品k-最近邻算法的图书推荐系统,其特征在于,包括用户物品信息收集层、存储层、推荐引擎模块、接口层;
所述的存储层,用于存储系统使用和产生的数据,包括用户、图书的基本信息及用户行为信息;
所述的用户物品信息收集层,与存储层连接,用于负责录入和维护用户、图书的基本信息及用户行为信息;
所述的推荐引擎模块,与存储层连接,用于用户对物品的历史行为数据的基础上进行计算,产生推荐列表;采用基于物品的k-最近邻推荐模型和基于物品的k-最近邻推荐模型构建推荐引擎;
所述的接口层,与推荐引擎模块、存储层连接及前端展示单元通信,用于计算出的数据需要传递给前端展示单元,用户对图书的评分通过前端展示单元获取传回,接口层为前端展示单元调用提供所需数据,将前端展示单元传来的用户行为数据交由存储层储备用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郝宁宁,未经郝宁宁许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810050236.4/1.html,转载请声明来源钻瓜专利网。