这道题问的是偏好感知对话系统,说白了就是让机器学会给不同用户不一样的回应,而不是所有用户都看到千篇一律的东西。我会从数据、模型、训练三个环节讲,最后说说落地会踩哪些坑。
先说数据。用户偏好无非两种来源:显式的和隐式的。显式就是让用户打分、点标签,或者A/B测试里选更喜欢哪个回复。但真实业务里,用户很少主动给反馈,所以 隐式信号才是主力。比如电商场景,用户点了哪个商品、加了购物车、最终买了什么,甚至对话轮次,聊得多说明有兴趣,突然退出就是流失信号。这些行为是有噪声的偏好线索,还受曝光、位置与会话任务影响,不能直接当作用户真实喜恶。关键是怎么把这些零散行为串起来?我会建一个 Preference Event Graph,把“问A→看B→买C”这种跨品类关联用图结构表示出来,这样就能捕捉到用户可能自己都没意识到的偏好链条。
再说建模。我把用户偏好分成三层。第一层是静态画像,比如价格敏感度、品牌偏好,这些相对稳定,存到[[向量库]]里当长期记忆。第二层是动态偏好,就是当前会话里用户意图有没有漂移。举个例子,用户本来问冰箱,聊着聊着开始问洗衣机,这时候我会用 KL散度 监控话题转移,及时更新会话状态。第三层是群体先验,新用户冷启动时,拿相似用户簇的偏好做回退,不至于完全盲猜。这三层通过一个注意力融合网络合并,再去做回复生成或商品推荐。
训练优化是重头戏。我分三步走。第一步是[[监督微调]],用高质量客服对话数据,给模型注入基础对话能力,同时加入一个<用户画像>的特殊token,让模型学会看人下菜碟。第二步构造同一用户画像和对话上下文下的可靠偏好对。第三步比较训练路径:[[DPO]]直接优化策略与reference下的偏好概率差,不要求单独训练显式奖励模型;若用[[PPO]]式RLHF,才另建奖励模型、在线采样与价值估计流程。不能只按规模决定切换,也不能把DPO当作对超参数不敏感。若用在线奖励,可比较商业指标与长期满意,但GMV可能与用户利益冲突,需要独立约束与评测;标准DPO仍是偏好对训练接口。另外,偏好是会变的,更新频率要由漂移、数据质量、成本与回归结果决定,不能预设固定日程总是合理。
这里有个有意思的点:偏好冲突怎么处理?比如用户说“我要便宜的”,但历史行为显示他总买高端货。可用多目标选择处理质量与商业约束;约束解码限制输出形式,但不会自动求得Pareto最优。另外探索-利用也得小心,纯迎合用户容易造成信息茧房,我会用ε-greedy随机插入一些“惊喜推荐”,DPO的β、学习率与数据覆盖需在验证集上比较,监控偏好胜率、长度与事实回归;固定β日程和EMA不是通用稳定保证。
说到底,偏好感知系统不是越大越好,前提是数据量够、用户行为有规律。如果数据稀疏,硬上RL反而会学偏。所以我会更看重数据闭环的及时性,而不是模型复杂度。