Skip to content

Commit 6f89cd7

Browse files
author
TimePi
committed
add best-pratices
1 parent e227c19 commit 6f89cd7

File tree

3 files changed

+349
-0
lines changed

3 files changed

+349
-0
lines changed
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# 电商场景频控配置实施指南
2+
3+
## 一、核心认知误区与业务特性
4+
5+
### 1.1 电商场景的特殊性
6+
7+
与信息流场景本质不同,电商推荐的核心目标是**促进用户决策转化**而非单纯内容消费。这种差异导致频控策略必须遵循以下原则:
8+
9+
- **促进复购**:已购商品可能产生补货/关联购买需求
10+
11+
- **挖掘潜在需求**:用户存在跨品类探索可能性
12+
13+
- **平衡曝光公平性**:避免头部商品过度挤压长尾空间
14+
15+
### 1.2 典型错误实践
16+
17+
直接过滤已购商品会破坏以下关键场景:
18+
19+
- 家庭账户多成员复购(如母婴用品)
20+
21+
- 周期性消耗品补货(如日化品)
22+
23+
- 跨场景搭配购买(如服饰鞋帽)
24+
25+
## 二、运营配置注意事项
26+
27+
### 2.1 合理频控场景
28+
29+
当商品满足以下一些条件可添加适度频控:
30+
31+
- 曝光转化率严重低于行业类目均值
32+
33+
- 连续多天无收藏/加购行为
34+
35+
- 非促销敏感型商品
36+
37+
### 2.2 动态调节策略
38+
39+
1. 时间维度调节:
40+
- 大促期间放宽曝光限制
41+
42+
- 非活跃时段提高容错阈值
43+
2. 用户分群策略:
44+
- 价格敏感用户:放宽中低价商品频控
45+
46+
- 品牌忠诚用户:保留已购品牌曝光
47+
3. 商品生命周期适配:
48+
- 新品期:前若干小时豁免频控
49+
50+
- 清仓期:适度降低或去掉频控
51+
52+
## 三、工程实施建议
53+
54+
### 4.1 数据架构设计
55+
56+
- 购买行为数据:需包含精确到秒级的购买时间戳
57+
58+
- 曝光埋点规范:需区分自然曝光与广告曝光
59+
60+
- 衰减系数管理:建立可视化配置平台
61+
62+
### 4.2 效果评估体系
63+
64+
1. 核心监控指标:
65+
- 已购商品复购转化率
66+
67+
- 长尾商品曝光占比
68+
69+
- 用户跨类目探索深度
70+
2. AB测试方案:
71+
- 实验组:应用动态调权策略
72+
73+
- 对照组:使用传统频控方案
74+
75+
- 核心观测:客单价变化与GMV影响
76+
77+
78+
79+
**关键结论**:电商场景应避免简单粗暴的频控策略,转而通过精排层的智能调权实现"柔性控制"。既保留已购商品的转化潜力,又防止无效曝光资源浪费。运营人员应重点关注时间衰减系数与类目特性的匹配优化。
80+
81+
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# 如何配置分类热门召回
2+
3+
分类热门召回是一种常见且有效的推荐策略,通过细致的分类可以提高推荐的精准度。更细致的分类能够帮助我们为用户推荐更符合其兴趣的内容,从而提升用户体验和业务效果。在这一过程中,运营人员和工程技术人员的紧密合作至关重要。运营人员负责物料分类和打标,而技术人员则为整个系统提供技术支持。以下是如何通过RecGo平台配置分类热门召回的详细步骤。
4+
5+
## 第一步:物料分类打标
6+
7+
物料的分类打标是召回配置的基础步骤之一。运营人员在这个阶段起着主导作用:
8+
9+
1. **建立分类体系**: 运营人员需要全面规划和确定所有可能的分类,建立一个清晰的分类结构。
10+
11+
2. **物料打标**:
12+
13+
- 若物料数量较少,运营人员可手动为每个物料打标。
14+
- 若物料数量庞大,可与技术人员合作,训练一个分类打标模型。运营人员需先手动为部分物料进行打标,以提供训练数据,再由技术人员训练模型进行自动打标。
15+
- 另一种方法是利用大语言模型协助进行自动化打标。
16+
17+
## 第二步:准备分类热门数据
18+
19+
数据准备是配置召回策略的基础。在这一阶段,运营人员需要收集并整理每个分类内的热门物料数据。以下是详细的操作步骤:
20+
21+
### 数据收集与计算
22+
23+
1. **数据收集**: 运营人员需要通过分析用户行为数据,如点击率、浏览量和购买率等,来识别每个分类中的热门物料。
24+
25+
2. **数据计算**: 将收集到的物料按热度进行排序。热度的计算可基于用户互动数、购买量等指标的综合评估。
26+
27+
### 数据格式化
28+
29+
为了确保数据的规范性和易于处理,建议使用以下格式之一来组织数据:
30+
31+
#### Excel格式
32+
33+
创建一个Excel文件并包含以下字段:
34+
35+
- **category**: 物料所属的分类。
36+
- **item**: 物料名称或ID。
37+
- **rank**: 物料的热门级别,数值越小表示越热门。
38+
39+
**示例表格**
40+
41+
| category | item | rank |
42+
| -------- | ---- | ---- |
43+
| 分类1 | 物料1 | 1 |
44+
| 分类1 | 物料3 | 2 |
45+
| 分类1 | 物料2 | 3 |
46+
| 分类2 | 物料2 | 1 |
47+
| 分类2 | 物料3 | 2 |
48+
| 分类2 | 物料1 | 3 |
49+
50+
#### JSON格式
51+
52+
如果更倾向于使用JSON格式,数据结构应如下所示:
53+
54+
```json
55+
{
56+
"分类1": ["物料1", "物料2", "物料3"],
57+
"分类2": ["物料2", "物料1", "物料5"],
58+
"分类3": ["物料3", "物料7", "物料11"],
59+
"分类4": ["物料4", "物料4", "物料3"]
60+
}
61+
```
62+
63+
### 上传数据文件
64+
65+
1. **登录RecGo平台**: 使用您的账号登录RecGo平台的网页界面。
66+
67+
2. **上传文件**: 导航至数据上传页面,将准备好的Excel或JSON文件上传。
68+
69+
3. **获取`resource-id`**: 上传成功后,系统将为该文件生成一个唯一的`resource-id`,用于后续的召回配置。
70+
71+
## 第三步:配置召回
72+
73+
完成数据准备后,接下来是配置召回策略。确保您的用户数据中包含区域特征信息,例如`u_d_cat`,以便于进行精确召回。
74+
75+
### 配置文件设置
76+
77+
在RecGo平台的配置文件中,按照以下格式进行召回设置:
78+
79+
```
80+
[[Pipeline.Recall]]
81+
name = "cat-hottest-v1" # 配置名称,用于标识当前版本
82+
resource = "resource-id" # 使用之前获取的文件资源编号
83+
recall_type = 0 # 标识召回策略的类型(0表示特定策略)
84+
template = "{u_d_cat}" # 使用用户分类特征作为模板参数
85+
keys = 20 # 设定特征组合的维度数量
86+
count = 100 # 设置单次召回的最大物料数量
87+
```
88+
89+
### 提交配置
90+
91+
1. **检查配置**: 仔细检查配置文件各参数,确保设置正确无误。
92+
93+
2. **提交配置**: 保存并提交配置以应用召回策略。
94+
95+
通过这些步骤,您将能够成功配置分类热门召回功能,提高用户的内容推荐体验。
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# 如何配置I2I召回
2+
3+
## 第一步:I2I召回技术详解
4+
5+
### 1. 核心定义与背景
6+
7+
I2I(Item-to-Item)召回是推荐系统的核心组件之一,最早由亚马逊在2003年提出并成功应用于电商推荐。其核心思想是通过建立**物品关联图谱**,利用用户历史行为中的物品线索进行关联推荐。与传统协同过滤(User-to-Item)不同,I2I聚焦于物品间关系的挖掘,尤其在用户行为稀疏的场景下表现出更强的鲁棒性。
8+
9+
### 2. 核心价值与应用场景
10+
11+
| 应用场景 | 典型示例 | 优势特性 |
12+
| ----- | ---------------- | -------------- |
13+
| 实时推荐 | 用户浏览商品A时实时推荐关联商品 | 低延迟响应(通常<50ms) |
14+
| 长尾挖掘 | 通过小众商品关联热门商品 | 突破用户行为局限 |
15+
| 跨域推荐 | 视频平台通过观看记录推荐相关商品 | 行为模式迁移能力 |
16+
| 冷启动缓解 | 新品通过内容特征关联已有商品 | 零行为数据下的可解释推荐 |
17+
18+
### 3. 与其它召回方式对比
19+
20+
```mermaid
21+
graph TD
22+
A[召回类型] --> B[U2I: User-to-Item]
23+
A --> C[I2I: Item-to-Item]
24+
A --> D[U2U: User-to-User]
25+
26+
B -->|基于用户画像| E["需要丰富用户特征"]
27+
C -->|基于物品关系| F["依赖物品关联质量"]
28+
D -->|相似用户偏好| G["存在隐私合规风险"]
29+
```
30+
31+
### 4. 算法架构演进
32+
33+
#### 4.1 传统方法
34+
35+
- **协同过滤(ICF)**
36+
37+
- $$
38+
sim(i,j) = \frac{|U_i \cap U_j|}{\sqrt{|U_i| \cdot |U_j|}}
39+
$$
40+
- 优点:实现简单,可解释性强
41+
- 痛点:流行度偏差、行为稀疏敏感
42+
43+
- **内容相似度**
44+
45+
- 文本:TF-IDF + Cosine Similarity
46+
- 图像:CNN特征提取 + L2距离
47+
- 多模态:CLIP等跨模态编码
48+
49+
#### 4.2 深度学习方法
50+
51+
```python
52+
# 以双塔模型为例的伪代码
53+
item_encoder = DeepNetWork0() # 物品特征编码器
54+
user_encoder = DeepNetWork1() # 行为序列编码器
55+
56+
# 在线服务时
57+
item_embeddings = item_encoder(items) # 预计算存储
58+
user_embedding = user_encoder(history) # 实时计算
59+
scores = dot_product(user_embedding, item_embeddings)
60+
```
61+
62+
#### 4.3 图神经网络方法
63+
64+
- **Node2Vec**:通过有偏随机游走捕获复杂关联
65+
- **GraphSAGE**:邻域采样聚合技术
66+
- **HIN(Heterogeneous Information Network)**:处理多类型物品关系
67+
68+
### 5. 实现考量维度
69+
70+
| 维度 | 注意事项 | 优化策略 |
71+
| ----- | ---------- | ----------- |
72+
| 热度偏差 | 热门物品主导关联 | Swing算法加权抑制 |
73+
| 实时更新 | 新品冷启动问题 | 在线向量化服务 |
74+
| 多模态融合 | 图文/视频内容差异 | 动态权重分配 |
75+
| 业务适配 | 电商vs内容平台差异 | 行业定制损失函数 |
76+
77+
### 6. 评估指标体系
78+
79+
- **离线评估**
80+
81+
- $$
82+
覆盖率:Coverage = \frac{|推荐物品集合|}{|全量物品集合|}
83+
$$
84+
- 新颖度:用户未接触物品占比
85+
- 多样性:推荐列表的熵值计算
86+
87+
- **在线评估**
88+
89+
- CTR(点击率)
90+
- 转化率
91+
- 推荐渗透率
92+
93+
### 7. 经典应用案例
94+
95+
1. **亚马逊"看了又看"模块**:基于实时浏览行为的动态I2I
96+
2. **Netflix视频推荐**:结合观看时长加权的深度I2I
97+
3. **Spotify歌单生成**:音频特征+协同过滤混合模型
98+
99+
100+
101+
## 第二步:数据格式化
102+
103+
为了确保数据的规范性和易于处理,建议使用以下格式之一来组织数据:
104+
105+
#### Excel格式
106+
107+
创建一个Excel文件并包含以下字段:
108+
109+
- **key**: 物料id。
110+
- **item**: 物料名称或ID。
111+
- **rank**: 物料的热门级别,数值越小表示越热门。
112+
113+
**示例表格**
114+
115+
| key | item | rank |
116+
| --- | ---- | ---- |
117+
| 物料1 | 物料2 | 1 |
118+
| 物料1 | 物料3 | 2 |
119+
| 物料1 | 物料5 | 3 |
120+
| 物料2 | 物料4 | 1 |
121+
| 物料2 | 物料3 | 2 |
122+
| 物料2 | 物料1 | 3 |
123+
124+
#### JSON格式
125+
126+
如果更倾向于使用JSON格式,数据结构应如下所示:
127+
128+
```
129+
{
130+
"物料1": ["物料4", "物料2", "物料3"],
131+
"物料2": ["物料3", "物料1", "物料5"],
132+
"物料3": ["物料1", "物料7", "物料11"],
133+
"物料4": ["物料3", "物料5", "物料6"]
134+
}
135+
```
136+
137+
### 上传数据文件
138+
139+
1. **登录RecGo平台**: 使用您的账号登录RecGo平台的网页界面。
140+
141+
2. **上传文件**: 导航至数据上传页面,将准备好的Excel或JSON文件上传。
142+
143+
3. **获取`resource-id`**: 上传成功后,系统将为该文件生成一个唯一的`resource-id`,用于后续的召回配置。
144+
145+
146+
147+
第三步:配置召回
148+
149+
完成数据准备后,接下来是配置召回策略。确保您的用户数据中包含用户主动行为信息,例如用户主动点击行为序列`u_r_click`,以便于进行精确召回。
150+
151+
### 配置文件设置
152+
153+
在RecGo平台的配置文件中,按照以下格式进行召回设置:
154+
155+
```
156+
[[Pipeline.Recall]]
157+
name = "i2i-v1" # 配置名称,用于标识当前版本
158+
resource = "resource-id" # 使用之前获取的文件资源编号
159+
recall_type = 0 # 标识召回策略的类型(0表示特定策略)
160+
template = "{u_r_click}" # 使用用户分类特征作为模板参数
161+
keys = 20 # 设定特征组合的维度数量
162+
count = 100 # 设置单次召回的最大物料数量
163+
```
164+
165+
### 提交配置
166+
167+
1. **检查配置**: 仔细检查配置文件各参数,确保设置正确无误。
168+
169+
2. **提交配置**: 保存并提交配置以应用召回策略。
170+
171+
通过这些步骤,您将能够成功配置i2i召回功能,提高用户的内容推荐体验。
172+
173+

0 commit comments

Comments
 (0)