第 242 题:对话式推荐,多轮对话的状态跟踪?
题目
对话式推荐,多轮对话的状态跟踪?
完整讲解
一、对话式推荐的特点
- 推荐通过多轮对话完成:用户表达需求、系统推荐或追问、用户反馈(喜欢/不喜欢/细化),系统更新理解并再推荐。状态跟踪是核心,否则无法利用历史轮次信息。
二、状态跟踪的内容
- 用户状态:当前意图(探索/精确查找/比较)、已表达偏好(类型、属性、显式拒绝)、历史推荐与反馈(已展示、已点击、已拒绝)。
- 对话状态:当前轮话题、待澄清项(如「想要什么价位」)、已澄清项;槽位填充式或自由形式均可。
- 更新时机:每轮用户回复后,用 NLU 或 LLM 做意图与实体抽取,更新状态;再根据状态调用推荐逻辑(检索/排序)并生成回复。
三、实现方式
- 规则 + 状态机:预定义槽位与转移,适合简单流程。
- LLM 状态摘要:每轮将「历史对话 + 当前回复」输入 LLM,输出结构化状态(JSON)或摘要,下游推荐与生成基于该状态;可结合 RAG 注入产品知识。
- 联合模型:端到端对话模型同时做状态预测与回复生成,或状态与推荐模块分离、通过状态接口耦合。评估需看状态准确率与任务完成率。
面试要点
- 能说清对话式推荐中状态跟踪包含什么:用户意图、偏好、历史推荐与反馈、对话槽位。
- 能说明状态如何更新(每轮 NLU/LLM)、与推荐与生成的衔接,以及规则与 LLM 两种实现思路。
记忆要点
- 对话式推荐:多轮交互,状态跟踪=意图+偏好+历史推荐与反馈+槽位。
- 实现:每轮更新状态(规则或 LLM),再推荐+生成;可状态机或 LLM 摘要。