法律状态公告日
法律状态信息
法律状态
2020-06-19
授权
授权
2018-07-31
实质审查的生效 IPC(主分类):G06F17/30 申请日:20180129
实质审查的生效
2018-07-06
公开
公开
技术领域
本发明涉及数据挖掘的推荐系统领域,具体涉及基于用户多兴趣及兴趣变化的协同过滤推荐算法。
背景技术
近年来随着互联网和电子信息技术的飞快发展,web已经成为人们获取信息的一个重要通道,与此同时数据爆炸式增长,传统网络服务如分类目录、搜索引擎已经不能满足人们的个性化信息需求,推荐系统应运而生。目前个性化推荐技术被广泛应用到电子商务、新闻网站、社交网站、音乐电影网站等系统中,以增强网站吸引力,提升用户体验。协同过滤是目前应用最广泛且发展最成熟的推荐算法,其本质是利用用户评分信息,寻找目标用户或目标项目的进邻集,根据近邻集合的评分预测目标用户对未知项目的评分。然而传统协同过滤只适用于单一用户兴趣推荐,对于多兴趣会由于兴趣不同而影响推荐精度。且传统协同过滤没有考虑到用户兴趣变化问题和项目新颖性问题,对所有电影评分都赋予相同权重,而现实生活中用户兴趣是不断变化的,并且更偏爱新的物品。
本发明将项目作为用户和项目属性类别之间的桥梁,通过评分间接得出对项目属性类别的偏爱,较好解决用户兴趣模型单一问题。同时考虑到用户兴趣变化及项目的新颖度,推荐效果会更加准确。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于用户多兴趣及兴趣变化的协同过滤推荐算法,构建用户多兴趣模型,考虑到用户兴趣变化及项目的新颖度,使推荐效果会更加准确。
为实现上述目的,本发明所提供的技术方案为:一种基于用户多兴趣及兴趣变化的协同过滤推荐算法,包括以下步骤:
1)构造用户-项目属性类别相关性矩阵Tm×k;
2)根据用户-项目属性类别相关性矩阵Tm×k计算用户之间的相似性,以预测用户对未知项目属性类别的偏好度,进而为用户推荐偏好的类别;
3)将评分矩阵按照推荐的类别分类,计算每个类别下项目评分的相似性;
4)考虑用户的兴趣变化,计算项目的时间权重及项目的新颖度,求出初步预测评分;
5)结合用户-项目属性类别偏好得到最终预测评分并进行推荐。
在步骤1)中,所述的用户-项目属性类别相关性矩阵,是指m个用户对k个项目属性类别的相似性组成的矩阵Tm×k,如下式所示:
其中rij表示用户ui和项目属性类别cj之间的相似性,i=1,2,…,m,j=1,2,…,k;二者之间相似性值的计算通过以下方式:
1.1)定义所有用户集合U={u1,u2,…,um},项目集合I={i1,i2,…,in},项目属性类别集合C={c1,c2,…,ck},将m个用户对n个项目的评分记录整理成用户-项目评分矩阵;
1.2)将项目属性类别标签离散化,含有该标签取值1,不含该标签取值0,得到项目-项目属性类别矩阵;
1.3)用户u所评价项目集合为Iu,根据项目-项目属性类别矩阵,用户u操作属性类别cj的次数f(u,cj)为集合Iu中属于类别cj的个数,用户u操作过的项目属性类别集合为Cu,用户和属性类别的相似性记为r(u,cj):
在步骤2)中,根据用户-项目属性类别相关性矩阵计算用户之间的相似性,以预测用户对未知项目属性类别的偏好度,进而为用户推荐偏好类别,包括以下步骤:
2.1)为求出目标用户与未知项目属性类别的相似度,首先根据矩阵Tm×k,利用余弦相似度计算目标用户与其他用户之间的项目属性类别向量相似度;用户u,v的项目属性类别向量Iu,Iv的相似度:
2.2)根据以下式子计算用户u对未知项目类别j的相似度:
其中
2.3)结合用户-项目属性类别相似度矩阵,针对目标用户,按照相似度大小排序,选出前K个偏好的项目属性类别作为推荐的属性类别。
在步骤3)中,将评分矩阵按照推荐的类别分类,计算每个类别下项目评分的相似性,包括以下步骤:
3.1)结合用户-项目评分矩阵及项目-项目属性类别矩阵,根据步骤2)中得出的用户偏好项目类别,将用户-项目评分按照推荐类别划分;
3.2)在每个推荐的项目类别下,根据传统的基于项目的协同过滤,计算目标项目的近邻项目;项目p,q的评分向量Ip,Iq的相似度:
在步骤4)中,考虑用户的兴趣变化,计算项目的时间权重及项目的新颖度,求出初步预测评分,包括以下步骤:
4.1)通常,用户的兴趣是随时间变化的,现在喜欢的物品更符合用户当前兴趣;将基于时间衰减的权重函数
4.2)考虑到大部分用户追求新潮性,年代久远电影由于音质、画质、时代热点的影响,因此同等情况下用户更偏爱新的项目,应对新项目赋予更高的权重;设置项目新颖性权重
4.3)定义同时基于时间衰减权重和项目新颖性权重的项目权重函数W(u,i)=α×T(u,i)+(1-α)×N(u,i),其中比例因子α∈[0,1];
4.4)根据以下式子计算用户u对未知项目l的预测评分:
其中
在步骤5)中,结合用户-项目属性类别偏好得到最终预测评分并进行推荐,包括以下步骤:
5.1)目标用户u对未评分项目l的最终预测评分为
5.2)根据最终预测评分大小排序,选取排名前N的项目推荐给用户,完成推荐。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明将项目作为用户和项目属性类别之间的桥梁,通过评分和项目属性类别构建用户项目属性类别相似性矩阵,从而构建用户多兴趣模型,较好解决用户兴趣模型单一问题,有效改善由于数据稀疏性造成用户兴趣相似性度量不准确问题。
2、本发明考虑用户兴趣变化,提出一种利用用户活跃程度αA限制权重衰减速度的项目权重函数T(u,i),使最终预测结果更准确反映用户兴趣变化。
3、本发明首次提出考虑项目新颖度对用户的吸引力,给较新的项目赋予较大权重,更符合实际用户习惯。
4、本发明通过考虑项目类别偏好权重,生成最终预测评分,很好衡量用户兴趣问题,使最终推荐结果更加准确。
附图说明
图1为用户对项目属性类别间接操作图。
图2为本发明方法计算基本流程图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
如图1和图2所示,本实施例所提供的基于用户多兴趣及兴趣变化的协同过滤推荐算法,具体是:先根据构建的用户-项目属性类别相似性矩阵计算用户相似性,给用户推荐偏好的项目类别,然后基于偏好的项目类别计算项目相似性;同时考虑到用户兴趣变化及项目的新颖度,最终结合项目类别偏好权重,生成预测评分并产生推荐。其包括以下步骤:
1)构造用户-项目属性类别相关性矩阵Tm×k:
1.1)定义所有用户集合U={u1,u2,…,um},项目集合I={i1,i2,…,in},项目属性类别集合C={c1,c2,…,ck}。假设将m个用户对n个项目的评分记录整理成用户-项目评分矩阵,数据如下所示:
1.2)一个项目可以同时属于多个类别,例如电影《源代码》既是科幻片,又是灾难片,还是动作片。项目属性类别集合为C={c1,c2,…,ck},将项目属性类别标签离散化,含有该标签取值1,不含该标签取值0,得到项目-项目属性类别矩阵如下所示:
1.3)用户u所评价项目集合为Iu,根据项目-项目属性类别矩阵,用户u操作属性类别cj的次数f(u,cj)为集合Iu中属于类别cj的个数,用户u操作过的项目属性类别集合为Cu,用户和属性类别的相似性记为r(u,cj):
构成用户-项目属性类别相似性矩阵Tm×k。
2)根据用户-项目属性类别相关性矩阵计算用户之间的相似性,以预测用户对未知项目属性类别的偏好度,进而为用户推荐偏好类别。
2.1)为求出目标用户与未知项目属性类别的相似度,首先根据矩阵Tm×k,利用余弦相似度计算目标用户与其他用户之间的项目属性类别向量相似度。用户u,v的项目属性类别向量Iu,Iv的相似度:
2.2)根据以下式子计算用户u对未知项目类别j的相似度:
其中
2.3)结合用户-项目属性类别相似度矩阵,针对目标用户,按照相似度大小排序,选出前K个偏好的项目属性类别作为推荐的属性类别。
3)将评分矩阵按照推荐的类别分类,计算每个类别下项目评分的相似性。
3.1)结合用户-项目评分矩阵及项目-项目属性类别矩阵,根据步骤2)中得出的用户偏好项目类别,将用户-项目评分组织成如下形式:
其中rmr表示用户m对项目属于类别c1的项目r的评分。
3.2)在每个推荐的项目类别下,根据传统的基于项目的协同过滤,计算目标项目的近邻项目。项目p,q的评分向量Ip,Iq的相似度:
4)考虑用户的兴趣变化,计算项目的时间权重及项目的新颖度,求出初步预测评分。
4.1)一般情况下,用户的兴趣是随时间变化的,现在喜欢的物品更符合用户当前兴趣。将基于时间衰减的权重函数
4.2)考虑到大部分用户追求新潮性,年代久远电影由于音质、画质、时代热点等影响,因此同等情况下用户更偏爱新的项目,应对新项目赋予更高的权重。设置项目新颖性权重
4.3)定义同时基于时间衰减权重和项目新颖性权重的项目权重函数W(u,i)=α×T(u,i)+(1-α)×N(u,i),其中比例因子α∈[0,1]。
4.4)根据以下式子计算用户u对未知项目l的预测评分:
其中
5)结合用户-项目属性类别偏好得到最终预测评分并进行推荐
5.1)目标用户u对未评分项目l的最终预测评分为
5.2)根据最终预测评分大小排序,选取排名前N的项目推荐给用户,完成推荐。
综上所述,本发明为具有评分信息的推荐系统提供了新的推荐方法,通过用户-项目属性类别计算用户相似性,以根据近邻用户集给目标用户推荐偏好项目类别,在每个项目类别下通过基于项目协同过滤产生近邻项目集;同时考虑用户兴趣变化和项目新颖度问题,将时间权重和项目新颖度权重通过加权生成项目总的权重,加权生成预测评分;最后加权项目属性类别生成最终预测评分。
以上所述实施例子只为本发明之较佳实施例子,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
机译: 一种用于检测至少一个引起压力波非随机持续变化的物体的方法。一种计算机分析方法,用于分析检测到的地震或声波信号,以便检测至少一个在频带F中引起信号非随机持续变化的物体。检测至少一个引起感兴趣的地震或声音信号的物体。一种计算机系统,分析检测到的信号,以便检测至少一个引起感兴趣的信号的物体。计算机模块,分析检测到的信号,以便检测至少一个物体引起感兴趣的信号,该设备程序可以被机器读取。检测至少一个物体引起感兴趣的地震或声音的方法是一种有序的方法和计算机程序
机译: 一种基于用户兴趣的信息分类方法和装置以及一种基于用户兴趣的存储信息记录程序
机译: 一种用于预测对生命体的兴趣行为的库的制造方法,以及一种基于动作参数的变化或类似斑马鱼的用于评估对生命体的兴趣的行为的方法