【技术实现步骤摘要】
本专利技术涉及以计算机系统实现的推荐技术,特别涉及基于计算机系统的推荐方法及其装置。
技术介绍
推荐算法通常分为基于内容的推荐,基于关联规则的推荐,基于协同过滤推荐,以及一些基本方法的组合。然而,本专利技术的专利技术人发现,当前CF(CollaborativeFiltering,协同过滤)算法存在一些问题,特别是在分布式环境下,有些问题更加明显,从CF运行逻辑来理解,算法瓶颈主要在以下三个地方:第一点存在于数据规模中,无论哪次推荐,分布式框架的每个计算节点都要保留全局数据,因为每个reducer不能提前得知当前节点被分配的是哪些用户,所以只存储局部数据会影响数据精度。这时每个reducer就被实例化为一个小型的推荐场景。假设共有t单位的计算资源,则全局数据被冗余存储了t-1份,同时每个reducer在真正的推荐过程中只会遇到小部分数据计算,其它数据也会造成极大的资源浪费。因此当数据规模较大时,无论从时间上还是存储上,对每个计算节点都是巨大的负担。在我们的实验过程中,由于编程语言以及编译器的本地设计,当用户或者项目任一数据量超过千万级时,必然会出现数组过大越界问题,当用户或者项目任一数据量在千万级别时,则由于集群中各个计算节点的配置参差不齐,有些低配节点就会出现内存不足问题。第二点为数据倾斜问题。从CF算法过程来看,无论是基于项目还是基于用户,我们都需要计算项目之间的相似度。这里存在一个隐蔽 ...
【技术保护点】
一种基于计算机系统的推荐方法,其特征在于,该方法包括以下步骤:获取各用户对各项目的项目评分记录;根据每个用户的项目评分记录进行聚类,将用户特征数据划分到R个类别中,R是大于1的整数;在每个所述类别的用户特征数据中,基于项目为目标用户推荐项目。
【技术特征摘要】
1.一种基于计算机系统的推荐方法,其特征在于,该方法包括以下步
骤:
获取各用户对各项目的项目评分记录;
根据每个用户的项目评分记录进行聚类,将用户特征数据划分到R个
类别中,R是大于1的整数;
在每个所述类别的用户特征数据中,基于项目为目标用户推荐项目。
2.根据权利要求1所述的基于计算机系统的推荐方法,其特征在于,
所述计算机系统包括至少两个计算节点;
所述“在每个所述类别的用户特征数据中,基于项目为目标用户推荐
项目”的步骤中,将各所述类别的用户特征数据分配给多个计算节点,每
个计算节点最多保存R-1个所述类别的用户特征数据,每个计算节点在所
保存的每个所述类别的用户特征数据中基于项目为目标用户推荐项目。
3.根据权利要求1所述的基于计算机系统的推荐方法,其特征在于,
所述“在每个所述类别的用户特征数据中,基于项目为目标用户推荐项
目”的步骤中,采用基于项目的协同过滤算法为目标用户推荐项目;
所述“在每个所述类别的用户特征数据中,基于项目为目标用户推荐
项目”的步骤中包括以下子步骤:
根据所述类别中每个用户的项目评分记录,计算所述类别中所有项目
间相似度,并为每个项目选取相似度最高的M个项目,M为预定义的整
数;
根据所述类别中所述目标用户的项目评分记录,为所述目标用户选取
评分最高的T个项目,T为预定义的整数;
将为所述目标用户选取的T个项目与为所述T个项目中每个项目选取
的M个项目相结合,并从中去除所述目标用户的项目列表中的项目,形成
初始推荐结果。
4.根据权利要求3所述的基于计算机系统的推荐方法,其特征在于,
在形成初始推荐结果的子步骤后还包括以下子步骤:
判断所述初始推荐结果中的项目数量是否大于N,N为预定义的整
数;
若所述初始推荐结果中的项目数量大于N,则从所述初始推荐结果中
选取相似度最高的N个项目推荐给所述目标用户;
若所述初始推荐结果中的项目数量小于N,则将所述目标用户的项目
列表中的所有项目与为所述目标用户的项目列表中每个项目选取的M个项
目相结合,并从中去除所述目标用户的项目列表中的所有项目,形成用户
数据补全推荐结果。
5.根据权利要求4所述的基于计算机系统的推荐方法,其特征在于,
在形成用户数据补全推荐结果的子步骤后还包括以下子步骤:
判断所述用户数据补全推荐结果中的项目数量是否大于N,N为预定
义的整数;
若所述用户数据补全推荐结果中的项目数量大于N,则从所述用户数
据补全推荐结果中选取相似度最高的N个项目推荐给所述目标用户;
若所述用户数据补全推荐结果中的项目数量小于N,则将所述目标用
户的项目列表中的所有项目与和所述目标用户的项目列表中每个项目具有
相似度关系的所有项目相结合,并从中去除所述目标用户的项目列表中的
所有项目,形成项目数据补全推荐结果。
6.根据权利要求1所述的基于计算机系统的推荐方法,其特征在于,
\t所述“在每个所述类别的用户特征数据中,基于项目为目标用户推荐项
目”的步骤后还包括以下步骤:
判断数据稀疏度是否大于数据稀疏度阈值,所述数据稀疏度
其中k为计算得到的所述类别中具有相似度关系的项目对的数
量,l为所述类别中项目的数量,若所述数据稀疏度小于数据稀疏度阈值,则以第一项目、第二项目和
第三项目为一组,所述第一项目与所述第二项目间、所述第二项目与所述
第三项目间具有相似度关系,通过所述第二项目为所述第一项目和所述第
三项目建立相似度关系,并根据补充的项目间相似度关系在所述类别中再
次基于项目为所述目标用户推荐项目;
若所述数据稀疏度大于数据稀疏度阈值,则将基于项目计算得到的推
荐项目推荐给所述目标用户。
7.根据权利要求1至6中任一项所述的基于计算机系统的推荐方法,
其特征在于,所述“根据每个用户的项目评分记录进行聚类,将用户特征
数据划分到R个类别中,R是大于1的整数”的步骤前还包括以下步骤:
判断用户数量是否大于用户规模阈值;
若所述用户数量小于用户规模阈值,则直接在所有用户特征数据中基
于项目为目标用户推荐项目;
若所述用户数量大于用户规模阈值,则进入“根据每个用户的项目评
分记录进行聚类,将用户特征数据划分到R个类别中,R是大于1的整数”
的步骤。
8.一种基于计算机系统的推荐装置,其特征在于,所述装置包括:
用户项目初始关系计算模块,用于获取各用户对各项目的项目评分记
\t录;
聚类模块,用于根据所述用户项目初始关系计算模块获取的每个用户
的...
【专利技术属性】
技术研发人员:潘晓彤,金柯,刘忠义,魏虎,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。