著录项信息
专利名称 | 一种有效的动态商品推荐方法及商品推荐系统 |
申请号 | CN201210064489.X | 申请日期 | 2012-03-13 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2012-08-08 | 公开/公告号 | CN102629360A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 浙江大学 | 申请人地址 | 浙江省杭州市西湖区浙大路38号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江大学 | 当前权利人 | 浙江大学 |
发明人 | 吴健;马莹;潘李敏;陈亮 |
代理机构 | 杭州裕阳专利事务所(普通合伙) | 代理人 | 江助菊 |
摘要
本发明公开了一种商品推荐系统及推荐方法,包括购买记录源模块、控制装置模块、过滤装置模块、商品对频率计算装置模块和频繁集数据库模块,各个模块按网络连接的方式进行连接,购买记录源模块通过购买记录表记录用户购买商品时的信息;控制装置模块用于提供对各个模块的接口,控制数据的存取、中断的发出、阈值的设定并可以操作其他模块;过滤装置模块接受来自控制装置模块所设置的阈值,对未达到阈值的数据,进行直接过滤;商品对频率计算装置模块用于执行方法中的计算过程;频繁集数据库模块存储最后的频繁数据库,并对购买记录源模块中的源数据库进行更新,利用一般的频繁集挖掘方案,加入时间因素,推荐商品的时候动态性极强。
1.一种有效的动态商品推荐方法,其特征在于,包括如下步骤:
1)通过购买记录表记录用户购买商品时的信息;所述信息包括用户名、购买的商品名称、商品分类、购买时间;
2)对于所述购买记录表,以购买者用户名为标准,将商品按照用户名进行分组,并在组内按照商品名称进行排序,形成一张临时记录表,扫描临时记录表,以购买者用户名为基准,抽取出所有同时出现的商品对;
3)将所有相同的商品对进行合并,在合并的时候,加入时间作为权重系数,所述权重系数通过公式(a)来计算第i个用户购买的商品A和B组成商品对
其中wtABi表示权重系数,tAi、tBi分别表示同一用户购买商品A和B的时间点,θmax表示用户购买商品A和B的最大间隔时间,k、ε都是调节系数,k为正数且其值视时间取值精确程度而定;ε为可变量,绝对值取定后,其正负随情况而定,tAi-tBi为正时,ε取非负;tAi-tBi为负时,ε取非正;
4)计算全部商品对的发生频率,对于商品A和B组成商品对的出现频率,采用公式(b)和公式(c)进行计算
其中,N表示参与购买的用户人数,所述freqAB′为统计每个商品对A和B的出现频率;
5)检查频繁集数据库中存储商品对及其对应频率,对于商品A和商品B组成的商品对,检查二者形成的商品对是否已存在于频繁集数据库中,若是,则取出数据库中的旧有频率,与新计算的频率进行整合计算,计算方法如公式(d)所示;
freqnew′=α×freqnew+(1-α)×freqold (d)
其中,而freqnew′为公式(c)中的freqAB′;freqold则为频繁集数据库中存储的频率,α取值范围为(0,1);
6)计算完毕后,使用freqnew′的值来替换频繁集数据库中的freqold,完成频繁集数据库的更新,当商品对出现频率达到预设的阈值条件时,则达到推荐标准,形成关联购买关系的频繁商品对;
最小支持度阈值表示两件有联系的商品之间的最小支持度;
所述频繁商品对表示两件商品间的支持度超过支持度最小阈值;
所述关联购买关系的频繁商品对表示频繁商品对的购买时间间隔在给定的时间阈值之内;
7)当用户完成对商品A的购买时,系统访问频繁集数据库,得到所有与A构成关联购买关系的频繁商品对的商品,将它们推荐给顾客。
2.根据权利要求1所述的一种有效的动态商品推荐方法,其特征在于,步骤6)中所述时间阈值为24小时。
3.根据权利要求1所述的一种有效的动态商品推荐方法,其特征在于,步骤5)中α取值为0.8。
4.利用权利要求1所述方法的一种商品推荐系统,其特征在于,包括购买记录源模块、控制装置模块、过滤装置模块、商品对频率计算装置模块和频繁集数据库模块,各个模块按网络连接的方式进行连接,所述购买记录源模块通过购买记录表记录用户购买商品时的信息,并根据其存储的源数据库对商品进行推荐;所述控制装置模块用于提供对各个模块的接口,控制数据的存取、中断的发出、阈值的设定,管理员通过控制装置模块来操作其他模块;所述过滤装置模块接受来自控制装置模块所设置的阈值,对未达到阈值的数据,进行直接过滤;所述商品对频率计算装置模块用于执行所述步骤3)~步骤5)中的过程;所述频繁集数据库模块存储最后的频繁数据库,并对购买记录源模块中的源数据库进行更新。
5.根据权利要求4所述的一种商品推荐系统,其特征在于,所述阈值包括最小支持度阈值和时间段阈值。
一种有效的动态商品推荐方法及商品推荐系统\n技术领域\n[0001] 本发明属于电子商务领域,主要采用数据库信息检索技术及数据挖掘技术向顾客推荐感兴趣商品。\n背景技术\n[0002] 随着信息时代网络技术的发展和网上交易平台的不断完善,网上购物已逐渐成为人们的一种生活习惯。各个电子商务网站瞄准了这一市场,在争夺顾客方面竞争十分激烈。\n如何提高用户黏性,是电子商务网站要考虑的一个重要问题。除了线下相关的商品质量、快递速度等,线上也有许多方式可吸引客户。为用户进行个性化推荐,不但会使用户更加感兴趣,在一定程度上,还会增加网站的订单量,挖掘潜在客户,提高最终收益。因此,各种个性化的商品推荐技术应运而生。\n[0003] 目前已经商业化的商品推荐技术一般是采用数据库查询的方式,通过在数据库中的搜索,为浏览某种商品用户推荐同类商品。这种推荐方法成本低,有一定作用,但是准确性不够高,针对用户的个性化程度不够明显。而且当用户已经购买某种商品后,再为其推荐同类商品,显然用处不大。当前有关商品推荐的热点主要是基于协同过滤技术的推荐。这种推荐方式基于这样一个认识:购买过许多相似商品的用户具有共同爱好,因此可以为某一用户推荐和他具有共同爱好的其它顾客所购买的商品。这种推荐方式能够挖掘用户的潜在兴趣,个性化和自动化程度非常高;但采用这种推荐技术,需要具备大量的用户数据及历史交易记录,对于初始加入的用户,则无法为其准确地推荐合适的商品。\n[0004] 以上技术都是针对用户浏览时进行的推荐,倾向于挖掘用户的购买潜能。事实上,当用户购买完一件商品后,极有可能会购买相关商品。比如购买完电脑后,会更倾向于再购买一个电脑包;或者在购买帽子之后,会更乐于买一条围巾。根据用户所购买的东西进行下一步推荐,会增加用户实际购买的可能,提高推荐准确率,且推荐内容更加个性化、动态化。\n这种推荐方式与基于关联规则的推荐颇有相似之处,后者通过大量用户常常购买某几种商品,推断这些商品之间具有一定关联,因此对用户进行推荐。但不同的是,商品之间的关联规则不具有时间上的联系,不能证明买一件商品的用户一定会马上购买另一件商品。且关联规则不仅来自于商品间的潜在关系,也可能来自于用户的兴趣。比如喜欢苹果产品的用户可能购买iphone和iPad,两件商品通过大量的用户购买记录建立起一定的联系。但是很难想象当用户购买iphone之后,为其推荐iPad,用户会立刻大感兴趣,这时推荐一款个性化的iphone手机套会更有用一些。\n发明内容\n[0005] 为了弥补一般推荐方法的不足,本发明提供一种根据商品之间的时间关联为商品建立起联系,并提供一种有效且动态性极强的商品推荐方法及推荐系统。\n[0006] 为了解决上述技术问题,本发明的技术方案如下:\n[0007] 一种有效的动态商品推荐方法,包括如下步骤:\n[0008] 1)通过购买记录表记录用户购买商品时的信息;所述信息包括用户名、购买的商品名称、商品分类、购买时间;\n[0009] 2)对于所述购买记录表,以购买者用户名为标准,将商品按照用户名进行分组,并在组内按照商品名称进行排序,形成一张临时记录表,扫描临时记录表,以购买者用户名为基准,抽取出所有同时出现的商品对;\n[0010] 3)将所有相同的商品对进行合并,在合并的时候,加入时间作为权重系数,所述权重系数通过公式a来计算第i个用户购买的商品A和B组成商品对\n[0011]\n[0012] 其中wtABi表示权重系数,tAi、tBi分别表示同一用户购买商品A和B的时间点,k,ε都是调节系数,k为正数且其值视时间取值精确程度而定;ε为可变量,绝对值取定后,其正负随情况而定,tAi-tBi为正时,ε取非负;tAi-tBi为负时,ε取非正;\n[0013] 4)计算全部商品对的发生频率,对于商品A和B组成商品对的出现频率,采用公式(b)和公式(c)进行计算\n[0014]\n[0015]\n[0016] 其中,N表示参与购买的用户人数,所述freqAB’为统计每个商品对A和B的出现频率;\n[0017] 5)检查频繁集数据库中存储商品对及其对应频率,对于商品A和商品B组成的商品对,检查二者形成的商品对是否已存在于频繁集数据库中,若是,则取出数据库中的旧有频率,与新计算的频率进行整合计算,计算方法如公式(d)所示;\n[0018] freqnew′=α×freqnew+(1-α)×freqold (d)\n[0019] 其中,而freqnew为公式(c)中的freqAB’;freqold则为频繁集数据库中存储的频率。α取值范围为(0,1);\n[0020] 6)计算完毕后,使用freqnew’的值来替换频繁集数据库中的freqold,完成频繁集数据库的更新,当商品对出现频率达到预设的阈值条件时,则达到推荐标准,形成关联购买关系的频繁商品对;\n[0021] 所述最小支持度阈值表示两件有联系的商品之间的最小支持度;\n[0022] 所述频繁商品对表示两件商品间的支持度超过支持度最小阈值;\n[0023] 所述关联购买关系的频繁商品对表示频繁商品对的购买时间间隔在给定的时间阈值之内;\n[0024] 7)当用户完成对商品A的购买时,系统访问频繁集数据库,得到所有与A构成关联购买关系的频繁商品对的商品,将它们推荐给顾客。\n[0025] 进一步的,步骤6)中所述时间阈值为24小时。\n[0026] 进一步的,步骤5)中α取值为0.8。\n[0027] 一种商品推荐系统,包括购买记录源模块、控制装置模块、过滤装置模块、商品对频率计算装置模块和频繁集数据库模块,各个模块按网络连接的方式进行连接,所述购买记录源模块通过购买记录表记录用户购买商品时的信息,并根据其存储的源数据库对商品进行推荐;所述控制装置模块用于提供对各个模块的接口,控制数据的存取、中断的发出、阈值的设定,管理员通过控制装置模块来操作其他模块;所述过滤装置模块接受来自控制装置模块所设置的阈值,对未达到阈值的数据,进行直接过滤;所述商品对频率计算装置模块用于执行所述步骤3)~步骤5)中的过程;所述频繁集数据库模块存储最后的频繁数据库,并对购买记录源模块中的源数据库进行更新。\n[0028] 进一步的,所述阈值包括最小支持度阈值和时间段阈值。\n[0029] 本发明的有益效果在于:利用一般的频繁集挖掘方案,加入了时间因素,商品之间的时间关联为商品建立起联系,推荐商品的时候动态性极强,而且推荐的商品对能随着购买用户的改变进行动态进行更新。\n附图说明\n[0030] 图1为动态商品推荐体系架构图;\n[0031] 图2为CF商品对挖掘流程图;\n[0032] 图3为商品推荐流程图。\n具体实施方式\n[0033] 下面将结合附图和具体实施例对本发明做进一步的说明。\n[0034] 在介绍方法的具体步骤之前,先给出几个相关定义。\n[0035] 定义1.支持度:两件商品之间的量化联系值,该值即为商品共同出现的频率,具体计算方法在下文有详细介绍。由此定义最小支持度阈值,它表示两件有联系的商品之间的最小支持度。\n[0036] 定义2.频繁商品对:若两件商品间的支持度超过最小支持度阈值,则称这两件商品为频繁商品对;在一个商品集合中,若任意两件商品均为频繁商品对,则称该集合为频繁商品集。频繁商品对实际上是频繁二项商品集。\n[0037] 定义3.频繁商品对的关联购买关系:当频繁商品对的购买时间间隔比较短时,认为它们具有关联购买关系,否则,则不认为两者具有关联购买性,如前面的ipad和iphone的例子。称具有关联购买关系的频繁商品对为CF商品对(correlative frequent pair of products,关联性的频繁商品对)。\n[0038] 定义4.时段阈θmax:购买CF商品对的最大时间间隔,即时间间隔小于θmax的商品对才成为CF商品对。时段阈为经验值,通常由管理人员设定,默认值为24小时。\n[0039] 本发明便是利用用户的购买行为记录,挖掘出CF商品对,以用于商品推荐。主要包括四个步骤:用户行为记录、商品对挖掘、剪枝、更新频繁集数据库。\n[0040] 购买用户每次购买商品,就会产生相应的购买记录表。本发明中,所需要的记录内容包括购买用户名、购买的商品名称、商品分类、购买时间等。当购买记录超过一定容量时,就需要对这些数据进行分析整理,以挖掘出有价值的信息。首先挖掘商品对,并同时计算商品对的支持度。其方法如下:1、对于购买记录表,以购买者用户名为标准,将商品按照用户名进行分组,并在组内按照商品名称进行排序,形成一张临时记录表;2、扫描临时记录表,以购买者用户名为基准,抽取出所有同时出现的商品对。举个例子,用户1购买了商品A、B、C,则此处共有三个商品对,商品对AB,商品对AC和商品对CB;3、将相同的商品对进行合并,即将来自不同用户购买记录的相同商品对进行合并。在合并的时候,需要考虑两个商品的购买时间间距,因此加入时间作为权重系数,购买时间越相近的两件商品,其权重越大。本发明采用公式(1)来计算第i个顾客购买的商品A和B组成商品对的权重系数。\n[0041]\n[0042] 其中,wtABi表示权重系数,tAi、tBi分别表示同一顾客购买商品A和B的时间点,k,ε都是调节系数,视时间间隔的重要程度而定,由用户给出。其中,k为正数;ε为可变量,绝对值取定后,其正负随情况而定,tAi-tBi为正时,ε取非负;tAi-tBi为负时,ε取非正。默认情况下ε取1或-1,k则视时间取值精确程度而定,若时间tAi、tBi采用整数表示,取值精确到毫秒,则k默认取1/(60*60),即令时间计算精确到小时。对于商品A和B组成商品对的出现频率,则采用公式(2)进行计算。\n[0043]\n[0044] 其中,N表示参与购买的顾客人数。由于wtABi的值可正可负,因此使用绝对值相加。\n但这样计算则无法区分A、B购买的先后顺序,freqBA与freqAB没有任何区别。因此,需要对公式(2)进行调整,调整后的结果如公式(3)所示。\n[0045]\n[0046] 当商品B始终在商品A之后购买,则freqAB’的值与freqAB一致;若B始终在A之前被购买,则freqAB’的值接近0;若A、B购买顺序不确定,则当N值很大,数据记录呈现统计规律时, 接近0,freqAB’的值接近freqAB的1/2。实际操作中,使用freqAB’来统计每个商品对A和B的出现频率。需要注意的是,freqBA’与freqAB’并不相同,但有一定联系,前者可以直接使用后者的中间结果进行,其计算公式事实上是\n利用公式(3),可以计算出全部商品对的发生频率。\n[0047] 接下来需要进行剪枝。先检查频繁集数据库,该数据库存储商品对及其对应频率。\n对于商品A和商品B组成的商品对,检查二者形成的商品对是否已存在于频繁集数据库中,若是,则取出数据库中的旧有频率,与新计算的频率进行整合计算,计算方法如公式(4)所示。\n[0048] freqnew′=α×freqnew+(1-α)×freqold (4)\n[0049] 其中,而freqnew是通过计算得出的,即公式(3)中的freqAB’;freqold则为频繁集数据库中存储的频率。α取值范围为(0,1),是为了区分原来存储在频繁集数据库中的频率和新计算的频率的重要性。默认情况下,α取值为0.8,因为认为最近的购买记录更有代表性,更能准确预测未来的购买情况。\n[0050] 计算完毕后,使用freqnew’的值来替换频繁集数据库中的freqold,完成频繁集数据库的更新。公式(4)中得到的freqnew’就是商品对的出现频率,也就是商品对的支持度。用户给定最小支持度阈值,当商品对出现频率达到阈值条件时,则达到推荐标准,形成CF商品对。当用户完成对商品A的购买时,系统访问频繁集数据库,得到所有与A构成CF商品对的商品,将它们推荐给顾客。\n[0051] 如图1所示,涉及动态商品推荐系统主要包括以下几个部分:\n[0052] 购买记录源模块:源数据库,记录用户的购买行为,以用于之后的商品对挖掘,同时利用源数据库对商品进行推荐。\n[0053] 控制装置模块:是整个体系的重要组成部分,提供对各个模块的接口,控制数据的存取、中断的发出、阈值的设定等;同时与管理员进行交互,管理员通过控制装置模块来操作其他模块和数据库。\n[0054] 过滤装置模块:由管理员通过控制装置模块进行各种阈值的设定,对未达到阈值的数据,直接过滤,从而在计算之前对数据进行了优化。\n[0055] 商品对频率计算装置模块:该装置用来计算商品对的发生频率。主要实现商品对挖掘这一步骤,前面涉及到的几个公式均设定在该装置中。\n[0056] 频繁集数据库模块:挖掘结果最终的存储位置,更新购买记录源模块中的源数据库。\n[0057] 上述各个装置模块通过常规网络连接,具体的连接方式均属于常规技术,在这里不再赘述。\n[0058] 下面结合图2对商品对挖掘过程进行具体介绍:\n[0059] 1.管理员通过控制装置模块进行阈值和其它项目的设定,阈值包括最小支持度阈值和时间段阈值;其它项目包括几个公式中涉及到的变量、购买记录数据提取时机、频繁集数据库更新策略等。购买数据的提取有两种策略:定期提取或当购买记录达到一定数据量时进行提取,对于前一种策略,管理员需要设定更新时间段,后一种则需要设定数据量阈值。与此类似,频繁集数据库模块有两种更新策略:定时更新或当数据量超过一定程度时对其进行更新,设定方式亦类似。阈值会被传递到过滤装置模块中。一般情况下,控制装置模块中对各个变量均有默认设定值,或可根据历史情况进行设定。\n[0060] 2.当需要提取购买行为记录进行分析挖掘时,控制装置模块发起中断,令计算装置模块对源数据进行计算。经过滤装置模块优化的源数据,通过计算装置模块利用公式(3)得到每个商品对的初始频率。\n[0061] 3.扫描频繁集数据库模块,检查每个商品对是否存在于频繁集数据库中(即是否曾经被计算并存储过)。若是,则通过计算装置模块按照公式(4)计算商品对的最终频率,并将其存入频繁集数据库;若否,则有两种情况,商品对的初始频率达到阈值,则直接存入频繁集数据库;未达到阈值的商品对,则直接舍弃。\n[0062] 4.控制装置模块根据管理员设定策略对频繁集数据库模块进行检测,当达到指定时间或频繁集数据库数据量超过阈值时,控制装置模块对频繁集数据库进行更新。更新策略为:扫描整个频繁集数据库,保留CF商品对,对于非CF商品对,全部删除;若数据库容量较大,也可按照商品对发生频率由低到高进行排序后部分删除。\n[0063] 当用户购买了某件商品时,系统可按照图3所示的流程对用户进行推荐。\n[0064] 1.用户购买了商品A后,系统对频繁集数据库进行扫描,找到所有与A构成CF商品对的商品,若得到数据较少,也可提取一些与A构成的商品对发生频率较高的商品。\n[0065] 2.对提取出的商品,按照它们与A构成的商品对频率从高到低进行排序。\n[0066] 3.将排序结果中靠前的五到十个结果推荐给用户。\n[0067] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
法律信息
- 2016-04-20
- 2012-12-19
实质审查的生效
IPC(主分类): G06Q 30/02
专利申请号: 201210064489.X
申请日: 2012.03.13
- 2012-08-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2008-12-03
| | |
2
| |
2010-10-06
|
2009-03-30
| | |
3
| |
2009-04-15
|
2007-10-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |