基于高阶奇异值分解的上下文推荐方法及装置制造方法及图纸

技术编号:19009265 阅读:47 留言:0更新日期:2018-09-22 09:07
本发明专利技术公开了一种基于高阶奇异值分解的上下文推荐方法及装置,所述方法包括:获取用户对项目的评分信息及相应的上下文信息;根据上下文类型的不同,构建对应于每个上下文的三阶张量;按照展开规则将每个三阶张量展开,得到三个二阶矩阵;根据每个二阶矩阵,利用奇异值分解确定中心张量维度,构建新的三阶张量;计算每个上下文的权重;根据新的三阶张量以及对应的上下文权重,构建N阶张量;根据目标用户ID和项目ID,找到目标用户在N阶张量对应的位置,为目标用户生成推荐列表。本发明专利技术将上下文信息融合到推荐生成中,通过计算上下文权重以及确定中心张量维度,大大提高了推荐结果的准确性。

Context recommendation method and device based on high order singular value decomposition

The present invention discloses a context recommendation method and device based on high-order singular value decomposition. The method includes: obtaining user rating information and corresponding context information; constructing third-order tensors corresponding to each context according to different context types; extending each third-order tensor according to expansion rules Open, get three second-order matrices; according to each second-order matrix, use singular value decomposition to determine the central tensor dimension, construct a new third-order tensor; calculate the weight of each context; according to the new third-order tensor and the corresponding context weight, construct the N-order tensor; according to the target user ID and project ID, find the target user in. The position corresponding to the N order tensor to generate the recommended list for the target user. The invention fuses the context information into the recommendation generation, and greatly improves the accuracy of the recommendation result by calculating the context weight and determining the central tensor dimension.

