一种基于用户行为数据的商品推荐方法及电子商务系统与流程

未命名 09-07 阅读:146 评论:0


1.本发明涉及电子商务技术领域,特别涉及一种基于用户行为数据的商品推荐方法及电子商务系统。


背景技术:

2.商品推荐功能是电子商务系统的重要功能之一,一个高效的商品推荐机制能够帮助用户快速找到心仪的商品,提高用户的使用体验,同时提高电子商务系统的成交量,因此目前几乎所有的电子商务系统都采用了大同小异的商品推荐机制来为用户推荐商品。常见的商品推荐机制包括基于活动的商品推荐,例如为用户推荐正在打折促销的商品等;还有基于位置的商品推荐,例如根据用户的定位信息结合商品的生产地、发货地等来进行推荐;还有基于用户偏好的商品推荐,例如收集用户在电子商务系统上的各种行为数据来分析用户的商品偏好,从而基于用户的商品偏好为用户推荐商品,这些用户行为数据包括用户搜索、点击、收藏、加入购物车以及购买商品的行为等。但现有电子商务系统的商品推荐机制都存在一个通病,即在用户收藏或者购买了某一个商品后,在较长的一段时间内,在电子商务系统应用程序或网页的推荐栏位及搜索结果列表中铺天盖地的全是这种类型的商品,在用户已经购买了这类商品或者不在需要购买这类商品的情况下,这种强行推荐的行为会给用户带来困扰甚至是反感。因此如何根据用户的行为数据进行有效的商品推荐是亟待解决的问题。


技术实现要素:

3.本发明正是基于上述问题,提出了一种基于用户行为数据的商品推荐方法及电子商务系统,能够基于用户的行为数据进行有效的商品推荐,提高电子商务系统的用户体验。
4.有鉴于此,本发明的第一方面提出了一种基于用户行为数据的商品推荐方法,包括:
5.监测用户在电子商务系统的操作,记录用户执行商品操作的时间t
op
(userid,goodid),其中userid为用户在所述电子商务系统中的用户编号,goodid为用户执行的商品操作对应的商品编号,所述商品操作包括商品搜索、商品详情浏览、商品收藏、商品加购以及商品购买,当所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空;
6.当所述商品操作为商品搜索时,确定所述商品搜索的关联商品类目;
7.计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid),其中classid为所述关联商品类目或其上级类目的类目编号;
8.当所述商品操作为商品搜索以外的其它商品操作时,计算所述用户对应的累计商品操作分值s
op
(userid,goodid);
9.根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
10.将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,
goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库;
11.获取预先配置的偏好分值衰减计分时间和偏好分值衰减计分周期;
12.当到达每一个偏好分值衰减计分周期的偏好分值衰减计分时间时,对所述电子商务系统中的每一个用户执行以下操作:
13.获取用户的商品偏好数据,所述商品偏好数据包括所述用户的累计商品操作分值s
op
(userid,goodid)大于默认分值的商品编号goodid及对应的累计商品偏好分值s
pr
(userid,goodid),所述商品偏好数据还包括所述用户的类目偏好分值s
pr
(userid,classid)大于所述默认分值的类目编号classid及对应的类目偏好分值s
pr
(userid,classid);
14.遍历所述商品偏好数据中的每一个商品;
15.获取所述用户对每一个商品的最后一次操作时间t
lastop
(userid,goodid)以及对每一个商品类目的最后一次操作时间t
lastop
(userid,classid);
16.计算所述最后一次操作时间t
lastop
(userid,goodid)或者t
lastop
(userid,classid)与当前时间t
now
的衰减时间差:
17.δt(userid,goodid)=t
now-t
lastop
(userid,goodid),或者
18.δt(userid,classid)=t
now-t
lastop
(userid,classid);
19.判断所述衰减时间差δt(userid,goodid)或者δt(userid,classid)是否大于预设的衰减时间差阈值;
20.当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid);
21.根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
22.将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库。
23.进一步的,在上述的基于用户行为数据的商品推荐方法中,确定所述商品搜索的关联商品类目的步骤具体包括:
24.从所述电子商务系统的数据库中获取第一商品类目列表,所述第一商品类目列表包括所述电子商务系统中各个类目层级的全部商品类目名称;
25.分别计算所述商品搜索的关键词与所述第一商品类目列表中每一个商品类目名称的语义近似度;
26.获取预先配置的语义近似度阈值;
27.将语义近似度大于或等于所述语义近似度阈值的商品类目名称对应的商品类目确定为所述商品搜索的关联商品类目。
28.进一步的,在上述的基于用户行为数据的商品推荐方法中,计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid)的步骤具体包括:
29.获取所述关联商品类目及其上级类目构成的第二商品类目列表;
30.遍历所述第二商品类目列表以对所述第二商品类目列表中的每一个商品类目执行以下步骤:
31.从所述数据库中获取用户对应商品类目的类目偏好分值s
pr
(userid,classid);
32.计算商品类目与所述关联商品类目的层级差:
33.δl=l(classidi)-l(classid0),
34.其中i=(0,1,

,n),n为所述关联商品类目的上级类目的数量,classid0为所述关联商品类目的类目编号;
35.从所述数据库中获取预先配置的商品搜索操作分值s
op
(searchid)及层级系数α,其中searchid为商品搜索的商品操作编号,所述层级系数α
l
≥1;
36.根据所述层级差δl以及所述层级系数α将所述商品搜索操作分值s
op
(searchid)累加到所述用户对应商品类目的类目偏好分值:
[0037][0038]
进一步的,在上述的基于用户行为数据的商品推荐方法中,计算所述商品操作对应的累计商品操作分值s
op
(userid,goodid)的步骤具体包括:
[0039]
从所述数据库中获取用户对应商品的累计商品操作分值s
op
(userid,goodid);
[0040]
从所述数据库中获取预先配置的商品操作分值s
op
(opid),其中opid为除商品搜索外其它商品操作的商品操作编号;
[0041]
将所述商品搜索操作分值s
op
(opid)累加到所述用户对应商品的累计商品操作分值:
[0042]sop
(userid,goodid)=s
op
(userid,goodid)+s
op
(opid)。
[0043]
进一步的,在上述的基于用户行为数据的商品推荐方法中,根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid)的步骤具体包括:
[0044]
将用户执行的商品操作对应的商品确定为目标商品;
[0045]
获取所述目标商品的上级类目构成的第三商品类目列表;
[0046]
计算所述第三商品类目列表的类目偏好总分:
[0047][0048]
其中j=(1,2,

,m),m为所述第三商品类目列表中的商品类目数量;
[0049]
获取所述目标商品的累计商品操作分值s
op
(userid,goodid);
[0050]
根据所述类目偏好总分s
prto
(userid,goodid)以及所述累计商品操作分值s
op
(userid,goodid)计算所述用户的商品偏好分值:
[0051]spr
(userid,goodid)=s
prto
(userid,goodid)+s
op
(userid,goodid)。
[0052]
进一步的,在上述的基于用户行为数据的商品推荐方法中,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤具体包括:
[0053]
获取预先配置的商品操作分值衰减系数α
op
或者类目偏好分值衰减系数α
pr

[0054]
根据所述衰减时间差δt(userid,goodid)以及所述商品操作分值衰减系数α
op
计算所述累计商品操作分值:
[0055]sop
(userid,goodid)=s
op
(userid,goodid)-δt(userid,goodid)
·
α
op

[0056]
或者根据所述衰减时间差δt(userid,classid)以及所述类目偏好分值衰减系数α
pr
计算所述类目偏好分值:
[0057]spr
(userid,classid)=s
pr
(userid,classid)-δt(userid,classid)
·
α
pr

