用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局

0 评论 674 浏览 0 收藏 8 分钟

用户说“薯片碎了”,客服机器人回“亲,是要买薯片吗?”——这不是段子,是我们上线第一周的真实翻车。今天我就把意图识别这个坑,从本质到方案,彻底讲透。

意图识别决定客服是“智能”还是“智障”。别只靠关键词匹配,也别盲目上大模型生成。

我的方案:大模型做NLU(意图分类+实体抽取)+ 确定性代码执行,准确率92%,延迟300ms。

1. 翻车:一次让客服总监脸黑的误判

我们智能客服MVP上线第二天,一位用户发来:“薯片碎了,我要退款。”

我们的意图识别模型输出:intent: “buy_product”(购买商品),因为模型把“薯片”当成了购买意向,“碎了”被忽略了。

机器人回复:“亲,薯片正在热卖中,点击链接购买哦~”

用户直接炸了:“我说碎了!不是要买!你们是机器人还是傻子?”

客服总监截图发到群里:“这谁做的?给我解释一下。”

问题出在哪? 我们的意图识别模型,只做了简单的关键词匹配,没理解“碎了”这个核心意图词。更糟糕的是,我们没做实体抽取,导致“薯片”被误判为商品购买,而不是问题商品。

2. 本质:意图识别就是把用户的话,翻译成业务动作

说白了,意图识别就是分类——把用户的自然语言,映射到你提前定义好的业务意图集合里。

在零食客服场景,我们定义了 12 个一级意图:

核心公式:用户输入 → 意图分类 + 实体抽取 → 槽位填充 → 业务动作

如果第一步意图就分错了,后面全白费。

3. 技术现状:三种主流方案,我为什么选了“大模型做NLU”

我为什么选大模型做NLU,而不是BERT或纯规则?

  • 冷启动快:我们只有 2000 条历史对话,不够微调BERT。大模型零样本就能达到 50% 准确率(仅供参考,不同场景需要自行测试)。
  • 迭代方便:新增意图只需改prompt,不用重新训练。
  • 能处理模糊表达:“这薯片咋回事啊”:规则匹配直接懵,大模型能猜出可能是品质投诉。
  • 但我不让它生成回复:只让它输出JSON,剩下的交给代码。

4. 我的方案:意图体系 + 实体抽取 + 槽位填充

4.1 设计意图体系(产品经理必须亲自干)

我拉着客服主管,花了三天,把过去3个月的 3个G 的对话翻了一遍,归纳出 8 个一级意图、30+个二级意图。

示例

一级意图 complaint(投诉)

二级:broken(破损)、quality(品质)、leak(漏发)、expired(临期)

原则

  • 粒度不要太细,否则模型分不清
  • 高频场景单独成意图,低频合并到“其他”
  • 留一个 unknown 兜底,转人工

4.2 实体抽取 + 槽位填充

用户说“薯片碎了,订单号12345,我要退款”,我们需要抽取出:

我们设计了一个prompt模板,强制大模型输出固定JSON格式:

你是一个意图识别助手。从用户输入中提取意图和槽位。

意图列表:query_order, query_points, apply_refund, complaint_broken, …

槽位定义:order_id, product_name, issue_type, …

用户输入:{{user_input}}

输出JSON:

{

“intent”: “意图值”,

“slots”: {“槽位名”: “值”},

“confidence”: 0.95

}

4.3 对话管理:缺啥问啥

意图和槽位都有了,接下来是对话管理。我们写了一个轻量级状态机:

  • 意图 apply_refund 需要的槽位:order_id, product_name, issue_type
  • 用户说“我要退款”,槽位全空 → 系统生成追问:“请问您的订单号是多少?”
  • 用户说“订单12345”,order_id 填上了,还缺 product_name 和 issue_type → 继续追问:“请问是哪件商品有问题?具体是什么问题?”

这样用户不会觉得AI傻,反而觉得它在认真处理问题。

5. 落地遇到的四个坑和我们的解法

6. 坦诚局:哪些场景意图识别依然会崩?

  1. 用户情绪激动带反讽:“你们可真棒啊,发了包碎的”:模型可能误判为正面。
  2. 超长上下文:用户聊了10轮才说真实需求,单轮意图识别看不到历史。
  3. 未见过的产品名:新品“跳跳糖巧克力”,模型不认识,实体抽取失败。
  4. 语音转文字错误:“薯片”听成“书本”,需要ASR纠错层。

这些我们后续通过多轮记忆系统知识库RAG逐步解决。

7. 结语:意图识别不是黑盒,产品经理要主导

很多团队把意图识别全丢给算法工程师,结果就是翻车不断。我的经验是:

  • 产品经理必须亲自设计意图体系,因为只有你懂业务。
  • 不要迷信端到端生成,结构化输出 + 确定性代码更可靠。
  • 大模型是很好的NLU工具,但别让它替你决策。

下一步:有了意图,还得有知识。下一篇我们讲《向量知识库五步法:从“答非所问”到“精准回复”》。

本文由 @嘻嘻李 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!