人人都会AI编程

21.5 领域适配关键技术:领域微调嵌入模型、专业术语处理

更新时间:2026-07-12

在通用场景下,基于公开数据训练的嵌入模型(如 text-embedding-ada-002、BGE 等)已经能较好地完成语义检索任务。但当 RAG 系统落地到医疗、法律、制造、金融等专业领域时,“说得顺”很快会撞上“听不懂”的墙。大量高度浓缩、含义固定的专业术语,以及行业内独有的表达习惯,会让通用嵌入模型出现明显的检索失效。回答不准,往往不是因为知识库缺内容,而是因为该被找到的段落没被检索到

让 RAG 在垂直领域真正可用,通常需要解决两个相互关联的关键问题:嵌入模型的领域适配专业术语的系统化处理

21.5.1 领域微调嵌入模型

通用嵌入模型在训练时见过的文本分布,与垂直领域文档的语义空间往往存在偏差。例如,“apple”在日常语料中主要指向水果,在专利文档中却大概率指向一家科技公司。如果嵌入模型对领域内的上下文不敏感,检索时就会出现大量“跑偏”的结果。

为什么要微调而非直接换模型

直接选用某个领域预训练的模型(如 BioBERT、FinBERT)是一种思路,但它们在设计时通常针对分类、实体识别等任务,其句子级表示未必适合稠密检索。相比之下,基于通用嵌入模型进行领域微调,往往能在保留泛化能力的同时,低成本地适应目标领域。

微调的核心思路

嵌入模型的检索能力训练通常采用对比学习框架:让语义相近的查询与文档片段在向量空间中靠近,不相近的则远离。领域微调的关键在于构造高质量的查询-正例-负例三元组:

  • 查询(query):可以是用户真实提问、文档标题、FAQ 中的问题。
  • 正例(passage):与查询确实相关的文档片段。来源包括人工标注、点击日志、已有的问答对。
  • 负例(hard negative):表面看起来相关但实际不匹配的片段。通常通过当前嵌入模型检索得到的高相似度但无关的结果,或利用同一文档中的其他段落自动构造。

实战中,数据构造往往采用半自动策略:先用现有系统采集一批真实查询日志,手动标出哪些检索结果真正有用,再批量生成训练样本。即便只有几百至几千条高质量样本,使用 BGE、E5 等开源嵌入模型进行微调,也能在特定领域的检索召回率上获得 10%–30% 的显著提升。

微调中的实用建议

  • 保留原始能力:在微调数据中混入少量通用数据集样本,防止模型过度遗忘通用语义。
  • 评估指标贴近业务:不要只看 Top-1 准确率,更要关注 Top-5 或 Top-10 召回率,因为生成阶段通常会取多个片段。
  • 迭代式改进:第一版用少量样本快速上线,然后根据线上检索日志中发现的新问题,持续扩充训练数据。

21.5.2 专业术语处理

专业术语是垂直领域问答中最“硬”的关卡之一。术语表意高度精准,同一个词在领域内外的含义可能截然相反。通用嵌入模型常因为术语在预训练语料中频率过低,将其表面的字符相似度误认为语义相似,导致检索失败。

有效的术语处理通常需要多层次组合:

1. 术语词典的构建与维护

建立领域术语词典是基础工作。词典应包含术语的标准名称、同义词、缩写、英文对应词等。来源主要有:行业标准文件、企业内部命名规范、已有知识库中高频出现的专有名词、业务专家的经验梳理。

词典不仅是后续处理的基础,本身也可以作为审核工具——当新文档入库时,自动检查是否包含未收录的疑似新术语,提醒知识库管理员补充。

2. 查询改写与扩充

用户提问时,很少会严格使用标准术语。例如,在半导体领域,用户可能说“晶圆”,也可能说“wafer”“硅片”。在检索前对查询进行术语标准化和同义词扩展,可以显著提升命中率:

  • 识别查询中的口语词、简称,映射为标准术语;
  • 使用术语词典生成同义词变体,与原始查询一同检索或进行加权;
  • 对于英文术语,处理大小写、连字符、缩写等变体(如“CPU”与“C.P.U.”)。

这部分可以借助规则匹配,也可以训练一个轻量的小模型或使用 LLM 在查询阶段做术语识别与改写,成本不高但效益明显。

3. 术语感知的向量表示增强

单纯靠文本替换有时不够,因为术语的上下文也可能微妙地影响其向量表示。一些进阶做法包括:

  • 在嵌入模型微调时,人为强调含术语的样本,让模型学会依据领域语境区分术语含义;
  • 对术语密集的片段,将术语定义简要拼接在 chunk 末尾作为补充上下文(例如:“……晶圆(wafer,硅晶圆片)……”),帮助嵌入模型生成更准确的向量。

4. 混合检索兜底

当稠密向量检索因术语冷僻而失效时,传统的稀疏关键词检索(如 BM25)往往能起作用,因为它精确匹配字符。将稠密检索与 BM25 的结果进行加权融合,是处理术语问题最务实的工程方案。具体流程:

  • 同一查询同时走两条检索通道;
  • 对两路结果按照预设权重进行分数融合和重排序;
  • 最终保留 top-k 个片段送入生成阶段。

这种混合策略既保留了对语义的敏感度,又避免了对精确术语匹配的盲区,尤其适合大量专业缩写、型号编码等字符级关键信息密集的场景。

21.5.3 现实项目中的成果参考

以一个医疗领域的 RAG 项目为例,知识库包含数万篇诊疗指南。初始使用通用嵌入模型时,医学术语如“ST段抬高型心肌梗死(STEMI)”的检索结果常混入其他心血管疾病的内容。团队采取了以下步骤:

  1. 构建包含 4000 余条术语及同义词的医疗词典;
  2. 收集医生查询日志,人工标注 1200 个查询-文档正例对;
  3. 使用领域正例及随机负例微调 bge-base-zh 嵌入模型;
  4. 部署时采用混合检索(稠密向量 + BM25),并对查询中的术语进行词典标准化。

最终,检索 Top-10 召回率从 67% 提升至 89%,终端回答的术语正确率也随之大幅提高。

通用 RAG 是骨架,而嵌入模型微调和术语处理是让它长出血肉的领域适应步骤。投入这两项工作,比盲目堆砌更多文档或频繁切换基础模型,往往能给最终效果带来更扎实的提升。