基于以列表为单位的用户推荐列表生成方法及系统的制作方法
【技术领域】
[0001] 本发明涉及服务信息推送技术领域,特别涉及基于以列表为单位的用户推荐列表 生成方法及系统。
【背景技术】
[0002] 当前,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频、文档等(以下 统一简称为物品)的在线服务。为了更好的为用户提供服务,服务商会记录用户的历史行 为,例如记录用户购买(使用)过哪些物品、对物品的评价等。用户对物品的评分是分析用 户偏好的重要信息。用户对物品的评分一般为1~k的整数,1表示最不喜欢,k表示最喜 欢。1~k之间的评分表示的喜欢程度依次递增。由于每一个用户消费的物品数量有限,如 何根据有限的评分数据挖掘用户偏好,进而据此为用户提供推荐是推荐领域面临的重要问 题。所谓推荐即是预测用户可能喜欢的物品、按照可能的喜欢程度排序,并把这个物品列表 推荐给用户。在基于评分的推荐系统中,推荐结果通常采用两种方式评价,其一是度量对单 个物品的评分估计的准确程度,称为以单个物品为单位的方法;其二是计算物品两两比较 的偏好顺序差异,称为以比较对为单位的方法。
[0003] 但是以上两种方法都不能保证最终的推荐列表与用户的真实偏好顺序一致。
【发明内容】
[0004] 为了解决现有的商品或者服务推荐及评估方法生成商品或服务推荐列表与用户 的真实偏好顺序存在较大差异的缺陷,本发明提供一种基于以列表为单位的用户推荐列表 生成方法及系统。
[0005] -种基于以列表为单位的用户推荐列表生成方法,其包括如下步骤:
[0006] S1、从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在 评分矩阵R中的每一个元素 r匕表示用户i对物品j的评分;在用户i没有对物品j评分 时,指示矩阵I中的元素 Ii,j= 〇,在用户i对物品j作出评分时,I i,j= 1 ;对用户评价过的 物品,按照评分的大小顺序排序,得到用户的偏好顺序Jii,其中第j个元素 π u表示排在 第j位的物品编号;
[0007] S2、根据用户的偏好顺序π i,通过梯度下降法学习用户偏好U及物品特征V ;
[0008] S3、根据所学习的用户偏好U及物品特征V,对每一个用户i,获取该用户对所有没 有评分的物品j的评分预测值7Ij计算公式为:^ ,其中Ui, '均为行向量,u i表示 用户i的偏好和物品j特征,\表示物品j特征,并对I按照从大到小进行排序,得到对用 户i推荐列表。
[0009] -种基于以列表为单位的用户推荐列表生成系统,其包括如下模块:
[0010] 历史偏好顺序获取模块,用于从在线服务商处获取用户对物品的评分记录,其中 评分记录为评分矩阵R,在评分矩阵R中的每一个元素 ru表示用户i对物品j的评分;在 用户i没有对物品j评分时,指示矩阵I中的元素 Iu= 0,在用户i对物品j作出评分时, Iiij= 1;对用户评价过的物品,按照评分的大小顺序排序,得到用户的偏好顺序π i,其中第 j个元素 π U表示排在第j位的物品编号;
[0011] 学习模块,用于根据用户的偏好顺序JTi,通过梯度下降法学习用户偏好U及物品 特征V;
[0012] 推荐列表生成模块,用于根据所学习的用户偏好U及物品特征V,对每一个用户 i,获取该用户对所有没有评分的物品j的评分预测值I,计算公式为:幻,其中 Ui, Vj均为行向量,u廣示用户i的偏好和物品j特征,V j表示物品j特征,并对,按照从 大到小进行排序,得到对用户i推荐列表。
[0013] 本发明提供的基于以列表为单位的用户推荐列表生成方法及系统,通过先从用户 的选择历史记录中获取用户的历史偏好顺序,然后基于用于的偏好顺序对用户偏好和物品 特征进行学习,学习的方法采用梯度下降法,然后基于学习得到的用户偏好以及物品特征 对用户未选中的物品的评分值进行预测,最后对该评分预测值排序,获得了对用户推荐列 表。通过实施本发明方法能够使推荐结果尽可能接近用户的真实偏好顺序。
【附图说明】
[0014] 图1是本发明实施的基于以列表为单位的用户推荐列表生成方法流程图;
[0015] 图2是本发明实施的基于以列表为单位的用户推荐列表生成系统的结构框图;
[0016] 图3是图2中学习模块的结构框图。
【具体实施方式】
[0017] 如图1所示,一种基于以列表为单位的用户推荐列表生成方法,其包括如下步骤:
[0018] S1、从在线服务商处获取用户对物品的评分记录,其中评分记录为评分矩阵R,在 评分矩阵R中的每一个元素 ru表示用户i对物品j的评分;在用户i没有对物品j评分 时,指示矩阵I中的元素 Ii,j= 〇,在用户i对物品j作出评分时,I i,j= 1 ;对用户评价过的 物品,按照评分的大小顺序排序,得到用户的偏好顺序Jii,其中第j个元素 π u表示排在 第j位的物品编号。
[0019] 其中,可选地,评分为1~k的正整数,1表示最不喜欢,k表示最喜欢。1~k之 间的评分表示的喜欢程度依次递增。
[0020] S2、根据用户的偏好顺序31 i,通过梯度下降法学习用户偏好U及物品特征V。
[0021] 可选地,所述步骤S2包括如下子步骤:
[0022] S21、初始化所预测的用户偏好以及所预测的物品特征,包括随机生成用户偏好矩 阵U以及物品特征矩阵V中的每一个元素;
[0023] S22、检查收敛条件,在迭代次数达到预设值或者目标函数的值不再减少时,跳转 到步骤S3 ;在迭代次数小于预设值并且目标函数的值减少时,跳转到步骤S23。可选地,迭 代的次数可以为100次,或者其他次数。
[0024] 可选地,度量标准的目标函数为:
【主权项】
1. 一种基于以列表为