CN103679489A - 一种物品关联推荐的方法及*** - Google Patents

一种物品关联推荐的方法及*** Download PDF

Info

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
Application number
CN201210332241.7A
Other languages
English (en)
Inventor
张帆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210332241.7A priority Critical patent/CN103679489A/zh
Priority to PCT/CN2013/081972 priority patent/WO2014036892A1/zh
Priority to CN201380045476.0A priority patent/CN104685522A/zh
Priority to TW102132376A priority patent/TWI522945B/zh
Publication of CN103679489A publication Critical patent/CN103679489A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search 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)分别计算所述每个更新周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值;
所述排序单元还用于,根据所述更新单元设置的更新周期,在每个更新周期内,对所有所述其他物品与所述第一物品的关联关系值进行排序,并根据所述第一物品需要推荐的物品个数确定对所述第一物品进行关联推荐的物品。
CN201210332241.7A 2012-09-10 2012-09-10 一种物品关联推荐的方法及*** Pending CN103679489A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210332241.7A CN103679489A (zh) 2012-09-10 2012-09-10 一种物品关联推荐的方法及***
PCT/CN2013/081972 WO2014036892A1 (zh) 2012-09-10 2013-08-21 产生关联的推荐物品的列表的方法及***
CN201380045476.0A CN104685522A (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 (6)

* Cited by examiner, † Cited by third party
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 阿里巴巴集团控股有限公司 热点属性的确定方法及装置、数据处理方法、装置及***

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI634441B (zh) 2016-11-29 2018-09-01 財團法人工業技術研究院 關聯法則之擴充方法、應用其之裝置及電腦可讀取媒體
CN113408254B (zh) * 2021-05-18 2024-06-11 支付宝(杭州)信息技术有限公司 一种页面表单信息填写方法、装置、设备和可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206752A (zh) * 2007-12-25 2008-06-25 北京科文书业信息技术有限公司 电子商务网站相关商品推荐***及其方法
CN102253936A (zh) * 2010-05-18 2011-11-23 阿里巴巴集团控股有限公司 记录用户访问商品信息的方法及搜索方法和服务器
CN102254028A (zh) * 2011-07-22 2011-11-23 青岛理工大学 一种集成属性和结构相似性的个性化商品推荐方法和***
CN102456203A (zh) * 2010-10-22 2012-05-16 阿里巴巴集团控股有限公司 确定候选产品链表的方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
方炜炜 等: "基于布尔矩阵的关联规则算法研究", 《计算机应用研究》 *
高正红 等: "基于布尔矩阵的关联挖掘算法", 《科技资讯》 *

Cited By (8)

* Cited by examiner, † Cited by third party
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 北京腾云天下科技有限公司 确定目标品牌在指定城市的推荐入驻商场的方法

Also Published As

Publication number Publication date
WO2014036892A1 (zh) 2014-03-13
TWI522945B (zh) 2016-02-21
CN104685522A (zh) 2015-06-03
TW201411525A (zh) 2014-03-16

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) 商品销量预测及模型训练方法、装置以及设备
US20220366268A1 (en) Progressive Objective Addition in Multi-objective Heuristic Systems and Methods
CN102282551A (zh) 娱乐入场券定价的自动决策支持
KR20140056731A (ko) 구매추천 시스템 및 방법
CN103823908A (zh) 基于用户偏好的内容推荐方法和服务器
US9639596B2 (en) Processing data in a data warehouse
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
CN104200279A (zh) 商品首次需求预测方法和装置
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
Singh et al. Supply chain inventory model with price-dependent consumption rate with ameliorating and deteriorating items and two levels of storage
Palanivel et al. Two-warehouse inventory model for non–instantaneous deteriorating items with optimal credit period and partial backlogging under inflation
CN114331594A (zh) 一种商品推荐方法
Hu et al. (s, S) inventory systems with correlated demands
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
Bennett Brand Loyalty Dynamics—China's Television brands come of age
CN108509622A (zh) 物品排序方法、装置、计算设备及存储介质
Buldyrev et al. A statistical physics implementation of Coase׳ s theory of the firm
CN104011725A (zh) 自动需求参数升级
CN104036395B (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