[0058]
根据权利要求1-6任一项所述的基于用户行为数据的商品推荐方法,其特征在于,还包括:
[0059]
根据用户的操作进入所述电子商务系统中具有商品推荐列表的页面;
[0060]
获取所述用户的商品偏好分值大于所述默认分值的商品构建第一商品列表;
[0061]
判断所述第一商品列表的商品数量是否大于或等于所述商品推荐列表的翻页阈值;
[0062]
当所述第一商品列表的商品数量大于或等于所述商品推荐列表的翻页阈值时,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中;
[0063]
当所述第一商品列表的商品数量小于所述商品推荐列表的翻页阈值时,计算所述翻页阈值与所述第一商品列表的商品数量的差值;
[0064]
获取对应所述差值数量的其它推荐商品添加到所述第一商品列表以构成第二商品列表;
[0065]
获取所述第二商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中。
[0066]
进一步的,在上述的基于用户行为数据的商品推荐方法中,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中的步骤具体包括:
[0067]
当所述第一商品列表的商品数量大于所述商品推荐列表的翻页阈值时,按照所述第一商品列表的商品的父级商品类目对所述第一商品列表的商品进行分类;
[0068]
构建所述第一商品列表的父级商品类目列表,所述父级商品类目列表由所述第一商品列表中所有商品的父级商品类目构成;
[0069]
获取所述父级商品类目列表中每个商品类目的类目偏好分值s
pr
(userid,classid);
[0070]
按照所述类目偏好分值s
pr
(userid,classid)对所述第一商品列表的商品进行排序;
[0071]
从所述第一商品列表中截取数量与所述商品推荐列表的翻页阈值数量相等的商品以构成第三商品列表;
[0072]
对所述第三商品列表中的商品进行乱序排列后显示在所述商品推荐列表中。
[0073]
进一步的,在上述的基于用户行为数据的商品推荐方法中,在获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中或者获取所述第二商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中的步骤之后,还包括:
[0074]
监测所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作;
[0075]
当所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作为向上或向下滑动所述页面或者所述商品推荐列表的操作时,获取所述商品推荐列表的移动速度;
[0076]
根据所述商品推荐列表的移动速度判断是否存在停顿事件;
[0077]
当存在停顿事件时,获取所述商品推荐列表中的商品在所述页面上的显示位置;
[0078]
根据所述商品推荐列表中的商品在所述页面上的显示位置调整所述商品的商品偏好分值。
[0079]
本发明的第二方面提出了一种电子商务系统,包括:
[0080]
操作时间记录模块,用于监测用户在电子商务系统的操作,记录用户执行商品操作的时间t
op
(userid,goodid),其中userid为用户在所述电子商务系统中的用户编号,goodid为用户执行的商品操作对应的商品编号,所述商品操作包括商品搜索、商品详情浏览、商品收藏、商品加购以及商品购买,当所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空;
[0081]
关联商品类目确定模块,用于当所述商品操作为商品搜索时,确定所述商品搜索的关联商品类目;
[0082]
类目偏好分值计算模块,用于计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid),其中classid为所述关联商品类目或其上级类目的类目编号;
[0083]
累计商品操作分值计算模,用于当所述商品操作为商品搜索以外的其它商品操作时,计算所述用户对应的累计商品操作分值s
op
(userid,goodid);
[0084]
商品偏好分值计算模块,用于根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
[0085]
数据库写入模块,用于将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库;
[0086]
衰减计分时间获取模块,用于获取预先配置的偏好分值衰减计分时间和偏好分值衰减计分周期;
[0087]
用户遍历模块,用于当到达每一个偏好分值衰减计分周期的偏好分值衰减计分时间时,对所述电子商务系统中的每一个用户执行以下操作:
[0088]
商品偏好数据获取模块,用于获取用户的商品偏好数据,所述商品偏好数据包括所述用户的累计商品操作分值s
op
(userid,goodid)大于默认分值的商品编号goodid及对应的累计商品偏好分值s
pr
(userid,goodid),所述商品偏好数据还包括所述用户的类目偏好分值s
pr
(userid,classid)大于所述默认分值的类目编号classid及对应的类目偏好分值s
pr
(userid,classid);
[0089]
商品遍历模块,用于遍历所述商品偏好数据中的每一个商品;
[0090]
最后操作时间获取模块,用于获取所述用户对每一个商品的最后一次操作时间t
lastop
(userid,goodid)以及对每一个商品类目的最后一次操作时间t
lastop
(userid,classid);
[0091]
衰减时间差计算模块,用于计算所述最后一次操作时间t
lastop
(userid,goodid)或者t
lastop
(userid,classid)与当前时间t
now
的衰减时间差:
[0092]
δt(userid,goodid)=t
now-t
lastop
(userid,goodid),或者
[0093]
δt(userid,classid)=t
now-t
lastop
(userid,classid);
[0094]
衰减时间差阈值判断模块,用于判断所述衰减时间差δt(userid,goodid)或者δt(userid,classid)是否大于预设的衰减时间差阈值;
[0095]
分值衰减计算模块,用于当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid);
[0096]
所述商品偏好分值计算模块还用于在根据所述衰减时间差重新计算对应的累计
商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤之后,根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
[0097]
所述数据库写入模块还用于在根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤之后,将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库。
[0098]
进一步的,在上述的电子商务系统中,所述关联商品类目确定模块包括:
[0099]
第一商品类目列表获取模块,用于从所述电子商务系统的数据库中获取第一商品类目列表,所述第一商品类目列表包括所述电子商务系统中各个类目层级的全部商品类目名称;
[0100]
语义近似度算模块,用于分别计算所述商品搜索的关键词与所述第一商品类目列表中每一个商品类目名称的语义近似度;
[0101]
近似度阈值获取模块,用于获取预先配置的语义近似度阈值;
[0102]
所述关联商品类目确定模块具体用于将语义近似度大于或等于所述语义近似度阈值的商品类目名称对应的商品类目确定为所述商品搜索的关联商品类目。
[0103]
进一步的,在上述的电子商务系统中,所述类目偏好分值计算模块包括:
[0104]
第二商品类目列表获取模块,用于获取所述关联商品类目及其上级类目构成的第二商品类目列表;
[0105]
商品类目遍历模块,用于遍历所述第二商品类目列表以对所述第二商品类目列表中的每一个商品类目执行以下步骤:
[0106]
类目偏好分值获取模块,用于从所述数据库中获取用户对应商品类目的类目偏好分值s
pr
(userid,classid);
[0107]
层级差计算模块,用于计算商品类目与所述关联商品类目的层级差:
[0108]
δl=l(classidi)-l(classid0),
[0109]
其中i=(0,1,

,n),n为所述关联商品类目的上级类目的数量,classid0为所述关联商品类目的类目编号;
[0110]
操作分值及层级系数获取模块,用于从所述数据库中获取预先配置的商品搜索操作分值s
op
(searchid)及层级系数α,其中searchid为商品搜索的商品操作编号,所述层级系数α
l
≥1;
[0111]
所述类目偏好分值计算模块具体用于根据所述层级差δl以及所述层级系数α将所述商品搜索操作分值s
op
(searchid)累加到所述用户对应商品类目的类目偏好分值:
[0112][0113]
进一步的,在上述的电子商务系统中,所述累计商品操作分值计算模包括:
[0114]
累计商品操作分值获取模块,用于从所述数据库中获取用户对应商品的累计商品操作分值s
op
(userid,goodid);
[0115]
操作分值获取模块,用于从所述数据库中获取预先配置的商品操作分值s
op
(opid),其中opid为除商品搜索外其它商品操作的商品操作编号;
[0116]
所述累计商品操作分值计算模具体用于将所述商品搜索操作分值s
op
(opid)累加到所述用户对应商品的累计商品操作分值:
[0117]sop
(userid,goodid)=s
op
(userid,goodid)+s
op
(opid)。
[0118]
进一步的,在上述的电子商务系统中,所述商品偏好分值计算模块包括:
[0119]
目标商品确定模块,用于将用户执行的商品操作对应的商品确定为目标商品;
[0120]
第三商品类目列表获取模块,用于获取所述目标商品的上级类目构成的第三商品类目列表;
[0121]
类目偏好总分计算模块,用于计算所述第三商品类目列表的类目偏好总分:
[0122][0123]
其中j=(1,2,

,m),m为所述第三商品类目列表中的商品类目数量;
[0124]
累计商品操作分值获取模块,用于获取所述目标商品的累计商品操作分值s
op
(userid,goodid);
[0125]
所述商品偏好分值计算模块具体用于根据所述类目偏好总分s
prto
(userid,goodid)以及所述累计商品操作分值s
op
(userid,goodid)计算所述用户的商品偏好分值:
[0126]spr
(userid,goodid)=s
prto
(userid,goodid)+s
op
(userid,goodid)。
[0127]
进一步的,在上述的电子商务系统中,所述分值衰减计算模块包括:
[0128]
衰减系数获取模块,用于获取预先配置的商品操作分值衰减系数α
op
或者类目偏好分值衰减系数α
pr

[0129]
所述分值衰减计算模块具体用于根据所述衰减时间差δt(userid,goodid)以及所述商品操作分值衰减系数α
op
计算所述累计商品操作分值:
[0130]sop
(userid,goodid)=s
op
(userid,goodid)-δt(userid,goodid)
·
α
op

[0131]
或者根据所述衰减时间差δt(userid,classid)以及所述类目偏好分值衰减系数α
pr
计算所述类目偏好分值:
[0132]spr
(userid,classid)=s
pr
(userid,classid)-δt(userid,classid)
·
α
pr

