意图识别实现方案行业分析报告
- 意图识别实现方案行业分析报告
-
- [1. 趋势判断](#1. 趋势判断)
- [2. 推荐总体方案](#2. 推荐总体方案)
- [3. 技术原理](#3. 技术原理)
-
- [3.1 意图分类](#3.1 意图分类)
- [3.2 参数抽取](#3.2 参数抽取)
- [3.3 语义路由](#3.3 语义路由)
- [3.4 混合架构](#3.4 混合架构)
- [4. 页面实现方案](#4. 页面实现方案)
-
- [4.1 页面入口设计](#4.1 页面入口设计)
- [4.2 前端需要传递的上下文](#4.2 前端需要传递的上下文)
- [4.3 后端返回结构](#4.3 后端返回结构)
- [4.4 页面交互流程](#4.4 页面交互流程)
- [5. 意图体系设计](#5. 意图体系设计)
- [6. 核心接口设计](#6. 核心接口设计)
-
- [6.1 意图识别接口](#6.1 意图识别接口)
- [6.2 意图配置表](#6.2 意图配置表)
- [6.3 样本表](#6.3 样本表)
- [6.4 识别日志表](#6.4 识别日志表)
- [7. 短期落地方案](#7. 短期落地方案)
-
- [第一阶段:2~3 周可上线 MVP](#第一阶段:2~3 周可上线 MVP)
- [第二阶段:4~6 周增强](#第二阶段:4~6 周增强)
- 第三阶段:长期演进
- [8. 推荐置信度策略](#8. 推荐置信度策略)
- [9. 技术选型建议](#9. 技术选型建议)
- [10. 最终推荐架构](#10. 最终推荐架构)
- 结论
意图识别实现方案行业分析报告
1. 趋势判断
当前意图识别已经从传统的"关键词 / 规则 / 分类模型"演进到 LLM + 向量检索 + 工具路由 + 工作流编排 的混合架构。
传统方案的问题是:规则维护成本高,分类模型依赖大量标注数据,面对模糊表达、多轮上下文、组合意图时效果不稳定。行业上更先进的方向是:先用轻量模型或向量相似度做快速路由,再用大模型处理低置信度、复杂意图、多轮上下文和参数抽取。Rasa 2025 文档也明确采用了"向量检索相似意图样本 + LLM 预测意图"的 RAG 式意图分类方案。(Rasa1)
同时,随着 AI Agent、MCP、工具调用增多,意图识别不只是"判断用户想干什么",更重要的是决定调用哪个业务能力、哪个页面流程、哪个工作流、哪个后端接口。语义路由可以减少无关工具进入上下文,降低成本、延迟并提升准确率。(vLLM Semantic Router2)
2. 推荐总体方案
建议采用:
规则兜底 + Embedding 语义召回 + LLM 意图判定 + 参数抽取 + 工作流路由 + 人工反馈闭环
这是短期内最可落地、同时具备先进性的方案。
整体链路:
text
用户输入
↓
前端采集上下文
↓
意图识别服务
├─ 规则识别:高确定性入口、按钮、URL、关键词
├─ 向量召回:匹配相似意图样本、历史问法、业务能力
├─ LLM 判定:输出结构化 intent / slots / confidence
├─ 多轮上下文补全:识别省略、追问、修改、确认
↓
业务路由
├─ 页面跳转
├─ API 调用
├─ 工作流触发
├─ 澄清问题
└─ 人工转接 / 兜底
3. 技术原理
3.1 意图分类
意图分类的目标是把用户自然语言映射为标准业务标签,例如:
json
{
"intent": "create_saving_plan",
"confidence": 0.91
}
常见技术包括规则、传统机器学习、Transformer 分类模型、Embedding 相似度和 LLM。行业实践中,规则适合确定性场景,Embedding 适合快速召回相似意图,LLM 适合冷启动、复杂表达和多轮语义理解。(Label Your Data3)
3.2 参数抽取
只识别 intent 不够,还需要抽取业务参数:
json
{
"intent": "create_saving_plan",
"slots": {
"goal_name": "买车",
"target_amount": 200000,
"target_date": "2027-12-31",
"monthly_budget": 8000
}
}
参数不足时,不应直接失败,而是进入澄清链路:
json
{
"intent": "create_saving_plan",
"missing_slots": ["target_amount", "target_date"],
"next_action": "ask_clarification"
}
3.3 语义路由
当系统能力越来越多时,不建议把所有工具、接口、工作流全部暴露给大模型。更好的方式是先做语义路由,只把相关能力传给模型。语义路由通常会为每个工具、页面、工作流维护描述和 embedding,用户输入后计算相似度,筛出 Top-K 候选能力。(vLLM Semantic Router2)
3.4 混合架构
较优的工业方案不是完全依赖 LLM,而是:
text
高确定性 → 规则
高频稳定 → Embedding / 小模型
复杂模糊 → LLM
低置信度 → 澄清 / 人工 / 兜底
现代混合架构已经被用于复杂多轮场景:PLM / NLU 负责精准识别,LLM 负责上下文理解、歧义消解和多轮补全。
4. 页面实现方案
4.1 页面入口设计
建议在页面上提供三类入口:
第一类:显式入口
例如按钮、卡片、菜单:
text
创建目标
制定储蓄计划
分析资产
查看进度
调整计划
这类入口不需要复杂识别,前端直接带上 intent:
json
{
"source": "button",
"intent_hint": "create_saving_plan"
}
第二类:自然语言入口
例如输入框:
text
我想一年后攒 10 万块
帮我规划一下买车存钱计划
我每月能存 5000,多久能攒够首付?
这类进入意图识别服务。
第三类:上下文触发入口
例如用户在"目标详情页"输入:
text
帮我调高一点
时间改成明年 6 月
每月预算减少 1000
这类必须携带页面上下文:
json
{
"page": "goal_detail",
"current_goal_id": "G123",
"last_intent": "modify_saving_plan"
}
否则模型很难知道"调高一点"指什么。
4.2 前端需要传递的上下文
前端调用意图识别接口时,建议传:
json
{
"user_input": "我想明年攒10万",
"page_code": "wealth_home",
"entry_type": "chat_input",
"intent_hint": null,
"session_id": "xxx",
"user_id": "xxx",
"context": {
"current_goal": null,
"last_intent": null,
"selected_product": null
}
}
4.3 后端返回结构
json
{
"intent": "create_saving_plan",
"confidence": 0.92,
"slots": {
"target_amount": 100000,
"target_date": "2027-06-30"
},
"missing_slots": ["monthly_budget"],
"next_action": "ask_clarification",
"reply": "你计划每月最多存多少钱?",
"route": {
"type": "page",
"target": "saving_plan_create"
}
}
4.4 页面交互流程
text
用户输入:"我想明年攒10万"
↓
前端提交 user_input + page_context
↓
意图识别服务返回 create_saving_plan
↓
发现缺少 monthly_budget
↓
页面弹出追问:"你每月最多可存多少钱?"
↓
用户输入:"5000"
↓
系统补齐 slots
↓
进入储蓄计划创建页
↓
自动预填目标金额、目标时间、月存金额
↓
用户确认
↓
后端创建目标 / 储蓄计划
5. 意图体系设计
建议先不要设计过细,第一期控制在 15~30 个核心意图。
示例:
| 一级意图 | 二级意图 | 说明 |
|---|---|---|
| 目标规划 | create_goal | 创建目标 |
| 目标规划 | modify_goal | 修改目标 |
| 储蓄计划 | create_saving_plan | 创建储蓄计划 |
| 储蓄计划 | adjust_saving_plan | 调整计划 |
| 进度跟踪 | query_progress | 查询完成进度 |
| 资金分析 | analyze_cashflow | 分析收支 |
| 产品推荐 | recommend_product | 推荐理财产品 |
| 风险评估 | risk_assessment | 风险测评 |
| 页面导航 | navigate_page | 页面跳转 |
| 问答咨询 | general_qa | 普通问答 |
| 异常兜底 | out_of_scope | 无法识别 |
6. 核心接口设计
6.1 意图识别接口
http
POST /api/intent/recognize
请求:
json
{
"user_input": "我想每个月存5000,一年后买车",
"page_code": "wealth_home",
"entry_type": "chat_input",
"context": {}
}
响应:
json
{
"intent": "create_saving_plan",
"confidence": 0.94,
"slots": {
"monthly_budget": 5000,
"goal_name": "买车",
"target_period": "1年"
},
"next_action": "route_to_workflow",
"workflow_code": "saving_plan_create"
}
6.2 意图配置表
sql
intent_config
- intent_code
- intent_name
- description
- required_slots
- optional_slots
- route_type
- route_target
- enabled
6.3 样本表
sql
intent_example
- intent_code
- example_text
- embedding_vector
- source
- quality_score
6.4 识别日志表
sql
intent_log
- user_input
- predicted_intent
- confidence
- slots_json
- final_action
- user_feedback
- created_at
7. 短期落地方案
第一阶段:2~3 周可上线 MVP
目标:能识别核心意图,能跳转页面,能预填表单。
实现内容:
text
1. 梳理 20 个核心意图
2. 每个意图准备 20~50 条样本
3. 建立意图配置表和样本表
4. 接入 embedding 相似度召回
5. 接入 LLM 输出结构化 JSON
6. 前端接入统一意图识别接口
7. 支持页面跳转、表单预填、缺参追问
第二阶段:4~6 周增强
目标:支持多轮上下文和工作流编排。
增加:
text
1. 会话上下文管理
2. 多轮 slot 补齐
3. 置信度阈值策略
4. 工作流引擎对接
5. 人工反馈纠错
6. 意图识别看板
第三阶段:长期演进
目标:从意图识别升级为智能业务路由中枢。
增加:
text
1. 多意图识别
2. 用户画像参与意图判断
3. AB 实验
4. 自动生成训练样本
5. 小模型微调
6. 多模态意图识别
8. 推荐置信度策略
text
confidence >= 0.85
→ 直接执行
0.60 <= confidence < 0.85
→ 展示确认
例如:"你是想创建一个储蓄计划吗?"
confidence < 0.60
→ 澄清问题 / 推荐入口
无法识别
→ out_of_scope + 引导用户选择能力
9. 技术选型建议
短期建议:
text
LLM:GPT / 通义千问 / DeepSeek / 智谱均可
Embedding:text-embedding / bge-m3 / m3e
向量库:Milvus / pgvector / Elasticsearch Vector
后端:Java / Python 均可
缓存:Redis
日志分析:ClickHouse / Elasticsearch
配置后台:低代码配置意图、样本、路由规则
如果团队已有 Java 技术栈,可以采用:
text
Spring Boot
+ pgvector / Milvus
+ Redis
+ LLM API
+ 意图配置后台
+ 工作流引擎
10. 最终推荐架构
text
前端页面 / AI 输入框
↓
Intent Gateway
↓
上下文管理 Context Manager
↓
规则识别 Rule Engine
↓
Embedding 语义召回
↓
LLM 结构化判定
↓
置信度决策层
↓
业务路由层
├─ 页面跳转
├─ 表单预填
├─ API 调用
├─ 工作流编排
└─ 澄清追问
↓
日志反馈 / 样本沉淀 / 持续优化
结论
最推荐的方案是:用规则保证确定性,用 Embedding 保证速度和低成本,用 LLM 保证复杂语义理解,用工作流保证业务可控,用反馈闭环保证持续进化。