首页> 中国专利> 一种基于关键字的电子商务网站商品推荐方法

一种基于关键字的电子商务网站商品推荐方法

摘要

一种基于关键字的电子商务网站商品推荐方法,用户在搜索引擎搜索产品,由搜索链接进入电子商务网站,电子商务网站通过脚本采集搜索引擎链接带入的关键字和相关产品信息,由关键字之间的关联度得到关键字关联表,由关键字和相关产品之间的索引关系得到索引数据库;当一个从搜索引擎过来的新用户访问电子商务网站时,解析用户referrer取得关键字,通过查询关键字关联表和索引数据库得到对应的商品列表,推荐权重最高的N件商品。本发明通过采集新用户的搜索引擎带入关键字来解决新用户没有任何数据的问题,结合由历史数据训练得到关键字与商品集的索引关系,根据商品出现频度等信息计算出商品权重,向不存在任何行为记录的新用户进行推荐。

著录项

  • 公开/公告号CN102629257A

    专利类型发明专利

  • 公开/公告日2012-08-08

    原文格式PDF

  • 申请/专利号CN201210050057.3

  • 申请日2012-02-29

  • 分类号G06F17/30(20060101);G06Q30/02(20120101);

  • 代理机构32112 南京天翼专利代理有限责任公司;

  • 代理人黄明哲

  • 地址 210093 江苏省南京市鼓楼区汉口路22号

  • 入库时间 2023-12-18 06:20:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-16

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20140219 终止日期:20170229 申请日:20120229

    专利权的终止

  • 2015-01-14

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20120229

    专利权人的姓名或者名称、地址的变更

  • 2014-02-19

    授权

    授权

  • 2012-10-03

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120229

    实质审查的生效

  • 2012-08-08

    公开

    公开

说明书

技术领域

本发明属于个性化推荐领域,基于用户在搜索引擎中输入的关键字对电子网站的新用户 进行推荐,为一种基于关键字的电子商务网站商品推荐方法。

背景技术

个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。 随着电子商务规模的不断扩大,商品个数和种类快速增长,用户需要花费大量的时间才能找 到自己需要的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的 消费者不断流失。为了解决这些问题,个性化推荐系统应运而生。个性化推荐系统是建立在 海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其用户提供完全个性 化的决策支持和信息服务。

目前主流的个性化推荐系统主要采用的方法是内容过滤,协同过滤推荐和两者的混合推 荐。然而,尽管推荐系统的较之过去已经取得长足的发展,目前这一代的推荐系统依然存在 着一些需要更多努力去改进的缺陷。随着市场应用需求的不断改变升级,目前的推荐系统主 要存在以下几种明显的弊端:1.新网站的冷启动问题;2.网站新用户没有可供分析的历史数 据的问题;3.难以应对变化的用户偏好问题;4.难以应对不断加大的数据集处理问题等等。

本发明方法着力解决的问题便是针对新用户的问题。新用户不存在任何行为记录,难以 刻画其特征进行购买预测和商品推荐。所以传统的个性化推荐方法很难对这个问题进行直接 应用。

发明内容

本发明所要解决的技术问题是:电子商务网站的用户中新用户的比例很高,很多新用户 是在下单购买时才注册登录,一个电子商务网站的新用户既没有历史行为信息数据,如历史 评分,浏览,购买等行为,大部分情况也没有人口统计信息数据,如年龄,性别,职业等, 所以传统的推荐方法难以满足这个特殊场景的需要。

本发明的技术方案为:一种基于关键字的电子商务网站商品推荐方法,用户在搜索引擎 搜索产品,由搜索链接进入电子商务网站,电子商务网站通过脚本采集搜索引擎链接带入的 关键字和相关产品信息,所述相关产品包括用户浏览产品和下单产品,所述关键字和相关产 品信息作为历史数据保存为服务器上的日志;由关键字之间的关联度得到关键字关联表,由 关键字和相关产品之间的索引关系,得到索引数据库,将关键字关联表和索引数据库作为推 荐基础;当一个从搜索引擎过来的新用户访问电子商务网站时,解析用户referrer取得关键 字,并通过查询关键字关联表获得拓展关键字,通过查找索引数据库得到关键字和拓展关键 字对应的商品列表,根据商品权重,推荐权重最高的N件商品。

本发明具体步骤如下:

1)取得原始浏览数据:对日志进行处理,将指定日期范围D内,相同会话下间隔时间 不大于时长T的商品页面访问视为一次浏览,日期范围D和时长T由电子商务网站设定,将 一次浏览中初次访问的referrer URL中的关键词参数作为关键字字符串Q,处理完日志后, 将获得关键字字符串数据作为原始浏览数据;