[0133]
进一步的,在上述的电子商务系统中,还包括:
[0134]
页面访问模块,用于根据用户的操作进入所述电子商务系统中具有商品推荐列表的页面;
[0135]
第一商品列表获取模块,用于获取所述用户的商品偏好分值大于所述默认分值的商品构建第一商品列表;
[0136]
翻页阈值判断模块,用于判断所述第一商品列表的商品数量是否大于或等于所述商品推荐列表的翻页阈值;
[0137]
商品推荐列表显示模块,用于当所述第一商品列表的商品数量大于或等于所述商品推荐列表的翻页阈值时,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中;
[0138]
数量差值计算模块,用于当所述第一商品列表的商品数量小于所述商品推荐列表的翻页阈值时,计算所述翻页阈值与所述第一商品列表的商品数量的差值;
[0139]
第二商品列表获取模块,用于获取对应所述差值数量的其它推荐商品添加到所述第一商品列表以构成第二商品列表;
[0140]
所述商品推荐列表显示模块还用于获取所述第二商品列表中对应所述翻页阈值
数量的商品显示在所述商品推荐列表中。
[0141]
进一步的,在上述的电子商务系统中,所述商品推荐列表显示模块包括:
[0142]
商品分类块,用于当所述第一商品列表的商品数量大于所述商品推荐列表的翻页阈值时,按照所述第一商品列表的商品的父级商品类目对所述第一商品列表的商品进行分类;
[0143]
父级商品类目列表构建模块,用于构建所述第一商品列表的父级商品类目列表,所述父级商品类目列表由所述第一商品列表中所有商品的父级商品类目构成;
[0144]
所述类目偏好分值模块还用于获取所述父级商品类目列表中每个商品类目的类目偏好分值s
pr
(userid,classid);
[0145]
第一商品列表排序模块,用于按照所述类目偏好分值s
pr
(userid,classid)对所述第一商品列表的商品进行排序;
[0146]
第三商品列表构建模块,用于从所述第一商品列表中截取数量与所述商品推荐列表的翻页阈值数量相等的商品以构成第三商品列表;
[0147]
所述商品推荐列表显示模块具体用于对所述第三商品列表中的商品进行乱序排列后显示在所述商品推荐列表中。
[0148]
进一步的,在上述的电子商务系统中,还包括:
[0149]
页面操作监测模块,用于监测所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作;
[0150]
移动速度获取模块,用于当所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作为向上或向下滑动所述页面或者所述商品推荐列表的操作时,获取所述商品推荐列表的移动速度;
[0151]
停顿事件判断模块,用于根据所述商品推荐列表的移动速度判断是否存在停顿事件;
[0152]
显示位置获取模块,用于当存在停顿事件时,获取所述商品推荐列表中的商品在所述页面上的显示位置;
[0153]
所述商品偏好分值计算模块还用于根据所述商品推荐列表中的商品在所述页面上的显示位置调整所述商品的商品偏好分值。
[0154]
本发明提出了一种基于用户行为数据的商品推荐方法及电子商务系统,通过记录用户执行商品操作的时间并根据用户的商品操作计算用户的类目偏好分值、累计商品操作分值以及商品偏好分值,当到达偏好分值衰减计分时间时,遍历用户的商品偏好数据中的每一个商品,获取所述用户对每一个商品以及对每一个商品类目的最后一次操作时间,计算所述最后一次操作时间与当前时间的衰减时间差,判断所述衰减时间差是否大于预设的衰减时间差阈值,当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值、类目偏好分值以及商品偏好分值,能够基于用户的行为数据进行有效的商品推荐,提高电子商务系统的用户体验。
附图说明
[0155]
图1是本发明一个实施例提供的一种基于用户行为数据的商品推荐方法的流程图;
[0156]
图2是本发明另一个实施例提供的一种基于用户行为数据的商品推荐方法的流程图;
[0157]
图3是本发明一个实施例提供的一种电子商务系统的示意框图。
具体实施方式
[0158]
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
[0159]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0160]
在本发明的描述中,术语“多个”则指两个或两个以上,除非另有明确的限定,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0161]
在本说明书的描述中,术语“一个实施例”、“一些实施方式”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0162]
下面参照附图来描述根据本发明一些实施方式提供的一种基于用户行为数据的商品推荐方法及电子商务系统。
[0163]
如图1所示,本发明的第一方面提出了一种基于用户行为数据的商品推荐方法,包括:
[0164]
监测用户在电子商务系统的操作,记录用户执行商品操作的时间t
op
(userid,goodid),其中userid为用户在所述电子商务系统中的用户编号,goodid为用户执行的商品操作对应的商品编号,所述商品操作包括商品搜索、商品详情浏览、商品收藏、商品加购以及商品购买,当所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空;
[0165]
当所述商品操作为商品搜索时,确定所述商品搜索的关联商品类目;
[0166]
计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid),其中classid为所述关联商品类目或其上级类目的类目编号;
[0167]
当所述商品操作为商品搜索以外的其它商品操作时,计算所述用户对应的累计商品操作分值s
op
(userid,goodid);
[0168]
根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
[0169]
将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库;
[0170]
如图2所示,所述基于用户行为数据的商品推荐方法还包括:
[0171]
获取预先配置的偏好分值衰减计分时间和偏好分值衰减计分周期;
[0172]
当到达每一个偏好分值衰减计分周期的偏好分值衰减计分时间时,对所述电子商务系统中的每一个用户执行以下操作:
[0173]
获取用户的商品偏好数据,所述商品偏好数据包括所述用户的累计商品操作分值s
op
(userid,goodid)大于默认分值的商品编号goodid及对应的累计商品偏好分值s
pr
(userid,goodid),所述商品偏好数据还包括所述用户的类目偏好分值s
pr
(userid,classid)大于所述默认分值的类目编号classid及对应的类目偏好分值s
pr
(userid,classid);
[0174]
遍历所述商品偏好数据中的每一个商品;
[0175]
获取所述用户对每一个商品的最后一次操作时间t
lastop
(userid,goodid)以及对每一个商品类目的最后一次操作时间t
lastop
(userid,classid);
[0176]
计算所述最后一次操作时间t
lastop
(userid,goodid)或者t
lastop
(userid,classid)与当前时间t
now
的衰减时间差:
[0177]
δt(userid,goodid)=t
now-t
lastop
(userid,goodid),或者
[0178]
δt(userid,classid)=t
now-t
lastop
(userid,classid);
[0179]
判断所述衰减时间差δt(userid,goodid)或者δt(userid,classid)是否大于预设的衰减时间差阈值;
[0180]
当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid);
[0181]
根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
[0182]
将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库。
[0183]
具体的,构建一个用于将商品操作时间写入数据库的时间记录函top(userid,goodid)数,所述时间记录函top(userid,goodid)为一个带有userid和goodid两个参数的时间记录函数,用于将t
op
(userid,goodid)、userid和goodid关联写入数据库。采用本发明的技术方案,由于所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空,因此商品搜索操作不影响任何商品的衰减时间差,避免过于上位的搜索关键词对大量商品的偏好分值衰减产生影响。
[0184]
所述商品详情浏览的操作指的是用户点击进入商品详情页的操作,所述商品加购的操作指的是用户将商品加入购物车的操作,所述商品购买的操作指的是用户提交商品订单并完成商品费用支付的操作,所述商品购买的商品操作时间可以是用户提交商品订单的时间,也可以是用户完成商品费用支付的时间,可以根据实际的实施需求来确定。
[0185]
所述偏好分值衰减计分时间是指在一天的24小时内选定的一个特定的时间点,在
该时间点执行用户的商品偏好分值的衰减计分。所述偏好分值衰减计分周期是指执行商品偏好分值的衰减计分的周期,可以为三天、一周、一个月或其它时间长度。例如,当预先配置的所述偏好分值衰减计分时间为凌晨1:00(即凌晨一点整),所述预先配置的所述偏好分值衰减计分周期为一周时,如第一次执行的时间为周一凌晨1:00,则每周的周一凌晨1:00执行一次商品偏好分值的衰减计分。
[0186]
所述默认分值是在所述电子商务系统中对所有用户配置的所有商品的起始分值,例如所述默认分值可以为0,对于有负面评价功能的电子商务系统,所述商品偏好分值可以小于所述默认分值。
[0187]
优选的,所述衰减时间差阈值大于或等于一天。
[0188]
在本发明的技术方案中,所述时间记录函top(userid,goodid)还用于将所述商品操作的时间t
op
(userid,goodid)与所述商品的所有上级类目关联存储。本发明通过构建一个用于获取用户对某一个商品的最后一次操作时间的函数tlastop(userid,goodid)来从数据库所保存的t
op
(userid,goodid)中筛选得到该用户对某一个商品的最后一次操作时间t
lastop
(userid,goodid),同时本发明还通过构建一个用于获取用户对某一个商品类目的最后一次操作时间的函数tlastop(userid,classid)来从数据库所保存的t
op
(userid,classid)中筛选得到该用户对某一个商品类目的最后一次操作时间t
lastop
(userid,classid)。
[0189]
进一步的,在上述的基于用户行为数据的商品推荐方法中,确定所述商品搜索的关联商品类目的步骤具体包括:
[0190]
从所述电子商务系统的数据库中获取第一商品类目列表,所述第一商品类目列表包括所述电子商务系统中各个类目层级的全部商品类目名称;
[0191]
分别计算所述商品搜索的关键词与所述第一商品类目列表中每一个商品类目名称的语义近似度;
[0192]
获取预先配置的语义近似度阈值;
[0193]
将语义近似度大于或等于所述语义近似度阈值的商品类目名称对应的商品类目确定为所述商品搜索的关联商品类目。
[0194]
在上述实施方式的技术方案中,计算所述商品搜索的关键词与所述商品类目名称的语义近似度具体包括:
[0195]
将所述商品搜索的关键词和所述商品类目名称输入预先训练好的word2vec模型中生成对应的关键词向量和类目名称向量;
[0196]
计算所述关键词向量和所述类目名称向量的余弦相似度;
[0197]
将所述余弦相似度确定为所述商品搜索的关键词和所述商品类目名称的语义近似度。
[0198]
进一步的,在上述的基于用户行为数据的商品推荐方法中,计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid)的步骤具体包括:
[0199]
获取所述关联商品类目及其上级类目构成的第二商品类目列表;
[0200]
遍历所述第二商品类目列表以对所述第二商品类目列表中的每一个商品类目执行以下步骤:
[0201]
从所述数据库中获取用户对应商品类目的类目偏好分值s
pr
(userid,classid);
[0202]
计算商品类目与所述关联商品类目的层级差:
[0203]
δl=l(classidi)-l(classid0),
[0204]
其中i=(0,1,

,n),n为所述关联商品类目的上级类目的数量,classid0为所述关联商品类目的类目编号;
[0205]
从所述数据库中获取预先配置的商品搜索操作分值s
op
(searchid)及层级系数α,其中searchid为商品搜索的商品操作编号,所述层级系数α
l
≥1;
[0206]
根据所述层级差δl以及所述层级系数α将所述商品搜索操作分值s
op
(searchid)累加到所述用户对应商品类目的类目偏好分值:
[0207][0208]
具体的,所述关联商品类目的上级类目指的是在商品范围上涵盖所述关联商品类目的一个或多个商品类目,以一个自上而下的第二商品类目列表为服装、上衣、t恤为例,服装是上衣的上级类目,同时服装和上衣都是t恤的上级类目等,当所述关联商品类目为t恤时,其上级类目有两个,即n取2。
[0209]
进一步的,在上述的基于用户行为数据的商品推荐方法中,计算所述商品操作对应的累计商品操作分值s
op
(userid,goodid)的步骤具体包括:
[0210]
从所述数据库中获取用户对应商品的累计商品操作分值s
op
(userid,goodid);
[0211]
从所述数据库中获取预先配置的商品操作分值s
op
(opid),其中opid为除商品搜索外其它商品操作的商品操作编号;
[0212]
将所述商品搜索操作分值s
op
(opid)累加到所述用户对应商品的累计商品操作分值:
[0213]sop
(userid,goodid)=s
op
(userid,goodid)+s
op
(opid)。
[0214]
具体的,在本发明的技术方案中,预先为每一种商品操作配置对应的操作分值并写入数据库,通过函数sop(opid)从数据库中读取对应的操作分值,其中opid为商品操作编号,例如opid为searchid时,则从数据库中读取商品搜索的操作分值。所述确定所述商品操作对应的商品操作分值s
op
(goodid)的步骤具体为通过函数sop(opid)从数据库中读取对应的操作分值。
[0215]
进一步的,在上述的基于用户行为数据的商品推荐方法中,根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid)的步骤具体包括:
[0216]
将用户执行的商品操作对应的商品确定为目标商品;
[0217]
获取所述目标商品的上级类目构成的第三商品类目列表;
[0218]
计算所述第三商品类目列表的类目偏好总分:
[0219][0220]
其中j=(1,2,

,m),m为所述第三商品类目列表中的商品类目数量;
[0221]
获取所述目标商品的累计商品操作分值s
op
(userid,goodid);
[0222]
根据所述类目偏好总分s
prto
(userid,goodid)以及所述累计商品操作分值s
op
(userid,goodid)计算所述用户的商品偏好分值:
[0223]spr
(userid,goodid)=s
prto
(userid,goodid)+s
op
(userid,goodid)。
[0224]
在该实施方式的技术方案中,所述目标商品的商品偏好分值s
pr
(userid,goodid)为其全部上级商品类目的类目偏好总分s
prto
(userid,goodid)及所述目标商品的累计商品操作分值s
op
(userid,goodid)之和。
[0225]
进一步的,在上述的基于用户行为数据的商品推荐方法中,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤具体包括:
[0226]
获取预先配置的商品操作分值衰减系数α
op
或者类目偏好分值衰减系数α
pr