【技术实现步骤摘要】
基于高阶奇异值分解的上下文推荐方法及装置
本专利技术涉及一种上下文推荐方法及装置,尤其是一种基于高阶奇异值分解的上下文推荐方法及装置,属于信息推荐领域。
技术介绍
随着互联网的飞速发展,人们进入了信息过载的时代。推荐系统作为缓解“信息过载”的有效手段之一,利用已有的选择过程或相似关系挖掘每个用户潜在的兴趣对象。在许多场景下,如用户处于移动环境时,用户的偏好受到其所处位置、天气、时间等上下文因素的影响,上下文感知推荐系统通过将上下文引入推荐,可以进一步提高推荐的准确度。目前,有部分专家学者提出了将高阶奇异值分解算法引入到上下文感知推荐系统中。在使用高阶奇异值分解的过程中,中心张量维度的选择以及上下文权重的计算是决定算法准确性的关键因素,但是之前的方法没有明确指出如何确定中心张量维度,并且在计算上下文权重的时候粒度太粗,影响了计算结果的准确性。
技术实现思路
本专利技术的目的是为了解决上述现有技术的缺陷,提供了一种基于高阶奇异值分解的上下文推荐方法,该方法将上下文信息融合到推荐生成中,通过计算上下文权重以及确定中心张量维度,大大提高推荐结果的准确性。本专利技术的另一目的在于提供一种基于高阶奇异值分解的上下文推荐装置。本专利技术的目的可以通过采取如下技术方案达到:基于高阶奇异值分解的上下文推荐方法,所述方法包括:获取用户对项目的评分信息及相应的上下文信息;根据上下文类型的不同,构建对应于每个上下文的三阶张量;按照展开规则将每个三阶张量展开,得到三个二阶矩阵;根据每个二阶矩阵,确定中心张量维度,构建新的三阶张量;计算每个上下文的权重;根据新的三阶张量以及对应的上下文权重,构建N阶张量;根据目标用户ID和项目ID,找到目标用户在N阶张量对应的位置,为目标用户生成推荐列表。进一步的,所述方法还包括:当构建对应于每个上下文的三阶张量时,若有用户对用一个项目在同一个上下文中评分多次,则取平均值代替。进一步的,所述展开规则如下:假设N阶张量将它展开成矩阵在这个矩阵的第in行,第(in+1-1)In+2In+3…INI1I2…In-1+(in+2-1)In+3In+4…INI1I2…In-1+…(iN-1)I1I2…In-1+(i1-1)I2I3…In-1+(i2-1)I3I4…In-1+…+in-1列的值为进一步的,所述根据每个二阶矩阵,确定中心张量维度,构建新的三阶张量,具体包括:通过对每个二阶矩阵进行奇异值分解,计算保留一定百分比信息时非零奇异值的个数,以此来确定中心张量的维度,最后根据中心张量以及对应维度的三个子奇异矩阵的乘积,构建新的三阶张量。进一步的,所述计算每个上下文的权重,具体包括:计算不同项目的第一评分波动系数;根据不同项目的第一评分波动系数,计算对应上下文的第二评分波动系数;根据第二评分波动系数,计算出每个上下文的权重。进一步的,所述计算不同项目的第一评分波动系数,如下式:其中,为第一评分波动系数,进一步的,所述根据不同项目的第一评分波动系数,计算对应上下文的第二评分波动系数,如下式:其中,为第二评分波动系数,进一步的,所述根据第二评分波动系数,计算出每个上下文的权重,如下式:其中,λn为每个上下文的权重,n为自然数。本专利技术的另一目的可以通过采取如下技术方案达到:基于高阶奇异值分解的上下文推荐装置,所述装置包括:信息获取模块,用于获取用户对项目的评分信息及相应的上下文信息;第一构建模块,用于根据上下文类型的不同,构建对应于每个上下文的三阶张量;展开模块,用于按照展开规则将每个三阶张量展开,得到三个二阶矩阵;第二构建模块,用于根据每个二阶矩阵,确定中心张量维度,构建新的三阶张量;计算模块,用于计算每个上下文的权重;第三构建模块,用于根据新的三阶张量以及对应的上下文权重,构建N阶张量;生成模块,用于根据目标用户ID和项目ID,找到目标用户在N阶张量对应的位置,为目标用户生成推荐列表。进一步的,所述装置还包括:代替模块,用于当构建对应于每个上下文的三阶张量时,若有用户对用一个项目在同一个上下文中评分多次,则取平均值代替。本专利技术相对于现有技术具有如下的有益效果:1、本专利技术的方法及装置可以将上下文信息融合到推荐生成中,并提出了一种上下文权重计算方法以及一种确定中心张量维度的方法,大大提高了推荐结果的准确性。2、本专利技术方法及装置提出的确定中心张量维度的方法,可以根据保留总特征值和一定百分比信息时所对应的特征值个数,来确定中心张量维度。3、本专利技术在上下文权重计算时先考虑了用户在同一上下文下对不同项目的评分波动系数,综合不同项目的评分波动系数计算出在该上下文下的波动系数,最后结合每个上下文的评分波动系数计算出上下文权重,较其他方法来说粒度更细,计算的准确度更高。附图说明图1为本专利技术实施例1的系统架构图。图2为本专利技术实施例1的上下文信息采集及处理部分的示意图。图3为本专利技术实施例1中基于高阶奇异值分解的上下文推荐方法流程图。图4为本专利技术实施例1的张量展开示意图。图5为本专利技术实施例1的中心张量维度确定方法流程图。图6为本专利技术实施例1的张量分解原理图。图7为本专利技术实施例1的上下文权重计算方法流程图;图8为本专利技术实施例1的推荐生成流程图。图9为本专利技术实施例2的基于高阶奇异值分解的上下文推荐装置结构框图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例1:如图1所示,为本实施例的系统架构图,包括两大部分:上下文信息采集及处理部分、推荐引擎部分;如图2所示,为本实施例的上下文信息采集及处理部分的示意图,首先从用户移动设备获取GPS定位信息,再根据时间以及位置信息,利用第三方数据库得到天气信息;再根据一定规则将时间、位置、天气信息进行预处理,例如,对于“时间”上下文,上午6到12点定义为上午,用1表示,12到14点定义为中午,用2表示,14到18点定义为下午,用3表示,18点到24点定义为晚上,用4表示,24点到次日6点定义为凌晨,用5表示。这里可以根据具体应用采取不同的划分规则。如图3所示,为本实施例的基于高阶奇异值分解的上下文推荐方法的流程图,包括以下步骤:1)获取用户对项目的评分信息及相应的上下文信息利用用户对项目评分时移动设备的GPS获得位置信息,再结合时间以及位置利用第三方数据库获得当时的天气信息,组成用户历史评分信息数据库。2)对获取的信息进行预处理为了减少无效数据,本实施例只选取评分数目≥5的用户的评分记录。3)根据上下文类型的不同,构建对应于每个上下文的三阶张量假设历史数据中有N维数据,除了用户和项目这两个维度之外,包含了N-2个上下文,则根据上下文类型的不同,构建N-2个三阶张量,在构建时,若有用户对用一个项目在同一个上下文中评分多次,则取平均值代替。具体地,本实施例选取的上下文为时间、位置、天气。由于原始的数据中用户ID和项目ID不是连续的,用户和项目张量中的位置与其在用户集和项目集中的相对位置相同,例如按照用户ID排序后的部分数据如下表1所示。UserIDItemIDTimeLocationWeatherRating15113114152143153152152122152163154表1按照用户ID排序后的部分数据用户集中第一个用户为15,项目集中第一个项目为11,在构本文档来自技高网...
基于高阶奇异值分解的上下文推荐方法及装置