2)生成关键字-商品索引:对一次浏览记录中的关键字字符串Q进行处理,得到关键字 集合K,具体处理方法如下:将关键字字符串Q按照空格分割,并根据预先定义的无用词列 表L去除无用词,即:

K={Ki|Kiset(Q),KiL}

将一次浏览记录中所有被浏览过的商品记做商品集合P,将(Ki,Pj,Wji)写入索引数据库 Index(K,P,W),其中:

Ki∈K,Pj∈P

Wji=1C(Ki)×C(Ki,Pj)

权重Wji的计算中,C(Ki)表示关键字Ki在所有关键字字符串中的出现次数;C(Ki,Pj)表示 关键字Ki和商品Pj在所有浏览记录中同时出现的次数;

3)生成关键字关联表:针对步骤2)中生成的所有关键字,根据jaccard公式计算两两 之间的关联度,如下:

A(Km,Kn)=C(Km,Kn)C(Km)+C(Kn)-C(Km,Kn)

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)扩展关键字:根据关键字关联表生成扩展关键字集合方法如下:

Expand(Km)=∪{Kn|(Km,Kn,A(m,n))∈Assoc(K,K,A)}

k′为扩展的关键字;

6)计算商品权重:由索引数据库Index(K,P,W)构造二部图G(V,E),其中:

V=K∪P

E=∪{(Ki,Pj)|(Ki,Pj,Wji)∈(K,P,W)}

从二部图中取出所有和相关的边E’:

根据E’计算商品的权重:

W(Pj)=Σ(Ki,Pj)E,α(Ki)·Wji

其中α(Ki)是由电子商务网站设定的、用于区别来自和不同关键字的调整参数,

7)排序:将步骤6)中计算得到的W(Pj)按降序排列,推荐权重最高的N个商品。

所述脚本为JavaScript脚本。

本发明方法着力解决的问题便是针对新用户的问题。新用户不存在任何行为记录,难以 刻画其特征进行购买预测和商品推荐。所以传统的个性化推荐方法很难对这个问题进行直接 应用。本发明方法通过搜集新用户每次进入网站时的带入关键字,并利用技术扩展得到关键 字集合,以此为基础数据计算商品权重并排序(ranking),完成了向第一次进入网站的新用 户的个性化商品推荐。解决了传统推荐方法无法对新用户尤其是未注册用户进行个性化推荐 的弊端。

附图说明

图1为本发明基于关键字的电子商务网站商品推荐方法的流程图。

图2为本发明由(K,P,W)组成的二部图(Bipartite Graph)。

具体实施方式

本发明通过采集新用户的搜索引擎带入关键字来解决新用户没有任何数据的问题,并结 合由历史数据训练得到关键字与商品集的索引关系,根据商品出现频度等信息计算出商品权 重,推荐权重最高的N件产品。用户在搜索引擎搜索产品,由搜索链接进入电子商务网站, 电子商务网站通过脚本采集搜索引擎链接带入的关键字和相关产品信息,所述相关产品包括 用户浏览产品和下单产品,所述关键字和相关产品信息作为历史数据保存为服务器上的日志; 根据历史数据计算关键字与关键字之间的关联集合,得到关键字关联表,由关键字和相关产 品之间的索引关系,得到索引数据库,将关键字关联表和索引数据库作为推荐基础;当一个 从搜索引擎过来的新用户访问电子商务网站时,解析用户referrer取得关键字,并通过查询 关键字关联表获得拓展关键字,通过查找索引数据库得到关键字和拓展关键字对应的商品列 表,根据商品权重,推荐权重最高的N件商品。如图1,其具体步骤如下:

1)通过JavaScript脚本采集用户搜索引擎带入关键字和商品浏览信息,建立历史数据库。 搜索引擎带入关键字包括用户在搜索引擎,如google、bing、baidu等中所输入的信息,商 品浏览信息包括用户浏览的各个商品的uri等;历史数据保存得到日志,对日志进行预处理, 将指定日期范围D内,相同会话下间隔时间不大于T的页面访问视为一次浏览,将一次浏 览的初次页面访问的referrer作为潜在关键字字符串,将这部分数据作为原始浏览数据;

以google和yahoo !为例,搜索引擎带入关键字可以通过以下JavaScript脚本采集得到:

1.ref=document.referrer;

2.if(ref.indexOf(′?′)==-1)return;

3.qs=ref.substr(ref.indexOf(′?′)+1);

4.qsa=qs.split(′&′);

5.for(i=0;i<qsa.length;i++){

6.qsip=qsa[i].split(′=′);

7.if(qsip.length==1)continue;

8.if(qsip[0]==′q′||qsip[0]==′p′)//q=for Google,p=for Yahoo

9.words=unescape(decodeURIComponent(qsip[1]replace(/\+/g,″))).split(/\s+/);

10.}

