一种物品关联推荐的方法及系统的制作方法

文档序号:6488705阅读:275来源:国知局
一种物品关联推荐的方法及系统的制作方法
【专利摘要】本发明实施例公开了一种物品关联推荐的方法及系统,涉及计算机【技术领域】,根据内存矩阵的任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度。本发明实施例的采用的方法为:获取物品的属性信息;根据物品的属性信息生成以内存矩阵形式存储的数据库表,其中,数据库表的行和列分别表示物品的标识与用户的标识,数据库表的元素表示对应的用户购买对应物品的信息;根据R(Bi_k)=L(Bi)*L(Bk)分别计算数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,对所有其他物品与第一物品的关联关系值进行排序,并确定对第一物品进行关联推荐的物品。
【专利说明】一种物品关联推荐的方法及系统
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种物品关联推荐的方法及系统。
【背景技术】
[0002]物品关联推荐引擎是商务领域的一项核心技术,可以有效地帮助用户发现需求、促进物品的销售等。
[0003]现有技术中,一种图书关联推荐的方法,步骤如下:首先扫描全部用户购买图书的记录,并把每个用户的购买记录整理为单独的集合;其次分别穷举每个集合中所有元素的二元组合,并把所有集合中相同的二元组合合并为一项,其中,相同的二元组合出现的次数用Count值表示,以及将所有不同的二元组合的标识和对应的Count值构成数据库表;最后对与第一图书相关的 所有图书构成的二元组合按照Count值由大到小进行排列,构成排序列表,并按照从前到后的顺序从该排序列表中提取与需要推荐的物品的个数相等的图书作为与该图书关联的可推荐的图书。
[0004]在实现上述图书关联推荐的过程中,发明人发现现有技术中至少存在如下问题:因计算方法复杂,使得运算速度慢;因采用穷举二元组合的方法构建数据库表,使得存储占有量大,进而使得成本高。

【发明内容】

