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