368 lines
8.6 KiB
Markdown
368 lines
8.6 KiB
Markdown
# 情绪句子个性化推荐系统(0 → 1)
|
||
|
||
> 本文档用于 **个人 + AI 协作** 场景,作为产品、内容、推荐决策的统一对齐说明。
|
||
>
|
||
> 核心目标:
|
||
> **在任何一个时刻,为用户选出「最可能被接住的一句话」。**
|
||
|
||
---
|
||
|
||
## 一、句子标签体系(Sentence Tagging System)
|
||
|
||
### 1. 设计原则
|
||
|
||
* 标签不是为了分类句子,而是为了 **让推荐系统理解用户的情绪需求**
|
||
* 所有标签必须:
|
||
|
||
* 可被用户行为验证(会被喜欢 / 讨厌)
|
||
* 可直接影响推荐决策
|
||
* 数量克制、定义稳定
|
||
|
||
---
|
||
|
||
### 2. 主情绪标签(Emotion Tags|6 个)
|
||
|
||
> 主情绪标签 = 一句话 **解决的核心情绪需求**
|
||
>
|
||
> **每一句话只能有 1 个主情绪标签**
|
||
|
||
1. **安抚(Calm)**
|
||
|
||
* 用于情绪过载、焦虑、疲惫
|
||
* 目标:先稳定情绪
|
||
|
||
2. **被理解(Understood)**
|
||
|
||
* 用于孤独、自我怀疑
|
||
* 目标:建立共感
|
||
|
||
3. **接纳(Acceptance)**
|
||
|
||
* 用于自责、内疚、不够好感
|
||
* 目标:缓解自我攻击
|
||
|
||
4. **鼓励(Encourage)**
|
||
|
||
* 用于低落但尚可前行
|
||
* 目标:提供继续的力量(非口号)
|
||
|
||
5. **行动启动(Activation)**
|
||
|
||
* 用于卡住、拖延
|
||
* 目标:启动,而非成功
|
||
|
||
6. **希望感(Hope)**
|
||
|
||
* 用于低谷、无出口感
|
||
* 目标:保留可能性
|
||
|
||
---
|
||
|
||
### 3. 语气标签(Tone Tags|4 个)
|
||
|
||
> 语气标签 = **“这句话是怎么说的”**
|
||
>
|
||
> 用户对语气的“讨厌”比“喜欢”更重要
|
||
|
||
* **温柔(Gentle)**:安全、低压、共感
|
||
* **中性(Neutral)**:陈述型、兜底使用
|
||
* **直接(Direct)**:清晰、有方向
|
||
* **诗性(Poetic|可选)**:隐喻、画面感
|
||
|
||
---
|
||
|
||
### 4. 场景标签(Scene Tags|5 个,可空)
|
||
|
||
> 场景标签是 **加分项,不是必填项**
|
||
|
||
* 早晨(Morning)
|
||
* 工作 / 学习中(Focus)
|
||
* 情绪低谷时(Low)
|
||
* 睡前(Night)
|
||
* 随时(Anytime|默认)
|
||
|
||
---
|
||
|
||
### 5. 标签纪律(强规则)
|
||
|
||
1. 每句话只能有 1 个主情绪标签
|
||
2. 90% 句子可以没有场景标签
|
||
3. 行动启动 ≠ 鼓励
|
||
4. 安抚 ≠ 接纳
|
||
5. 不确定时,优先选择「被理解」
|
||
|
||
---
|
||
|
||
## 二、用户画像体系(User Profile Indicators)
|
||
|
||
### 1. 设计原则
|
||
|
||
* 用户画像不是“这个人是谁”
|
||
* 而是 **“这个人最近更容易接住什么样的话”**
|
||
* 所有指标默认 **可变、会衰减、以近期为主**
|
||
|
||
---
|
||
|
||
### 2. 用户画像的最小结构(4 大类)
|
||
|
||
#### ① 主情绪偏好(核心)
|
||
|
||
* 对 6 个主情绪标签的近期偏好强度
|
||
* 决定「今天主要推哪一类句子」
|
||
|
||
---
|
||
|
||
#### ② 语气接受度
|
||
|
||
* 用户对不同说话方式的耐受程度
|
||
* 主要用于 **过滤用户讨厌的语气**
|
||
|
||
---
|
||
|
||
#### ③ 场景有效性(轻量)
|
||
|
||
* 哪些时间 / 状态更容易被接受
|
||
* 仅作为推荐修正项
|
||
|
||
---
|
||
|
||
#### ④ 情绪稳定度(隐性指标)
|
||
|
||
* 根据近期反馈判断:稳定 / 波动 / 不稳定
|
||
* 决定:
|
||
|
||
* 探索比例
|
||
* 是否使用保守推荐
|
||
* Push / Widget 是否降强度
|
||
|
||
---
|
||
|
||
### 3. 不纳入的画像指标(刻意避免)
|
||
|
||
* 人格类型(MBTI 等)
|
||
* 情绪诊断标签(焦虑 / 抑郁)
|
||
* 长期性格、身份属性
|
||
|
||
原因:
|
||
|
||
* 医疗与伦理风险高
|
||
* 对「选一句话」帮助极低
|
||
|
||
---
|
||
|
||
## 三、个性化推荐架构(Personalized Recommendation Framework|0 → 1 详细版)
|
||
|
||
> 本章节完整说明:
|
||
> **个性化推荐系统在 0 → 1 阶段的设计方式、核心算法思想,以及整体运行流程。**
|
||
>
|
||
> 设计目标不是“最聪明”,而是:
|
||
> **可解释、可控制、一个人 + AI 可以长期维护。**
|
||
|
||
---
|
||
|
||
### 3.1 个性化推荐系统的大框架流程
|
||
|
||
一次完整的推荐决策,按照固定顺序经过以下 6 个阶段:
|
||
|
||
1. **用户画像读取(Profile Reading)**
|
||
2. **候选生成(Candidate Generation / Recall)**
|
||
3. **排序判断(Ranking)**
|
||
4. **安全与多样性重排(Safety & Diversity Re-ranking)**
|
||
5. **出句到触点(Serving)**
|
||
6. **行为反馈 → 画像更新(Online Learning)**
|
||
|
||
> 推荐系统的本质是:
|
||
> **在信息不完全的情况下,持续做出“不容易出错”的选择。**
|
||
|
||
---
|
||
|
||
### 3.2 0 → 1 阶段采用的核心算法思想(先给名字)
|
||
|
||
在 0 → 1 阶段,不引入复杂模型,而采用 **规则 + 轻策略算法组合**:
|
||
|
||
1. **Questionnaire Prior(问卷先验)**:用于冷启动画像方向
|
||
2. **Tag-based Recall(基于标签的候选召回)**:缩小搜索空间
|
||
3. **Adjacent-tag Exploration(相邻情绪探索)**:避免情绪回音室
|
||
4. **Weighted Tag Matching(加权标签匹配)**:核心排序逻辑
|
||
5. **Time-decayed Preference(时间衰减偏好)**:画像始终代表“近期状态”
|
||
6. **Cooldown & Blacklist(冷却与黑名单)**:避免重复与强厌恶
|
||
7. **MMR-style Diversity Re-ranking(多样性重排)**:控制情绪与语气分布
|
||
8. **Safety Gating(情绪安全闸门)**:用户不稳定时强制保守
|
||
9. **Epsilon-greedy Exploration(探索 / 利用平衡)**:Feed 中允许试探
|
||
10. **Rule-based Online Update(规则型在线学习)**:行为驱动画像更新
|
||
|
||
---
|
||
|
||
### 3.3 Step 1|用户画像读取(Profile Reading)
|
||
|
||
**涉及算法思想:**
|
||
|
||
* Questionnaire Prior
|
||
* Time-decayed Preference
|
||
|
||
**这一阶段做什么:**
|
||
|
||
* 读取用户当前的主情绪偏好排序
|
||
* 判断是否存在近期被频繁讨厌的语气
|
||
* 判断情绪稳定度(稳定 / 波动 / 不稳定)
|
||
|
||
**输出一个“当下推荐策略”:**
|
||
|
||
* 主方向情绪:1–2 个
|
||
* 探索情绪:1 个(相邻情绪)
|
||
* 探索比例:Feed 高,Push / Widget 极低
|
||
* 是否开启安全模式
|
||
|
||
---
|
||
|
||
### 3.4 Step 2|候选生成(Candidate Generation / Recall)
|
||
|
||
**涉及算法思想:**
|
||
|
||
* Tag-based Recall
|
||
* Adjacent-tag Exploration
|
||
|
||
**核心目标:**
|
||
|
||
> **不要从整个句子库中选,而是先圈出“可能对的范围”。**
|
||
|
||
**候选生成逻辑:**
|
||
|
||
* 从主方向情绪中召回大部分句子
|
||
* 从探索情绪中召回少量句子
|
||
* 从新内容池中固定比例补充
|
||
|
||
**这一阶段不做的事情:**
|
||
|
||
* 不做精细排序
|
||
* 不处理语气偏好
|
||
* 不考虑场景冲突
|
||
|
||
---
|
||
|
||
### 3.5 Step 3|排序判断(Ranking)
|
||
|
||
**涉及算法思想:**
|
||
|
||
* Weighted Tag Matching
|
||
* Time-decayed Preference
|
||
|
||
**排序时的四个核心判断维度:**
|
||
|
||
1. **主情绪匹配度**
|
||
|
||
* 是否符合用户近期最需要的情绪支持类型
|
||
|
||
2. **语气可接受度**
|
||
|
||
* 是否属于用户近期反感的表达方式
|
||
|
||
3. **场景是否冲突**
|
||
|
||
* 当前时间 / 状态下是否明显不合适
|
||
|
||
4. **新鲜感与重复度**
|
||
|
||
* 是否近期已看过或高度相似
|
||
|
||
**关键原则:**
|
||
|
||
* 主情绪是排序主权重
|
||
* 语气更像“过滤器”而非加分器
|
||
* 场景只在明显冲突时生效
|
||
|
||
---
|
||
|
||
### 3.6 Step 4|安全与多样性重排(Safety & Diversity Re-ranking)
|
||
|
||
**涉及算法思想:**
|
||
|
||
* Cooldown & Blacklist
|
||
* MMR-style Diversity Re-ranking
|
||
* Safety Gating
|
||
|
||
**这一层的目标:**
|
||
|
||
> **即使排序不准,也不能伤害用户体验。**
|
||
|
||
**三类必须存在的保护机制:**
|
||
|
||
1. **去重与冷却保护**
|
||
|
||
* 同一句短期不重复
|
||
* 高相似句子不连续出现
|
||
|
||
2. **多样性保护**
|
||
|
||
* 同一主情绪不连续轰炸
|
||
* 同一语气不连续出现
|
||
|
||
3. **情绪安全保护**
|
||
|
||
* 用户情绪不稳定时,强制回退到:
|
||
|
||
* 安抚 / 接纳
|
||
* 温柔 / 中性语气
|
||
|
||
---
|
||
|
||
### 3.7 Step 5|出句到不同触点(Serving)
|
||
|
||
**Feed(可滑动):**
|
||
|
||
* 允许探索与试错
|
||
* 多样性优先
|
||
* 行动启动 / 鼓励可出现
|
||
|
||
**每日一句 / Push:**
|
||
|
||
* 高确定性
|
||
* 强去重
|
||
* 安全优先
|
||
|
||
**Widget(被动看到):**
|
||
|
||
* 不探索、不试错
|
||
* 只选最低风险组合
|
||
* 默认:安抚 / 接纳 + 温柔 / 中性
|
||
|
||
---
|
||
|
||
### 3.8 Step 6|行为反馈 → 画像更新(Online Learning)
|
||
|
||
**涉及算法思想:**
|
||
|
||
* Rule-based Online Update
|
||
|
||
0 → 1 阶段,仅关注三类行为信号:
|
||
|
||
* **喜欢**:当前“情绪 × 语气 × 场景”组合有效
|
||
* **讨厌**:该组合需要短期退让与冷却
|
||
* **无反馈 / 快速滑走**:信号弱,提高探索或降低强度
|
||
|
||
> 系统学习的不是“哪句话好”,而是:
|
||
> **什么时候,用什么方式,说什么样的话,更容易被接住。**
|
||
|
||
---
|
||
|
||
### 3.9 0 → 1 阶段的成功判断标准
|
||
|
||
个性化推荐在 0 → 1 阶段 **不需要做到**:
|
||
|
||
* 非常精准
|
||
* 非常智能
|
||
* 深度理解用户心理
|
||
|
||
它只需要做到三点:
|
||
|
||
1. 明显减少「被讨厌」的句子
|
||
2. 每日一句不让用户反感
|
||
3. 用户愿意继续看下一句
|
||
|
||
> 如果做到以上三点,
|
||
> 这就是一个 **成功的 0 → 1 个性化推荐系统**。
|
||
|
||
---
|
||
|
||
**本章节适用于 0 → 1 阶段,建议冻结 3 个月后再评估是否引入复杂模型。**
|