1. 项目背景与核心挑战
在自然语言处理领域,意图识别是对话系统和智能助手的核心技术之一。传统方法通常采用分类模型直接对文本进行意图判断,但这种方法存在两个显著缺陷:一是需要大量标注数据,二是难以处理未见过的意图类别。而基于Embedding的解决方案通过将文本映射到语义空间,可以实现更灵活的意图匹配和扩展。
我们团队最近完成了一个中文意图识别项目,需要准确识别18种用户意图,包括但不限于:
- 信息查询类(如天气、股票、百科)
- 事务处理类(如订餐、预约、支付)
- 情感交流类(如赞美、投诉、安慰)
- 系统控制类(如返回主页、音量调节)
这个项目的独特挑战在于:
- 语义相近意图的区分(如"查航班"和"订机票")
- 同一意图的不同表达方式(如"我想吃饭"和"附近有什么餐厅")
- 短文本的语义稀疏问题(如用户只说"天气"两个字)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Embedding模型选型与评估
2.1 候选模型对比分析
我们对比了当前主流的几种Embedding模型在中文意图识别任务上的表现:
| 模型名称 | 维度 | 上下文窗口 | 中文优化 | 微调支持 | MTEB中文得分 |
|---|---|---|---|---|---|
| BGE-M3 | 1024 | 512 | 是 | 完全支持 | 64.2 |
| m3e-base | 768 | 512 | 是 | 部分支持 | 58.7 |
| text2vec | 768 | 512 | 是 | 不支持 | 52.3 |
| OpenAI | 1536 | 8192 | 一般 | API限制 | 61.5 |
经过综合评估,我们选择BGE-M3作为基础模型,主要基于以下考虑:
- 专门针对中文优化的训练数据
- 支持稀疏向量和稠密向量的混合表示
- 开源可微调的特性
- 在MTEB中文评测中的领先表现
2.2 模型特性深度解析
BGE-M3的架构创新主要体现在三个方面:
-
混合表示机制:
- 稠密向量(1024维):捕捉深层语义关系
- 稀疏向量:保留关键词匹配能力
- 多粒度表示:支持词、句、段落级embedding
-
改进的训练策略
