本文档全面概述了 DeepLearning-500-questions 存储库中涵盖的自然语言处理 (NLP) 概念和技术。它侧重于计算机如何处理和理解人类语言、NLP 中使用的基础模型和架构及其应用。有关对于许多 NLP 任务至关重要的循环神经网络的信息,请参阅 循环神经网络 (RNN)。
来源: README.md
自然语言处理是人工智能的一个子领域,专注于计算机与人类语言之间的交互。它包含了计算机理解、解释、生成和操纵人类语言的能力。NLP 通过各种技术和模型弥合了人类交流与计算机理解之间的差距。
深度学习方法彻底改变了 NLP 领域,与传统的统计方法相比,在机器翻译、情感分析和问答等任务上的性能得到了显著提升。
来源: README.md
词嵌入是词语的密集向量表示,可以捕获语义含义。与独热编码不同,嵌入将语义相似的词语放置在连续向量空间中更靠近的位置。
来源: README.md
在文本可以被神经网络处理之前,它必须经过几个预处理步骤
| 预处理步骤 | 描述 | 示例 |
|---|---|---|
| 分词 | 将文本分割成标记(词语、子词、字符) | "I love NLP" → ["I", "love", "NLP"] |
| 归一化 | 转换为小写,去除重音符号 | "Café" → "cafe" |
| 停用词移除 | 移除没有太多语义价值的常见词语 | "the cat sat on the mat" → "cat sat mat" |
| 词干提取/词形还原 | 将词语简化为基本/词根形式 | "running" → "run" |
| 填充/截断 | 使序列长度统一 | [1,2,3] → [1,2,3,0,0] (填充) |
来源: README.md
循环神经网络 (RNN) 由于其处理序列数据和捕捉词语之间依赖关系的能力,对于许多 NLP 任务至关重要。
来源: README.md
LSTM 是一种特殊的 RNN,旨在捕获长期依赖关系,这对于理解语言中的上下文至关重要。
来源: README.md
Transformer 架构,在“Attention is All You Need”论文中提出,已成为大多数最先进 NLP 模型的基础。
来源: README.md
现代 NLP 已被预训练语言模型彻底改变,这些模型可以针对特定任务进行微调
| 模型 | 架构 | 主要功能 | 应用程序 |
|---|---|---|---|
| BERT | Transformer 编码器 | 双向上下文,掩码语言模型 | 分类、命名实体识别、问答 |
| GPT | Transformer 解码器 | 自回归,从左到右生成 | 文本生成,补全 |
| RoBERTa | 改进的 BERT | 更长的训练时间,更多的数据,动态掩码 | 与 BERT 相同,但性能更好 |
| XLNet | 基于排列 | 在没有掩码的情况下学习双向上下文 | 与 BERT 相同,但性能更好 |
| T5 | 编码器-解码器 | 所有任务都设计为文本到文本 | 多任务迁移学习 |
来源: README.md
文本分类涉及为文本文档分配预定义的类别。应用包括情感分析、主题分类和垃圾邮件检测。
来源: README.md
NER 在文本中识别和分类命名实体,将其归入预定义的类别,如人名、组织、地点等。
来源: README.md
机器翻译在保留含义的同时,自动将文本从一种语言转换为另一种语言。
来源: README.md
问答系统通过理解问题并检索或生成答案来回答自然语言问题。
来源: README.md
不同的 NLP 任务需要不同的评估指标来评估模型性能
| 任务 | 评估指标 | 描述 |
|---|---|---|
| 分类 | 准确率、精确率、召回率、F1 分数 | 分类性能度量 |
| 机器翻译 | BLEU、METEOR、chrF | 衡量生成翻译与参考翻译之间的相似度 |
| 摘要生成 | ROUGE、BERTScore | 评估与参考摘要的内容重叠度 |
| 语言建模 | 困惑度 (Perplexity) | 衡量模型预测样本的程度 |
| 问答 | 精确匹配、F1 分数 | 评估答案的正确性 |
| 生成 | 人工评估、BLEU | 评估文本质量和相关性 |
来源: README.md
来源: README.md
| 进展 | 描述 | 影响 |
|---|---|---|
| Transformer | 基于自注意力的架构 | 彻底改变了语言建模能力 |
| 迁移学习 | 在大型语料库上进行预训练,针对特定任务进行微调 | 减少了对特定任务数据的需求 |
| 少样本学习 | 从少量示例中学习 | 支持标记数据有限的应用 |
| 多模态学习 | 将文本与其他模态(图像、音频)结合 | 通过多个通道增强理解 |
| 多语言模型 | 支持多种语言的单一模型 | 弥合了低资源语言的差距 |
| 参数高效微调 | 例如适配器、提示调优等方法 | 减少了所需的计算资源 |
来源: README.md
NLP 利用了存储库中涵盖的许多基本深度学习概念
来源: README.md
在实现 NLP 模型时,会涉及一些实际注意事项
| 考量因素 | 描述 | 最佳实践 |
|---|---|---|
| 词汇量大小 | 模型词汇表中的标记数量 | 覆盖范围与模型大小之间的平衡 |
| 序列长度 | 输入序列的最大长度 | 使用截断和填充策略 |
| 批大小 | 一次处理的示例数量 | 受 GPU 内存限制,通常为 16-64 |
| 学习率 | 优化器的步长 | 微调时通常较低(2e-5 至 5e-5) |
| 正则化 | 防止过拟合的技术 | Dropout 对 NLP 模型至关重要 |
| 硬件要求 | 所需的计算资源 | 预训练模型可能需要多个 GPU |
来源: README.md
来源: README.md
NLP 领域持续快速发展,并出现了一些新兴趋势
来源: README.md
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(6087a0)