【技术保护点】
1.基于高阶奇异值分解的上下文推荐方法,其特征在于:所述方法包括:获取用户对项目的评分信息及相应的上下文信息;根据上下文类型的不同,构建对应于每个上下文的三阶张量;按照展开规则将每个三阶张量展开,得到三个二阶矩阵;根据每个二阶矩阵,利用奇异值分解确定中心张量维度,构建新的三阶张量;计算每个上下文的权重;根据新的三阶张量以及对应的上下文权重,构建N阶张量;根据目标用户ID和项目ID,找到目标用户在N阶张量对应的位置,为目标用户生成推荐列表。

【技术特征摘要】
1.基于高阶奇异值分解的上下文推荐方法,其特征在于:所述方法包括:获取用户对项目的评分信息及相应的上下文信息;根据上下文类型的不同,构建对应于每个上下文的三阶张量;按照展开规则将每个三阶张量展开,得到三个二阶矩阵;根据每个二阶矩阵,利用奇异值分解确定中心张量维度,构建新的三阶张量;计算每个上下文的权重;根据新的三阶张量以及对应的上下文权重,构建N阶张量;根据目标用户ID和项目ID,找到目标用户在N阶张量对应的位置,为目标用户生成推荐列表。2.根据权利要求1所述的基于高阶奇异值分解的上下文推荐方法,其特征在于:所述方法还包括:当构建对应于每个上下文的三阶张量时,若有用户对用一个项目在同一个上下文中评分多次,则取平均值代替。3.根据权利要求1所述的基于高阶奇异值分解的上下文推荐方法,其特征在于:所述展开规则如下:假设N阶张量将它展开成矩阵在这个矩阵的第in行,第(in+1-1)In+2In+3…INI1I2…In-1+(in+2-1)In+3In+4…INI1I2…In-1+…(iN-1)I1I2…In-1+(i1-1)I2I3…In-1+(i2-1)I3I4…In-1+…+in-1列的值为4.根据权利要求1所述的基于高阶奇异值分解的上下文推荐方法,其特征在于:所述根据每个二阶矩阵,利用奇异值分解确定中心张量维度,构建新的三阶张量,具体包括:通过对每个二阶矩阵进行奇异值分解,计算保留一定百分比信息时非零奇异值的个数,以此来确定中心张量的维度,最后根据中心张量以及对应维度的三个子奇异矩阵的乘积,构建新的三阶张量。5.根据权利要求1所述的基于高阶奇异值分解的上下文推荐方法,其特征在于:所述计算每个上...

【专利技术属性】
技术研发人员:熊冬青李家春
申请(专利权)人:广东机电职业技术学院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1