著录项信息
专利名称 | 一种基于关键字的电子商务网站商品推荐方法 |
申请号 | CN201210050057.3 | 申请日期 | 2012-02-29 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2012-08-08 | 公开/公告号 | CN102629257A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;G;0;6;Q;3;0;/;0;2查看分类表>
|
申请人 | 南京大学;南京科泰信息技术有限公司 | 申请人地址 | 江苏省泰州市泰兴市城北路138号苏东批发城
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 南京大学,南京科泰信息技术有限公司 | 当前权利人 | 南京大学,南京科泰信息技术有限公司 |
发明人 | 陈振宇;姚佳玮;杨睿;姚嘉俊;周国兵 |
代理机构 | 南京天翼专利代理有限责任公司 | 代理人 | 黄明哲 |
摘要
一种基于关键字的电子商务网站商品推荐方法,用户在搜索引擎搜索产品,由搜索链接进入电子商务网站,电子商务网站通过脚本采集搜索引擎链接带入的关键字和相关产品信息,由关键字之间的关联度得到关键字关联表,由关键字和相关产品之间的索引关系得到索引数据库;当一个从搜索引擎过来的新用户访问电子商务网站时,解析用户referrer取得关键字,通过查询关键字关联表和索引数据库得到对应的商品列表,推荐权重最高的N件商品。本发明通过采集新用户的搜索引擎带入关键字来解决新用户没有任何数据的问题,结合由历史数据训练得到关键字与商品集的索引关系,根据商品出现频度等信息计算出商品权重,向不存在任何行为记录的新用户进行推荐。
1.一种基于关键字的电子商务网站商品推荐方法,其特征是用户在搜索引擎搜索产品,由搜索链接进入电子商务网站,电子商务网站通过脚本采集搜索引擎链接带入的关键字和相关产品信息,所述相关产品包括用户浏览产品和下单产品,所述关键字和相关产品信息作为历史数据保存为服务器上的日志;由关键字之间的关联度得到关键字关联表,由关键字和相关产品之间的索引关系,得到索引数据库,将关键字关联表和索引数据库作为推荐基础;当一个从搜索引擎过来的新用户访问电子商务网站时,解析用户referrer取得关键字,并通过查询关键字关联表获得拓展关键字,通过查找索引数据库得到关键字和拓展关键字对应的商品列表,根据商品权重,推荐权重最高的N件商品;
具体步骤如下:
1)取得原始浏览数据:对日志进行处理,将指定日期范围D内,相同会话下间隔时间不大于时长T的商品页面访问视为一次浏览,日期范围D和时长T由电子商务网站设定,将一次浏览中初次访问的referrer URL中的关键词参数作为关键字字符串Q,处理完日志后,将获得关键字字符串数据作为原始浏览数据;
2)生成关键字-商品索引:对一次浏览记录中的关键字字符串Q进行处理,得到关键字集合K,具体处理方法如下:将关键字字符串Q按照空格分割,并根据预先定义的无用词列表L去除无用词,即:
i
将一次浏览记录中所有被浏览过的商品记做商品集合P,将(Ki,Pj,Wj)写入索引数据库Index(K,P,W),其中:
Ki∈K,Pj∈P
权重Wji的计算中,C(Ki)表示关键字Ki在所有关键字字符串中的出现次数;C(Ki,Pj)表示关键字Ki和商品Pj在所有浏览记录中同时出现的次数;
3)生成关键字关联表:针对步骤2)中生成的所有关键字,根据jaccard公式计算两两之间的关联度,如下:
A(Km,Kn)表示关键字Km和关键字Kn之间的关联度,C(Km)为Km在历史记录中的出现次数,C(Kn)为Kn在历史记录中的出现次数,C(Km,Kn)为关键字Km和Kn共同出现在一条记录中的次数,当A(Km,Kn)大于预先设定的阀值AT时,将(Km,Kn,A(Km,Kn))写入关键字关联表Assoc(K,K,A);
4)取得关键词集合:当新用户访问网站时,通过脚本尝试采集其搜索引擎带入的关键字KS,方法同步骤2),记取得的关键字集合为 如果无法取得关键字,则该用户不属于推荐目标;
5)扩展关键字:根据关键字关联表生成扩展关键字集合 方法如下:
k′为扩展的关键字;
6)计算商品权重:由索引数据库Index(K,P,W)构造二部图G(V,E),其中:
V=K∪P
从二部图中取出所有和 相关的边E’:
根据E’计算商品的权重:
其中α(Ki)是由电子商务网站设定的、用于区别来自 和 不同关键字的调整参数,
7)排序:将步骤6)中计算得到的W(Pj)按降序排列,推荐权重最高的N个商品。
2.根据权利要求1所述的一种基于关键字的电子商务网站商品推荐方法,其特征是所述脚本为JavaScript脚本。
一种基于关键字的电子商务网站商品推荐方法\n技术领域\n[0001] 本发明属于个性化推荐领域,基于用户在搜索引擎中输入的关键字对电子网站的\n新用户进行推荐,为一种基于关键字的电子商务网站商品推荐方法。\n背景技术\n[0002] 个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和\n商品。随着电子商务规模的不断扩大,商品个数和种类快速增长,用户需要花费大量的时间\n才能找到自己需要的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载\n问题中的消费者不断流失。为了解决这些问题,个性化推荐系统应运而生。个性化推荐系\n统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其用户\n提供完全个性化的决策支持和信息服务。\n[0003] 目前主流的个性化推荐系统主要采用的方法是内容过滤,协同过滤推荐和两者的\n混合推荐。然而,尽管推荐系统的较之过去已经取得长足的发展,目前这一代的推荐系统依\n然存在着一些需要更多努力去改进的缺陷。随着市场应用需求的不断改变升级,目前的推\n荐系统主要存在以下几种明显的弊端:1.新网站的冷启动问题;2.网站新用户没有可供分\n析的历史数据的问题;3.难以应对变化的用户偏好问题;4.难以应对不断加大的数据集处\n理问题等等。\n[0004] 本发明方法着力解决的问题便是针对新用户的问题。新用户不存在任何行为记\n录,难以刻画其特征进行购买预测和商品推荐。所以传统的个性化推荐方法很难对这个问\n题进行直接应用。\n发明内容\n[0005] 本发明所要解决的技术问题是:电子商务网站的用户中新用户的比例很高,很多\n新用户是在下单购买时才注册登录,一个电子商务网站的新用户既没有历史行为信息数\n据,如历史评分,浏览,购买等行为,大部分情况也没有人口统计信息数据,如年龄,性别,职业等,所以传统的推荐方法难以满足这个特殊场景的需要。\n[0006] 本发明的技术方案为:一种基于关键字的电子商务网站商品推荐方法,用户在搜\n索引擎搜索产品,由搜索链接进入电子商务网站,电子商务网站通过脚本采集搜索引擎链\n接带入的关键字和相关产品信息,所述相关产品包括用户浏览产品和下单产品,所述关键\n字和相关产品信息作为历史数据保存为服务器上的日志;由关键字之间的关联度得到关\n键字关联表,由关键字和相关产品之间的索引关系,得到索引数据库,将关键字关联表和索\n引数据库作为推荐基础;当一个从搜索引擎过来的新用户访问电子商务网站时,解析用户\nreferrer取得关键字,并通过查询关键字关联表获得拓展关键字,通过查找索引数据库得\n到关键字和拓展关键字对应的商品列表,根据商品权重,推荐权重最高的N件商品。\n[0007] 本发明具体步骤如下:\n[0008] 1)取得原始浏览数据:对日志进行处理,将指定日期范围D内,相同会话下间隔时\n间不大于时长T的商品页面访问视为一次浏览,日期范围D和时长T由电子商务网站设定,\n将一次浏览中初次访问的referrer URL中的关键词参数作为关键字字符串Q,处理完日志\n后,将获得关键字字符串数据作为原始浏览数据;\n[0009] 2)生成关键字-商品索引:对一次浏览记录中的关键字字符串Q进行处理,得到\n关键字集合K,具体处理方法如下:将关键字字符串Q按照空格分割,并根据预先定义的无\n用词列表L去除无用词,即:\n[0010] \n[0011] 将一次浏览记录中所有被浏览过的商品记做商品集合P,将(Ki,Pj,Wji)写入索引\n数据库Index(K,P,W),其中:\n[0012] Ki∈K,Pj∈P\n[0013] \n[0014] 权重Wji的计算中,C(Ki)表示关键字Ki在所有关键字字符串中的出现次数;C(Ki,\nPj)表示关键字Ki和商品Pj在所有浏览记录中同时出现的次数;\n[0015] 3)生成关键字关联表:针对步骤2)中生成的所有关键字,根据jaccard公式计算\n两两之间的关联度,如下:\n[0016] \n[0017] A(Km,Kn)表示关键字Km和关键字Kn之间的关联度,C(Km)为Km在历史记录中的出\n现次数,C(Kn)为Kn在历史记录中的出现次数,C(Km,Kn)为关键字Km和Kn共同出现在一条\n记录中的次数,当A(Km,Kn)大于预先设定的阀值AT时,将(Km,Kn,A(Km,Kn))写入关键字关联表Assoc(K,K,A);\n[0018] 4)取得关键词集合:当新用户访问网站时,通过脚本尝试采集其搜索引擎带入的\n关键字KS,方法同步骤2),记取得的关键字集合为 如果无法取得关键字,则该用户不属于\n推荐目标;\n[0019] 5)扩展关键字:根据关键字关联表生成扩展关键字集合 方法如下:\n[0020] \n[0021] Expand(Km)=∪{Kn|(Km,Kn,A(m,n))∈Assoc(K,K,A)}\n[0022] k′为扩展的关键字;\n[0023] 6)计算商品权重:由索引数据库Index(K,P,W)构造二部图G(V,E),其中:\n[0024] V=K∪P\n[0025] E=∪{(Ki,Pj)|(Ki,Pj,Wji)∈(K,P,W)}\n[0026] 从二部图中取出所有和 相关的边E’:\n[0027] \n[0028] 根据E’计算商品的权重:\n[0029] \n[0030] 其中α(Ki)是由电子商务网站设定的、用于区别来自 和 不同关键字的调整参\n数,\n[0031] 7)排序:将步骤6)中计算得到的W(Pj)按降序排列,推荐权重最高的N个商品。\n[0032] 所述脚本为JavaScript脚本。\n[0033] 本发明方法着力解决的问题便是针对新用户的问题。新用户不存在任何行为记\n录,难以刻画其特征进行购买预测和商品推荐。所以传统的个性化推荐方法很难对这个问\n题进行直接应用。本发明方法通过搜集新用户每次进入网站时的带入关键字,并利用技术\n扩展得到关键字集合,以此为基础数据计算商品权重并排序(ranking),完成了向第一次进\n入网站的新用户的个性化商品推荐。解决了传统推荐方法无法对新用户尤其是未注册用户\n进行个性化推荐的弊端。\n附图说明\n[0034] 图1为本发明基于关键字的电子商务网站商品推荐方法的流程图。\n[0035] 图2为本发明由(K,P,W)组成的二部图(Bipartite Graph)。\n具体实施方式\n[0036] 本发明通过采集新用户的搜索引擎带入关键字来解决新用户没有任何数据的问\n题,并结合由历史数据训练得到关键字与商品集的索引关系,根据商品出现频度等信息计\n算出商品权重,推荐权重最高的N件产品。用户在搜索引擎搜索产品,由搜索链接进入电子\n商务网站,电子商务网站通过脚本采集搜索引擎链接带入的关键字和相关产品信息,所述\n相关产品包括用户浏览产品和下单产品,所述关键字和相关产品信息作为历史数据保存为\n服务器上的日志;根据历史数据计算关键字与关键字之间的关联集合,得到关键字关联表,\n由关键字和相关产品之间的索引关系,得到索引数据库,将关键字关联表和索引数据库作\n为推荐基础;当一个从搜索引擎过来的新用户访问电子商务网站时,解析用户referrer取\n得关键字,并通过查询关键字关联表获得拓展关键字,通过查找索引数据库得到关键字和\n拓展关键字对应的商品列表,根据商品权重,推荐权重最高的N件商品。如图1,其具体步骤\n如下:\n[0037] 1)通过JavaScript脚本采集用户搜索引擎带入关键字和商品浏览信息,建立历\n史数据库。搜索引擎带入关键字包括用户在搜索引擎,如google、bing、baidu等中所输入\n的信息,商品浏览信息包括用户浏览的各个商品的uri等;历史数据保存得到日志,对日志\n进行预处理,将指定日期范围D内,相同会话下间隔时间不大于T的页面访问视为一次浏\n览,将一次浏览的初次页面访问的referrer作为潜在关键字字符串,将这部分数据作为原\n始浏览数据;\n[0038] 以google和yahoo !为例,搜索引擎带入关键字可以通过以下JavaScript脚本\n采集得到:\n[0039] 1.ref=document.referrer;\n[0040] 2.if(ref.indexOf(′?′)==-1)return;\n[0041] 3.qs=ref.substr(ref.indexOf(′?′)+1);\n[0042] 4.qsa=qs.split(′&′);\n[0043] 5.for(i=0;i<qsa.length;i++){\n[0044] 6.qsip=qsa[i].split(′=′);\n[0045] 7.if(qsip.length==1)continue;\n[0046] 8.if(qsip[0]==′q′||qsip[0]==′p′)//q=for Google,p=for \nYahoo\n[0047] 9.words = unescape(decodeURIComponent(qsip[1]replace(/\+/g, ″ ))).\nsplit(/\s+/);\n[0048] 10.}\n[0049] 商品浏览信息可以通过追踪当前用户的点击流得到。\n[0050] 2)对日志中,搜索引擎带入关键字和相关商品信息进行预处理;对原始浏览数据\n进行预处理:把每一次浏览记录中的潜在关键字字符串按照空格分为单个关键字,并去除\n无用词,得到关键字的集合K,对所述无用词,预先设计一个无用词列表,所述无用词由设定的无用词列表得到,无用词列表包括如“if”、“the”等;由相关产品得到商品的集合P,将关键词集合K中的每一个关键词和商品集合P中的每一种商品的每一个组合作为对应关系,\ni i\n连同一个基本权重Wj 写入索引数据库,Wj 的计算如下:\n[0051] 把一次浏览记录中的关键字字符串进行处理,得到关键字集合K,具体处理方法\n为:将关键字字符串Q按照空格分割,并根据预先定义的无用词列表L去除无用词,即:\n[0052] \n[0053] 将一次浏览记录中所有被浏览过的商品记做商品集合P,将(Ki,Pj,Wji)写入索引\n数据库Index(K,P,W),其中:\n[0054] Ki∈K,Pj∈P\n[0055] \n[0056] 权重Wji的计算中,C(Ki)表示关键字Ki在所有关键字字符串中的出现次数,\n是为了降低热门关键字(即高频关键字)的影响,突出冷僻关键字;C(Ki,Pj)表示关键字Ki\n和商品Pj在所有浏览记录中同时出现的次数。\n[0057] 索引数据库实际上是一个由(K,P,W)组成的二部图(Bipartite Graph)G(V,E),\n构造方式如下:\n[0058] V=K∪P\n[0059] E=∪{(Ki,Pj)|(Ki,Pj,Wji)∈(K,P,W)}\n[0060] 生成的二部图可参考图2。\n[0061] 本实施例中,假设预处理后历史数据库中的一条记录如下\n[0062] 搜索引擎带入关键字集合:{k1,k2,k3}\n[0063] 相关商品集合:{p1,p2,p3,p4}\n[0064] 将每个关键字和每个商品关联,基本权重假设计算得到均为2,以(关键字,商品,\n权重)的格式写入“索引数据库”中,共12个条目:{(k1,p1,2),(k1,p2,2),(k1,p4,2),(k1,p3,2),(k2,p1,2),(k2,p2,2),(k2,p4,2),(k2,p3,2),(k3,p1,2),(k3,p2,2),(k3,p4,2),(k3,p3,2)}。\n[0065] 3)对历史数据库中的所有搜索引擎带入关键字进行聚类计算,将现有的关键字字\n符串拆分为单词,利用Jaccard系数分析单词之间的联系:\n[0066] 具体的计算方法如下:\n[0067] 设将数据中的所有关键字拆分后得到关键字集合{A,B,C,D,E},将他们两两组合,计算Jaccard系数,公式如下:\n[0068] \n[0069] A(Km,Kn)表示关键字Km和关键字Kn之间的关联度,C(Km)为Km在历史记录中的出\n现次数,C(Kn)为Kn在历史记录中的出现次数,C(Km,Kn)为关键字Km和Kn共同出现在一条\n记录中的次数,当A(Km,Kn)大于预先设定的阀值AT时,将(Km,Kn,A(Km,Kn))写入关键字关联表Assoc(K,K,A);比如A(A,B)>AT,A(D,E)>AT,则将(A,B),(B,A),(D,E),(E,D)四个条目写入关键字关联表。\n[0070] 4)当一个新用户访问网站时,通过JavaScript脚本得到该用户的搜索引擎带入\n关键字,记取得的关键字集合为 如果无法取得关键字,该用户不属于本推荐方法的目\n标。\n[0071] 5)将步骤4)中采集到的关键字拆分,如用户在refer页面中输入了“k1 k2”作为\n搜索关键字,可从索引数据库中找出每个关键字的对应列表:\n[0072] “k1”:{p1,p2,p5…}\n[0073] “k2”:{p1,p6,p7,p4…}\n[0074] 再从“相关关键词数据库”中找出同“k1”、“k2”相关的关键字,比如有“k3”和“k4”,扩展关键字:根据关键字关联表生成扩展关键字集合 ,方法如下:\n[0075] \n[0076] Expand(Km)=∪{Kn|(Km,Kn,A(m,n))∈Assoc(K,K,A)}\n[0077] k′为扩展的关键字;\n[0078] 每个扩展关键字对应列表有:\n[0079] “k3”:{p4,p8,p3,p9…}\n[0080] “k4”:{p10,p11,p1…}\ni\n[0081] 则设假设从索引数 据库中得到基本权重Wj 均为2,\n计算每个商品的权重:从索引数据库,也就是由(K,P,W)组成的二部图中\n取出所有和 相关的边E′:\n[0082] \n[0083] 根据E计算商品的权重:\n[0084] \n[0085] 其中α(Ki)是人为设定的、用于区别来自 和 不同关键字的调整参数,一般\n这里调整参数的设定为本领域技术人员掌握的现有技术,不在详\n述。\n[0086] 以p1、p4、p2为例,计算如下:\n[0087] W(p1)=1*2+1*2+0.5*2=5\n[0088] W(p4)=1*2+0.5*2=3\n[0089] W(p2)=1*2=2\n[0090] 最后对所有商品按权重从大到小排序,推荐最终权重最高的N个商品,比如N=2,\n推荐(p1,p4)。\n[0091] 本发明针对新用户,通过搜集新用户每次进入网站时的带入关键字,完成了向第\n一次进入网站的新用户的个性化商品推荐。
法律信息
- 2018-03-16
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 201210050057.3
申请日: 2012.02.29
授权公告日: 2014.02.19
- 2015-01-14
专利权人的姓名或者名称、地址的变更
专利权人由南京大学变更为南京大学
地址由210093 江苏省南京市鼓楼区汉口路22号变更为225400 江苏省泰州市泰兴市城北路138号苏东批发城
专利权人由南京科泰信息技术有限公司变更为南京科泰信息技术有限公司
- 2014-02-19
- 2012-10-03
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201210050057.3
申请日: 2012.02.29
- 2012-08-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |