客服分不清用户问的是退款还是退货,意图分类怎么救
先说结论:客服机器人答非所问,九成不是模型笨,是意图分类那一层没做对。用户说"我这单不想要了",到底是退款、退货、还是改地址?分不清,后面的话术全错。
我做前端的,去年被拉去给公司的售后客服搭一个分流的小助手。一开始的想法很朴素:写一堆关键词,命中"退"就走退货流程。结果上线第二天就翻车——有个用户打字"退订一下短信营销",被我那套关键词稳稳判成了"退货申请",机器人热情地问他要快递单号,人都麻了。
关键词匹配这条路,做客服意图基本走不通。中文表达太活,"不要了""能退吗""我后悔了""帮我取消"指的可能是同一件事,也可能完全不是。
后来我换思路,不写规则了,直接让大模型来分意图。流程拆成两层:
-
第一层只干一件事——把用户这句话归到固定的几个意图标签里(退款/退货/物流查询/改地址/人工)。输出我强制要求只回标签,不准多说。
-
第二层再按命中的标签走对应的话术和取数逻辑。
这套我是在一个能拖拽配节点的平台上搭的,没写后端。意图分类那个节点我喂了大概 30 条真实的客服对话当例子,标签就五个。它内部怎么调模型、怎么解析我不管,我只管在画布上把"分类节点 → 不同分支"连起来。半天搭完,比我之前那堆 if-else 干净多了。
【配图建议:../img/01_workflow.png】
讲两个踩的坑,不然显得太顺:
一是边界意图。"我要退款,顺便问下还没发货为啥扣了我钱"——这句里头退款和物流查询都沾。模型有时候只抓前半句。我的土办法是允许它返回主+次两个标签,主标签走流程,次标签塞进回复末尾补一句"另外您问的扣费问题…"。不完美,但比漏掉强。
二是阈值。分类节点其实会给个置信度,低于某个值我就直接转人工别硬答。这个值我从 0.7 慢慢调到 0.82,太高了人工压力大,太低了乱答挨投诉。没有标准答案,看你们客服团队能扛多少转人工量。
还有个小细节,标签别设太多。我一开始贪心搞了 12 个意图,模型经常在相邻的两个里反复横跳。砍到 6 个之后准确率肉眼可见地上去了。意图分类这事,少即是多。
现在这套小助手帮我们挡了大概六成的常见咨询,剩下复杂的才转人工。前端出身能独立搭完,主要靠那种拖一拖就能配好分类和分支的工具,省了我求后端排期。
(模型那块我直接用了讯飞的 MaaS,现成的大模型 API 调,没自己部署推理服务。)
更多推荐



所有评论(0)