FINAL_UPDATE.md 7.62 KB

最终更新说明

📅 更新日期:2025-10-16

✅ 已完成的功能(完整版)

1. i2i 相似度索引(4种算法)

1.1 行为相似(3种)

基于用户行为计算商品相似度:

算法 文件 特点 状态
Swing i2i_swing.py 基于用户共同行为,效果最好 ✅ 已完成
Session W2V i2i_session_w2v.py 基于会话序列,捕获序列关系 ✅ 已完成
DeepWalk i2i_deepwalk.py 基于图游走,发现深层关系 ✅ 已完成

1.2 内容相似(新增)

基于商品属性计算商品相似度:

算法 文件 特点 状态
Content-based i2i_content_similar.py 基于分类、供应商、属性等 ✅ 新增完成

支持的方法

  • tfidf - 基于TF-IDF的文本相似度
  • category - 基于分类的相似度
  • hybrid - 混合方法(推荐)

使用的特征

  • 商品分类(一级到四级)
  • 供应商信息
  • 包装类型和包装方式
  • 商品名称关键词

运行命令

# 使用混合方法(推荐)
python3 scripts/i2i_content_similar.py --top_n 50 --method hybrid

# 只使用TF-IDF
python3 scripts/i2i_content_similar.py --top_n 50 --method tfidf

# 只使用分类
python3 scripts/i2i_content_similar.py --top_n 50 --method category

2. 兴趣点聚合索引(已完善)

支持的维度(从2个扩展到7个)

单维度

  1. platform - 业务平台
  2. client_platform - 客户端平台
  3. supplier - 供应商
  4. category_level1 - 一级分类
  5. category_level2 - 二级分类
  6. category_level3 - 三级分类
  7. category_level4 - 四级分类

组合维度

  1. platform_client - 业务平台 + 客户端平台
  2. platform_category2 - 平台 + 二级分类
  3. platform_category3 - 平台 + 三级分类
  4. client_category2 - 客户端平台 + 二级分类

列表类型

  1. hot - 热门商品
  2. cart - 加购商品
  3. new - 新品

🎯 完整的索引输出

i2i索引(4种)

# 行为相似
i2i:swing:{item_id}
i2i:session_w2v:{item_id}
i2i:deepwalk:{item_id}

# 内容相似(新增)
i2i:content_hybrid:{item_id}
i2i:content_tfidf:{item_id}
i2i:content_category:{item_id}

兴趣点聚合索引(大幅扩展)

单维度示例

interest:hot:platform:pc
interest:hot:client_platform:web
interest:hot:supplier:10001
interest:hot:category_level1:100
interest:hot:category_level2:200
interest:hot:category_level3:300
interest:hot:category_level4:400

组合维度示例

interest:hot:platform_client:pc_web
interest:hot:platform_category2:pc_200
interest:hot:platform_category3:mobile_300
interest:hot:client_category2:web_200

列表类型示例

interest:hot:category_level2:200
interest:cart:category_level3:300
interest:new:supplier:10001
interest:global:platform_category2:pc_200

📊 业务场景应用(更新)

场景1: 首页猜你喜欢

# 1. 基于平台推荐
items_1 = redis.get("interest:hot:platform:pc")

# 2. 基于用户常购分类推荐
items_2 = redis.get("interest:hot:category_level2:200")

# 3. 基于平台+分类组合
items_3 = redis.get("interest:hot:platform_category2:pc_200")

# 融合多个维度
recommended = merge_and_personalize(items_1, items_2, items_3)

场景2: 详情页大家都在看

item_id = "12345"

# 1. 行为相似(用户行为)
similar_behavior = redis.get(f"i2i:swing:{item_id}")

# 2. 内容相似(商品属性)
similar_content = redis.get(f"i2i:content_hybrid:{item_id}")

# 3. 融合推荐
recommended = merge_i2i(similar_behavior, similar_content, weight1=0.6, weight2=0.4)

场景3: 分类页推荐

category_id = "200"

# 1. 该分类的热门商品
hot_items = redis.get(f"interest:hot:category_level2:{category_id}")