[0227]
根据所述衰减时间差δt(userid,goodid)以及所述商品操作分值衰减系数α
op
计算所述累计商品操作分值:
[0228]sop
(userid,goodid)=s
op
(userid,goodid)-δt(userid,goodid)
·
α
op

[0229]
或者根据所述衰减时间差δt(userid,classid)以及所述类目偏好分值衰减系数α
pr
计算所述类目偏好分值:
[0230]spr
(userid,classid)=s
pr
(userid,classid)-δt(userid,classid)
·
α
pr

[0231]
具体的,所述商品操作分值衰减系数α
op
为预先配置的商品操作分值的单位时间衰减量,所述类目偏好分值衰减系数α
pr
为预先配置的类目偏好分值的单位时间衰减量。在本发明的一些实施方式中,所述商品操作分值衰减系数α
op
和所述类目偏好分值衰减系数α
pr
根据相应用户的商品偏好分值大于所述默认分值的商品数量进行动态调整,商品偏好分值大于所述默认分值的商品数量越大,所述商品操作分值衰减系数α
op
和所述类目偏好分值衰减系数α
pr
越大,反之则所述商品操作分值衰减系数α
op
和所述类目偏好分值衰减系数α
pr
越小。
[0232]
进一步的,在上述的基于用户行为数据的商品推荐方法中,还包括:
[0233]
根据用户的操作进入所述电子商务系统中具有商品推荐列表的页面;
[0234]
获取所述用户的商品偏好分值大于所述默认分值的商品构建第一商品列表;
[0235]
判断所述第一商品列表的商品数量是否大于或等于所述商品推荐列表的翻页阈值;
[0236]
当所述第一商品列表的商品数量大于或等于所述商品推荐列表的翻页阈值时,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中;
[0237]
当所述第一商品列表的商品数量小于所述商品推荐列表的翻页阈值时,计算所述翻页阈值与所述第一商品列表的商品数量的差值;
[0238]
获取对应所述差值数量的其它推荐商品添加到所述第一商品列表以构成第二商品列表;
[0239]
获取所述第二商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中。
[0240]
具体的,在上述实施方式中,所述电子商务系统中具有商品推荐列表的页面包括所述电子商务系统的首页、所述电子商务系统的搜索结果页、所述电子商务系统商品推荐页、商品详情页,所述用户的操作包括用户通过浏览器或者应用程序访问所述电子商务系统首页的操作、用户通过所述电子商务系统的搜索框搜索商品的操作,或者用户点击进入商品推荐页、商品详情页或其它具有商品推荐列表的页面的操作,所述商品推荐列表包括在所述电子商务系统的上述页面的主体内容区域或者左右两侧/页面底部推荐栏区域显示
的商品推荐列表。
[0241]
所述商品推荐列表中可显示的商品数量是有限的,所述翻页阈值是指所述商品推荐列表一次能够显示的最大商品数量。
[0242]
所述其它推荐商品是指所述电子商务系统中采用其它推荐规则的推荐商品,例如正在打折促销的商品或者根据用户的定位信息结合商品的生产地、发货地等来进行推荐的商品等。
[0243]
在本发明的一些实施方式中,所述第二商品列表可以为将所述其它活动商品添加到的所述第一商品列表的末尾所构成,也可以为将所述其它活动商品乱序插入所述第一商品列表中所构成。
[0244]
进一步的,在上述的基于用户行为数据的商品推荐方法中,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中的步骤具体包括:
[0245]
当所述第一商品列表的商品数量大于所述商品推荐列表的翻页阈值时,按照所述第一商品列表的商品的父级商品类目对所述第一商品列表的商品进行分类;
[0246]
构建所述第一商品列表的父级商品类目列表,所述父级商品类目列表由所述第一商品列表中所有商品的父级商品类目构成;
[0247]
获取所述父级商品类目列表中每个商品类目的类目偏好分值s
pr
(userid,classid);
[0248]
按照所述类目偏好分值s
pr
(userid,classid)对所述第一商品列表的商品进行排序;
[0249]
从所述第一商品列表中截取数量与所述商品推荐列表的翻页阈值数量相等的商品以构成第三商品列表;
[0250]
对所述第三商品列表中的商品进行乱序排列后显示在所述商品推荐列表中。
[0251]
具体的,所述父级商品类目为所述第一商品列表的商品的上一级商品类目,也是商品分类表中的最底层的商品类目,还是以服装、上衣、t恤为例,t恤是商品分类表中的最底层的商品类目,当所述第一商品列表中存在t恤类的商品时,则t恤这个商品类目即为这些商品的父级商品类目。
[0252]
在上述实施方式的技术方案中,对所述第三列表中的商品进行乱序排列的步骤具体包括:
[0253]
配置一个远大于所述商品推荐列表的翻页阈值的随机数生成范围,例如,当所述商品推荐列表的翻页阈值为20时,所述随机数生成范围可以配置为[0,100]或者[0,1000]等,优选的,所述随机数生成范围的上界与下界之差大于或等于所述商品推荐列表的翻页阈值的5倍;
[0254]
在所述随机数生成范围内为所述第三商品列表中的每一个商品生成一个对应的随机数;
[0255]
按照所生成的随机数的大小对所述第三商品列表进行排序。
[0256]
在本发明的另一些实施方式中,当所述第一商品列表的商品数量大于所述商品推荐列表的翻页阈值时,也可以直接使用所述第一商品列表的商品的商品偏好分值对所述第一商品列表进行排序,进而从所述第一商品列表中截取数量与所述商品推荐列表的翻页阈值数量相等的商品显示在所述商品推荐列表中。
[0257]
进一步的,在上述的基于用户行为数据的商品推荐方法中,在获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中或者获取所述第二商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中的步骤之后,还包括:
[0258]
监测所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作;
[0259]
当所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作为向上或向下滑动所述页面或者所述商品推荐列表的操作时,获取所述商品推荐列表的移动速度;
[0260]
根据所述商品推荐列表的移动速度判断是否存在停顿事件;
[0261]
当存在停顿事件时,获取所述商品推荐列表中的商品在所述页面上的显示位置;
[0262]
根据所述商品推荐列表中的商品在所述页面上的显示位置调整所述商品的商品偏好分值。
[0263]
具体的,在一些实施方式中,所述商品推荐列表的显示区域与所述页面相对固定,用户在滑动页面时,带动所述商品推荐列表同步移动。在另一些实施方式中,所述商品推荐列表的显示区域具有独立的滚动条,用户需要查看所述商品推荐列表中位于下方的商品时,需要在所述商品推荐列表的显示区域进行滑动操作。
[0264]
在上述实施方式的技术方案中,根据所述商品推荐列表的移动速度判断是否存在停顿事件的步骤具体包括:
[0265]
监测所述用户在所述电子商务系统中具有商品推荐列表的页面上相邻两次向上或向下滑动操作的时间间隔;
[0266]
根据所述相邻两次向上或向下滑动操作的时间间隔计算所述用户的滑动操作的平均停顿时间;
[0267]
当监测到所述用户的相邻两次向上或向下滑动操作的时间间隔与所述平均停顿时间之差大于预设的停顿时间波动阈值时,确定存在所述停顿事件。
[0268]
在上述实施方式的技术方案中,根据所述商品推荐列表中的商品在所述页面上的显示位置调整所述商品的商品偏好分值的步骤具体包括:
[0269]
获取预先配置的显示界面上的多个权重区域以及对应每个权重区域的权重系数δj,其中j=(1,2,

,m),m为所述权重区域的数量;
[0270]
获取显示在第j个权重区域中的商品的商品偏好分值s
pr
(userid,classid);
[0271]
从所述数据库中获取预先配置的停顿事件操作分值s
op
(pauseid),其中pauseid为所述停顿事件的商品操作编号;
[0272]
根据所述权重系数δj将所述停顿事件操作分值s
op
(pauseid)累加到所述用户对应商品的商品偏好分值:
[0273]spr
(userid,classid)=s
pr
(userid,classid)+δj·sop
(pauseid)。
[0274]
如图3所示,本发明的第二方面提出了一种电子商务系统,包括:
[0275]
操作时间记录模块,用于监测用户在电子商务系统的操作,记录用户执行商品操作的时间t
op
(userid,goodid),其中userid为用户在所述电子商务系统中的用户编号,goodid为用户执行的商品操作对应的商品编号,所述商品操作包括商品搜索、商品详情浏览、商品收藏、商品加购以及商品购买,当所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空;
[0276]
关联商品类目确定模块,用于当所述商品操作为商品搜索时,确定所述商品搜索
的关联商品类目;
[0277]
类目偏好分值计算模块,用于计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid),其中classid为所述关联商品类目或其上级类目的类目编号;
[0278]
累计商品操作分值计算模,用于当所述商品操作为商品搜索以外的其它商品操作时,计算所述用户对应的累计商品操作分值s
op
(userid,goodid);
[0279]
商品偏好分值计算模块,用于根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
[0280]
数据库写入模块,用于将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库;
[0281]
衰减计分时间获取模块,用于获取预先配置的偏好分值衰减计分时间和偏好分值衰减计分周期;
[0282]
用户遍历模块,用于当到达每一个偏好分值衰减计分周期的偏好分值衰减计分时间时,对所述电子商务系统中的每一个用户执行以下操作:
[0283]
商品偏好数据获取模块,用于获取用户的商品偏好数据,所述商品偏好数据包括所述用户的累计商品操作分值s
op
(userid,goodid)大于默认分值的商品编号goodid及对应的累计商品偏好分值s
pr
(userid,goodid),所述商品偏好数据还包括所述用户的类目偏好分值s
pr
(userid,classid)大于所述默认分值的类目编号classid及对应的类目偏好分值s
pr
(userid,classid);
[0284]
商品遍历模块,用于遍历所述商品偏好数据中的每一个商品;
[0285]
最后操作时间获取模块,用于获取所述用户对每一个商品的最后一次操作时间t
lastop
(userid,goodid)以及对每一个商品类目的最后一次操作时间t
lastop
(userid,classid);
[0286]
衰减时间差计算模块,用于计算所述最后一次操作时间t
lastop
(userid,goodid)或者t
lastop
(userid,classid)与当前时间t
now
的衰减时间差:
[0287]
δt(userid,goodid)=t
now-t
lastop
(userid,goodid),或者
[0288]
δt(userid,classid)=t
now-t
lastop
(userid,classid);
[0289]
衰减时间差阈值判断模块,用于判断所述衰减时间差δt(userid,goodid)或者δt(userid,classid)是否大于预设的衰减时间差阈值;
[0290]
分值衰减计算模块,用于当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid);
[0291]
所述商品偏好分值计算模块还用于在根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤之后,根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);
[0292]
所述数据库写入模块还用于在根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤之后,将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品
偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库。
[0293]
具体的,构建一个用于将商品操作时间写入数据库的时间记录函top(userid,goodid)数,所述时间记录函top(userid,goodid)为一个带有userid和goodid两个参数的时间记录函数,用于将t
op
(userid,goodid)、userid和goodid关联写入数据库。采用本发明的技术方案,由于所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空,因此商品搜索操作不影响任何商品的衰减时间差,避免过于上位的搜索关键词对大量商品的偏好分值衰减产生影响。
[0294]
所述商品详情浏览的操作指的是用户点击进入商品详情页的操作,所述商品加购的操作指的是用户将商品加入购物车的操作,所述商品购买的操作指的是用户提交商品订单并完成商品费用支付的操作,所述商品购买的商品操作时间可以是用户提交商品订单的时间,也可以是用户完成商品费用支付的时间,可以根据实际的实施需求来确定。
[0295]
所述偏好分值衰减计分时间是指在一天的24小时内选定的一个特定的时间点,在该时间点执行用户的商品偏好分值的衰减计分。所述偏好分值衰减计分周期是指执行商品偏好分值的衰减计分的周期,可以为三天、一周、一个月或其它时间长度。例如,当预先配置的所述偏好分值衰减计分时间为凌晨1:00(即凌晨一点整),所述预先配置的所述偏好分值衰减计分周期为一周时,如第一次执行的时间为周一凌晨1:00,则每周的周一凌晨1:00执行一次商品偏好分值的衰减计分。
[0296]
所述默认分值是在所述电子商务系统中对所有用户配置的所有商品的起始分值,例如所述默认分值可以为0,对于有负面评价功能的电子商务系统,所述商品偏好分值可以小于所述默认分值。
[0297]
优选的,所述衰减时间差阈值大于或等于一天。
[0298]
在本发明的技术方案中,所述时间记录函top(userid,goodid)还用于将所述商品操作的时间t
op
(userid,goodid)与所述商品的所有上级类目关联存储。本发明通过构建一个用于获取用户对某一个商品的最后一次操作时间的函数tlastop(userid,goodid)来从数据库所保存的t
op
(userid,goodid)中筛选得到该用户对某一个商品的最后一次操作时间t
lastop
(userid,goodid),同时本发明还通过构建一个用于获取用户对某一个商品类目的最后一次操作时间的函数tlastop(userid,classid)来从数据库所保存的t
op
(userid,classid)中筛选得到该用户对某一个商品类目的最后一次操作时间t
lastop
(userid,classid)。
[0299]
进一步的,在上述的电子商务系统中,所述关联商品类目确定模块包括:
[0300]
第一商品类目列表获取模块,用于从所述电子商务系统的数据库中获取第一商品类目列表,所述第一商品类目列表包括所述电子商务系统中各个类目层级的全部商品类目名称;
[0301]
语义近似度算模块,用于分别计算所述商品搜索的关键词与所述第一商品类目列表中每一个商品类目名称的语义近似度;
[0302]
近似度阈值获取模块,用于获取预先配置的语义近似度阈值;
[0303]
所述关联商品类目确定模块具体用于将语义近似度大于或等于所述语义近似度阈值的商品类目名称对应的商品类目确定为所述商品搜索的关联商品类目。
[0304]
在上述实施方式的技术方案中,计算所述商品搜索的关键词与所述商品类目名称
的语义近似度具体包括:
[0305]
将所述商品搜索的关键词和所述商品类目名称输入预先训练好的word2vec模型中生成对应的关键词向量和类目名称向量;
[0306]
计算所述关键词向量和所述类目名称向量的余弦相似度;
[0307]
将所述余弦相似度确定为所述商品搜索的关键词和所述商品类目名称的语义近似度。
[0308]
进一步的,在上述的电子商务系统中,所述类目偏好分值计算模块包括:
[0309]
第二商品类目列表获取模块,用于获取所述关联商品类目及其上级类目构成的第二商品类目列表;
[0310]
商品类目遍历模块,用于遍历所述第二商品类目列表以对所述第二商品类目列表中的每一个商品类目执行以下步骤:
[0311]
类目偏好分值获取模块,用于从所述数据库中获取用户对应商品类目的类目偏好分值s
pr
(userid,classid);
[0312]
层级差计算模块,用于计算商品类目与所述关联商品类目的层级差:
[0313]
δl=l(classidi)-l(classid0),
[0314]
其中i=(0,1,

,n),n为所述关联商品类目的上级类目的数量,classid0为所述关联商品类目的类目编号;
[0315]
操作分值及层级系数获取模块,用于从所述数据库中获取预先配置的商品搜索操作分值s
op
(searchid)及层级系数α,其中searchid为商品搜索的商品操作编号,所述层级系数α
l
≥1;
[0316]
所述类目偏好分值计算模块具体用于根据所述层级差δl以及所述层级系数α将所述商品搜索操作分值s
op
(searchid)累加到所述用户对应商品类目的类目偏好分值:
[0317][0318]
具体的,所述关联商品类目的上级类目指的是在商品范围上涵盖所述关联商品类目的一个或多个商品类目,以一个自上而下的第二商品类目列表为服装、上衣、t恤为例,服装是上衣的上级类目,同时服装和上衣都是t恤的上级类目等,当所述关联商品类目为t恤时,其上级类目有两个,即n取2。
[0319]
进一步的,在上述的电子商务系统中,所述累计商品操作分值计算模包括:
[0320]
累计商品操作分值获取模块,用于从所述数据库中获取用户对应商品的累计商品操作分值s
op
(userid,goodid);
[0321]
操作分值获取模块,用于从所述数据库中获取预先配置的商品操作分值s
op
(opid),其中opid为除商品搜索外其它商品操作的商品操作编号;
[0322]
所述累计商品操作分值计算模具体用于将所述商品搜索操作分值s
op
(opid)累加到所述用户对应商品的累计商品操作分值:
[0323]sop
(userid,goodid)=s
op
(userid,goodid)+s
op
(opid)。
[0324]
具体的,在本发明的技术方案中,预先为每一种商品操作配置对应的操作分值并写入数据库,通过函数sop(opid)从数据库中读取对应的操作分值,其中opid为商品操作编号,例如opid为searchid时,则从数据库中读取商品搜索的操作分值。所述确定所述商品操
作对应的商品操作分值s
op
(goodid)的步骤具体为通过函数sop(opid)从数据库中读取对应的操作分值。
[0325]
进一步的,在上述的电子商务系统中,所述商品偏好分值计算模块包括:
[0326]
目标商品确定模块,用于将用户执行的商品操作对应的商品确定为目标商品;
[0327]
第三商品类目列表获取模块,用于获取所述目标商品的上级类目构成的第三商品类目列表;
[0328]
类目偏好总分计算模块,用于计算所述第三商品类目列表的类目偏好总分:
[0329][0330]
其中j=(1,2,

,m),m为所述第三商品类目列表中的商品类目数量;
[0331]
累计商品操作分值获取模块,用于获取所述目标商品的累计商品操作分值s
op
(userid,goodid);
[0332]
所述商品偏好分值计算模块具体用于根据所述类目偏好总分s
prto
(userid,goodid)以及所述累计商品操作分值s
op
(userid,goodid)计算所述用户的商品偏好分值:
[0333]spr
(userid,goodid)=s
prto
(userid,goodid)+s
op
(userid,goodid)。
[0334]
在该实施方式的技术方案中,所述目标商品的商品偏好分值s
pr
(userid,goodid)为其全部上级商品类目的类目偏好总分s
prto
(userid,goodid)及所述目标商品的累计商品操作分值s
op
(userid,goodid)之和。
[0335]
进一步的,在上述的电子商务系统中,所述分值衰减计算模块包括:
[0336]
衰减系数获取模块,用于获取预先配置的商品操作分值衰减系数α
op
或者类目偏好分值衰减系数α
pr

