CN103679489A - 一种物品关联推荐的方法及系统 - Google Patents
一种物品关联推荐的方法及系统 Download PDFInfo
- Publication number
- CN103679489A CN103679489A CN201210332241.7A CN201210332241A CN103679489A CN 103679489 A CN103679489 A CN 103679489A CN 201210332241 A CN201210332241 A CN 201210332241A CN 103679489 A CN103679489 A CN 103679489A
- Authority
- CN
- China
- Prior art keywords
- article
- database table
- update cycle
- incidence relation
- relation value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种物品关联推荐的方法及系统,涉及计算机技术领域,根据内存矩阵的任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度。本发明实施例的采用的方法为:获取物品的属性信息;根据物品的属性信息生成以内存矩阵形式存储的数据库表,其中,数据库表的行和列分别表示物品的标识与用户的标识,数据库表的元素表示对应的用户购买对应物品的信息;根据R(Bi_k)=L(Bi)*L(Bk)分别计算数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,对所有其他物品与第一物品的关联关系值进行排序,并确定对第一物品进行关联推荐的物品。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种物品关联推荐的方法及系统。
背景技术
物品关联推荐引擎是商务领域的一项核心技术,可以有效地帮助用户发现需求、促进物品的销售等。
现有技术中,一种图书关联推荐的方法,步骤如下:首先扫描全部用户购买图书的记录,并把每个用户的购买记录整理为单独的集合;其次分别穷举每个集合中所有元素的二元组合,并把所有集合中相同的二元组合合并为一项,其中,相同的二元组合出现的次数用Count值表示,以及将所有不同的二元组合的标识和对应的Count值构成数据库表;最后对与第一图书相关的所有图书构成的二元组合按照Count值由大到小进行排列,构成排序列表,并按照从前到后的顺序从该排序列表中提取与需要推荐的物品的个数相等的图书作为与该图书关联的可推荐的图书。
在实现上述图书关联推荐的过程中,发明人发现现有技术中至少存在如下问题:因计算方法复杂,使得运算速度慢;因采用穷举二元组合的方法构建数据库表,使得存储占有量大,进而使得成本高。
发明内容
本发明实施例提供一种物品关联推荐的方法及系统,采用内存矩阵的存储方式,根据内存矩阵的任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度,降低成本。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供一种物品关联推荐的方法,包括:
获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,R(Bi_k)指所述第i物品与所述第一物品的关联关系值;
对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
优选的,在所述根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值之前,还包括:
根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的,
所述根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,包括:
在每一个所述组之间并行计算所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
优选的,所述根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组,包括:将所述数据库表中的所有物品平均分为所述推荐服务器CPU的核心数加1个组。
优选的,所述对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品,包括:
将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺序,降序插入到预设链表中,其中,所述预设链表包含的最大元素个数与所述第一物品需要推荐的物品个数相同。
优选的,所述内存矩阵采用二进制位的形式存储。
优选的,所述方法还包括,设置更新周期;
所述获取物品的属性信息,包括:根据所述设置的更新周期,在每个更新周期内,获取所述每个更新周期内的物品的属性信息;
所述根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,包括:根据所述设置的更新周期,在每个更新周期内,根据每个更新周期内的所述物品的属性信息生成以内存矩阵形式存储的数据库表;
所述根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,包括:根据所述设置的更新周期,在每个更新周期内,根据R(Bi_k=L(Bi)*L(Bk)分别计算所述每个更新周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值;
所述对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品,包括:根据所述设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
一方面,本发明实施例提供一种物品关联推荐的系统,包括:
获取单元,用于获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
生成单元,用于根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
计算单元,用于根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,R(Bi_k)指所述第i物品与所述第一物品的关联关系值;
排序单元,用于对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
优选的,所述系统还包括:分组单元,用于根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的,
所述计算单元还用于,在每一个所述组之间并行计算所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
所述排序单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
本发明实施例提供的物品关联推荐的方法及系统,根据物品的属性信息生成以内存矩阵形式存储的数据库表,根据数据库表中任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度,降低成本,解决了现有技术中推荐物品计算速度慢,成本高的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种物品关联推荐的方法的流程图;
图2为本发明实施例提供的一种链表插入排序法的流程图;
图3为本发明实施例提供的一种物品关联推荐的系统图;
图4为本发明实施例提供的另一种物品关联推荐的系统图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种物品关联推荐的方法,本实施例所述方法可以应用于各种物品的推荐,例如图书、歌曲、电影、日用品等各种物品。尤其适用于中小规模网站(物品的种类数量小于10万,用户的数量在百万级别)的物品关联推荐。参见图1,包括:
S101:获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
示例性的,获取物品的属性信息,包括:获取所有物品的标识,其中,物品的标识可以为该物品的条形码或其他可唯一表示该物品的标识,本实施例中采用B1、B2、B3......Bn形式表示不同物品的标识;获取所有用户的标识,其中用户的标识可以为该用户的登陆账号或者其他可唯一表示该用户的标识,本实施例中采用U1、U2、U3......Un形式表示不同用户的标识;获取所有用户购买的所有物品的记录,其中,用户购买物品的记录为用户与所购买的物品之间的关系,可以为该用户购买该物品的数量或者购买金额等。
优选的,为了更好的为活跃用户推荐热点物品,物品的属性信息可以只记录热点物品的标识、活跃用户的标识、以及活跃用户购买的热点物品的记录,其中,热点物品可以根据需要进行选择,例如,根据每种物品的销售额或者销售数量进行选择,活跃用户也可以根据需要进行选择,例如,可根据每个用户的消费额或者活跃次数(购买次数)选择。
例如,预定热点物品的种类为4万,当所有物品的种类大于4万时,根据每种物品的销售数量按照由大到小的顺序对该所有种类的物品进行排序,选择前4万种物品作为热点物品,若至少两种物品的销售数量相等,则随机排序;当所有物品的种类小于或等于4万时,所有物品均为热点物品。
预定活跃用户的个数为200万,当所有用户的个数大于200万时,根据每个用户的活跃次数按照由多到少的顺序或根据每个用户的消费额按照由高到低的顺序对该所有用户进行排序,并选择前200万个用户作为活跃用户,若至少两个用户的活跃次数相等,则随机排序;当所有用户的个数小于或等于200万时,所有用户均为活跃用户。
优选的,在步骤S101中,可以设置一个更新周期,更新周期的长短可以根据物品销售变化情况进行设定,例如,可以设为一个月,一周或一天,本发明对此不进行限制,在每个更新周期内获取所述每个更新周期内的物品的属性信息并进行更新。本实施例下述各步骤均以当前周期为例进行说明。
S102:根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
示例性的,首先上一周期的数据库表初始化,然后根据当前周期内物品属性信息生成当前周期的数据库表。
该数据表库的行可以表示用户的标识,对应的列表示物品的标识,也可以行表示物品的标识,对应的列表示用户的标识。本实施例中的数据库表以行表示用户的标识、列表示物品的标识为例进行说明。
内存矩阵可以采用二进制位、八进制、十进制等各种数制的形式存储,优选的,为了使存储占有量最小,本实施例的所述内存矩阵采用二进制位的形式存储,其中,数据库表初始化可以将所有二进制位的数据库表的每个元素的初始值均归0。
示例性的,根据所述属性信息生成数据库表,其中属性信息可以采用表格形式或者其他形式表示,参见表1,为当前周期内选取的活跃用户购买选定的热点物品的信息,其中Bi代表热点物品,Ui代表活跃用户,每个单元格内代表对应的活跃用户购买对应热点物品的数量。
表1
B1 | B2 | B3 | B4 | ... | Bn | |
U1 | 0 | 1 | 3 | 1 | ... | 0 |
U2 | 7 | 0 | 1 | 0 | ... | 0 |
U3 | 0 | 1 | 1 | 2 | ... | 1 |
U4 | 3 | 1 | 0 | 0 | ... | 0 |
... | ... | ... | ... | ... | ... | ... |
Um | 1 | 1 | 0 | 2 | ... | 2 |
那么,根据表1中当前周期内选取的活跃用户购买选定的热点物品的信息生成的数据库表如表2所示:每个元素的初始状态均为0,若活跃用户Ux购买了热点物品By,则把Ux与By对应的元素(Ux,By)设为1。需说明的是,只要该活跃用户Ux购买了热点物品By,就把(Ux,By)设为1,而与购买数量无关。
表2
B1 | B2 | B3 | B4 | ... | Bn | |
U1 | 0 | 1 | 1 | 1 | ... | 0 |
U2 | 1 | 0 | 1 | 0 | ... | 0 |
U3 | 0 | 1 | 1 | 1 | ... | 1 |
U4 | 1 | 1 | 0 | 0 | ... | 0 |
... | ... | ... | ... | ... | ... | ... |
Um | 1 | 1 | 0 | 1 | ... | 1 |
S103:根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列/或行的所有元素组成的向量,R(Bi_k)指所述第i物品与所述第一物品的关联关系值;
示例性的,若需要获取与第一物品相关联的可推荐的物品,则需要计算所有其他物品与第一物品的关联关系值,其中每个其他物品与第一物品的关联关系值的计算方法均相同。假设第一物品Bk为B1,在此仅以物品B2与B1的关联关系值的计算方法为例进行说明。
参见表2,第一物品B1所在的列组成的向量为L(B1)=(0,1,0,1,...,1),物品B2所在的列组成的向量为L(B2)=(1,0,1,1,...,1),那么,物品B2与该第一物品B1之间的关联关系值R(B2_1)的计算方法如下:R(B2_1)=L(B2)*L(B1)=(1,0,1,1,...,1)*(0,1,0,1,...,1)=1*0+0*1+1*0+1*1+...+1*1。同理,可分别依次计算出其他物品与该第一物品B1的关联关系值:R(B3_1)、R(B4_1)、...、R(Bi_1)、...、R(Bn_1)。
优选的,在步骤S103之前,为了使得硬件效率达到最大,进而使计算速度最大,所述方法还可以包括:根据CPU的核心数将数据库表中的所有物品平均分为至少两个组;然后在每一个组之间并行计算每个组内包含的其他物品与第一物品B1之间的关联关系值,每个组内串行计算该组中除第一物品B1之外的其他物品与第一物品B1之间的关联关系值。
例如,假设表2中物品共有4万种,均分为甲(B1-B10000)、乙(B10001-B20000)、丙(B20001-B30000)、丁(B30001-B40000)四个组,每个组分别利用一个线程计算该组内物品与第一物品的关联关系值,各线程之间的计算可独立进行,所以,各组之间可实现并行计算,例如,可以同时计算B2、B10001、B20001、B30001四种物品与B1的关联关系值R(B2_1)、R(B10001_1)、R(B20001_1)、R(B30001_1)。
示例性的,若将所有物品平均分组后还有余数,则作为余数的物品可随机分给任何一组。
例如,假设表2中物品共有4万种,均分为7组后还余下2种物品,将该七个组分别表示为A、B、C、D、E、F、G,那么可将剩余的2种物品随机分给A、B、C、D、E、F、G中的任意一组。
优选的,可以将所述数据库表中的所有物品分为所述推荐服务器CPU的核心数加1个组。
S104:对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
示例性的,获取所有其他物品与第一物品B 1的关联关系值后,对所有关联关系值进行降序排列,然后根据需要推荐的物品个数T取排序最靠前的T个关联关系值对应的物品作为对第一物品进行关联推荐的物品。
优选的,为了进一步减小存储占有量,可采用链表插入排序法获取排序最靠前的T个关联关系值。设定第一物品为B1,物品的种类为n,Bi表示第i种物品,链表S的最大元素个数为T。参见图2,链表插入排序法的过程包括:
S201:初始赋值;
示例性的,将除B1之外的其他物品中标识信息的标号最小的物品(即B2)的标号设置为初始值,即i=2。
S202:计算R(Bi_k)=L(Bi)*L(Bk);
示例性的,根据公式R(Bi_k)=L(Bi)*L(Bk)计算除B1之外的其他物品与B1的关联关系值,其中,在每一个组之间并行计算每个组内包含的除B1之外的物品与B1之间的关联关系值,每一个组内串行计算该组内包含的所述其他物品与B1之间的关联关系值。
S203:把R(Bi_k)按降序插入到链表S上;
示例性的,可以根据计算的先后顺序分别将每个除Bi之外的物品与Bi的关系值以R(Bi_k):Bi的形式按降序插入到链表S上,最后S链表上的数据形如:{1000:B25,900:B10,200:B88,150:B47}。
S204:判断链表S中元素的个数是否超过了T;
S205:若链表S中的元素个数超过了T,则舍弃链表S末尾的一个元素;
S206:若链表S中的元素个数没有超过了T,则对i加1运算;
S207:判断i是否超过了n;
S208:若i超过了n,则结束;
S209:若i没有超过n,则返回S202。
计算结束之后得到的链表S中的所有元素即为与物品B1的关联关系值排序最靠前的T个物品。
本发明实施例提供了一种物品关联推荐的方法,根据物品的属性信息生成以内存矩阵形式存储的数据库表,根据数据库表中任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度,降低成本,解决了现有技术中推荐物品计算速度慢,成本高的问题。
另一方面,本发明实施例提供了一种物品关联推荐的系统,包括:
获取单元301,用于获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
示例性的,获取单元301获取物品的属性信息,包括:获取所有物品的标识,其中,物品的标识可以为该物品的条形码或其他可唯一表示该物品的标识,本实施例中采用B1、B2、B3......Bn形式表示不同物品的标识;获取所有用户的标识,其中用户的标识可以为该用户的登陆账号或者其他可唯一表示该用户的标识,本实施例中采用U1、U2、U3......Un形式表示不同用户的标识;获取所有用户购买的所有物品的记录,其中,用户购买物品的记录为用户与所购买的物品之间的关系,可以为该用户购买该物品的数量或者购买金额等。
进一步的,为了更好的为活跃用户推荐热点物品,物品的属性信息可以只记录热点物品的标识、活跃用户的标识、以及活跃用户购买的热点物品的记录,其中,热点物品可以根据需要进行选择,例如,根据每种物品的销售额或者销售数量进行选择,活跃用户也可以根据需要进行选择,例如,可根据每个用户的消费额或者活跃次数(购买次数)选择。
例如,预定热点物品的种类为4万,当所有物品的种类大于4万时,根据每种物品的销售数量按照由大到小的顺序对该所有种类的物品进行排序,选择前4万种物品作为热点物品,若至少两种物品的销售数量相等,则随机排序;当所有物品的种类小于或等于4万时,所有物品均为热点物品。
预定活跃用户的个数为200万,当所有用户的个数大于200万时,根据每个用户的活跃次数按照由多到少的顺序或根据每个用户的消费额按照由高到低的顺序对该所有用户进行排序,并选择前200万个用户作为活跃用户,若至少两个用户的活跃次数相等,则随机排序;当所有用户的个数小于或等于200万时,所有用户均为活跃用户。
生成单元302,用于根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
示例性的,默认数据库表初始化,然后根据物品属性信息生成数据库表,其中,该数据表库的行可以表示用户的标识,对应的列表示物品的标识,也可以行表示物品的标识,对应的列表示用户的标识。本实施例中的数据库表以行表示用户的标识、列表示物品的标识为例进行说明。
内存矩阵可以采用二进制位、八进制、十进制等各种数制的形式存储,优选的,为了使存储占有量最小,本实施例的所述内存矩阵采用二进制位的形式存储,其中,数据库表初始化可以将所有二进制位的数据库表的每个元素的初始值均归0。
示例性的,根据所述属性信息生成数据库表,其中属性信息可以采用表格形式或者其他形式表示,参见表1,为活跃用户购买选定的热点物品的信息,其中Bi代表热点物品,Ui代表活跃用户,每个单元格内代表对应的活跃用户购买对应热点物品的数量。
那么,根据表1中选取的活跃用户购买选定的热点物品的信息生成的数据库表如表2所示:每个元素的初始状态均为0,若活跃用户Ux购买了热点物品By,则把Ux与By对应的元素(Ux,By)设为1。需说明的是,只要该活跃用户Ux购买了热点物品By,就把(Ux,By)设为1,而与购买数量无关。
计算单元303,用于根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,R(Bi_k)指所述第i物品与所述第一物品的关联关系值;
示例性的,若需要获取与第一物品相关联的可推荐的物品,则需要计算所有其他物品与第一物品的关联关系值,其中每个其他物品与第一物品的关联关系值的计算方法均相同。假设第一物品Bk为B1,在此仅以物品B2与B1的关联关系值的计算方法为例进行说明。
参见表2,第一物品B1所在的列组成的向量为L(B1)=(0,1,0,1,...,1),物品B2所在的列组成的向量为L(B2)=(1,0,1,1,...,1),那么,物品B2与该第一物品B1之间的关联关系值R(B2_1)的计算方法如下:R(B2_1)=L(B2)*L(B1)=(1,0,1,1,...,1)*(0,1,0,1,...,1)=1*0+0*1+1*0+1*1+...+1*1。同理,可分别依次计算出其他物品与该第一物品B1的关联关系值:R(B3_1)、R(B4_1)、...、R(Bi_1)、...、R(Bn_1)。
排序单元304,用于对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
示例性的,获取所有其他物品与第一物品B1的关联关系值后,对所有关联关系值进行降序排列,然后根据需要推荐的物品个数T取排序最靠前的T个关联关系值对应的物品作为对第一物品进行关联推荐的物品。
优选的,为了进一步减小存储占有量,排序单元304可采用链表插入排序法获取排序最靠前的T个关联关系值。设定第一物品为B1,物品的种类为n,Bi表示第i种物品,链表S的最大元素个数为T。链表插入排序法的过程可参照图2所示方法,此处不再赘述。
进一步的,参见图4,所述系统还可以包括分组单元305,用于根据CPU的核心数将数据库表中的所有物品平均分为至少两个组;然后在每一个组之间并行计算每个组内包含的其他物品与第一物品B1之间的关联关系值,每个组内串行计算该组中除第一物品B1之外的其他物品与第一物品B1之间的关联关系值。这样可以使得硬件效率达到最大,进而使计算速度最大。
例如,假设表2中物品共有4万种,均分为甲(B1-B10000)、乙(B10001-B20000)、丙(B20001-B30000)、丁(B30001-B40000)四个组,每个组分别利用一个线程计算该组内物品与第一物品的关联关系值,各线程之间的计算可独立进行,所以,各组之间可实现并行计算,例如,可以同时计算B2、B10001、B20001、B30001四种物品与B1的关联关系值R(B2_1)、R(B10001_1)、R(B20001_1)、R(B30001_1)。
示例性的,若将所有物品平均分组后还有余数,则作为余数的物品可随机分给任何一组。
例如,假设表2中物品共有4万种,均分为7组后还余下2种物品,将该七个组分别表示为A、B、C、D、E、F、G,那么可将剩余的2种物品随机分给A、B、C、D、E、F、G中的任意一组。
所述分组单元305还可以用于,将所述数据库表中的所有物品分为所述推荐服务器CPU的核心数加1个组。
更新单元306,用于设置更新周期,其中,更新周期的长短可以根据物品销售变化情况进行设定,例如,可以设为一个月,一周或一天,本发明对此不进行限制,在每个更新周期内获取所述每个更新周期内的物品的属性信息并进行更新。相应的,
所述获取单元301还用于,根据所述更新单元306设置的更新周期,在每个更新周期内,获取所述每个更新周期内的物品的属性信息;
所述生成单元302还用于,根据所述更新单元306设置的更新周期,在每个更新周期内,根据每个更新周期内的所述物品的属性信息生成以内存矩阵形式存储的数据库表;
所述计算单元303还用于,根据所述更新单元306设置的更新周期,在每个更新周期内,根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述每个更新周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值;
所述排序单元304还用于,根据所述更新单元306设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
本发明实施例提供的一种物品关联推荐的系统,根据物品的属性信息生成以内存矩阵形式存储的数据库表,根据数据库表中任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度,降低成本,解决了现有技术中推荐物品计算速度慢,成本高的问题。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种物品关联推荐的方法,其特征在于,包括:
获取物品的属性信息,所述物品的属性信息包括物品的标识,用户的标识,以及用户购买物品的记录;
根据所述物品的属性信息生成以内存矩阵形式存储的数据库表,其中,所述数据库表的行和列分别表示物品的标识与用户的标识,所述数据库表的元素表示对应的用户购买对应物品的信息;
根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,其中,L(Bk)指所述第一物品所在列或行的所有元素组成的向量,L(Bi)指所述第i物品所在列或行的所有元素组成的向量,R(Bi_k)指所述第i物品与所述第一物品的关联关系值;
对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
2.根据权利要求1所述的物品关联推荐的方法,其特征在于,在所述根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值之前,所述方法还包括:
根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的,
所述根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,包括:
在每一个所述组之间并行计算所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
3.根据权利要求2所述的物品关联推荐的方法,其特征在于,所述根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组,包括:将所述数据库表中的所有物品平均分为所述推荐服务器CPU的核心数加1个组。
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(Bi_k)指所述第i物品与所述第一物品的关联关系值;
排序单元,用于对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
8.根据权利要求7所述的物品关联推荐的系统,其特征在于,所述系统还包括:
分组单元,用于根据CPU的核心数将所述数据库表中的所有物品平均分为至少两个组;相应的,
所述计算单元还用于,在每一个所述组之间并行计算所述每个组内包含的所述其他物品与所述第一物品之间的关联关系值。
9.根据权利要求8所述的物品关联推荐的系统,其特征在于,所述分组单元还用于:将所述数据库表中的所有物品平均分为所述推荐服务器CPU的核心数加1个组。
10.根据权利要求7或9所述的物品关联推荐的系统,其特征在于,所述排序单元,还用于将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺序,降序插入到预设链表中,其中,所述预设链表包含的最大元素个数与所述第一物品需要推荐的物品个数相同。
11.根据权利要求7所述的物品关联推荐的系统,其特征在于,所述内存矩阵采用二进制位的形式存储。
12.根据权利要求10或11所述的物品关联推荐的系统,其特征在于,所述系统还包括,更新单元,用于设置更新周期;
所述获取单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,获取所述每个更新周期内的物品的属性信息;
所述生成单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,根据每个更新周期内的所述物品的属性信息生成以内存矩阵形式存储的数据库表;
所述计算单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,根据R(Bi_k)=L(Bi)*L(Bk)分别计算所述每个更新周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值;
所述排序单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210332241.7A CN103679489A (zh) | 2012-09-10 | 2012-09-10 | 一种物品关联推荐的方法及系统 |
CN201380045476.0A CN104685522A (zh) | 2012-09-10 | 2013-08-21 | 产生关联的推荐物品的列表的方法及系统 |
PCT/CN2013/081972 WO2014036892A1 (zh) | 2012-09-10 | 2013-08-21 | 产生关联的推荐物品的列表的方法及系统 |
TW102132376A TWI522945B (zh) | 2012-09-10 | 2013-09-09 | 物品關聯推薦的方法及系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210332241.7A CN103679489A (zh) | 2012-09-10 | 2012-09-10 | 一种物品关联推荐的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103679489A true CN103679489A (zh) | 2014-03-26 |
Family
ID=50236524
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210332241.7A Pending CN103679489A (zh) | 2012-09-10 | 2012-09-10 | 一种物品关联推荐的方法及系统 |
CN201380045476.0A Pending CN104685522A (zh) | 2012-09-10 | 2013-08-21 | 产生关联的推荐物品的列表的方法及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380045476.0A Pending CN104685522A (zh) | 2012-09-10 | 2013-08-21 | 产生关联的推荐物品的列表的方法及系统 |
Country Status (3)
Country | Link |
---|---|
CN (2) | CN103679489A (zh) |
TW (1) | TWI522945B (zh) |
WO (1) | WO2014036892A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069125A (zh) * | 2015-08-13 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 一种社交网络推荐方法及系统 |
CN106651542A (zh) * | 2016-12-31 | 2017-05-10 | 珠海市魅族科技有限公司 | 一种物品推荐的方法及装置 |
CN107328164A (zh) * | 2017-05-27 | 2017-11-07 | 北京京东尚科信息技术有限公司 | 物品存储期限的监控方法、装置、电子设备和存储介质 |
CN107369091A (zh) * | 2016-05-12 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 产品推荐方法、装置及理财产品推荐方法 |
CN109242580A (zh) * | 2018-11-28 | 2019-01-18 | 北京腾云天下科技有限公司 | 确定目标品牌在指定城市的推荐入驻商场的方法 |
CN109697621A (zh) * | 2017-10-23 | 2019-04-30 | 阿里巴巴集团控股有限公司 | 热点属性的确定方法及装置、数据处理方法、装置及系统 |
CN113988970A (zh) * | 2021-10-18 | 2022-01-28 | 笑拼购网络科技有限公司 | 一种购物推荐方法及网购平台 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI634441B (zh) | 2016-11-29 | 2018-09-01 | 財團法人工業技術研究院 | 關聯法則之擴充方法、應用其之裝置及電腦可讀取媒體 |
CN113408254B (zh) * | 2021-05-18 | 2024-06-11 | 支付宝(杭州)信息技术有限公司 | 一种页面表单信息填写方法、装置、设备和可读介质 |
WO2023119499A1 (ja) * | 2021-12-22 | 2023-06-29 | 楽天グループ株式会社 | 情報処理システム、情報処理方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206752A (zh) * | 2007-12-25 | 2008-06-25 | 北京科文书业信息技术有限公司 | 电子商务网站相关商品推荐系统及其方法 |
CN102254028A (zh) * | 2011-07-22 | 2011-11-23 | 青岛理工大学 | 一种集成属性和结构相似性的个性化商品推荐方法和系统 |
CN102253936A (zh) * | 2010-05-18 | 2011-11-23 | 阿里巴巴集团控股有限公司 | 记录用户访问商品信息的方法及搜索方法和服务器 |
CN102456203A (zh) * | 2010-10-22 | 2012-05-16 | 阿里巴巴集团控股有限公司 | 确定候选产品链表的方法及相关装置 |
-
2012
- 2012-09-10 CN CN201210332241.7A patent/CN103679489A/zh active Pending
-
2013
- 2013-08-21 CN CN201380045476.0A patent/CN104685522A/zh active Pending
- 2013-08-21 WO PCT/CN2013/081972 patent/WO2014036892A1/zh active Application Filing
- 2013-09-09 TW TW102132376A patent/TWI522945B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206752A (zh) * | 2007-12-25 | 2008-06-25 | 北京科文书业信息技术有限公司 | 电子商务网站相关商品推荐系统及其方法 |
CN102253936A (zh) * | 2010-05-18 | 2011-11-23 | 阿里巴巴集团控股有限公司 | 记录用户访问商品信息的方法及搜索方法和服务器 |
CN102456203A (zh) * | 2010-10-22 | 2012-05-16 | 阿里巴巴集团控股有限公司 | 确定候选产品链表的方法及相关装置 |
CN102254028A (zh) * | 2011-07-22 | 2011-11-23 | 青岛理工大学 | 一种集成属性和结构相似性的个性化商品推荐方法和系统 |
Non-Patent Citations (2)
Title |
---|
方炜炜 等: "基于布尔矩阵的关联规则算法研究", 《计算机应用研究》 * |
高正红 等: "基于布尔矩阵的关联挖掘算法", 《科技资讯》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069125A (zh) * | 2015-08-13 | 2015-11-18 | 上海斐讯数据通信技术有限公司 | 一种社交网络推荐方法及系统 |
CN107369091A (zh) * | 2016-05-12 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 产品推荐方法、装置及理财产品推荐方法 |
CN106651542A (zh) * | 2016-12-31 | 2017-05-10 | 珠海市魅族科技有限公司 | 一种物品推荐的方法及装置 |
CN107328164A (zh) * | 2017-05-27 | 2017-11-07 | 北京京东尚科信息技术有限公司 | 物品存储期限的监控方法、装置、电子设备和存储介质 |
CN109697621A (zh) * | 2017-10-23 | 2019-04-30 | 阿里巴巴集团控股有限公司 | 热点属性的确定方法及装置、数据处理方法、装置及系统 |
CN109697621B (zh) * | 2017-10-23 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 热点属性的确定方法及装置、数据处理方法、装置及系统 |
CN109242580A (zh) * | 2018-11-28 | 2019-01-18 | 北京腾云天下科技有限公司 | 确定目标品牌在指定城市的推荐入驻商场的方法 |
CN109242580B (zh) * | 2018-11-28 | 2020-12-29 | 北京腾云天下科技有限公司 | 确定目标品牌在指定城市的推荐入驻商场的方法 |
CN113988970A (zh) * | 2021-10-18 | 2022-01-28 | 笑拼购网络科技有限公司 | 一种购物推荐方法及网购平台 |
Also Published As
Publication number | Publication date |
---|---|
TW201411525A (zh) | 2014-03-16 |
CN104685522A (zh) | 2015-06-03 |
WO2014036892A1 (zh) | 2014-03-13 |
TWI522945B (zh) | 2016-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103679489A (zh) | 一种物品关联推荐的方法及系统 | |
Bhunia et al. | A two storage inventory model for deteriorating items with variable demand and partial backlogging | |
CN110782266B (zh) | 商品销量预测及模型训练方法、装置以及设备 | |
CN102609869B (zh) | 商品购买系统和方法 | |
US20170364812A1 (en) | Progressive Objective Addition in Multi-objective Heuristic Systems and Methods | |
KR20140056731A (ko) | 구매추천 시스템 및 방법 | |
US9639596B2 (en) | Processing data in a data warehouse | |
Zanoni et al. | A two-level supply chain with consignment stock agreement and stock-dependent demand | |
CN110189164B (zh) | 基于信息熵度量和特征随机采样的商品—门店推荐方案 | |
Mirzazadeh et al. | An inventory model under uncertain inflationary conditions, finite production rate and inflation-dependent demand rate for deteriorating items with shortages | |
Huang | Economic ordering model for deteriorating items with random demand and deterioration | |
CN111080206A (zh) | 补货清单的生成方法、装置、设备及存储介质 | |
Maity et al. | Optimal inventory policies for deteriorating complementary and substitute items | |
Ghoreishi et al. | Joint optimal pricing and inventory control for deteriorating items under inflation and customer returns | |
Palanivel et al. | Two-warehouse inventory model for non–instantaneous deteriorating items with optimal credit period and partial backlogging under inflation | |
CN114782129A (zh) | 一种信息推荐的方法及装置 | |
CN114331594A (zh) | 一种商品推荐方法 | |
Maiti et al. | Discounted multi-item inventory model via genetic algorithm with Roulette wheel selection, arithmetic crossover and uniform mutation in constraints bounded domains | |
Barron | An (s, k, S) fluid inventory model with exponential leadtimes and order cancellations | |
Kumar et al. | Two-warehouse inventory model with multivariate demand and K-release rule | |
CN108108796A (zh) | 二维码的生成、基于二维码管理商品信息的方法及装置 | |
Bennett | Brand Loyalty Dynamics—China's Television brands come of age | |
Yu et al. | Managing dual warehouses with an incentive policy for deteriorating items | |
CN104011725A (zh) | 自动需求参数升级 | |
CN112884227A (zh) | 一种团购拼单的拆单供应方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140326 |
|
WD01 | Invention patent application deemed withdrawn after publication |