商品浏览信息可以通过追踪当前用户的点击流得到。

2)对日志中,搜索引擎带入关键字和相关商品信息进行预处理;对原始浏览数据进行 预处理:把每一次浏览记录中的潜在关键字字符串按照空格分为单个关键字,并去除无用词, 得到关键字的集合K,对所述无用词,预先设计一个无用词列表,所述无用词由设定的无用 词列表得到,无用词列表包括如“if”、“the”等;由相关产品得到商品的集合P,将关键 词集合K中的每一个关键词和商品集合P中的每一种商品的每一个组合作为对应关系,连 同一个基本权重Wji写入索引数据库,Wji的计算如下:

把一次浏览记录中的关键字字符串进行处理,得到关键字集合K,具体处理方法为:将 关键字字符串Q按照空格分割,并根据预先定义的无用词列表L去除无用词,即:

K={K|Kset(Q),KL}

将一次浏览记录中所有被浏览过的商品记做商品集合P,将(Ki,Pj,Wji)写入索引数据库 Index(K,P,W),其中:

Ki∈K,Pj∈P

Wji=1C(Ki)×C(Ki,Pj)

权重Wji的计算中,C(Ki)表示关键字Ki在所有关键字字符串中的出现次数,是为了 降低热门关键字(即高频关键字)的影响,突出冷僻关键字;C(Ki,Pj)表示关键字Ki和商品Pj在 所有浏览记录中同时出现的次数。

索引数据库实际上是一个由(K,P,W)组成的二部图(Bipartite Graph)G(V,E),构造方式 如下:

V=K∪P

E=∪{(Ki,Pj)|(Ki,Pj,Wji)∈(K,P,W)}

生成的二部图可参考图2。

本实施例中,假设预处理后历史数据库中的一条记录如下

搜索引擎带入关键字集合:{k1,k2,k3}

相关商品集合:{p1,p2,p3,p4}

将每个关键字和每个商品关联,基本权重假设计算得到均为2,以(关键字,商品,权重) 的格式写入“索引数据库”中,共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)}。

3)对历史数据库中的所有搜索引擎带入关键字进行聚类计算,将现有的关键字字符串 拆分为单词,利用Jaccard系数分析单词之间的联系:

具体的计算方法如下:

设将数据中的所有关键字拆分后得到关键字集合{A,B,C,D,E},将他们两两组合, 计算Jaccard系数,公式如下:

A(Km,Kn)=C(Km,Kn)C(Km)+C(Kn)-C(Km,Kn)

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);比如A(A,B)>AT,A(D,E)>AT,则将(A,B),(B,A),(D,E),(E,D)四 个条目写入关键字关联表。

4)当一个新用户访问网站时,通过JavaScript脚本得到该用户的搜索引擎带入关键字, 记取得的关键字集合为如果无法取得关键字,该用户不属于本推荐方法的目标。

5)将步骤4)中采集到的关键字拆分,如用户在refer页面中输入了“k1 k2”作为搜索 关键字,可从索引数据库中找出每个关键字的对应列表:

“k1”:{p1,p2,p5…}

“k2”:{p1,p6,p7,p4…}

再从“相关关键词数据库”中找出同“k1”、“k2”相关的关键字,比如有“k3”和 “k4”,扩展关键字:根据关键字关联表生成扩展关键字集合,方法如下:

Expand(Km)=∪{Kn|(Km,Kn,A(m,n))∈Assoc(K,K,A)}

k′为扩展的关键字;

每个扩展关键字对应列表有:

“k3”:{p4,p8,p3,p9…}

“k4”:{p10,p11,p1…}

则设假设从索引数据库中得到基本权重Wji均为2,计算每个商品的权重:从索引数据库,也就是由(K,P,W)组成的二部图中取出所有和相 关的边E′:

根据E计算商品的权重:

W(Pj)=Σ(Ki,Pj)E,α(Ki)·Wji

其中α(Ki)是人为设定的、用于区别来自和不同关键字的调整参数,一般 这里调整参数的设定为本领域技术人员掌握的现有技术,不在 详述。

以p1、p4、p2为例,计算如下:

W(p1)=1*2+1*2+0.5*2=5

W(p4)=1*2+0.5*2=3

W(p2)=1*2=2

最后对所有商品按权重从大到小排序,推荐最终权重最高的N个商品,比如N=2, 推荐(p1,p4)。

本发明针对新用户,通过搜集新用户每次进入网站时的带入关键字,完成了向第一 次进入网站的新用户的个性化商品推荐。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号