[0337]
所述分值衰减计算模块具体用于根据所述衰减时间差δt(userid,goodid)以及所述商品操作分值衰减系数α
op
计算所述累计商品操作分值:
[0338]sop
(userid,goodid)=s
op
(userid,goodid)-δt(userid,goodid)
·
α
op

[0339]
或者根据所述衰减时间差δt(userid,classid)以及所述类目偏好分值衰减系数α
pr
计算所述类目偏好分值:
[0340]spr
(userid,classid)=s
pr
(userid,classid)-δt(userid,classid)
·
α
pr

[0341]
具体的,所述商品操作分值衰减系数α
op
为预先配置的商品操作分值的单位时间衰减量,所述类目偏好分值衰减系数α
pr
为预先配置的类目偏好分值的单位时间衰减量。在本发明的一些实施方式中,所述商品操作分值衰减系数α
op
和所述类目偏好分值衰减系数α
pr
根据相应用户的商品偏好分值大于所述默认分值的商品数量进行动态调整,商品偏好分值大于所述默认分值的商品数量越大,所述商品操作分值衰减系数α
op
和所述类目偏好分值衰减系数α
pr
越大,反之则所述商品操作分值衰减系数α
op
和所述类目偏好分值衰减系数α
pr
越小。
[0342]
进一步的,在上述的电子商务系统中,还包括:
[0343]
页面访问模块,用于根据用户的操作进入所述电子商务系统中具有商品推荐列表的页面;
[0344]
第一商品列表获取模块,用于获取所述用户的商品偏好分值大于所述默认分值的商品构建第一商品列表;
[0345]
翻页阈值判断模块,用于判断所述第一商品列表的商品数量是否大于或等于所述
商品推荐列表的翻页阈值;
[0346]
商品推荐列表显示模块,用于当所述第一商品列表的商品数量大于或等于所述商品推荐列表的翻页阈值时,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中;
[0347]
数量差值计算模块,用于当所述第一商品列表的商品数量小于所述商品推荐列表的翻页阈值时,计算所述翻页阈值与所述第一商品列表的商品数量的差值;
[0348]
第二商品列表获取模块,用于获取对应所述差值数量的其它推荐商品添加到所述第一商品列表以构成第二商品列表;
[0349]
所述商品推荐列表显示模块还用于获取所述第二商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中。
[0350]
具体的,在上述实施方式中,所述电子商务系统中具有商品推荐列表的页面包括所述电子商务系统的首页、所述电子商务系统的搜索结果页、所述电子商务系统商品推荐页、商品详情页,所述用户的操作包括用户通过浏览器或者应用程序访问所述电子商务系统首页的操作、用户通过所述电子商务系统的搜索框搜索商品的操作,或者用户点击进入商品推荐页、商品详情页或其它具有商品推荐列表的页面的操作,所述商品推荐列表包括在所述电子商务系统的上述页面的主体内容区域或者左右两侧/页面底部推荐栏区域显示的商品推荐列表。
[0351]
所述商品推荐列表中可显示的商品数量是有限的,所述翻页阈值是指所述商品推荐列表一次能够显示的最大商品数量。
[0352]
所述其它推荐商品是指所述电子商务系统中采用其它推荐规则的推荐商品,例如正在打折促销的商品或者根据用户的定位信息结合商品的生产地、发货地等来进行推荐的商品等。
[0353]
在本发明的一些实施方式中,所述第二商品列表可以为将所述其它活动商品添加到的所述第一商品列表的末尾所构成,也可以为将所述其它活动商品乱序插入所述第一商品列表中所构成。
[0354]
进一步的,在上述的电子商务系统中,所述商品推荐列表显示模块包括:
[0355]
商品分类块,用于当所述第一商品列表的商品数量大于所述商品推荐列表的翻页阈值时,按照所述第一商品列表的商品的父级商品类目对所述第一商品列表的商品进行分类;
[0356]
父级商品类目列表构建模块,用于构建所述第一商品列表的父级商品类目列表,所述父级商品类目列表由所述第一商品列表中所有商品的父级商品类目构成;
[0357]
所述类目偏好分值模块还用于获取所述父级商品类目列表中每个商品类目的类目偏好分值s
pr
(userid,classid);
[0358]
第一商品列表排序模块,用于按照所述类目偏好分值s
pr
(userid,classid)对所述第一商品列表的商品进行排序;
[0359]
第三商品列表构建模块,用于从所述第一商品列表中截取数量与所述商品推荐列表的翻页阈值数量相等的商品以构成第三商品列表;
[0360]
所述商品推荐列表显示模块具体用于对所述第三商品列表中的商品进行乱序排列后显示在所述商品推荐列表中。
[0361]
具体的,所述父级商品类目为所述第一商品列表的商品的上一级商品类目,也是商品分类表中的最底层的商品类目,还是以服装、上衣、t恤为例,t恤是商品分类表中的最底层的商品类目,当所述第一商品列表中存在t恤类的商品时,则t恤这个商品类目即为这些商品的父级商品类目。
[0362]
在上述实施方式的技术方案中,对所述第三列表中的商品进行乱序排列的步骤具体包括:
[0363]
配置一个远大于所述商品推荐列表的翻页阈值的随机数生成范围,例如,当所述商品推荐列表的翻页阈值为20时,所述随机数生成范围可以配置为[0,100]或者[0,1000]等,优选的,所述随机数生成范围的上界与下界之差大于或等于所述商品推荐列表的翻页阈值的5倍;
[0364]
在所述随机数生成范围内为所述第三商品列表中的每一个商品生成一个对应的随机数;
[0365]
按照所生成的随机数的大小对所述第三商品列表进行排序。
[0366]
在本发明的另一些实施方式中,当所述第一商品列表的商品数量大于所述商品推荐列表的翻页阈值时,也可以直接使用所述第一商品列表的商品的商品偏好分值对所述第一商品列表进行排序,进而从所述第一商品列表中截取数量与所述商品推荐列表的翻页阈值数量相等的商品显示在所述商品推荐列表中。
[0367]
进一步的,在上述的电子商务系统中,还包括:
[0368]
页面操作监测模块,用于监测所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作;
[0369]
移动速度获取模块,用于当所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作为向上或向下滑动所述页面或者所述商品推荐列表的操作时,获取所述商品推荐列表的移动速度;
[0370]
停顿事件判断模块,用于根据所述商品推荐列表的移动速度判断是否存在停顿事件;
[0371]
显示位置获取模块,用于当存在停顿事件时,获取所述商品推荐列表中的商品在所述页面上的显示位置;
[0372]
所述商品偏好分值计算模块还用于根据所述商品推荐列表中的商品在所述页面上的显示位置调整所述商品的商品偏好分值。
[0373]
具体的,在一些实施方式中,所述商品推荐列表的显示区域与所述页面相对固定,用户在滑动页面时,带动所述商品推荐列表同步移动。在另一些实施方式中,所述商品推荐列表的显示区域具有独立的滚动条,用户需要查看所述商品推荐列表中位于下方的商品时,需要在所述商品推荐列表的显示区域进行滑动操作。
[0374]
在上述实施方式的技术方案中,根据所述商品推荐列表的移动速度判断是否存在停顿事件的步骤具体包括:
[0375]
监测所述用户在所述电子商务系统中具有商品推荐列表的页面上相邻两次向上或向下滑动操作的时间间隔;
[0376]
根据所述相邻两次向上或向下滑动操作的时间间隔计算所述用户的滑动操作的平均停顿时间;
[0377]
当监测到所述用户的相邻两次向上或向下滑动操作的时间间隔与所述平均停顿时间之差大于预设的停顿时间波动阈值时,确定存在所述停顿事件。
[0378]
在上述实施方式的技术方案中,根据所述商品推荐列表中的商品在所述页面上的显示位置调整所述商品的商品偏好分值的步骤具体包括:
[0379]
获取预先配置的显示界面上的多个权重区域以及对应每个权重区域的权重系数δj,其中j=(1,2,

,m),m为所述权重区域的数量;
[0380]
获取显示在第j个权重区域中的商品的商品偏好分值s
pr
(userid,classid);
[0381]
从所述数据库中获取预先配置的停顿事件操作分值s
op
(pauseid),其中pauseid为所述停顿事件的商品操作编号;
[0382]
根据所述权重系数δj将所述停顿事件操作分值s
op
(pauseid)累加到所述用户对应商品的商品偏好分值:
[0383]spr
(userid,classid)=s
pr
(userid,classid)+δj·sop
(pauseid)。
[0384]
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0385]
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。

