博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
推荐系统依据近期浏览进行推荐
阅读量:5278 次
发布时间:2019-06-14

本文共 942 字,大约阅读时间需要 3 分钟。

前些日子,公司要求做推荐系统,不言而喻,推荐系统对于电商来说是非常有优点的。当然我们是刚開始做,还得从简单的開始做,首先第一版是依据用户近期浏览的进行推荐。接下来,可能要依据相似用户进行相似用户的推荐。这样还要对会员进行分等级。所以后面的工作还有非常多。

博客是个好东西,我热衷于博客记录下我做过的每一件事。

实现的步骤例如以下:

流程图:

思路:

实现的步骤为:
    1、得到用户信息。
技术实现:抓取用户近期浏览的一款商品的 SKUid;同一时候获取用户的UV(独立訪客),这样用户一开网页我们就知道是哪个用户了。
  
 
    2、对用户浏览的商品分析出相似商品。
技术实现:拿到SKUid进行分析同样类目(Cid)下的SKUid。这样获得了商品的相似度。
然后再依据价格进行排序,取价格最靠近当前浏览的十个SKUid。
    3、页面展示:
技术实现:分析完数据后,我们依据UV(独立訪客)给用户推荐同一类目下价格接近的商品。js文件将会将推荐的商品在页面渲染出来。

过程中遇到的问题:

      问题一:

  分析器5秒跑一次,可是每个新UV进来,就会往数据库多加一条数据。数据量大了,分析器分析起来就慢了;

     解决的方法:

        添加一个字段为存放时间戳,当新增一条数据,存一个时间戳,假设该用户继续浏览还有一个ITEM页面,即更新skuid、价格、等信息外,还要更新保存的时间戳为当前的时间,这样事实上就好办了,我就仅仅分析当前时间就在近期五分钟左右的数据。由于这五分钟的用户都是近期的用户,还有正在浏览页面的用户。这样就攻克了分析器跑不动的问题。也过滤掉了反复分析的问题。

    问题二:

       毫无疑问,这样下去表会越来越大,查询的性能也会慢慢减少。

    解决的方法:

       方案一: 这样事实上我们能够另外建一张表,仅仅用来保存结果的表。或者就两个字段,一个是会员名,一个就是推荐的skuid信息。不是会员的用户我们仅仅保存近期的两三天的推荐记录。

      方案二:不建表,将结果保存到memcache。保质期为一个月。

   问题三:

     如何防止被刷;

   解决方式:

     加入一个字段,每次该条记录变动一次,加入的字段加一,当天超过一千的,进行屏蔽。

转载于:https://www.cnblogs.com/mfrbuaa/p/3987598.html

你可能感兴趣的文章
2019年春季学期第四周作业
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
CF461B Appleman and Tree
查看>>
CF219D Choosing Capital for Treeland
查看>>
杂七杂八的小笔记本
查看>>
51Nod1353 树
查看>>
CF1215E Marbles
查看>>
BZOJ2339 HNOI2011卡农(动态规划+组合数学)
查看>>
octave基本操作
查看>>
axure学习点
查看>>
WPF文本框只允许输入数字[转]
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>
使用XML传递数据
查看>>
TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)
查看>>