# 情绪句子个性化推荐系统（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 个月后再评估是否引入复杂模型。**