# 2. 该分类的新品
new_items = redis.get(f"interest:new:category_level2:{category_id}")

# 3. 组合展示
display(hot_items, new_items)

场景4: 供应商页推荐

supplier_id = "10001"

# 该供应商的热门商品
hot_items = redis.get(f"interest:hot:supplier:{supplier_id}")

🚀 运行所有任务

cd /home/tw/recommendation/offline_tasks

# 运行全部任务(包括新增的内容相似)
python3 run_all.py --lookback_days 730 --top_n 50

# 只运行内容相似
python3 run_all.py --only-content --top_n 50

# 跳过内容相似,只运行其他
python3 run_all.py --skip-content --lookback_days 730 --top_n 50

📈 性能参考(更新)

任务 数据依赖 预估时间 内存占用
Swing 用户行为(730天) 2-4小时 4-8GB
Session W2V 用户行为(730天) 30-60分钟 2-4GB
DeepWalk 用户行为(730天) 1-2小时 2-4GB
Content-based 商品属性(全量) 10-30分钟 2-4GB
兴趣点聚合 用户行为(730天) 30-60分钟 2-4GB

总计:约6-10小时


📝 数据表依赖关系

i2i 行为相似

  • sensors_events - 用户行为事件
  • prd_goods_sku - 商品SKU信息

i2i 内容相似(新增)

  • prd_goods_sku - 商品SKU信息
  • prd_goods - 商品主表
  • sup_supplier - 供应商信息
  • prd_category - 分类信息(层级结构)
  • prd_goods_sku_attribute - 商品属性
  • prd_option - 属性选项
  • prd_attribute - 属性定义

兴趣点聚合(已完善)

  • sensors_events - 用户行为事件
  • prd_goods_sku - 商品SKU信息
  • prd_goods - 商品主表
  • prd_category - 分类信息(新增)

🔄 与原有代码的对比

原计划维度(文档中)

  • ❌ 国家/销售区域(字段不存在)
  • ❌ 客户类型(字段不存在)
  • ⚠️ 二级分类(原以为不存在,现已支持)
  • ⚠️ 三级分类(原以为不存在,现已支持)

实际实现维度(完善后)

  • ✅ 业务平台
  • ✅ 客户端平台
  • ✅ 供应商(新增)
  • ✅ 一级分类(新增)
  • ✅ 二级分类(新增支持)
  • ✅ 三级分类(新增支持)
  • ✅ 四级分类(新增)

💡 优势总结

1. 内容相似的优势

  • 冷启动友好:新商品立即可用
  • 不依赖行为数据:商品上架即可生成相似推荐
  • 可解释性强:基于分类、属性等明确特征
  • 计算快速:只需要商品属性数据

2. 多维度聚合的优势

  • 分类粒度丰富:支持4级分类
  • 供应商维度:支持供应商页推荐
  • 组合查询:支持平台+分类等组合维度
  • 灵活性高:可根据需要查询不同粒度

3. 算法融合的优势

  • 行为 + 内容:可以融合4种i2i算法
  • 短期 + 长期:热门、新品等不同时效性
  • 粗粒度 + 细粒度:一级到四级分类

🎉 完成状态

✅ 全部完成!

  1. ✅ i2i 行为相似(3种算法)
  2. ✅ i2i 内容相似(1种算法,3种方法)
  3. ✅ 兴趣点聚合(7个单维度 + 4个组合维度 + 3种列表类型)
  4. ✅ 统一调度脚本
  5. ✅ Redis加载工具
  6. ✅ 完整文档

📚 相关文档

  • CURRENT_STATUS.md - 当前功能状态
  • FIELD_MAPPING.md - 字段映射说明
  • DATABASE_SETUP.md - 数据库配置
  • TROUBLESHOOTING.md - 故障排除
  • README.md - 完整文档

更新版本: v1.1
更新日期: 2025-10-16
主要变化:

  • 新增内容相似算法
  • 完善分类维度支持(1-4级)
  • 新增供应商维度
  • 扩展组合维度查询