c59dd0b0
tangwang
补充部分任务明文版本输出
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# Debug模式使用说明
## 概述
所有推荐任务脚本都支持 `--debug` 参数,开启后会在 `output/debug/` 目录下生成可读的明文索引文件,方便查看推荐效果。
## 支持Debug模式的任务
| 任务名称 | 脚本文件 | 输出文件 | 可读文件位置 |
|---------|---------|---------|-------------|
| Swing算法 | `i2i_swing.py` | `i2i_swing_YYYYMMDD.txt` | `output/debug/i2i_swing_YYYYMMDD_readable.txt` |
| Session W2V | `i2i_session_w2v.py` | `i2i_session_w2v_YYYYMMDD.txt` | `output/debug/i2i_session_w2v_YYYYMMDD_readable.txt` |
| DeepWalk | `i2i_deepwalk.py` | `i2i_deepwalk_YYYYMMDD.txt` | `output/debug/i2i_deepwalk_YYYYMMDD_readable.txt` |
| 内容相似度(名称) | `i2i_content_similar.py` | `i2i_content_name_YYYYMMDD.txt` | `output/debug/i2i_content_name_YYYYMMDD_readable.txt` |
| 内容相似度(图片) | `i2i_content_similar.py` | `i2i_content_pic_YYYYMMDD.txt` | `output/debug/i2i_content_pic_YYYYMMDD_readable.txt` |
| Item行为相似度 | `i2i_item_behavior.py` | `i2i_item_behavior_YYYYMMDD.txt` | `output/debug/i2i_item_behavior_YYYYMMDD_readable.txt` |
| Tag分类相似度 | `tag_category_similar.py` | `tag_category_similar_YYYYMMDD.txt` | `output/debug/tag_category_similar_YYYYMMDD_readable.txt` |
| 兴趣聚合 | `interest_aggregation.py` | `interest_*_YYYYMMDD.txt` | `output/debug/interest_*_YYYYMMDD_readable.txt` |
## 使用方法
### 方法1: 通过run.sh全局开启
在 `run.sh` 中设置:
```bash
DEBUG_MODE="--debug" # 开启debug模式
# 或
DEBUG_MODE="" # 关闭debug模式
```
然后运行:
```bash
bash run.sh
```
### 方法2: 单独运行某个任务
#### 示例1: 运行Session W2V (已支持debug模式)
```bash
python3 scripts/i2i_session_w2v.py --lookback_days 400 --top_n 50 --debug
```
#### 示例2: 运行DeepWalk (已支持debug模式)
```bash
python3 scripts/i2i_deepwalk.py --lookback_days 400 --top_n 50 --debug
```
#### 示例3: 运行内容相似度 (新增debug模式)
```bash
python3 scripts/i2i_content_similar.py --top_n 50 --debug
```
#### 示例4: 运行Item行为相似度 (新增debug模式)
```bash
python3 scripts/i2i_item_behavior.py --lookback_days 180 --top_n 50 --debug
```
#### 示例5: 运行兴趣聚合 (已支持debug模式)
```bash
python3 scripts/interest_aggregation.py --lookback_days 400 --top_n 1000 --debug
```
## 可读文件格式
可读文件格式示例:
```
================================================================================
明文索引文件
生成时间: 2025-10-22 14:30:25
描述: i2i:session_w2v
总索引数: 50990
================================================================================
[1] i2i:session_w2v:12345 (商品名称)
--------------------------------------------------------------------------------
1. ID:23456(相似商品1名称) - Score:0.8520
2. ID:34567(相似商品2名称) - Score:0.7845
3. ID:45678(相似商品3名称) - Score:0.7321
...
```
## 性能影响
- **不开启debug模式**: 只生成标准索引文件,速度最快
- **开启debug模式**: 会额外查询数据库获取商品名称,生成可读文件,任务时间会增加约10-20%
## 注意事项
1. **磁盘空间**: 可读文件通常比标准索引文件大2-3倍,请确保有足够的磁盘空间
2. **数据库负载**: debug模式会额外查询商品名称,在高并发场景下建议关闭
3. **文件位置**: 所有可读文件都保存在 `output/debug/` 目录
4. **定期清理**: 建议定期清理旧的debug文件,避免占用过多磁盘空间
## 快速检查命令
查看最新生成的可读文件:
```bash
# 列出所有可读文件
ls -lh output/debug/*_readable.txt
# 查看某个可读文件的前50行
head -50 output/debug/i2i_session_w2v_20251022_readable.txt
# 统计可读文件数量
ls output/debug/*_readable.txt | wc -l
```
## 故障排查
如果没有生成可读文件,检查:
1. 是否传递了 `--debug` 参数
2. `output/debug/` 目录是否存在且有写权限
3. 查看日志文件确认是否有错误信息
4. 检查数据库连接是否正常(需要查询商品名称)
|