推荐

[参考] 基于标签的用户推荐系统

          基于用户和Item的协同过滤算法的分析与实现

version 1.0 基于标签的推荐

  1. 根据userid查询该用户创建和参与的所有圈子
  2. 查出每一个圈子对应的标签,及其重复次数lableCount(体现用户对标签的兴趣程度)
  3. 查出每一个标签对应的所有圈子(排除该用户创建和参与的所有圈子),作为推荐候选圈子集合
  4. 计算每一个圈子的兴趣程度,降序排列
  5. 查询各推荐圈子详情
  6. 2019-03-06 测试成功,满足预期

 

version 1.1 引入兴趣值统计

CREATE TABLE  `user_item_value` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `userid` BIGINT(20) NOT NULL COMMENT '用户id',
  `itemid` BIGINT(20) NOT NULL COMMENT '内容id,如圈子id',
  `itype` CHAR(1) NULL DEFAULT 0 COMMENT '类型0-圈子(默认)',
  `createtime` DATETIME NULL COMMENT '创建时间,如圈子创建时间',
  `ivalue` INT NOT NULL DEFAULT 0 COMMENT '兴趣值',
  `actions` VARCHAR(1024) NULL COMMENT '用户行为轨迹,尾部累加行为类型 a-创建 b-参与 c-点赞 d-献花 e-送钻 f-评论 g-分享',
  PRIMARY KEY (`id`));
  1. 根据userid查询该用户感兴趣的所有圈子
  2. 查出每一个圈子对应的标签,及其兴趣值value加权和(体现用户对标签的兴趣程度)
  3. 查出每一个标签对应的所有圈子(排除该用户浏览过的所有圈子??),作为推荐候选圈子集合
  4. 计算每一个圈子的兴趣程度,降序排列
  5. 查询各推荐圈子详情
  6. todo 解决分页问题 : 补足条数,已解决
    1. 目前:前台展示的圈子中,ORDER BY sortnum DESC, recommendtime DESC
    2. TODO??:按照所有用户的兴趣值总和(考虑时间衰减因素)推荐人气圈子
      1. 考虑分页,必须联表circle(isdel=0 and ispublic = 1,已删除和非前台展示圈子)
      2. 联表必须按circleid分表
      3. 分表后,itemid只能是circleid,itype失效,只能是一种类型
      4. 圈子和榜单、教室之间的推荐行为不能贯通了
        1. 如果圈子和榜单、教室想贯通推荐,必须统一标签/分类;目前是独立的
        2. 将标签系统融入到了整个产品线中(典型案例:豆瓣)
        3. 统一分类/标签的必要性,限定内容范围
    3. 后台运营不需要排序了
    4. 如果圈子默认前台展示(有问题关闭;后期考虑敏感词检测,图片鉴黄)
    5. 使用轮播图引导用户
  7. 2019-03-08 测试成功,满足预期
  8. TODO:推荐理由??
    1. 您创建的
    2. 您参与的
    3. 。。。
    4. 根据您创建的xxx圈子/标签推荐(私密圈子的行为是否记录,若是,是否根据私密圈子行为推荐)
    5. 根据您参与的xxx圈子推荐
    6. 根据您点赞的xxx圈子推荐
    7. 。。。
    8. 其他:热门圈子

 

version 1.2 标签扩展

  1. 根据userid查询该用户感兴趣的所有圈子
  2. 查出每一个圈子对应的标签,及其兴趣值value加权和(体现用户对标签的兴趣程度)
  3. 标签扩展(感兴趣标签的相似标签:相同分类??下的余弦相似度)-->标签分类??
  4. 查出每一个标签对应的所有圈子(排除该用户创建和参与的所有圈子),作为推荐候选圈子集合
  5. 计算每一个圈子的兴趣程度,降序排列
  6. 查询各推荐圈子详情

 

version 2.0 基于用户的推荐

  1. 推荐与该用户相似的用户感兴趣的圈子
  2. 计算两用户的相似度:余弦相似度
  3. 前K个相关用户

 

version3.0 基于圈子的推荐

  1. 推荐该用户感兴趣的圈子相似的圈子
  2. 计算两圈子的相似度:余弦相似度
  3. 前K个相圈子
  4. 三个推荐引擎联合推荐:排序与分页

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值