码迷,mamicode.com
首页 > 编程语言 > 详细

(一)基于商品属性的相似商品推荐算法——整体框架及处理流程

时间:2020-03-12 19:19:56      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:height   targe   www   平台   service   处理   保存   对比   mes   

系列随笔:

(总览)基于商品属性的相似商品推荐算法

(一)基于商品属性的相似商品推荐算法——整体框架及处理流程

(二)基于商品属性的相似商品推荐算法——Flink SQL实时计算实现商品的隐式评分

(三)基于商品属性的相似商品推荐算法——批量处理商品属性,得到属性前缀及完整属性字符串

(四)基于商品属性的相似商品推荐算法——推荐与评分高的商品属性相似的商品

(五)基于商品属性的相似商品推荐算法——算法调优及其他

 

整体框架及处理流程


 

 

流程图:

技术图片

 

 

推荐N个商品,具体步骤:

1)用户行为日志埋点(这里使用的是阿里云log service);

2)Flink SQL(实时计算)统计用户行为对商品的隐式评分,保存到 rc_member_goods 表;

3)预处理平台全部商品,计算其属性前缀或完整属性,保存到 rc_goods_properties 表;

4)rc_member_goods表关联rc_goods_properties表按评分倒序查询当前用户商品,得到2个商品(商品A和商品B)及其他的属性信息;

5)用这两个商品的属性前缀通过rc_goods_properties表查询相同属性前缀的其他商品;

6)查询到的商品分别与商品A、商品B对比计算相似值;

7)相似值倒序,按比例取N个商品;注:如果相似商品数量不足N个,则补充销售高的其他商品;

8)返回推荐结果

 

数据库设计:

CREATE TABLE `rc_config` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 自增,
  `event` varchar(50) DEFAULT NULL COMMENT 理点事件,
  `code_name` varchar(20) DEFAULT ‘‘ COMMENT 商品编码的字段名,
  `score` smallint(5) unsigned NOT NULL DEFAULT 0 COMMENT 得分,
  `status` tinyint(1) unsigned DEFAULT 1 COMMENT 状态,
  `remark` varchar(50) DEFAULT NULL COMMENT 备注,
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_event` (`event`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT=商品推荐配置表;
CREATE TABLE `rc_goods_properties` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 自增ID,
  `goods_code` int(11) unsigned NOT NULL COMMENT 商品编号,
  `property_prefix` varchar(100) DEFAULT NULL COMMENT 属性前缀,
  `properties` varchar(200) DEFAULT NULL COMMENT 属性,
  `update_time` timestamp NULL DEFAULT NULL COMMENT 更新时间,
  PRIMARY KEY (`id`),
  KEY `idx_goods_code` (`goods_code`) USING HASH,
  KEY `idx_prefix` (`property_prefix`) USING HASH
) ENGINE=InnoDB AUTO_INCREMENT=154297 DEFAULT CHARSET=utf8mb4 COMMENT=商品属性表;
CREATE TABLE `rc_member_goods` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 自增ID,
  `member_code` int(11) unsigned DEFAULT NULL COMMENT 会员编码,
  `cid` varchar(100) CHARACTER SET utf8 DEFAULT NULL COMMENT 设备ID,
  `goods_code` int(11) unsigned NOT NULL COMMENT 商品编码,
  `score` int(10) NOT NULL DEFAULT 0 COMMENT 评分,
  `update_time` timestamp NULL DEFAULT NULL COMMENT 更新时间,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_unique` (`member_code`,`cid`,`goods_code`) USING BTREE,
  KEY `idx_cid` (`cid`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2777342 DEFAULT CHARSET=utf8mb4 COMMENT=用户商品评分表;

 

上一节:(总览)基于商品属性的相似商品推荐算法

下一节:(二)基于商品属性的相似商品推荐算法——Flink SQL实时计算实现商品的隐式评分

 

(一)基于商品属性的相似商品推荐算法——整体框架及处理流程

标签:height   targe   www   平台   service   处理   保存   对比   mes   

原文地址:https://www.cnblogs.com/tujia/p/12360044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!