机器学习基础 NLP 专题:特征工程、模型选型、评价指标、高频追问与避坑

本章聚焦 NLP 面试中最高频的机器学习基础问题:从文本特征工程到模型选型、评价指标的选择逻辑,再到容易被追问的坑点。面试官常通过以下路径考察深度:

原始文本 文本预处理 清洗·分词·去停 特征提取 TF-IDF / 词嵌入 模型选型 LR → RNN → Transformer 评价指标 F1 / AUC / 困惑度 避坑提醒 数据泄露·类别不平衡·过拟合
面试核心逻辑:面试官会从“你如何做文本分类?”这类开放题切入,逐步追问特征选择理由、模型对比、评价指标的适用场景,最终落在“你踩过什么坑”上。务必按“预处理 → 特征 → 模型 → 指标 → 踩坑”的链路组织回答。

下面我们通过一个典型的追问路径图,梳理面试中可能遇到的递进式问题:

如何选择 NLP 模型? 任务类型是什么? 数据量 / 计算资源 是否需要预训练? → 指标选择(F1/AUC) → 避免过拟合策略 → Bert vs 蒸馏模型
面试加分提醒:在回答任何模型选型问题时,先询问“任务类型是什么?”——面试官会欣赏你主动澄清条件的习惯。接着给出“数据量小用 LR+TF-IDF,数据量大用 Bert,实时场景用蒸馏模型”的经典决策路径。

1. 文本分类任务中,你如何选择特征提取方法?

  • 面试官考察点:特征工程基本功、对 TF-IDF 与词嵌入的差异理解、能否根据场景推荐最优方法。
  • 回答框架:
    1. 明确任务类型(短文本/长文本、数据量、语言)。
    2. 对比 TF-IDF(稀疏、可解释强)与词嵌入(稠密、语义能力强)。
    3. 给出选择原则:小数据用 TF-IDF,大数据用预训练词向量或 Bert。
  • 示例回答:

    短文本分类且数据量较小,优先 TF-IDF+LR 基线;数据量超过10万,切换至 FastText 或 Bert-embedding。TF-IDF 对关键词敏感但忽略词序,词嵌入可捕获语义但需较大语料。根据任务是否需要 OOV 处理进一步调整。

  • 可能追问:如何处理 OOV 词?TF-IDF 的 IDF 公式变形?词嵌入维度如何选?
  • 避坑提醒:切勿直接说“都用 Bert”,面试官希望看到你理解传统方法与深度方法的权衡。另外注意:分词错误会严重破坏词嵌入质量,需提前说明预处理策略。

2. 模型选型时,LR、RNN、Transformer 如何选择?

  • 面试官考察点:模型适用场景判别、复杂度分析、是否理解 Transformer 的优势本质。
  • 回答框架:
    1. 按任务类型分类(分类、序列标注、生成)。
    2. 按数据量和实时性划分:LR 适合中小规模线性可分任务;RNN(LSTM)适合序列依赖但训练慢;Transformer 适合长文本且预训练受益大。
    3. 补充权衡:模型复杂度 vs 推理延迟。
  • 示例回答:二分类且特征线性可用 LR,速度快且易解释;情感分析用 LSTM 捕获上下文;翻译任务必须用 Transformer/Bert。若实时需求高且资源受限,考虑蒸馏版 TinyBERT。
  • 可能追问:为什么 Transformer 比 RNN 更适合长序列?Attention 的计算复杂度?如何解决梯度消失?
  • 避坑提醒:不要回避说“RNN 被淘汰了”——实际工业场景中 RNN 仍有部署。强调“看场景”而非“追潮流”。另外注意区分 Encoder-only 与 Decoder-only 架构。

3. NLP 任务中,选择何种评价指标最合适?

  • 面试官考察点:对分类、序列、生成任务的指标理解、是否考虑类别不平衡、能否解释指标数学含义。
  • 回答框架:
    1. 根据任务类型分类:分类用 Accuracy / F1 / AUC;序列标注用 F1-micro;生成用 BLEU / ROUGE / Perplexity。
    2. 强调类别不平衡时用 F1(尤其是 Macro-F1)或 AUC。
    3. 指出指标局限:Accuracy 在长尾场景失效,BLEU 与人工评分相关度低。
  • 示例回答:文本分类且正负样本均衡用 Accuracy;不均衡用 Macro-F1。命名实体识别用 F1-micro。机器翻译用 BLEU 但需结合 chrF 或人工评估。语言模型用 Perplexity 但注意语料影响。
  • 可能追问:F1 的宏观平均与微观平均区别?AUC 对阈值敏感吗?BLEU 的惩罚机制?
  • 避坑提醒:不要只背公式,要能举例说明指标选择如何影响模型优化。例如“若优化 Accuracy 会加剧不平衡问题”。同时注意生成指标与任务目标对齐(如翻译质量 vs 流畅度)。
高频踩坑总结:
  • 特征工程中分词错误未排查(如英文未做词干提取、中文未处理专名)。
  • 模型选型时忽略业务实时性要求(直接上大模型导致延迟超标)。
  • 评价指标只看单一指标,不结合业务场景(如用 Accuracy 评估欺诈检测)。
  • 对“数据泄露”概念不清:在预处理阶段用了未来信息(如全局统计做归一化)。

特征提取方法对比速查

方法 维度 语义能力 可解释性 适用场景
TF-IDF 稀疏(词表大小) 弱(词袋) 高 小数据、关键词匹配
Word2Vec / GloVe 稠密(100~300) 中 中 中等数据、语义相似度
Bert-Embedding 稠密(768+) 强(上下文感知) 低 大数据、复杂语义任务
面试话术模板:“针对这个任务,我首先会分析数据量级和样本分布。如果数据<1万,我倾向于 TF-IDF+LR,因为可解释性强且不易过拟合;如果数据>10万且需要语义理解,我会用预训练词向量或直接微调 Bert。选择指标时,我会优先看 Macro-F1 而非 Accuracy,因为任务存在明显不平衡。” —— 这种回答体现了从业务出发的决策链路。