客户说“还没到”,可能是在催物流,也可能在问退款期限;“扣了两次”既可能是重复扣款,也可能是两笔不同订单;“换一下”如果没有上下文,甚至无法判断客户想换地址、商品还是套餐。
AI客服意图识别的任务不是从一句话里找到某个关键词,而是结合对话上下文,判断客户此刻想完成什么,并决定下一步动作:直接回答、继续追问、查询系统、转人工,还是停止猜测。
意图识别做得不好,后面的知识库、自动化和Agent能力都会被带到错误方向。系统可能从正确的知识库中找到一段完全不相关的答案,也可能把高风险投诉当作普通物流咨询。
什么是AI客服意图识别?
“意图”可以理解为客户希望企业完成的目标。例如:
- 查询订单状态;
- 修改收货地址;
- 申请退款;
- 了解套餐价格;
- 报告技术故障;
- 寻找人工客服。
意图识别则是把客户的自然语言表达映射到这些业务目标。客户不需要使用企业规定的标准词,系统也应尽量识别“我的货到哪了”“物流怎么不动”“包裹十天没更新”都与物流查询有关。
Google Dialogflow CX的官方文档将这个过程称为intent matching。系统会为候选意图计算匹配置信度;最高得分达到分类阈值时返回相应意图,没有意图达到阈值时触发No-match事件。
这说明意图识别至少包含三个结果,而不是只有“识别成功”和“识别失败”:
- 有足够依据匹配一个意图;
- 信息不足,需要澄清;
- 无法可靠匹配,进入No-match或人工处理。
意图分类应该从业务动作开始
很多团队先整理关键词,再创建意图。结果是“价格”“多少钱”“收费”分别成为三个意图,但它们实际都指向同一套价格咨询流程。
更实用的方法是先问:识别这个意图以后,系统要执行什么不同动作?
| 客户表达 | 业务意图 | 下一步动作 |
|---|---|---|
| “这个套餐多少钱?” | 售前价格咨询 | 返回当前价格来源或引导定价页 |
| “已经扣款了,为什么还不能用?” | 付款后未开通 | 查询订单和账户状态 |
| “我要取消并退款。” | 退款申请 | 收集必要信息并按权限转人工 |
| “物流一直不更新。” | 物流异常 | 查询物流;失败时转售后 |
| “找真人客服。” | 明确要求人工 | 进入人工接管流程 |
如果两个标签对应完全相同的知识、字段和动作,就没有必要为了报表好看而拆成多个意图。相反,如果“咨询退款政策”和“正式申请退款”会进入不同权限流程,就应该分开。
用三层结构整理意图
第一层:客户旅程
先按售前、购买中、履约、售后、账户和技术支持划分大类。大类用于分析和路由,不一定直接作为模型输出。
第二层:可执行意图
例如在售后中继续拆分为退货政策、退款申请、退款进度、商品破损和物流异常。每个意图都应有明确动作或负责人。
第三层:必要参数
识别意图不等于能够执行。物流查询还需要订单号,修改地址可能需要身份核验和订单状态,价格咨询可能需要团队规模和目标渠道。
| 意图 | 必要参数 | 缺失时怎么问 |
|---|---|---|
| 物流查询 | 订单号 | “请提供订单号,我来查询当前物流状态。” |
| 修改地址 | 订单号、新地址、身份确认 | 先确认订单是否仍允许修改 |
| 套餐推荐 | 团队人数、渠道、月咨询量 | 一次只问影响选择的关键问题 |
| 故障排查 | 产品、错误提示、发生时间 | 引导客户提供截图或错误文字 |
参数应服务于下一步动作,不要为了收集数据而连续询问与解决问题无关的信息。
训练样本应该怎么写?
覆盖真实表达,不是改写同一句话
下面这组样本看似有五条,实际信息非常接近:
- 我要查物流;
- 我想查物流;
- 请帮我查物流;
- 可以查一下物流吗;
- 麻烦查询物流。
更有价值的样本应覆盖不同表达方式:
- “包裹现在到哪了?”
- “十天了还没收到。”
- “tracking一直没更新。”
- “订单显示发货,但快递查不到。”
- “能看一下什么时候送到吗?”
Google的Agent设计建议指出,只增加由填充词变化形成的训练短语没有必要;生产中的No-match记录则可以帮助发现缺失表达。但也不能把每条No-match都机械加入某个意图,否则容易造成意图偏置。
加入容易混淆的反例
“退款政策”和“退款进度”都包含退款,“账户无法登录”和“订单无法查询”都可能出现“进不去”。团队应保存容易混淆的表达,并明确它们不属于哪个意图。
| 正向样本 | 目标意图 | 容易误判的相邻意图 |
|---|---|---|
| “超过七天还能退吗?” | 退款政策咨询 | 退款申请 |
| “上周退的钱什么时候到账?” | 退款进度 | 退款政策咨询 |
| “我想换收货地址。” | 修改订单地址 | 修改账户地址 |
| “验证码一直收不到。” | 登录验证问题 | 修改联系方式 |
保留语言和渠道差异
WhatsApp上的客户可能使用缩写、语音转文字和混合语言;网站客服可能包含复制的错误代码;LINE客户的表达习惯又可能不同。不要只用内部人员编写的标准中文训练多语言客服。
置信度阈值应该设多少?
没有适用于所有企业和所有意图的统一数字。
Google Dialogflow CX允许为不同流程及语言设置分类阈值。当最高意图匹配分数未达到阈值时,会触发No-match;官方也建议在调整阈值前先检查负面样本。
阈值调整本质上是在两类错误之间取舍:
- 阈值过低:系统更愿意猜,错误匹配增加;
- 阈值过高:系统更谨慎,No-match和澄清次数增加。
高风险意图更应重视误判成本。例如,把普通价格咨询误判为退款申请可能只是流程绕远;把退款申请误判为普通政策问答,可能导致客户无法及时进入有权限的处理流程。
建议按照“语言×意图风险×渠道”测试,而不是只设置一个全局数值。阈值应来源于真实测试集表现,并在模型、样本或业务政策变化后重新验证。
信息不足时,先澄清还是直接转人工?
澄清问题应当缩小范围,而不是把客户推入新一轮菜单。
客户说:“我要改一下。”
有效澄清可以是:
“你是要修改订单的收货地址,还是修改账户资料?”
无效澄清则是:
“请详细描述你的问题。”
前者给出了两个基于上下文的候选方向,后者把识别工作重新交给客户。
可以用下面的决策方式:
| 状态 | 建议动作 |
|---|---|
| 一个意图明显领先且风险低 | 进入对应流程 |
| 两个相邻意图难以区分 | 提一个封闭式澄清问题 |
| 多轮仍无法识别 | 停止猜测,转人工或留资 |
| 涉及退款、权限、投诉等高风险 | 优先核实并按规则转人工 |
| 客户明确要求人工 | 不用意图识别继续阻拦 |
人工接管应传递客户原话、候选意图、已问问题和缺失参数,具体可以参考AI客服什么时候应该转人工。
No-match不能只回复“我没听懂”
No-match是改进意图体系的重要数据。一次No-match可能来自:
- 当前流程没有包含应该生效的意图;
- 训练样本没有覆盖真实表达;
- 两个意图边界重叠;
- 当前语言或渠道表现不同;
- 客户输入的是新业务问题;
- 语音转文字、拼写或系统预处理改变了原句。
建议给No-match设置分级处理:
- 第一次:结合上下文提出一个澄清问题;
- 第二次:给出少量明确选项,或询问是否需要人工;
- 持续失败:转人工、留资或创建待办,并保存原始表达;
- 运营复盘:按出现次数、风险和业务价值整理未匹配问题。
不要让客户在相同提示里无限循环,也不要把所有未匹配表达自动写入知识库。意图错误和知识缺失是两类问题:前者不知道客户要什么,后者知道问题却没有可靠答案。
一句话包含多个意图怎么办?
客户经常说:“包裹还没到,我明天搬家,能不能改地址?不行就退款。”这句话同时包含物流异常、修改地址和退款条件。
系统不应只按最后一个词进入退款流程。可以先识别主目标和约束:
- 查询订单是否已发货及当前位置;
- 判断当前状态是否允许修改地址;
- 如果无法修改,再解释适用的退款或拦截流程;
- 涉及权限或例外时转人工。
这类问题更适合按任务依赖顺序处理,而不是强行压缩成一个标签。对于可执行Agent,还需要明确每一步失败后的兜底。关于Agent与固定流程机器人的区别,可以阅读AI客服Agent与传统聊天机器人有什么区别。
上线前如何测试意图识别?
建立独立测试集
测试问题不能与训练样本完全重复。应从历史会话中脱敏抽取,并保留口语、错别字、混合语言、情绪表达和多意图问题。
建立混淆矩阵
记录“真实意图”和“系统预测意图”,重点看哪些意图互相误判。
| 真实意图 | 预测为物流查询 | 预测为退款申请 | 预测为No-match |
|---|---|---|---|
| 物流查询 | 正确数 | 误判数 | 漏识别数 |
| 退款申请 | 误判数 | 正确数 | 漏识别数 |
实际表格应填写企业自己的测试数据,本文不提供虚构准确率。
分开观察三类结果
- 正确匹配;
- 错误匹配;
- No-match或澄清。
只看“匹配率”会掩盖错误匹配。系统把所有问题都分到某个意图,匹配率可以很高,但客户体验可能更差。
每次只修改一个主要变量
先修正意图边界或训练样本,再调整阈值。样本、阈值和流程同时变化时,很难判断是哪项修改造成结果变化。
意图识别上线后应该复盘什么?
每周或每个运营周期至少查看:
- 出现次数最多的No-match表达;
- 最常互相混淆的意图;
- 转人工率异常高的意图;
- 应转人工但未转的高风险问题;
- 缺少必要参数导致流程中断的问题;
- 不同语言和渠道的差异;
- 新商品、新政策和新活动产生的新意图。
如果发现系统已经正确识别“退款进度”,但知识库仍返回过期政策,就应该修知识而不是继续加训练样本。知识结构和版本管理可以参考客服知识库怎么搭建。
用WuwenAI测试意图、知识与人工流程
WuwenAI官网公开说明其AI客服具备自动回复和意图识别能力,同时提供自动化流程、团队协作和客户资料管理。实际使用时,可以从一类高频问题开始,测试客户表达如何进入回答、澄清、自动化或人工接管流程。
准备一批脱敏历史问题,并提前写好真实意图和期望动作。测试重点不是AI能否给每句话贴上标签,而是识别结果能否把客户带到正确的知识、人员和下一步。
👉 免费试用WuwenAI,免费测试全球AI客服工具,为您降本增效。
常见问题
AI客服意图识别是什么?
它是把客户自然语言映射到业务目标和下一步动作的过程,例如将“包裹十天没更新”识别为物流异常,并进入查询或人工处理流程。
意图识别置信度越高越好吗?
不能只追求高数值。阈值过低容易错误匹配,过高会增加No-match。应使用独立测试集,按语言、意图风险和渠道验证误判与漏识别。
No-match应该怎么处理?
第一次可以提出有方向的澄清问题,持续失败时应提供人工或留资入口,并保存原始表达供运营复盘,不能无限重复“没有听懂”。
训练样本是不是越多越好?
不是。大量重复、边界模糊的对话样本可能造成意图偏置。对话样本应覆盖真实表达、相邻意图和渠道语言差异,并保持每个意图边界清楚。
一句话有多个意图怎么办?
应识别主目标、约束和任务依赖,按业务顺序处理。例如先查询物流,再判断能否改地址,最后处理退款条件,而不是只取最后一个关键词。