技术特征:
1.一种基于用户行为数据的商品推荐方法,其特征在于,包括:监测用户在电子商务系统的操作,记录用户执行商品操作的时间t
op
(userid,goodid),其中userid为用户在所述电子商务系统中的用户编号,goodid为用户执行的商品操作对应的商品编号,所述商品操作包括商品搜索、商品详情浏览、商品收藏、商品加购以及商品购买,当所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空;当所述商品操作为商品搜索时,确定所述商品搜索的关联商品类目;计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid),其中classid为所述关联商品类目或其上级类目的类目编号;当所述商品操作为商品搜索以外的其它商品操作时,计算所述用户对应的累计商品操作分值s
op
(userid,goodid);根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库;获取预先配置的偏好分值衰减计分时间和偏好分值衰减计分周期;当到达每一个偏好分值衰减计分周期的偏好分值衰减计分时间时,对所述电子商务系统中的每一个用户执行以下操作:获取用户的商品偏好数据,所述商品偏好数据包括所述用户的累计商品操作分值s
op
(userid,goodid)大于默认分值的商品编号goodid及对应的累计商品偏好分值s
pr
(userid,goodid),所述商品偏好数据还包括所述用户的类目偏好分值s
pr
(userid,classid)大于所述默认分值的类目编号classid及对应的类目偏好分值s
pr
(userid,classid);遍历所述商品偏好数据中的每一个商品;获取所述用户对每一个商品的最后一次操作时间t
lastop
(userid,goodid)以及对每一个商品类目的最后一次操作时间t
lastop
(userid,classid);计算所述最后一次操作时间t
lastop
(userid,goodid)或者t
lastop
(userid,classid)与当前时间t
now
的衰减时间差:δt(userid,goodid)=t
now-t
lastop
(userid,goodid),或者δt(userid,classid)=t
now-t
lastop
(userid,classid);判断所述衰减时间差δt(userid,goodid)或者δt(userid,classid)是否大于预设的衰减时间差阈值;当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid);根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库。2.根据权利要求1所述的基于用户行为数据的商品推荐方法,其特征在于,确定所述商品搜索的关联商品类目的步骤具体包括:从所述电子商务系统的数据库中获取第一商品类目列表,所述第一商品类目列表包括
所述电子商务系统中各个类目层级的全部商品类目名称;分别计算所述商品搜索的关键词与所述第一商品类目列表中每一个商品类目名称的语义近似度;获取预先配置的语义近似度阈值;将语义近似度大于或等于所述语义近似度阈值的商品类目名称对应的商品类目确定为所述商品搜索的关联商品类目。3.根据权利要求1所述的基于用户行为数据的商品推荐方法,其特征在于,计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid)的步骤具体包括:获取所述关联商品类目及其上级类目构成的第二商品类目列表;遍历所述第二商品类目列表以对所述第二商品类目列表中的每一个商品类目执行以下步骤:从所述数据库中获取用户对应商品类目的类目偏好分值s
pr
(userid,classid);计算商品类目与所述关联商品类目的层级差:δl=l(classid
i
)-l(classid0),其中i=(0,1,

,n),n为所述关联商品类目的上级类目的数量,classid0为所述关联商品类目的类目编号;从所述数据库中获取预先配置的商品搜索操作分值s
op
(searchid)及层级系数α,其中searchid为商品搜索的商品操作编号,所述层级系数α
l
≥1;根据所述层级差δl以及所述层级系数α将所述商品搜索操作分值s
op
(searchid)累加到所述用户对应商品类目的类目偏好分值:4.根据权利要求1所述的基于用户行为数据的商品推荐方法,其特征在于,计算所述商品操作对应的累计商品操作分值s
op
(userid,goodid)的步骤具体包括:从所述数据库中获取用户对应商品的累计商品操作分值s
op
(userid,goodid);从所述数据库中获取预先配置的商品操作分值s
op
(opid),其中opid为除商品搜索外其它商品操作的商品操作编号;将所述商品搜索操作分值s
op
(opid)累加到所述用户对应商品的累计商品操作分值:s
op
(userid,goodid)=s
op
(userid,goodid)+s
op
(opid)。5.根据权利要求1所述的基于用户行为数据的商品推荐方法,其特征在于,根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid)的步骤具体包括:将用户执行的商品操作对应的商品确定为目标商品;获取所述目标商品的上级类目构成的第三商品类目列表;计算所述第三商品类目列表的类目偏好总分:其中j=(1,2,

,m),m为所述第三商品类目列表中的商品类目数量;获取所述目标商品的累计商品操作分值s
op
(userid,goodid);根据所述类目偏好总分s
prto
(userid,goodid)以及所述累计商品操作分值s
op
(userid,
goodid)计算所述用户的商品偏好分值:s
pr
(userid,goodid)=s
prto
(userid,goodid)+s
op
(userid,goodid)。6.根据权利要求1所述的基于用户行为数据的商品推荐方法,其特征在于,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤具体包括:获取预先配置的商品操作分值衰减系数α
op
或者类目偏好分值衰减系数α
pr
;根据所述衰减时间差δt(userid,goodid)以及所述商品操作分值衰减系数α
op
计算所述累计商品操作分值:s
op
(userid,goodid)=s
op
(userid,goodid)-δt(userid,goodid)
·
α
op
;或者根据所述衰减时间差δt(userid,classid)以及所述类目偏好分值衰减系数α
pr
计算所述类目偏好分值:s
pr
(userid,classid)=s
pr
(userid,classid)-δt(userid,classid)
·
α
pr
。7.根据权利要求16任一项所述的基于用户行为数据的商品推荐方法,其特征在于,还包括:根据用户的操作进入所述电子商务系统中具有商品推荐列表的页面;获取所述用户的商品偏好分值大于所述默认分值的商品构建第一商品列表;判断所述第一商品列表的商品数量是否大于或等于所述商品推荐列表的翻页阈值;当所述第一商品列表的商品数量大于或等于所述商品推荐列表的翻页阈值时,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中;当所述第一商品列表的商品数量小于所述商品推荐列表的翻页阈值时,计算所述翻页阈值与所述第一商品列表的商品数量的差值;获取对应所述差值数量的其它推荐商品添加到所述第一商品列表以构成第二商品列表;获取所述第二商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中。8.根据权利要求7所述的基于用户行为数据的商品推荐方法,其特征在于,获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中的步骤具体包括:当所述第一商品列表的商品数量大于所述商品推荐列表的翻页阈值时,按照所述第一商品列表的商品的父级商品类目对所述第一商品列表的商品进行分类;构建所述第一商品列表的父级商品类目列表,所述父级商品类目列表由所述第一商品列表中所有商品的父级商品类目构成;获取所述父级商品类目列表中每个商品类目的类目偏好分值s
pr
(userid,classid);按照所述类目偏好分值s
pr
(userid,classid)对所述第一商品列表的商品进行排序;从所述第一商品列表中截取数量与所述商品推荐列表的翻页阈值数量相等的商品以构成第三商品列表;对所述第三商品列表中的商品进行乱序排列后显示在所述商品推荐列表中。9.根据权利要求7所述的基于用户行为数据的商品推荐方法,其特征在于,在获取所述第一商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中或者获取所述第二商品列表中对应所述翻页阈值数量的商品显示在所述商品推荐列表中的步骤之后,还包括:
监测所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作;当所述用户在所述电子商务系统中具有商品推荐列表的页面上的操作为向上或向下滑动所述页面或者所述商品推荐列表的操作时,获取所述商品推荐列表的移动速度;根据所述商品推荐列表的移动速度判断是否存在停顿事件;当存在停顿事件时,获取所述商品推荐列表中的商品在所述页面上的显示位置;根据所述商品推荐列表中的商品在所述页面上的显示位置调整所述商品的商品偏好分值。10.一种电子商务系统,其特征在于,包括:操作时间记录模块,用于监测用户在电子商务系统的操作,记录用户执行商品操作的时间t
op
(userid,goodid),其中userid为用户在所述电子商务系统中的用户编号,goodid为用户执行的商品操作对应的商品编号,所述商品操作包括商品搜索、商品详情浏览、商品收藏、商品加购以及商品购买,当所述商品操作为商品搜索时,所述商品操作的时间中的goodid参数为空;关联商品类目确定模块,用于当所述商品操作为商品搜索时,确定所述商品搜索的关联商品类目;类目偏好分值计算模块,用于计算所述关联商品类目以及其上级类目的类目偏好分值s
pr
(userid,classid),其中classid为所述关联商品类目或其上级类目的类目编号;累计商品操作分值计算模,用于当所述商品操作为商品搜索以外的其它商品操作时,计算所述用户对应的累计商品操作分值s
op
(userid,goodid);商品偏好分值计算模块,用于根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);数据库写入模块,用于将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库;衰减计分时间获取模块,用于获取预先配置的偏好分值衰减计分时间和偏好分值衰减计分周期;用户遍历模块,用于当到达每一个偏好分值衰减计分周期的偏好分值衰减计分时间时,对所述电子商务系统中的每一个用户执行以下操作:商品偏好数据获取模块,用于获取用户的商品偏好数据,所述商品偏好数据包括所述用户的累计商品操作分值s
op
(userid,goodid)大于默认分值的商品编号goodid及对应的累计商品偏好分值s
pr
(userid,goodid),所述商品偏好数据还包括所述用户的类目偏好分值s
pr
(userid,classid)大于所述默认分值的类目编号classid及对应的类目偏好分值s
pr
(userid,classid);商品遍历模块,用于遍历所述商品偏好数据中的每一个商品;最后操作时间获取模块,用于获取所述用户对每一个商品的最后一次操作时间t
lastop
(userid,goodid)以及对每一个商品类目的最后一次操作时间t
lastop
(userid,classid);衰减时间差计算模块,用于计算所述最后一次操作时间t
lastop
(userid,goodid)或者t
lastop
(userid,classid)与当前时间t
now
的衰减时间差:δt(userid,goodid)=t
now-t
lastop
(userid,goodid),或者
δt(userid,classid)=t
now-t
lastop
(userid,classid);衰减时间差阈值判断模块,用于判断所述衰减时间差δt(userid,goodid)或者δt(userid,classid)是否大于预设的衰减时间差阈值;分值衰减计算模块,用于当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid);所述商品偏好分值计算模块还用于在根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤之后,根据所述类目偏好分值s
pr
(userid,classid)和所述累计商品操作分值s
op
(userid,goodid)计算所用户的商品偏好分值s
pr
(userid,goodid);所述数据库写入模块还用于在根据所述衰减时间差重新计算对应的累计商品操作分值s
op
(userid,goodid)或者类目偏好分值s
pr
(userid,classid)的步骤之后,将所述类目偏好分值s
pr
(userid,classid)、所述累计商品操作分值s
op
(userid,goodid)和所述商品偏好分值s
pr
(userid,goodid)写入所述电子商务系统的数据库。

技术总结
本发明提出了一种基于用户行为数据的商品推荐方法及电子商务系统,通过记录用户执行商品操作的时间并根据用户的商品操作计算用户的类目偏好分值、累计商品操作分值以及商品偏好分值,当到达偏好分值衰减计分时间时,遍历用户的商品偏好数据中的每一个商品,获取所述用户对每一个商品以及对每一个商品类目的最后一次操作时间,计算所述最后一次操作时间与当前时间的衰减时间差,判断所述衰减时间差是否大于预设的衰减时间差阈值,当所述衰减时间差大于预设的衰减时间差阈值时,根据所述衰减时间差重新计算对应的累计商品操作分值、类目偏好分值以及商品偏好分值,能够基于用户的行为数据进行有效的商品推荐,提高电子商务系统的用户体验。统的用户体验。统的用户体验。


技术研发人员:魏鑑锋 张瑞琦 刘志森 柏丽 张伟
受保护的技术使用者:零一创造欢乐(深圳)科技有限公司
技术研发日:2023.06.09
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