19781 字
51 分鐘
自然语言处理(NLP)完全学习手册
自然语言处理(NLP)完全学习手册
面向文本分析、信息检索、深度学习、Transformer、大语言模型应用与科研入门的系统化学习资料。 参考 CS Learning 中其他学科目录的组织方式:总览 README + 学习路线 + 核心理论 + 项目实践 + 复习清单。 目标不是只会调用接口,而是理解文本如何被表示、模型如何训练、任务如何评估、系统如何落地。
目录结构
NLP/├── README.md # 本文件:课程总览与学习路线├── chapters/ # 后续可拆分的理论章节│ ├── 01_NLP学习总览与语言学基础.md│ ├── 02_文本预处理与语料构建.md│ ├── 03_词向量与文本表示.md│ ├── 04_传统机器学习文本分类.md│ ├── 05_序列标注与信息抽取.md│ ├── 06_语言模型与神经网络基础.md│ ├── 07_RNN_LSTM_GRU与Attention.md│ ├── 08_Transformer与预训练模型.md│ ├── 09_大语言模型应用与提示工程.md│ ├── 10_检索增强生成_RAG.md│ ├── 11_NLP评估_部署_安全.md│ └── 12_论文阅读与项目实战.md├── projects/│ ├── 01_text_classification/│ ├── 02_named_entity_recognition/│ ├── 03_sentiment_analysis/│ ├── 04_rag_qa_system/│ └── README.md└── assets/ # 语料样例、实验曲线、模型结构图学习路线图
阶段 0:编程、数学与机器学习基础Python · NumPy · Pandas · PyTorch · 概率统计 · 线性代数 · 机器学习评估
阶段 1:文本数据基础编码 · 分词 · 正则 · 清洗 · 语料构建 · 标注规范 · 数据划分
阶段 2:传统 NLP词袋模型 · TF-IDF · n-gram · 朴素贝叶斯 · 逻辑回归 · SVM · CRF
阶段 3:神经 NLP词向量 · CNN/RNN · LSTM/GRU · Attention · Seq2Seq · Beam Search
阶段 4:Transformer 与预训练模型Self-Attention · BERT · GPT · T5 · 微调 · 参数高效微调
阶段 5:大模型应用系统Prompt · Function Calling · RAG · Agent · 评估 · 监控 · 安全
阶段 6:科研与工程落地论文复现 · 数据治理 · 推理优化 · 部署 · A/B 测试 · 持续迭代推荐学习顺序
| 顺序 | 模块 | 目标 | 输出物 |
|---|---|---|---|
| 1 | 文本预处理 | 能构建干净、可复现的数据管道 | 清洗脚本与数据说明 |
| 2 | 文本表示 | 理解 one-hot、TF-IDF、词向量和上下文表示 | 表示方法对比表 |
| 3 | 传统分类 | 能训练并评估一个文本分类基线 | 分类报告 |
| 4 | 序列标注 | 能处理 NER、分词、词性标注等任务 | BIO 标注样例 |
| 5 | 神经网络模型 | 理解 Embedding、RNN、CNN、Attention | PyTorch 小模型 |
| 6 | Transformer | 掌握自注意力、位置编码、预训练微调 | 结构笔记 |
| 7 | 大模型应用 | 能设计 Prompt、调用模型、处理输出 | 应用 Demo |
| 8 | RAG 系统 | 能完成切分、向量化、检索、生成、评估 | 问答系统 |
| 9 | 评估与安全 | 能衡量效果并识别幻觉、偏见、泄露风险 | 评估集 |
| 10 | 论文与项目 | 能复现论文或完成端到端项目 | 项目报告 |
先修知识
1. 编程基础
- Python 函数、类、文件读写、异常处理。
- 正则表达式、字符串编码、JSON/CSV/Parquet 数据处理。
- NumPy、Pandas、Matplotlib 的基础使用。
- PyTorch 张量、自动求导、Dataset、DataLoader。
- 虚拟环境、依赖管理、实验脚本组织。
- 能编写可复现的数据处理流水线。
2. 数学与机器学习基础
- 线性代数:向量、矩阵、点积、矩阵乘法。
- 概率统计:条件概率、贝叶斯、交叉熵、困惑度。
- 优化:梯度下降、学习率、正则化、过拟合。
- 机器学习:训练集、验证集、测试集、交叉验证。
- 评估指标:Accuracy、Precision、Recall、F1、AUC。
- 深度学习:Embedding、激活函数、损失函数、反向传播。
3. 语言学基础
- 词、词素、短语、句法、语义、语用。
- 中文分词与英文 tokenization 的差异。
- 同义、反义、多义、指代、省略等语言现象。
- 实体、关系、事件、意图、槽位等信息结构。
- 语料标注规范与一致性。
- 语言歧义是 NLP 系统误差的重要来源。
核心能力矩阵
| 能力 | 说明 |
|---|---|
| 数据处理 | 能清洗文本、构建语料、定义标注规范并控制数据泄漏 |
| 表示学习 | 能解释从词袋到上下文向量的表示差异 |
| 建模能力 | 能为分类、生成、抽取、检索任务选择合适模型 |
| 评估能力 | 能构建测试集并选择匹配任务的指标 |
| 工程能力 | 能把模型包装成稳定服务并记录日志 |
| 大模型应用 | 能设计 Prompt、RAG、工具调用与安全策略 |
| 科研阅读 | 能读懂论文问题、方法、实验和局限 |
| 复盘能力 | 能定位错误来自数据、模型、训练还是评估 |
章节总览
01 NLP 学习总览与语言学基础
- NLP 的目标是让计算机处理、理解和生成自然语言。
- 文本任务包括分类、匹配、抽取、生成、检索和对话。
- 语言具有歧义、上下文依赖和长尾表达。
- 中文 NLP 需要特别关注分词、繁简体、拼写和混合符号。
- 工程项目通常从数据定义开始,而不是从模型开始。
- 学习 NLP 需要同时理解语言、统计和深度学习。
- 大模型降低了应用门槛,但没有消除评估和数据治理的重要性。
- 所有实验都要记录数据版本、模型版本和随机种子。
02 文本预处理与语料构建
- 文本编码需要统一为 UTF-8。
- 清洗规则必须可复现,不能手工改数据。
- 分词、大小写、停用词、标点处理都依赖任务目标。
- 训练集、验证集、测试集要避免同源数据泄漏。
- 标注指南要定义边界、冲突规则和特殊情况。
- 类别不平衡会影响训练和评估。
- 数据增强可以提升泛化,但可能引入噪声。
- 语料质量通常比模型复杂度更重要。
03 词向量与文本表示
- One-hot 表示稀疏且无法表达语义相似。
- 词袋模型忽略顺序但可作为强基线。
- TF-IDF 强调区分度高的词。
- word2vec 通过上下文学习词语分布式表示。
- GloVe 融合全局共现统计。
- FastText 使用子词信息,适合处理未登录词。
- 上下文表示让同一个词在不同句子中有不同向量。
- 表示方法要与任务、数据规模和算力匹配。
04 传统机器学习文本分类
- 朴素贝叶斯适合稀疏高维文本特征。
- 逻辑回归是强而稳定的分类基线。
- SVM 在中小规模文本分类中常有不错效果。
- 特征工程包括 n-gram、词性、长度、关键词、统计特征。
- 混淆矩阵能暴露类别间的混淆关系。
- 分类阈值可以根据业务成本调整。
- 传统模型训练快、可解释性强,仍适合很多工程场景。
- 基线模型是评估深度模型是否值得使用的参照。
05 序列标注与信息抽取
- 序列标注为每个 token 预测标签。
- BIO/BIES 是常见实体标注格式。
- NER 关注实体边界和实体类型。
- 关系抽取关注实体之间的语义关系。
- 事件抽取关注触发词、论元和角色。
- CRF 可以建模相邻标签约束。
- 抽取任务的错误常来自边界不一致和标注歧义。
- 信息抽取结果需要面向下游结构化使用。
06 语言模型与神经网络基础
- 语言模型估计 token 序列的概率。
- n-gram 模型依赖马尔可夫假设和平滑。
- 神经语言模型用向量表示上下文。
- Embedding 层把离散 token 映射到连续空间。
- 交叉熵是语言模型训练的核心损失。
- 困惑度衡量模型预测下一个 token 的不确定性。
- 批处理、填充和 mask 是训练序列模型的基础。
- 梯度裁剪可以缓解训练不稳定。
07 RNN、LSTM、GRU 与 Attention
- RNN 通过循环隐藏状态处理序列。
- LSTM 用门控机制缓解长距离依赖问题。
- GRU 结构更简洁,参数更少。
- Seq2Seq 用编码器和解码器处理生成任务。
- Attention 允许解码器关注源序列不同位置。
- Beam Search 在生成时保留多个候选路径。
- 暴露偏差是训练和生成目标不一致带来的问题。
- RNN 在长文本和并行训练上不如 Transformer 高效。
08 Transformer 与预训练模型
- Self-Attention 让序列中任意位置直接交互。
- 多头注意力从不同子空间建模关系。
- 位置编码提供顺序信息。
- Transformer Encoder 适合理解任务,Decoder 适合生成任务。
- BERT 使用掩码语言模型进行预训练。
- GPT 使用自回归语言模型进行预训练。
- 微调把通用表示适配到具体任务。
- 参数高效微调减少训练成本和存储成本。
09 大语言模型应用与提示工程
- Prompt 是向模型表达任务、上下文和输出要求的接口。
- 系统提示用于定义角色、边界和行为约束。
- Few-shot 示例能帮助模型学习输出格式。
- 结构化输出需要 schema、校验和重试机制。
- 工具调用让模型连接外部系统。
- 多轮对话需要管理历史、摘要和状态。
- 大模型输出必须经过评估,不能只看单个示例。
- 提示工程不是替代数据和系统设计的捷径。
10 检索增强生成 RAG
- RAG 用外部知识库减少幻觉并提升可追溯性。
- 文档切分要平衡语义完整和检索粒度。
- 向量化模型决定语义检索质量。
- 召回、重排、上下文压缩影响最终答案质量。
- 引用来源可以提升可审计性。
- 评估 RAG 需要同时看检索命中和生成质量。
- 知识库更新要考虑增量索引和版本管理。
- RAG 的难点通常在数据治理和评估,而不只是向量数据库。
11 NLP 评估、部署与安全
- 分类任务常用准确率、精确率、召回率和 F1。
- 生成任务评估需要自动指标和人工评估结合。
- BLEU、ROUGE、METEOR 有局限,不能单独代表真实质量。
- 线上系统要监控延迟、成本、错误率和用户反馈。
- 模型服务需要限流、缓存、降级和重试。
- 隐私数据要脱敏和最小化使用。
- 提示注入、越权工具调用和数据泄露是大模型系统风险。
- 安全策略要和业务场景共同设计。
12 论文阅读与项目实战
- 读论文先看问题定义、贡献和实验结论。
- 复现时先复现数据处理和评估协议。
- 不要只关注模型结构,也要关注训练细节。
- 项目报告要说明数据、方法、指标、误差分析和局限。
- 错误分析要抽样查看真实文本。
- 消融实验能说明每个组件的贡献。
- 工程项目要关注可维护性和可解释性。
- 长期积累需要建立论文笔记和实验日志。
NLP 项目实践建议
| 项目 | 目标 |
|---|---|
| 01 文本分类基线系统 | 完成数据清洗、TF-IDF、逻辑回归、评估报告和错误分析。 |
| 02 情感分析模型 | 比较传统模型、LSTM、BERT 微调在同一数据集上的表现。 |
| 03 命名实体识别 | 实现 BIO 标注读取、序列模型训练、实体级 F1 评估。 |
| 04 语义检索系统 | 完成文本切分、向量化、ANN 检索和检索评估。 |
| 05 RAG 问答系统 | 实现知识库构建、召回、重排、引用生成和答案评估。 |
| 06 Prompt 工程实验 | 比较零样本、少样本、链式思考、结构化输出的稳定性。 |
| 07 文本摘要系统 | 比较抽取式摘要和生成式摘要的质量、事实性和长度控制。 |
| 08 多轮对话原型 | 实现历史裁剪、状态跟踪、安全过滤和日志分析。 |
专题详解与训练清单
专题 1:文本编码与 Unicode
核心要点
- 理解字符、字节、编码、码点之间的区别。
- 统一使用 UTF-8 保存语料和代码。
- 注意中文、英文、数字、emoji、控制字符混合出现。
- 清洗时保留还是删除符号取决于任务。
- 乱码通常来自错误编码读取或重复转码。
- 数据入库前要做编码和长度检查。
实验建议
- 准备一个小数据集验证 文本编码与 Unicode 的基本流程。
- 记录 文本编码与 Unicode 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 2:正则表达式与清洗
核心要点
- 正则适合处理规则明确的文本模式。
- 过度清洗可能删除有用信号。
- 清洗规则必须记录版本。
- URL、邮箱、手机号、日期等模式要单独处理。
- 清洗前后应抽样对比。
- 生产系统要记录无法解析的异常样本。
实验建议
- 准备一个小数据集验证 正则表达式与清洗 的基本流程。
- 记录 正则表达式与清洗 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 3:分词与 Tokenization
核心要点
- 中文分词依赖词典、统计模型或神经模型。
- 英文 tokenization 要处理大小写、缩写和标点。
- 子词分词能缓解未登录词问题。
- BPE、WordPiece、SentencePiece 是常见方案。
- token 数影响模型上下文长度和成本。
- 分词器必须与预训练模型匹配。
实验建议
- 准备一个小数据集验证 分词与 Tokenization 的基本流程。
- 记录 分词与 Tokenization 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 4:语料构建与数据划分
核心要点
- 数据来源决定任务上限和偏差。
- 训练、验证、测试要按样本来源隔离,避免泄漏。
- 同一用户、同一文档、同一模板生成的数据要谨慎拆分。
- 类别不平衡需要采样、加权或指标调整。
- 数据版本要可追踪。
- 采样检查比只看统计量更可靠。
实验建议
- 准备一个小数据集验证 语料构建与数据划分 的基本流程。
- 记录 语料构建与数据划分 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 5:标注体系与一致性
核心要点
- 标注指南要包含正例、反例和边界情况。
- 多人标注需要计算一致性。
- 冲突样本要仲裁并更新规范。
- BIO 标签要检查合法转移。
- 实体边界比实体类型更容易出错。
- 标注质量低会直接限制模型上限。
实验建议
- 准备一个小数据集验证 标注体系与一致性 的基本流程。
- 记录 标注体系与一致性 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 6:词袋模型与 TF-IDF
核心要点
- 词袋模型简单但忽略词序。
- n-gram 可以补充局部顺序信息。
- TF-IDF 降低高频常见词权重。
- 稀疏特征适合线性模型。
- 特征维度过高需要 min_df、max_df 或特征选择。
- 传统表示是强基线,不应跳过。
实验建议
- 准备一个小数据集验证 词袋模型与 TF-IDF 的基本流程。
- 记录 词袋模型与 TF-IDF 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 7:词向量
核心要点
- word2vec 包括 CBOW 和 Skip-gram。
- 负采样提升训练效率。
- GloVe 利用全局共现矩阵。
- FastText 使用子词信息表示罕见词。
- 词向量可以可视化但不要过度解读二维投影。
- 静态词向量无法区分一词多义。
实验建议
- 准备一个小数据集验证 词向量 的基本流程。
- 记录 词向量 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 8:文本分类
核心要点
- 分类任务需要明确标签定义和业务成本。
- 宏平均 F1 适合关注小类。
- 微平均 F1 更受大类影响。
- 阈值调整可以改变精确率和召回率。
- 错误分析要查看高置信错误。
- 上线前要构建稳定回归测试集。
实验建议
- 准备一个小数据集验证 文本分类 的基本流程。
- 记录 文本分类 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 9:文本匹配与语义相似度
核心要点
- 文本匹配包括检索、问答、去重和蕴含判断。
- 双塔模型适合大规模召回。
- 交叉编码器适合精排但成本更高。
- 负样本质量对匹配模型很关键。
- 相似不等于等价,要定义任务语义。
- 评估可使用 Recall@K、MRR、NDCG。
实验建议
- 准备一个小数据集验证 文本匹配与语义相似度 的基本流程。
- 记录 文本匹配与语义相似度 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 10:序列标注
核心要点
- 序列标注输出与输入 token 对齐。
- NER、分词、词性标注都属于序列标注。
- CRF 可以约束非法标签转移。
- 实体级 F1 与 token 级准确率不同。
- 嵌套实体和不连续实体更复杂。
- 预测后处理要保持标签合法性。
实验建议
- 准备一个小数据集验证 序列标注 的基本流程。
- 记录 序列标注 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 11:信息抽取
核心要点
- 信息抽取把非结构文本转为结构化数据。
- 实体抽取、关系抽取、事件抽取通常逐层进行。
- 规则、传统模型和大模型可以混合使用。
- 抽取结果要处理冲突、重复和置信度。
- 评估时要区分边界错误和类型错误。
- 下游数据库字段会反过来影响抽取 schema。
实验建议
- 准备一个小数据集验证 信息抽取 的基本流程。
- 记录 信息抽取 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 12:语言模型
核心要点
- 语言模型估计文本序列概率。
- n-gram 需要平滑处理稀疏问题。
- 神经语言模型学习分布式上下文表示。
- 自回归模型按从左到右预测下一个 token。
- 困惑度越低通常代表预测越确定,但不等于任务效果一定更好。
- 训练语料分布决定模型偏好。
实验建议
- 准备一个小数据集验证 语言模型 的基本流程。
- 记录 语言模型 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 13:Embedding 层与序列批处理
核心要点
- Embedding 把 token id 映射为向量。
- padding 用于对齐 batch 长度。
- attention mask 防止模型关注填充位置。
- 截断策略会影响长文本任务。
- 动态 padding 可以减少无效计算。
- 特殊 token 需要与模型配置一致。
实验建议
- 准备一个小数据集验证 Embedding 层与序列批处理 的基本流程。
- 记录 Embedding 层与序列批处理 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 14:CNN for NLP
核心要点
- 文本 CNN 可捕捉局部 n-gram 特征。
- 不同卷积核宽度对应不同短语长度。
- 池化用于提取最显著局部模式。
- CNN 训练并行度高。
- 对于短文本分类,CNN 仍然是有效基线。
- CNN 不擅长建模很长距离依赖。
实验建议
- 准备一个小数据集验证 CNN for NLP 的基本流程。
- 记录 CNN for NLP 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 15:RNN 与门控网络
核心要点
- RNN 逐步更新隐藏状态。
- 长序列中普通 RNN 容易梯度消失。
- LSTM 使用输入门、遗忘门、输出门。
- GRU 参数更少,训练更快。
- 双向 RNN 可利用左右上下文。
- RNN 推理顺序性强,并行效率有限。
实验建议
- 准备一个小数据集验证 RNN 与门控网络 的基本流程。
- 记录 RNN 与门控网络 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 16:Seq2Seq 与解码
核心要点
- Seq2Seq 用编码器压缩源序列,解码器生成目标序列。
- Teacher Forcing 加快训练但带来训练推理不一致。
- Greedy decoding 每步选择最大概率 token。
- Beam Search 保留多个候选序列。
- 长度惩罚可缓解短输出偏好。
- 生成任务要处理重复、幻觉和终止条件。
实验建议
- 准备一个小数据集验证 Seq2Seq 与解码 的基本流程。
- 记录 Seq2Seq 与解码 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 17:Attention 机制
核心要点
- Attention 根据 query、key、value 计算加权表示。
- 注意力权重表达当前位置对其他位置的依赖。
- 缩放点积注意力使用 sqrt(d) 稳定数值。
- mask 用于阻止访问非法位置。
- 多头注意力允许模型学习不同关系。
- 注意力可解释性有限,不能直接等同因果解释。
实验建议
- 准备一个小数据集验证 Attention 机制 的基本流程。
- 记录 Attention 机制 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 18:Transformer
核心要点
- Transformer 用 Self-Attention 替代循环结构。
- 位置编码补充序列顺序信息。
- 残差连接和 LayerNorm 改善训练稳定性。
- 前馈网络逐位置变换表示。
- Encoder、Decoder、Encoder-Decoder 适合不同任务。
- 上下文长度和注意力复杂度是重要限制。
实验建议
- 准备一个小数据集验证 Transformer 的基本流程。
- 记录 Transformer 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 19:BERT 与理解模型
核心要点
- BERT 使用双向 Encoder。
- MLM 预训练让模型预测被遮盖 token。
- CLS 向量常用于分类。
- Token-level 任务需要对齐子词和原始标签。
- 微调学习率通常较小。
- 领域语料继续预训练可提升专业任务效果。
实验建议
- 准备一个小数据集验证 BERT 与理解模型 的基本流程。
- 记录 BERT 与理解模型 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 20:GPT 与生成模型
核心要点
- GPT 是自回归 Decoder-only 模型。
- 生成质量受温度、top-k、top-p 等采样参数影响。
- 低温度更稳定,高温度更多样。
- 上下文窗口限制输入历史长度。
- 系统提示、用户提示和工具结果需要清晰分隔。
- 生成模型需要输出校验和异常处理。
实验建议
- 准备一个小数据集验证 GPT 与生成模型 的基本流程。
- 记录 GPT 与生成模型 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 21:T5 与文本到文本框架
核心要点
- T5 将多种 NLP 任务统一为文本到文本。
- 输入前缀可提示任务类型。
- Encoder-Decoder 结构适合翻译、摘要、改写。
- 生成式分类需要限制输出标签空间。
- 文本到文本框架灵活但评估要谨慎。
- 训练数据格式统一有利于多任务学习。
实验建议
- 准备一个小数据集验证 T5 与文本到文本框架 的基本流程。
- 记录 T5 与文本到文本框架 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 22:参数高效微调
核心要点
- 全量微调成本高且存储多个模型副本。
- Adapter 在层间插入小模块。
- LoRA 用低秩矩阵近似权重更新。
- Prefix Tuning 在输入侧学习连续提示。
- PEFT 适合资源有限和多任务部署。
- 微调前仍然需要可靠验证集。
实验建议
- 准备一个小数据集验证 参数高效微调 的基本流程。
- 记录 参数高效微调 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 23:Prompt 工程
核心要点
- Prompt 要明确任务、上下文、约束和输出格式。
- Few-shot 示例应覆盖关键边界。
- 复杂任务可拆成多步提示。
- 结构化输出需要 JSON schema 或解析器。
- 提示注入要求系统隔离不可信内容。
- Prompt 版本也要纳入实验管理。
实验建议
- 准备一个小数据集验证 Prompt 工程 的基本流程。
- 记录 Prompt 工程 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 24:工具调用与 Agent
核心要点
- 工具调用把模型连接到搜索、数据库、计算器或业务 API。
- 工具描述要短、明确、参数可验证。
- 模型不能直接信任工具返回的非结构化内容。
- Agent 需要状态管理和终止条件。
- 长链路容易累积错误。
- 关键动作要加入权限、审计和人工确认。
实验建议
- 准备一个小数据集验证 工具调用与 Agent 的基本流程。
- 记录 工具调用与 Agent 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 25:RAG 文档切分
核心要点
- 切分粒度影响召回和上下文质量。
- 按标题、段落、语义边界切分通常优于固定长度硬切。
- chunk overlap 可以缓解边界信息丢失。
- 表格、代码、公式需要特殊处理。
- 文档元数据用于过滤和引用。
- 切分策略应通过检索评估验证。
实验建议
- 准备一个小数据集验证 RAG 文档切分 的基本流程。
- 记录 RAG 文档切分 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 26:向量检索
核心要点
- Embedding 模型决定语义空间质量。
- 向量归一化影响余弦相似度。
- ANN 索引用近似换速度。
- 过滤条件可以减少无关召回。
- 召回不足时生成模型无法弥补事实缺失。
- 需要定期评估索引更新和漂移。
实验建议
- 准备一个小数据集验证 向量检索 的基本流程。
- 记录 向量检索 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 27:重排与上下文压缩
核心要点
- 重排模型提升候选文档顺序。
- 交叉编码器重排更准但更慢。
- 上下文压缩去除无关片段。
- 引用片段应尽量保留原文语义。
- 重排和压缩都可能误删关键证据。
- 最终上下文要控制 token 成本。
实验建议
- 准备一个小数据集验证 重排与上下文压缩 的基本流程。
- 记录 重排与上下文压缩 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 28:生成评估
核心要点
- BLEU 关注 n-gram 精确匹配。
- ROUGE 常用于摘要召回。
- BERTScore 使用语义相似度。
- 事实性评估需要检查答案是否被证据支持。
- 人工评估要定义维度和评分标准。
- 单一自动指标不足以判断生成质量。
实验建议
- 准备一个小数据集验证 生成评估 的基本流程。
- 记录 生成评估 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 29:分类评估
核心要点
- 准确率适合类别均衡场景。
- 精确率关注预测为正的样本有多少正确。
- 召回率关注真实正例有多少被找回。
- F1 平衡精确率和召回率。
- 宏平均关注每个类别的平均表现。
- 混淆矩阵帮助定位类别混淆。
实验建议
- 准备一个小数据集验证 分类评估 的基本流程。
- 记录 分类评估 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 30:错误分析
核心要点
- 错误分析需要抽样查看原始文本。
- 按类别、长度、来源、时间、置信度切片。
- 区分数据错误、标注错误、模型错误和评估错误。
- 收集高频失败模式指导下一轮迭代。
- 不要只看总体分数。
- 错误样本应进入回归测试集。
实验建议
- 准备一个小数据集验证 错误分析 的基本流程。
- 记录 错误分析 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 31:部署与推理优化
核心要点
- 模型服务要考虑延迟、吞吐、成本和稳定性。
- 批处理提升吞吐但增加延迟。
- 缓存适合重复请求和固定知识。
- 量化可降低显存和推理成本。
- 流式输出改善用户体验。
- 上线需要日志、监控、告警和回滚。
实验建议
- 准备一个小数据集验证 部署与推理优化 的基本流程。
- 记录 部署与推理优化 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 32:隐私与安全
核心要点
- 训练和日志中要避免泄露隐私数据。
- 敏感字段需要脱敏或最小化使用。
- 提示注入可能诱导模型忽略系统规则。
- 工具调用需要权限控制。
- 输出要过滤违法、危险或隐私内容。
- 安全评估应覆盖真实攻击样例。
实验建议
- 准备一个小数据集验证 隐私与安全 的基本流程。
- 记录 隐私与安全 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 33:论文阅读
核心要点
- 先读摘要、引言、方法图和实验表。
- 明确论文解决的问题和假设。
- 看清数据集、指标和对比方法。
- 关注消融实验和失败案例。
- 复现前先实现数据处理。
- 阅读笔记要记录可迁移的思想。
实验建议
- 准备一个小数据集验证 论文阅读 的基本流程。
- 记录 论文阅读 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 34:实验管理
核心要点
- 实验要记录代码版本、数据版本、参数和随机种子。
- 每次只改变一个关键变量更容易归因。
- 日志要包含训练损失、验证指标和错误样本。
- 结果表要保留均值和方差。
- 配置文件比硬编码更利于复现。
- 实验结论要基于多次运行和统计稳定性。
实验建议
- 准备一个小数据集验证 实验管理 的基本流程。
- 记录 实验管理 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 35:多语言与中文 NLP
核心要点
- 中文没有天然空格,需要分词或子词建模。
- 繁简转换可能影响实体和专名。
- 中英混排要处理空格、大小写和符号。
- 方言、网络词和错别字会带来长尾问题。
- 中文评估要注意字级和词级差异。
- 领域词典对专业文本很重要。
实验建议
- 准备一个小数据集验证 多语言与中文 NLP 的基本流程。
- 记录 多语言与中文 NLP 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 36:知识图谱与结构化知识
核心要点
- 知识图谱由实体、关系和属性构成。
- 实体链接把文本提及映射到标准实体。
- 关系抽取可以构建边。
- 图谱补全可预测缺失关系。
- 结构化知识能辅助检索和问答。
- 图谱质量依赖实体规范和去重。
实验建议
- 准备一个小数据集验证 知识图谱与结构化知识 的基本流程。
- 记录 知识图谱与结构化知识 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 37:对话系统
核心要点
- 任务型对话关注意图识别、槽位填充和状态跟踪。
- 开放域对话关注自然性、安全性和一致性。
- 多轮上下文需要摘要和记忆管理。
- 澄清问题可以降低误解。
- 对话系统要处理拒答、转人工和异常输入。
- 评估需要结合自动指标和真实交互。
实验建议
- 准备一个小数据集验证 对话系统 的基本流程。
- 记录 对话系统 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
专题 38:NLP 综合项目
核心要点
- 项目从问题定义和数据开始。
- 先建立强基线,再引入复杂模型。
- 每个模块都要可替换和可评估。
- 报告要包含误差分析和局限。
- 上线前构建小型黄金测试集。
- 持续迭代比一次性追求复杂模型更可靠。
实验建议
- 准备一个小数据集验证 NLP 综合项目 的基本流程。
- 记录 NLP 综合项目 的输入、输出、关键参数和失败样例。
- 与至少一种基线方法比较,避免只看单模型结果。
常见错误
- 忽略数据泄漏,导致验证集分数虚高。
- 只看总体指标,没有做切片分析。
- 过早使用复杂模型,缺少可解释基线。
- 没有保存数据版本和实验配置,无法复现。
100 天 NLP 学习计划
| 天数 | 主题 | 任务 |
|---|---|---|
| Day 1 | 文本编码 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 2 | 正则与清洗 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 3 | 分词与 Tokenization | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 4 | 语料构建 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 5 | 标注规范 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 6 | TF-IDF | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 7 | 词向量 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 8 | 文本分类 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 9 | 文本匹配 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 10 | 序列标注 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 11 | 信息抽取 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 12 | 语言模型 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 13 | Embedding 批处理 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 14 | TextCNN | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 15 | RNN/LSTM/GRU | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 16 | Seq2Seq | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 17 | Attention | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 18 | Transformer | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 19 | BERT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 20 | GPT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 21 | T5 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 22 | LoRA 与 PEFT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 23 | Prompt 工程 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 24 | 工具调用 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 25 | RAG 切分 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 26 | 向量检索 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 27 | 重排 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 28 | 生成评估 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 29 | 分类评估 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 30 | 错误分析 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 31 | 部署优化 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 32 | 隐私安全 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 33 | 论文阅读 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 34 | 实验管理 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 35 | 中文 NLP | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 36 | 知识图谱 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 37 | 对话系统 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 38 | 综合项目 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 39 | 文本编码 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 40 | 正则与清洗 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 41 | 分词与 Tokenization | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 42 | 语料构建 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 43 | 标注规范 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 44 | TF-IDF | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 45 | 词向量 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 46 | 文本分类 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 47 | 文本匹配 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 48 | 序列标注 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 49 | 信息抽取 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 50 | 语言模型 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 51 | Embedding 批处理 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 52 | TextCNN | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 53 | RNN/LSTM/GRU | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 54 | Seq2Seq | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 55 | Attention | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 56 | Transformer | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 57 | BERT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 58 | GPT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 59 | T5 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 60 | LoRA 与 PEFT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 61 | Prompt 工程 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 62 | 工具调用 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 63 | RAG 切分 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 64 | 向量检索 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 65 | 重排 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 66 | 生成评估 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 67 | 分类评估 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 68 | 错误分析 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 69 | 部署优化 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 70 | 隐私安全 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 71 | 论文阅读 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 72 | 实验管理 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 73 | 中文 NLP | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 74 | 知识图谱 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 75 | 对话系统 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 76 | 综合项目 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 77 | 文本编码 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 78 | 正则与清洗 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 79 | 分词与 Tokenization | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 80 | 语料构建 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 81 | 标注规范 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 82 | TF-IDF | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 83 | 词向量 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 84 | 文本分类 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 85 | 文本匹配 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 86 | 序列标注 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 87 | 信息抽取 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 88 | 语言模型 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 89 | Embedding 批处理 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 90 | TextCNN | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 91 | RNN/LSTM/GRU | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 92 | Seq2Seq | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 93 | Attention | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 94 | Transformer | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 95 | BERT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 96 | GPT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 97 | T5 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 98 | LoRA 与 PEFT | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 99 | Prompt 工程 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
| Day 100 | 工具调用 | 阅读专题笔记,完成一个小实验或复盘一组样例,记录指标和失败原因。 |
实验记录模板
实验名称:任务类型:数据来源:数据版本:训练/验证/测试划分:预处理规则:模型或方法:关键参数:训练环境:评估指标:主结果:切片结果:错误样例:失败原因:下一步改进:复现命令:分层复习清单
文本编码与 Unicode
- 能解释 文本编码与 Unicode 的核心概念。
- 能说明 文本编码与 Unicode 适合解决什么 NLP 问题。
- 能完成一个 文本编码与 Unicode 的最小实验。
- 能说出 文本编码与 Unicode 的常见失败模式。
- 能把 文本编码与 Unicode 与至少一个实际项目联系起来。
正则表达式与清洗
- 能解释 正则表达式与清洗 的核心概念。
- 能说明 正则表达式与清洗 适合解决什么 NLP 问题。
- 能完成一个 正则表达式与清洗 的最小实验。
- 能说出 正则表达式与清洗 的常见失败模式。
- 能把 正则表达式与清洗 与至少一个实际项目联系起来。
分词与 Tokenization
- 能解释 分词与 Tokenization 的核心概念。
- 能说明 分词与 Tokenization 适合解决什么 NLP 问题。
- 能完成一个 分词与 Tokenization 的最小实验。
- 能说出 分词与 Tokenization 的常见失败模式。
- 能把 分词与 Tokenization 与至少一个实际项目联系起来。
语料构建与数据划分
- 能解释 语料构建与数据划分 的核心概念。
- 能说明 语料构建与数据划分 适合解决什么 NLP 问题。
- 能完成一个 语料构建与数据划分 的最小实验。
- 能说出 语料构建与数据划分 的常见失败模式。
- 能把 语料构建与数据划分 与至少一个实际项目联系起来。
标注体系与一致性
- 能解释 标注体系与一致性 的核心概念。
- 能说明 标注体系与一致性 适合解决什么 NLP 问题。
- 能完成一个 标注体系与一致性 的最小实验。
- 能说出 标注体系与一致性 的常见失败模式。
- 能把 标注体系与一致性 与至少一个实际项目联系起来。
词袋模型与 TF-IDF
- 能解释 词袋模型与 TF-IDF 的核心概念。
- 能说明 词袋模型与 TF-IDF 适合解决什么 NLP 问题。
- 能完成一个 词袋模型与 TF-IDF 的最小实验。
- 能说出 词袋模型与 TF-IDF 的常见失败模式。
- 能把 词袋模型与 TF-IDF 与至少一个实际项目联系起来。
词向量
- 能解释 词向量 的核心概念。
- 能说明 词向量 适合解决什么 NLP 问题。
- 能完成一个 词向量 的最小实验。
- 能说出 词向量 的常见失败模式。
- 能把 词向量 与至少一个实际项目联系起来。
文本分类
- 能解释 文本分类 的核心概念。
- 能说明 文本分类 适合解决什么 NLP 问题。
- 能完成一个 文本分类 的最小实验。
- 能说出 文本分类 的常见失败模式。
- 能把 文本分类 与至少一个实际项目联系起来。
文本匹配与语义相似度
- 能解释 文本匹配与语义相似度 的核心概念。
- 能说明 文本匹配与语义相似度 适合解决什么 NLP 问题。
- 能完成一个 文本匹配与语义相似度 的最小实验。
- 能说出 文本匹配与语义相似度 的常见失败模式。
- 能把 文本匹配与语义相似度 与至少一个实际项目联系起来。
序列标注
- 能解释 序列标注 的核心概念。
- 能说明 序列标注 适合解决什么 NLP 问题。
- 能完成一个 序列标注 的最小实验。
- 能说出 序列标注 的常见失败模式。
- 能把 序列标注 与至少一个实际项目联系起来。
信息抽取
- 能解释 信息抽取 的核心概念。
- 能说明 信息抽取 适合解决什么 NLP 问题。
- 能完成一个 信息抽取 的最小实验。
- 能说出 信息抽取 的常见失败模式。
- 能把 信息抽取 与至少一个实际项目联系起来。
语言模型
- 能解释 语言模型 的核心概念。
- 能说明 语言模型 适合解决什么 NLP 问题。
- 能完成一个 语言模型 的最小实验。
- 能说出 语言模型 的常见失败模式。
- 能把 语言模型 与至少一个实际项目联系起来。
Embedding 层与序列批处理
- 能解释 Embedding 层与序列批处理 的核心概念。
- 能说明 Embedding 层与序列批处理 适合解决什么 NLP 问题。
- 能完成一个 Embedding 层与序列批处理 的最小实验。
- 能说出 Embedding 层与序列批处理 的常见失败模式。
- 能把 Embedding 层与序列批处理 与至少一个实际项目联系起来。
CNN for NLP
- 能解释 CNN for NLP 的核心概念。
- 能说明 CNN for NLP 适合解决什么 NLP 问题。
- 能完成一个 CNN for NLP 的最小实验。
- 能说出 CNN for NLP 的常见失败模式。
- 能把 CNN for NLP 与至少一个实际项目联系起来。
RNN 与门控网络
- 能解释 RNN 与门控网络 的核心概念。
- 能说明 RNN 与门控网络 适合解决什么 NLP 问题。
- 能完成一个 RNN 与门控网络 的最小实验。
- 能说出 RNN 与门控网络 的常见失败模式。
- 能把 RNN 与门控网络 与至少一个实际项目联系起来。
Seq2Seq 与解码
- 能解释 Seq2Seq 与解码 的核心概念。
- 能说明 Seq2Seq 与解码 适合解决什么 NLP 问题。
- 能完成一个 Seq2Seq 与解码 的最小实验。
- 能说出 Seq2Seq 与解码 的常见失败模式。
- 能把 Seq2Seq 与解码 与至少一个实际项目联系起来。
Attention 机制
- 能解释 Attention 机制 的核心概念。
- 能说明 Attention 机制 适合解决什么 NLP 问题。
- 能完成一个 Attention 机制 的最小实验。
- 能说出 Attention 机制 的常见失败模式。
- 能把 Attention 机制 与至少一个实际项目联系起来。
Transformer
- 能解释 Transformer 的核心概念。
- 能说明 Transformer 适合解决什么 NLP 问题。
- 能完成一个 Transformer 的最小实验。
- 能说出 Transformer 的常见失败模式。
- 能把 Transformer 与至少一个实际项目联系起来。
BERT 与理解模型
- 能解释 BERT 与理解模型 的核心概念。
- 能说明 BERT 与理解模型 适合解决什么 NLP 问题。
- 能完成一个 BERT 与理解模型 的最小实验。
- 能说出 BERT 与理解模型 的常见失败模式。
- 能把 BERT 与理解模型 与至少一个实际项目联系起来。
GPT 与生成模型
- 能解释 GPT 与生成模型 的核心概念。
- 能说明 GPT 与生成模型 适合解决什么 NLP 问题。
- 能完成一个 GPT 与生成模型 的最小实验。
- 能说出 GPT 与生成模型 的常见失败模式。
- 能把 GPT 与生成模型 与至少一个实际项目联系起来。
T5 与文本到文本框架
- 能解释 T5 与文本到文本框架 的核心概念。
- 能说明 T5 与文本到文本框架 适合解决什么 NLP 问题。
- 能完成一个 T5 与文本到文本框架 的最小实验。
- 能说出 T5 与文本到文本框架 的常见失败模式。
- 能把 T5 与文本到文本框架 与至少一个实际项目联系起来。
参数高效微调
- 能解释 参数高效微调 的核心概念。
- 能说明 参数高效微调 适合解决什么 NLP 问题。
- 能完成一个 参数高效微调 的最小实验。
- 能说出 参数高效微调 的常见失败模式。
- 能把 参数高效微调 与至少一个实际项目联系起来。
Prompt 工程
- 能解释 Prompt 工程 的核心概念。
- 能说明 Prompt 工程 适合解决什么 NLP 问题。
- 能完成一个 Prompt 工程 的最小实验。
- 能说出 Prompt 工程 的常见失败模式。
- 能把 Prompt 工程 与至少一个实际项目联系起来。
工具调用与 Agent
- 能解释 工具调用与 Agent 的核心概念。
- 能说明 工具调用与 Agent 适合解决什么 NLP 问题。
- 能完成一个 工具调用与 Agent 的最小实验。
- 能说出 工具调用与 Agent 的常见失败模式。
- 能把 工具调用与 Agent 与至少一个实际项目联系起来。
RAG 文档切分
- 能解释 RAG 文档切分 的核心概念。
- 能说明 RAG 文档切分 适合解决什么 NLP 问题。
- 能完成一个 RAG 文档切分 的最小实验。
- 能说出 RAG 文档切分 的常见失败模式。
- 能把 RAG 文档切分 与至少一个实际项目联系起来。
向量检索
- 能解释 向量检索 的核心概念。
- 能说明 向量检索 适合解决什么 NLP 问题。
- 能完成一个 向量检索 的最小实验。
- 能说出 向量检索 的常见失败模式。
- 能把 向量检索 与至少一个实际项目联系起来。
重排与上下文压缩
- 能解释 重排与上下文压缩 的核心概念。
- 能说明 重排与上下文压缩 适合解决什么 NLP 问题。
- 能完成一个 重排与上下文压缩 的最小实验。
- 能说出 重排与上下文压缩 的常见失败模式。
- 能把 重排与上下文压缩 与至少一个实际项目联系起来。
生成评估
- 能解释 生成评估 的核心概念。
- 能说明 生成评估 适合解决什么 NLP 问题。
- 能完成一个 生成评估 的最小实验。
- 能说出 生成评估 的常见失败模式。
- 能把 生成评估 与至少一个实际项目联系起来。
分类评估
- 能解释 分类评估 的核心概念。
- 能说明 分类评估 适合解决什么 NLP 问题。
- 能完成一个 分类评估 的最小实验。
- 能说出 分类评估 的常见失败模式。
- 能把 分类评估 与至少一个实际项目联系起来。
错误分析
- 能解释 错误分析 的核心概念。
- 能说明 错误分析 适合解决什么 NLP 问题。
- 能完成一个 错误分析 的最小实验。
- 能说出 错误分析 的常见失败模式。
- 能把 错误分析 与至少一个实际项目联系起来。
部署与推理优化
- 能解释 部署与推理优化 的核心概念。
- 能说明 部署与推理优化 适合解决什么 NLP 问题。
- 能完成一个 部署与推理优化 的最小实验。
- 能说出 部署与推理优化 的常见失败模式。
- 能把 部署与推理优化 与至少一个实际项目联系起来。
隐私与安全
- 能解释 隐私与安全 的核心概念。
- 能说明 隐私与安全 适合解决什么 NLP 问题。
- 能完成一个 隐私与安全 的最小实验。
- 能说出 隐私与安全 的常见失败模式。
- 能把 隐私与安全 与至少一个实际项目联系起来。
论文阅读
- 能解释 论文阅读 的核心概念。
- 能说明 论文阅读 适合解决什么 NLP 问题。
- 能完成一个 论文阅读 的最小实验。
- 能说出 论文阅读 的常见失败模式。
- 能把 论文阅读 与至少一个实际项目联系起来。
实验管理
- 能解释 实验管理 的核心概念。
- 能说明 实验管理 适合解决什么 NLP 问题。
- 能完成一个 实验管理 的最小实验。
- 能说出 实验管理 的常见失败模式。
- 能把 实验管理 与至少一个实际项目联系起来。
多语言与中文 NLP
- 能解释 多语言与中文 NLP 的核心概念。
- 能说明 多语言与中文 NLP 适合解决什么 NLP 问题。
- 能完成一个 多语言与中文 NLP 的最小实验。
- 能说出 多语言与中文 NLP 的常见失败模式。
- 能把 多语言与中文 NLP 与至少一个实际项目联系起来。
知识图谱与结构化知识
- 能解释 知识图谱与结构化知识 的核心概念。
- 能说明 知识图谱与结构化知识 适合解决什么 NLP 问题。
- 能完成一个 知识图谱与结构化知识 的最小实验。
- 能说出 知识图谱与结构化知识 的常见失败模式。
- 能把 知识图谱与结构化知识 与至少一个实际项目联系起来。
对话系统
- 能解释 对话系统 的核心概念。
- 能说明 对话系统 适合解决什么 NLP 问题。
- 能完成一个 对话系统 的最小实验。
- 能说出 对话系统 的常见失败模式。
- 能把 对话系统 与至少一个实际项目联系起来。
NLP 综合项目
- 能解释 NLP 综合项目 的核心概念。
- 能说明 NLP 综合项目 适合解决什么 NLP 问题。
- 能完成一个 NLP 综合项目 的最小实验。
- 能说出 NLP 综合项目 的常见失败模式。
- 能把 NLP 综合项目 与至少一个实际项目联系起来。
推荐资料
- Jurafsky & Martin, Speech and Language Processing:NLP 经典教材。
- 《统计自然语言处理》:适合理解传统统计 NLP。
- 《深度学习》:补齐神经网络和优化基础。
- The Illustrated Transformer:适合理解 Transformer 结构。
- Hugging Face Course:适合学习预训练模型与工程实践。
- Papers with Code:适合查找任务、数据集、论文和实现。
维护建议
- 每周至少更新一次 NLP 的错题、实验或阅读记录。
- 学完一个大模块后,把 README 中的内容拆成
chapters/下的独立章节。 - 做完一个实战项目后,把代码、运行方式、结果截图和复盘放入
projects/。 - 长文档用于建立全景,后续可以逐步拆分,避免知识点散落。
- 所有模板和实验都应配最小可运行样例。
分享
如果這篇文章對你有幫助,歡迎分享給更多人!
自然语言处理(NLP)完全学习手册
https://lemusakuya.com/posts/study-notes/nlp/readme/ 部分資訊可能已經過時
相關文章 智能推薦





















