真实面经题目 · 原创解析
如果需要为特定领域的文本训练一套 Embedding,你会怎么做?
为特定领域文本训练 Embedding,要从语料构建、分词策略、训练目标、负样本、评估和部署更新全链路设计。关键不是只训练一个向量表,而是让向量能服务领域检索、分类、聚类或推荐任务。
真实面经题目 · 原创解析
为特定领域文本训练 Embedding,要从语料构建、分词策略、训练目标、负样本、评估和部署更新全链路设计。关键不是只训练一个向量表,而是让向量能服务领域检索、分类、聚类或推荐任务。
我会先明确 embedding 用途,是检索召回、文本分类、相似度还是推荐;然后收集领域语料,清洗去重,保留专业词、别名和短语;接着选择 tokenizer 和训练方案,可以用 Word2Vec/FastText,也可以继续训练领域 BERT 或 sentence embedding;训练时关注窗口、负采样、batch、对比学习正负样本;最后用内在评估和下游任务评估验证,比如相似词、召回率、NDCG、分类效果,并设计增量更新和线上向量索引。
领域 embedding 的目标可能是语义检索、召回、分类、聚类、NER 或推荐。用途决定训练粒度:词向量、短语向量、句向量或文档向量,以及后续评估指标。
需要收集高质量领域文本,处理 HTML、噪声、重复、低质量模板和敏感内容。专业词、缩写、同义词、品牌词和实体别名要特别保留,否则领域语义会被通用语料稀释。
词级可以用 Word2Vec、FastText 或 GloVe;句级可以用 SimCSE、DSSM、双塔或对比学习;如果已有预训练模型,可在领域语料上继续预训练或做监督微调。
检索或相似度任务需要构造可靠正负样本。正样本可以来自点击、共现、同义改写或人工标注,负样本要包含随机负样本和难负样本,避免模型只学到浅层差异。
评估要结合内在相似度测试和下游任务指标,如 Recall、MRR、NDCG、分类 F1。上线还要构建向量索引、版本管理、增量更新、冷启动和漂移监控。
可以用领域分词词典、子词模型、FastText、BPE 或字符级表示,并定期更新词表和 embedding。
可以从高 BM25 相似但标签不同的文本、召回结果中的未点击项、同类目不同意图样本或人工混淆集中挖掘。
要在领域验证集和下游任务上比较,例如同义词召回、语义检索 Recall/NDCG、分类 F1,以及线上 A/B 指标。