[0005]本发明实施例提供一种物品关联推荐的方法及系统,采用内存矩阵的存储方式,根据内存矩阵的任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度,降低成本。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]—方面,本发明实施例提供一种物品关联推荐的方法,包括:
[0008]获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
[0009]根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
[0010]根据R(Bi k) = L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,R(Bi k)指所述第i物品与所述第一物品的关联关系值;
[0011]对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
[0012]优选的,在所述根据R(Bi k) = L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值之前,还包括:[0013]根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的,
[0014]所述根据IUBi k) = L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,包括:
[0015]在每一个所述组之间并行计算所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
[0016]优选的,所述根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组,包括:将所述数据库表中的所有物品平均分为所述推荐服务器CPU的核心数加I个组。
[0017]优选的,所述对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品,包括:
[0018]将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺序,降序插入到预设链表中,其中,所述预设链表包含的最大元素个数与所述第一物品需要推荐的物品个数相同。
[0019]优选的,所述内存矩阵采用二进制位的形式存储。
[0020]优选的,所述方法还包括,设置更新周期;
[0021]所述获取物品的属性信息,包括:根据所述设置的更新周期,在每个更新周期内,获取所述每个更新周期内的物品的属性信息;
[0022]所述根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,包括:根据所述设置的更新周期,在每个更新周期内,根据每个更新周期内的所述物品的属性信息生成以内存矩阵形式存储的数据`库表;
[0023]所述根据IUBi k) = L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,包括:根据所述设置的更新周期,在每个更新周期内,根据R(Bi k = L (Bi) *L (Bk)分别计算所述每个更新周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值;
[0024]所述对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品,包括:根据所述设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物
品O
[0025]一方面,本发明实施例提供一种物品关联推荐的系统,包括:
[0026]获取单元,用于获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
[0027]生成单元,用于根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
[0028]计算单元,用于根据R(Bi k) = L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,WBik)指所述第i物品与所述第一物品的关联关系值;
[0029]排序单元,用于对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
[0030]优选的,所述系统还包括:分组单元,用于根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的,
[0031]所述计算单元还用于,在每一个所述组之间并行计算所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
[0032]所述排序单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
[0033]本发明实施例提供的物品关联推荐的方法及系统,根据物品的属性信息生成以内存矩阵形式存储的数据库表,根据数据库表中任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度,降低成本,解决了现有技术中推荐物品计算速度慢,成本高的问题。
【专利附图】

【附图说明】
[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本发明实施例提供的一种物品关联推荐的方法的流程图;
[0036]图2为本发明实施例提供的一种链表插入排序法的流程图;
[0037]图3为本发明实施例提供的一种物品关联推荐的系统图;
[0038]图4为本发明实施例提供的另一种物品关联推荐的系统图。
【具体实施方式】
[0039]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]本发明实施例提供了一种物品关联推荐的方法,本实施例所述方法可以应用于各种物品的推荐,例如图书、歌曲、电影、日用品等各种物品。尤其适用于中小规模网站(物品的种类数量小于10万,用户的数量在百万级别)的物品关联推荐。参见图1,包括:
[0041]SlOl:获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
[0042]示例性的,获取物品的属性信息,包括:获取所有物品的标识,其中,物品的标识可
以为该物品的条形码或其他可唯一表示该物品的标识,本实施例中采用B2> B3......Bn
形式表示不同物品的标识;获取所有用户的标识,其中用户的标识可以为该用户的登陆账
号或者其他可唯一表示该用户的标识,本实施例中采用U1' U2, U3......Un形式表示不同用
户的标识;获取所有用户购买的所有物品的记录,其中,用户购买物品的记录为用户与所购买的物品之间的关系,可以为该用户购买该物品的数量或者购买金额等。[0043]优选的,为了更好的为活跃用户推荐热点物品,物品的属性信息可以只记录热点物品的标识、活跃用户的标识、以及活跃用户购买的热点物品的记录,其中,热点物品可以根据需要进行选择,例如,根据每种物品的销售额或者销售数量进行选择,活跃用户也可以根据需要进行选择,例如,可根据每个用户的消费额或者活跃次数(购买次数)选择。
[0044]例如,预定热点物品的种类为4万,当所有物品的种类大于4万时,根据每种物品的销售数量按照由大到小的顺序对该所有种类的物品进行排序,选择前4万种物品作为热点物品,若至少两种物品的销售数量相等,则随机排序;当所有物品的种类小于或等于4万时,所有物品均为热点物品。
[0045]预定活跃用户的个数为200万,当所有用户的个数大于200万时,根据每个用户的活跃次数按照由多到少的顺序或根据每个用户的消费额按照由高到低的顺序对该所有用户进行排序,并选择前200万个用户作为活跃用户,若至少两个用户的活跃次数相等,则随机排序;当所有用户的个数小于或等于200万时,所有用户均为活跃用户。
[0046]优选的,在步骤SlOl中,可以设置一个更新周期,更新周期的长短可以根据物品销售变化情况进行设定,例如,可以设为一个月,一周或一天,本发明对此不进行限制,在每个更新周期内获取所述每个更新周期内的物品的属性信息并进行更新。本实施例下述各步骤均以当前周期为例进行说明。
[0047]S102:根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
[0048]示例性的,首先上一周期的 数据库表初始化,然后根据当前周期内物品属性信息生成当前周期的数据库表。
[0049]该数据表库的行可以表示用户的标识,对应的列表示物品的标识,也可以行表示物品的标识,对应的列表示用户的标识。本实施例中的数据库表以行表示用户的标识、列表示物品的标识为例进行说明。
[0050]内存矩阵可以采用二进制位、八进制、十进制等各种数制的形式存储,优选的,为了使存储占有量最小,本实施例的所述内存矩阵采用二进制位的形式存储,其中,数据库表初始化可以将所有二进制位的数据库表的每个元素的初始值均归O。
[0051]示例性的,根据所述属性信息生成数据库表,其中属性信息可以采用表格形式或者其他形式表示,参见表1,为当前周期内选取的活跃用户购买选定的热点物品的信息,其中Bi代表热点物品,Ui代表活跃用户,每个单元格内代表对应的活跃用户购买对应热点物品的数量。
[0052]表1
[0053]
【权利要求】
1.一种物品关联推荐的方法,其特征在于,包括: 获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录; 根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息; 根据R(Bi k) =L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,R(Bi k)指所述第i物品与所述第一物品的关联关系值; 对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
2.根据权利要求1所述的物品关联推荐的方法,其特征在于,在所述根据R(Bik)=L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值之前,所述方法还包括: 根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的, 所述根据R(Bi k) =L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,包括: 在每一个所述组之间并行计算 所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
3.根据权利要求2所述的物品关联推荐的方法,其特征在于,所述根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组,包括:将所述数据库表中的所有物品平均分为所述推荐服务器CPU的核心数加I个组。
4.根据权利要求1或3所述的物品关联推荐的方法,其特征在于,所述对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品,包括: 将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺序,降序插入到预设链表中,其中,所述预设链表包含的最大元素个数与所述第一物品需要推荐的物品个数相同。
5.根据权利要求1所述的物品关联推荐的方法,其特征在于,所述内存矩阵采用二进制位的形式存储。
6.根据权利要求4或5所述的物品关联推荐的方法,其特征在于,所述方法还包括,设置更新周期; 所述获取物品的属性信息,包括:根据所述设置的更新周期,在每个更新周期内,获取所述每个更新周期内的物品的属性信息; 所述根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,包括:根据所述设置的更新周期,在每个更新周期内,根据每个更新周期内的所述物品的属性信息生成以内存矩阵形式存储的数据库表; 所述根据R(Bi k) =L(Bi)^L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,包括:根据所述设置的更新周期,在每个更新周期内,根据R(Bi k) =L(Bi)*L(Bk)分别计算所述每个更新周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值; 所述对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品,包括:根据所述设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
7.一种物品关联推荐的系统,其特征在于,包括: 获取单元,用于获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录; 生成单元,用于根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息; 计算单元,用于根据R(Bi k) =L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,R(Bij5)指所述第i物品与所述第一物品的关联关系值; 排序单元,用于对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
8.根据权利要求7所述的物品关联推荐的系统,其特征在于,所述系统还包括: 分组单元,用于根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的, 所述计算单元还用于,在每一个所述组之间并行计算所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
9.根据权利要求8所述的物品关联推荐的系统,其特征在于,所述分组单元还用于:将所述数据库表中的所有物品平均分为所述推荐服务器CPU的核心数加I个组。
10.根据权利要求7或9所述的物品关联推荐的系统,其特征在于,所述排序单元,还用于将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺序,降序插入到预设链表中,其中,所述预设链表包含的最大元素个数与所述第一物品需要推荐的物品个数相同。
11.根据权利要求7所述的物品关联推荐的系统,其特征在于,所述内存矩阵采用二进制位的形式存储。
12.根据权利要求10或11所述的物品关联推荐的系统,其特征在于,所述系统还包括,更新单元,用于设置更新周期; 所述获取单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,获取所述每个更新周期内的物品的属性信息; 所述生成单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,根据每个更新周期内的所述物品的属性信息生成以内存矩阵形式存储的数据库表; 所述计算单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,根据R(Bi k) =L(Bi)^L(Bk)分别计算所述每个更新周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值; 所述排序单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
【文档编号】G06Q30/02GK103679489SQ201210332241
【公开日】2014年3月26日 申请日期:2012年9月10日 优先权日:2012年9月10日
【发明者】张帆 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1