菜单

自然语言处理

相关源文件

目的与范围

本文档全面概述了 DeepLearning-500-questions 存储库中涵盖的自然语言处理 (NLP) 概念和技术。它侧重于计算机如何处理和理解人类语言、NLP 中使用的基础模型和架构及其应用。有关对于许多 NLP 任务至关重要的循环神经网络的信息,请参阅 循环神经网络 (RNN)

来源: README.md

1. 自然语言处理导论

自然语言处理是人工智能的一个子领域,专注于计算机与人类语言之间的交互。它包含了计算机理解、解释、生成和操纵人类语言的能力。NLP 通过各种技术和模型弥合了人类交流与计算机理解之间的差距。

深度学习方法彻底改变了 NLP 领域,与传统的统计方法相比,在机器翻译、情感分析和问答等任务上的性能得到了显著提升。

来源: README.md

2. NLP 中的文本表示

2.1 词嵌入

词嵌入是词语的密集向量表示,可以捕获语义含义。与独热编码不同,嵌入将语义相似的词语放置在连续向量空间中更靠近的位置。

常用词嵌入技术

  • Word2Vec:使用 Skip-gram 或 Continuous Bag-of-Words (CBOW) 架构
  • GloVe (Global Vectors):结合全局矩阵分解和局部上下文窗口方法
  • FastText:通过使用子词信息扩展 Word2Vec
  • 上下文嵌入:ELMo、BERT、GPT 提供依赖于上下文的表示

来源: README.md

2.2 文本预处理管道

在文本可以被神经网络处理之前,它必须经过几个预处理步骤

预处理步骤描述示例
分词将文本分割成标记(词语、子词、字符)"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

3. NLP 架构和模型

3.1 NLP 中的循环神经网络

循环神经网络 (RNN) 由于其处理序列数据和捕捉词语之间依赖关系的能力,对于许多 NLP 任务至关重要。

来源: README.md

3.2 长短期记忆 (LSTM) 网络

LSTM 是一种特殊的 RNN,旨在捕获长期依赖关系,这对于理解语言中的上下文至关重要。

来源: README.md

3.3 Transformer 架构

Transformer 架构,在“Attention is All You Need”论文中提出,已成为大多数最先进 NLP 模型的基础。

来源: README.md

3.4 预训练语言模型

现代 NLP 已被预训练语言模型彻底改变,这些模型可以针对特定任务进行微调

模型架构主要功能应用程序
BERTTransformer 编码器双向上下文,掩码语言模型分类、命名实体识别、问答
GPTTransformer 解码器自回归,从左到右生成文本生成,补全
RoBERTa改进的 BERT更长的训练时间,更多的数据,动态掩码与 BERT 相同,但性能更好
XLNet基于排列在没有掩码的情况下学习双向上下文与 BERT 相同,但性能更好
T5编码器-解码器所有任务都设计为文本到文本多任务迁移学习

来源: README.md

4. NLP 任务和应用

4.1 文本分类

文本分类涉及为文本文档分配预定义的类别。应用包括情感分析、主题分类和垃圾邮件检测。

来源: README.md

4.2 命名实体识别 (NER)

NER 在文本中识别和分类命名实体,将其归入预定义的类别,如人名、组织、地点等。

来源: README.md

4.3 机器翻译

机器翻译在保留含义的同时,自动将文本从一种语言转换为另一种语言。

来源: README.md

4.4 问答

问答系统通过理解问题并检索或生成答案来回答自然语言问题。

来源: README.md

5. NLP 评估指标

不同的 NLP 任务需要不同的评估指标来评估模型性能

任务评估指标描述
分类准确率、精确率、召回率、F1 分数分类性能度量
机器翻译BLEU、METEOR、chrF衡量生成翻译与参考翻译之间的相似度
摘要生成ROUGE、BERTScore评估与参考摘要的内容重叠度
语言建模困惑度 (Perplexity)衡量模型预测样本的程度
问答精确匹配、F1 分数评估答案的正确性
生成人工评估、BLEU评估文本质量和相关性

来源: README.md

6. NLP 中的挑战与进展

6.1 NLP 中的常见挑战

来源: README.md

6.2 NLP 中的最新进展

进展描述影响
Transformer基于自注意力的架构彻底改变了语言建模能力
迁移学习在大型语料库上进行预训练,针对特定任务进行微调减少了对特定任务数据的需求
少样本学习从少量示例中学习支持标记数据有限的应用
多模态学习将文本与其他模态(图像、音频)结合通过多个通道增强理解
多语言模型支持多种语言的单一模型弥合了低资源语言的差距
参数高效微调例如适配器、提示调优等方法减少了所需的计算资源

来源: README.md

7. 与其他深度学习概念的联系

NLP 利用了存储库中涵盖的许多基本深度学习概念

来源: README.md

8. 实际实现注意事项

在实现 NLP 模型时,会涉及一些实际注意事项

考量因素描述最佳实践
词汇量大小模型词汇表中的标记数量覆盖范围与模型大小之间的平衡
序列长度输入序列的最大长度使用截断和填充策略
批大小一次处理的示例数量受 GPU 内存限制,通常为 16-64
学习率优化器的步长微调时通常较低(2e-5 至 5e-5)
正则化防止过拟合的技术Dropout 对 NLP 模型至关重要
硬件要求所需的计算资源预训练模型可能需要多个 GPU

来源: README.md

9. NLP 模型部署管道

来源: README.md

10. NLP 的未来方向

NLP 领域持续快速发展,并出现了一些新兴趋势

  • 日益高效的预训练模型
  • 更复杂的少样本和零样本能力
  • 增强的多语言和跨语言理解
  • 更好地处理长上下文场景
  • 提高生成内容的真实性并减少幻觉
  • 伦理 AI 考虑,包括偏见缓解
  • 结合文本与其他数据类型的多模态应用

来源: README.md