word embedding 意图识别重在快速验证闭环,适用于冷启动、小样本(几百条)或规则+模型混合系统;任务仅为单句到预定义标签的映射,不涉槽位、多轮或生成;推荐按序尝试词向量平均池化、sentence-bert等轻量句向量,避免直接用原始bert。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用 Word Embedding 构建意图识别模块,核心不是追求高准确率,而是快速验证思路、搭建可运行的最小闭环。它适合冷启动阶段、数据量小(几百条标注样本)、或作为规则+模型混合系统的轻量级补充。
一、明确任务边界:这不是端到端对话系统
意图识别只是聊天机器人的第一步——把用户一句话(如“我想查上个月的账单”)归类到预定义类别(如“查账单”)。不涉及槽位抽取、多轮管理、生成回复。目标是:输入文本 → 输出一个标签(或 top-k 概率)。
二、选 Embedding:从简单可靠开始
别一上来就调 BERT。优先尝试以下三类,按效果和成本递进:
- 预训练词向量 + 平均池化:用 Word2Vec(Google News 300维) 或 GloVe(6B/42B) 加载词向量,对句中每个词查向量,取平均(忽略停用词或做简单 TF-IDF 加权)。稳定、快、内存低,对短句意图识别常有不错 baseline。
- 轻量句向量模型:如 Sentence-BERT(all-MiniLM-L6-v2),在 CPU 上单句编码约 50ms,向量维度 384,语义聚合能力强,适配小样本微调。
- 不推荐直接用原始 BERT 提取 [CLS] 向量:参数大、推理慢、小样本易过拟合,除非你有 GPU 和 1k+ 标注数据。
三、构建分类器:Embedding 只是特征,后面还得接“脑子”
拿到句子向量后,本质是做一个多分类任务。根据数据规模选择:
- 极小样本(:用 余弦相似度 + 模板匹配。为每个意图准备 3–5 条典型问法,计算用户句向量与各模板向量的平均余弦相似度,选最高者。无需训练,解释性强,上线快。
- 中等样本(200–2000 条总样本):训练一个 逻辑回归 或 SVM 分类器(scikit-learn 即可)。特征 = 句向量;标签 = 意图 ID。训练快、可解释权重、不易过拟合。
- 想支持在线更新或微调:用 PyTorch/TensorFlow 搭一个两层全连接网络(输入=向量维数,隐藏层64,输出=意图数),加 Softmax。保存模型权重,新数据来时只 retrain 最后几层。
四、关键实操提醒
-
清洗比模型重要:统一繁简体、过滤 emoji、替换数字为 `
`、补全常见缩写(如“查账”→“查询账单”),这些操作带来的提升远超换 embedding 模型。 - 验证集必须含未见表达:不要随机切分。把同一意图下不同说法拆开——比如“查账单”类中,把“能看下上月账单吗”留作测试,其余“我想要……”“怎么查……”用于训练。否则会高估泛化能力。
- 上线前加兜底逻辑:当最高置信度











