从这里开始.md
6.17 KB
🚀 从这里开始
📦 项目交付完成
根据您提供的业务文档和表结构,推荐系统离线任务已完成构建!
✅ 完成的功能
1. i2i 索引(4种算法)
行为相似(3种)
- ✅ Swing算法 - 基于用户共同行为
- ✅ Session W2V - 基于用户会话序列
- ✅ DeepWalk - 基于图随机游走
内容相似(1种,3个方法)
- ✅ Content-based - 基于商品属性(分类、供应商等)
- TF-IDF方法
- 分类方法
- 混合方法(推荐)
2. 兴趣点聚合索引
支持的维度(7个单维度 + 4个组合维度):
- ✅ 业务平台(platform)
- ✅ 客户端平台(client_platform)
- ✅ 供应商(supplier)
- ✅ 一级分类(category_level1)
- ✅ 二级分类(category_level2)
- ✅ 三级分类(category_level3)
- ✅ 四级分类(category_level4)
- ✅ 平台+客户端
- ✅ 平台+分类
- ✅ 客户端+分类
支持的列表类型(3种):
- ✅ 热门(hot)- 最近180天高交互
- ✅ 加购(cart)- 加购行为
- ✅ 新品(new)- 最近90天上架
🎯 快速开始(3步)
步骤1: 安装依赖
cd /home/tw/recommendation/offline_tasks
bash install.sh
步骤2: 测试连接
python3 test_connection.py
步骤3: 运行任务(小数据量测试)
# 先测试30天数据
python3 scripts/i2i_swing.py --lookback_days 30 --top_n 10
# 查看输出
ls -lh output/
head -5 output/i2i_swing_*.txt
步骤4: 运行完整任务
# 运行所有任务(约6-10小时)
python3 run_all.py --lookback_days 730 --top_n 50
# 或分别运行(推荐)
python3 scripts/i2i_swing.py --lookback_days 730 --top_n 50
python3 scripts/i2i_content_similar.py --top_n 50 --method hybrid
python3 scripts/interest_aggregation.py --lookback_days 730 --top_n 1000
📚 文档导航
入门文档
- START_HERE.md ← 当前文档
- QUICKSTART.md - 5分钟快速上手
- CURRENT_STATUS.md - 当前功能状态
技术文档
- FINAL_UPDATE.md - 最终更新说明
- COMPLETE_INDEX_LIST.md - 完整索引清单
- README.md - 详细使用文档
- PROJECT_SUMMARY.md - 技术架构
配置文档
- FIELD_MAPPING.md - 字段映射说明
- DATABASE_SETUP.md - 数据库配置
- TROUBLESHOOTING.md - 故障排除
参考文档
- STRUCTURE.md - 目录结构
- CHANGELOG.md - 更新日志
- COMMANDS.txt - 常用命令
📊 输出示例
i2i相似度索引
# 文件: output/i2i_swing_20251016.txt
12345 商品A 23456:0.8523,34567:0.7842,45678:0.7234,...
# Redis Key: i2i:swing:12345
Value: 23456:0.8523,34567:0.7842,45678:0.7234,...
兴趣点聚合索引
# 文件: output/interest_aggregation_hot_20251016.txt
platform:pc 12345:98.52,23456:87.34,34567:76.89,...
category_level2:200 45678:156.23,56789:142.87,...
# Redis Key: interest:hot:platform:pc
Value: 12345:98.52,23456:87.34,34567:76.89,...
🎬 业务场景映射
根据您的3个业务场景:
1. 首页猜你喜欢
# 使用兴趣点聚合索引
interest:hot:platform:pc
interest:hot:category_level2:200
interest:hot:platform_category2:pc_200
2. 详情页的大家都在看
# 使用i2i相似索引
i2i:swing:12345 # 行为相似
i2i:content_hybrid:12345 # 内容相似
3. 搜索结果页底部的供应商推荐
# 使用兴趣点聚合索引
interest:global:category_level2:200
interest:hot:supplier:10001
🔢 关键数字
| 指标 | 数值 |
|---|---|
| i2i算法数量 | 4种(3行为+1内容) |
| 兴趣点维度数量 | 11个(7单+4组合) |
| 支持的分类层级 | 4级 |
| 列表类型 | 3种(热门/加购/新品) |
| 预计索引总数 | 10000-50000条 |
| 全部任务运行时间 | 6-10小时 |
💡 核心优势
1. 完整性
- ✅ 行为相似 + 内容相似
- ✅ 短期热门 + 长期稳定
- ✅ 粗粒度 + 细粒度
2. 灵活性
- ✅ 支持4级分类查询
- ✅ 支持供应商维度
- ✅ 支持多维度组合
3. 可扩展性
- ✅ 易于添加新维度
- ✅ 易于添加新算法
- ✅ 配置化管理
4. 实用性
- ✅ 适配真实数据
- ✅ 参考现有代码
- ✅ 文档完善
⚙️ 配置文件
主要配置在 config/offline_config.py:
# 时间配置
LOOKBACK_DAYS = 730 # 2年数据
# 行为权重
behavior_weights = {
'click': 1.0,
'addToCart': 3.0,
'contactFactory': 5.0,
'purchase': 10.0
}
# 时间衰减
time_decay_factor = 0.95 # 每30天衰减5%
🔧 运行选项
运行单个算法
python3 run_all.py --only-swing # 只运行Swing
python3 run_all.py --only-content # 只运行内容相似
python3 run_all.py --only-interest # 只运行兴趣点聚合
跳过某些算法
python3 run_all.py --skip-i2i # 跳过i2i
python3 run_all.py --skip-interest # 跳过兴趣点聚合
调整参数
# 小数据量测试
python3 run_all.py --lookback_days 30 --top_n 10
# 完整数据
python3 run_all.py --lookback_days 730 --top_n 50
📞 遇到问题?
1. 字段错误
查看:FIELD_MAPPING.md 和 DATABASE_SETUP.md
2. 运行错误
查看:TROUBLESHOOTING.md
3. 使用疑问
查看:README.md 和 COMPLETE_INDEX_LIST.md
4. 查看日志
tail -f logs/run_all_*.log
🎉 开始使用
# 1. 进入目录
cd /home/tw/recommendation/offline_tasks
# 2. 安装依赖
bash install.sh
# 3. 测试连接
python3 test_connection.py
# 4. 运行任务
python3 run_all.py --lookback_days 730 --top_n 50
# 5. 查看输出
ls -lh output/
head -5 output/*
# 6. 加载到Redis(可选)
python3 scripts/load_index_to_redis.py
📦 交付清单
- ✅ 4种i2i算法实现
- ✅ 兴趣点聚合(11个维度)
- ✅ 统一调度脚本
- ✅ Redis加载工具
- ✅ 测试和示例脚本
- ✅ 13份完整文档
- ✅ 配置文件和依赖清单
状态: ✅ 已完成并可用
版本: v1.1
日期: 2025-10-16
代码行数: ~2500行
开始探索: 建议先阅读 QUICKSTART.md