《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效
《NLP大模型详解:基于LangChain、RAGs与Python》[65M]百度网盘|pdf下载|亲测有效

NLP大模型详解:基于LangChain、RAGs与Python pdf下载

isbn:9787302692478
出版社 清华大学出版社
出版年 2025-06-01
页数 298页
ISBN 9787302692478
装帧 精装
评分 8.5(豆瓣)
限时特惠 00:00:00
活动结束后恢复原价
纸质书参考价 ¥23
电子版限时价 ¥5.99 省 18 元

选择版本

不满意全额退款
发货失败双倍赔偿
邮箱即时发送

内容简介

本篇主要提供NLP大模型详解:基于LangChain、RAGs与Python电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

产品特色

编辑推荐

《NLP大模型详解 : 基于LangChain、RAGs与Python》以LangChain和RAG技术为核心,结合Python编程实践,系统拆解NLP大模型的底层逻辑与前沿应用。从自然语言处理基础到GPT、LLaMA等大语言模型原理,再到工业级应用开发,助你掌握从入门到精通的全流程能力。

内容简介

《NLP大模型详解 : 基于LangChain、RAGs与Python》详细阐述了与 NLP 大模型相关的基本解决方案,主要包括自然语言处理领域探索,线性代数、概率和统计学,释放机器学习在自然语言处理中的潜力,进行有效文本预处理以实现最佳 NLP 性能,利用传统机器学习技术增强文本分类能力,重新构想文本分类,揭开大语言模型的神秘面纱,访问大语言模型的强大功能,大语言模型推动的高级应用和创新,分析大语言模型和人工智能的过去、现在和未来趋势,来自世界级专家的观点和预测等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

作者简介

利奥尔·加齐特是一位技术精湛的机器学习专家,在建立和领导团队推动业务增长方面有着成功的经验。他是自然语言处理领域的专家,成功开发了创新的机器学习管道和产品。他拥有硕士学位,曾在同行评审期刊和会议上发表过文章。作为金融行业机器学习小组的高级总监和一家新兴初创公司的首席机器学习顾问,他是业内受人尊敬的领导者,拥有丰富的知识和经验可供分享。郝艳杰,计算机软件专业硕士毕业。精通网络主流开发语言、数据分析和硬件技术,同时具有较好的英文水平和技术背景,并翻译过多本英文书籍。

目录

第 1 章 自然语言处理领域探索 1

1.1 本书目标读者 1

1.2 自然语言处理的定义 2

1.3 NLP 的历史和演变 2

1.4 自然语言机器处理的初步策略 3

1.5 成功的协同效应—自然语言处理与机器学习的结合 6

1.6 自然语言处理中的数学和统计学简介 7

1.7 理解语言模型—以 ChatGPT 为例 9

1.8 小结 9

1.9 问答 10

第 2 章 掌握与机器学习和自然语言处理相关的线性代数、概率和统计学 12

2.1 线性代数简介 12

2.1.1 标量和向量的基本运算 13

2.1.2 矩阵的基本运算 15

2.1.3 矩阵定义 16

2.1.4 行列式 16

2.2 特征值和特征向量 18

2.2.1 寻找特征向量的数值方法 18

2.2.2 特征值分解 19

2.2.3 奇异值分解 20

2.3 机器学习的概率基础 21

2.3.1 统计独立 22

2.3.2 离散随机变量及其分布 23

2.3.3 概率密度函数 23

2.3.4 最大似然估计 25

2.3.5 单词预测 27

2.3.6 贝叶斯估计 29

2.4 小结 29

2.5 延伸阅读 30

2.6 参考文献 31

第 3 章 释放机器学习在自然语言处理中的潜力 32

3.1 技术要求 32

3.2 数据探索 32

3.2.1 数据探索的意义 33

3.2.2 数据探索常用技术 33

3.3 数据可视化 34

3.4 数据清洗 35

3.4.1 处理缺失值 35

3.4.2 删除重复项 36

3.4.3 数据标准化和转换 37

3.4.4 处理离群值 37

3.4.5 纠正错误 38

3.5 特征选择 39

3.5.1 筛选方法 39

3.5.2 包装器方法 42

3.5.3 嵌入方法 42

3.5.4 降维技术 45

3.6 特征工程 48

3.6.1 特征缩放 48

3.6.2 特征构建 49

3.7 常见的机器学习模型 52

3.7.1 线性回归 52

3.7.2 逻辑回归 53

3.7.3 决策树 54

3.7.4 随机森林 56

3.7.5 支持向量机 58

3.7.6 神经网络和 Transformer 59

3.8 模型欠拟合和过拟合 62

3.8.1 欠拟合和过拟合简介 62

3.8.2 偏差-方差权衡 63

3.8.3 欠拟合和过拟合的改进 65

3.9 拆分数据 67

3.9.1 训练-测试拆分 67

3.9.2 k 折交叉验证 67

3.9.3 时间序列数据拆分 68

3.10 超参数调整 69

3.11 集成模型 71

3.11.1 装袋法 71

3.11.2 提升法 72

3.11.3 堆叠法 73

3.11.4 随机森林 74

3.11.5 梯度提升 74

3.12 处理不平衡数据 76

3.12.1 SMOTE 77

3.12.2 NearMiss 算法 78

3.12.3 成本敏感型学习 79

3.12.4 数据增强 80

3.13 处理相关数据 81

3.14 小结 82

3.15 参考文献 82

第 4 章 进行有效文本预处理以实现最佳 NLP 性能 83

4.1 技术要求 83

4.2 小写处理 84

4.3 删除特殊字符和标点符号 84

4.4 停用词删除 85

4.5 拼写检查和纠正 85

4.6 词形还原 86

4.7 词干提取 86

4.8 命名实体识别 87

4.9 词性标注 89

4.9.1 基于规则的方法 90

4.9.2 统计方法 90

4.9.3 基于深度学习的方法 91

4.10 正则表达式 92

4.10.1 验证输入 93

4.10.2 文本操作 93

4.10.3 文本清洗 94

4.10.4 解析 95

4.11 标记化 96

4.12 文本预处理流程解释 97

4.12.1 文本预处理 97

4.12.2 命名实体识别和词性标注 99

4.13 小结 100

第 5 章 利用传统机器学习技术增强文本分类能力 101

5.1 技术要求 102

5.2 文本分类的类型 102

5.3 监督学习 103

5.3.1 朴素贝叶斯 104

5.3.2 逻辑回归 104

5.3.3 支持向量机 104

5.4 无监督学习 104

5.4.1 聚类 105

5.4.2 LDA 105

5.4.3 词嵌入 105

5.5 半监督学习 105

5.5.1 标签传播 106

5.5.2 协同训练 106

5.5.3 半监督学习应用举例 106

5.6 使用独热编码向量表示进行句子分类 107

5.6.1 文本预处理 107

5.6.2 词汇构建 108

5.6.3 独热编码 108

5.6.4 N-gram 109

5.6.5 模型训练 109

5.7 使用 TF-IDF 进行文本分类 110

5.7.1 TF-IDF 计算的数学解释 110

5.7.2 TF-IDF 应用实例 111

5.8 使用 Word2Vec 进行文本分类 113

5.8.1 CBOW 和 skip-gram 架构的数学解释 113

5.8.2 使用 Word2Vec 进行文本分类的具体步骤 114

5.8.3 模型评估 115

5.8.4 混淆矩阵 117

5.8.5 过拟合和欠拟合 118

5.8.6 超参数调整 119

5.8.7 文本分类应用中的其他问题 120

5.9 主题建模—无监督文本分类的一个特殊用例 122

5.9.1 LDA 的工作原理和数学解释 122

5.9.2 LDA 应用示例 123

5.10 用于文本分类任务的真实机器学习系统设计 125

5.10.1 商业目标 125

5.10.2 技术目标 125

5.10.3 初步高层系统设计 126

5.10.4 选择指标 126

5.10.5 探索 127

5.10.6 实现机器学习解决方案 128

5.11 Jupyter Notebook 中用于文本分类任务的机器学习系统设计 129

5.11.1 商业目标 129

5.11.2 技术目标 129

5.11.3 工作流程 130

5.11.4 代码设置 130

5.11.5 收集数据 130

5.11.6 处理数据 130

5.11.7 预处理 131

5.11.8 初步数据探索 131

5.11.9 特征工程 131

5.11.10 探索新的数值特征 132

5.11.11 拆分为训练集/测试集 132

5.11.12 初步统计分析及可行性研究 132

5.11.13 特征选择 134

5.11.14 迭代机器学习模型 134

5.11.15 生成所选模型 135

5.11.16 生成训练结果—用于设计选择 135

5.11.17 生成测试结果—用于展示性能 135

5.12 小结 136

第 6 章 重新构想文本分类:深度学习语言模型研究 137

6.1 技术要求 138

6.2 了解深度学习基础知识 138

6.2.1 神经网络的定义 139

6.2.2 使用神经网络的动机 139

6.2.3 神经网络的基本设计 141

6.2.4 神经网络常用术语 142

6.3 不同神经网络的架构 146

6.4 训练神经网络的挑战 149

6.5 语言模型 151

6.5.1 半监督学习 152

6.5.2 无监督学习 152

6.5.3 自监督学习 152

6.5.4 迁移学习 153

6.6 Transformer 详解 155

6.6.1 Transformer 的架构 155

6.6.2 Transformer 的应用 156

6.7 了解有关大语言模型的更多信息 156

6.8 训练语言模型的挑战 157

6.9 语言模型的具体设计 158

6.9.1 BERT 简介 158

6.9.2 对 BERT 进行微调以完成文本分类任务 160

6.9.3 GPT-3 简介 162

6.9.4 使用 GPT-3 的挑战 163

6.10 Jupyter Notebook 中的自然语言处理-深度学习系统设计示例 163

6.10.1 商业目标 163

6.10.2 技术目标 163

6.10.3 工作流程 164

6.10.4 深度学习 164

6.10.5 格式化数据 165

6.10.6 评估指标 165

6.10.7 Trainer 对象 165

6.10.8 微调神经网络参数 165

6.10.9 生成训练结果—用于设计选择 166

6.10.10 生成测试结果—用于展示性能 166

6.11 小结 166

第 7 章 揭开大语言模型的神秘面纱:理论、设计和 LangChain 实现 168

7.1 技术要求 169

7.2 语言模型简介 169

7.2.1 n-gram 模型 169

7.2.2 隐马尔可夫模型 170

7.2.3 循环神经网络 170

7.3 大语言模型脱颖而出的原因 171

7.4 开发和使用大语言模型的动机 171

7.4.1 提高性能 171

7.4.2 更广泛的泛化能力 172

7.4.3 小样本学习 173

7.4.4 理解复杂语境 174

7.4.5 多语言能力 174

7.4.6 类似人类写作风格的文本生成 175

7.5 开发大语言模型面临的挑战 176

7.5.1 数据量 176

7.5.2 计算资源 177

7.5.3 偏见风险 177

7.5.4 模型的稳定可靠性 178

7.5.5 可解释性和调试 178

7.5.6 环境影响 178

7.6 Transformer 模型的优点 179

7.6.1 速度 179

7.6.2 可扩展性 179

7.6.3 长距离依赖关系 180

7.7 最新大语言模型的设计和架构 180

7.7.1 GPT-3.5 和 ChatGPT 180

7.7.2 ChatGPT 的训练过程 180

7.7.3 RLHF 181

7.7.4 生成响应 183

7.7.5 系统级控制 183

7.7.6 ChatGPT 中 RLHF 的逐步流程 183

7.7.7 GPT-4 188

7.7.8 LLaMA 189

7.7.9 PaLM 189

7.7.10 RLHF 的开源工具 192

7.8 小结 193

7.9 参考文献 193

第 8 章 访问大语言模型的强大功能:高级设置和 RAG 集成 195

8.1 技术要求 196

8.2 设置大语言模型应用—基于 API 的闭源模型 197

8.2.1 选择远程大语言模型提供商 197

8.2.2 在 Python 中通过 API 实现 GPT 的远程访问 197

8.3 提示工程和启动 GPT 198

8.3.1 启动 GPT 199

8.3.2 尝试使用 OpenAI 的 GPT 模型 201

8.4 设置大语言模型应用—本地开源模型 202

8.4.1 开源和闭源的区别 202

8.4.2 Hugging Face 的模型中心 203

8.4.3 选择模型 203

8.5 通过 Python 获得 Hugging Face 大语言模型 204

8.6 探索先进的系统设计—RAG 和 LangChain 205

8.6.1 LangChain 的设计理念 206

8.6.2 未预先嵌入的数据 208

8.6.3 链 208

8.6.4 代理 208

8.6.5 长期记忆和参考之前的对话 210

8.6.6 通过增量更新和自动监控确保持续相关性 211

8.7 在 Jupyter Notebook 中查看简单的 LangChain 设置 211

8.7.1 业务场景假设 211

8.7.2 使用 Python 设置 LangChain 管道 212

8.8 云端大语言模型 213

8.8.1 AWS 213

8.8.2 Microsoft Azure 215

8.8.3 GCP 216

8.8.4 关于云服务的结论 217

8.9 小结 217

第 9 章 前沿探索:大语言模型推动的高级应用和创新 218

9.1 技术要求 218

9.2 使用 RAG 和 LangChain 增强大语言模型性能 219

9.2.1 使用 Python 的 LangChain 管道—通过大语言模型增强性能 220

9.2.2 付费大语言模型与免费大语言模型 220

9.2.3 应用高级 LangChain 配置和管道 221

9.2.4 安装所需的 Python 库 221

9.2.5 设置大语言模型 221

9.2.6 创建 QA 链 222

9.2.7 以大语言模型为“大脑” 222

9.3 使用链的高级方法 223

9.3.1 向大语言模型询问一个常识性问题 223

9.3.2 要求大语言模型以特定的数据格式提供输出 223

9.3.3 实现流利的对话 224

9.4 自动从各种网络来源检索信息 227

9.4.1 从 YouTube 视频中检索内容并进行总结 227

9.4.2 安装、导入和设置 228

9.4.3 建立检索机制 228

9.4.4 审阅、总结和翻译 228

9.5 压缩提示和降低 API 成本 230

9.5.1 压缩提示 230

9.5.2 进行压缩提示实验并评估利弊 231

9.5.3 代码设置 232

9.5.4 收集数据 232

9.5.5 大语言模型配置 232

9.5.6 实验 233

9.5.7 分析上下文压缩的影响 233

9.6 多代理框架 234

9.6.1 多个大语言模型代理同时工作的潜在优势 234

9.6.2 AutoGen 框架 235

9.6.3 完成复杂分析—可视化结果并得出结论 237

9.6.4 对实验意义的可视化分析 237

9.6.5 团队任务中的人工干预 240

9.6.6 审查实验结果并形成合理的结论 240

9.6.7 关于多代理团队的总结 243

9.7 小结 243

第 10 章 乘风破浪:分析大语言模型和人工智能的过去、现在和未来趋势 245

10.1 围绕大语言模型和人工智能的关键技术趋势 245

10.2 计算能力—大语言模型背后的发展引擎 246

10.2.1 意义—为进步铺平道路 246

10.2.2 价值—扩大潜力和效率 246

10.2.3 影响—重塑数字交互和洞察力 247

10.2.4 从自然语言处理的角度看计算能力的未来发展 247

10.3 大型数据集及其对自然语言处理和大语言模型的不可磨灭的影响 250

10.3.1 意义—训练、基准测试和领域专业知识 251

10.3.2 价值—稳健性、多样性和效率 251

10.3.3 影响—民主化、熟练度和新问题 251

10.3.4 自然语言处理中数据可用性的未来 252

10.4 大语言模型的演变—意义、价值和影响 255

10.4.1 意义—开发更大更好的大语言模型的动机 255

10.4.2 价值—大语言模型优势 255

10.4.3 影响—改变科技发展和人机交互格局 256

10.4.4 大语言模型设计的未来 256

10.5 自然语言处理和大语言模型中的文化趋势 264

10.6 商业世界中的自然语言处理和大语言模型 264

10.6.1 业务领域 265

10.6.2 客户互动和服务 268

10.6.3 人工智能的影响推动管理变革 269

10.6.4 首席人工智能官的出现 271

10.7 人工智能和大语言模型引发的行为趋势—社会层面 273

10.7.1 个人助理变得不可或缺 273

10.7.2 轻松沟通,消除语言障碍 273

10.7.3 授权决策的伦理影响 274

10.7.4 道德和风险—人们对人工智能实现的担忧日益加剧 275

10.7.5 未来展望—道德、监管、意识和创新的融合 276

10.8 小结 277

第 11 章 独家行业见解:来自世界级专家的观点和预测 279

11.1 专家介绍 279

11.1.1 Nitzan Mekel-Bobrov 博士 279

11.1.2 David Sontag 博士 280

11.1.3 John D. Halamka 医学博士和理学硕士 280

11.1.4 Xavier Amatriain 博士 280

11.1.5 Melanie Garson 博士 281

11.2 我们的问题和专家的回答 281

11.2.1 Nitzan Mekel-Bobrov 博士 281

11.2.2 David Sontag 284

11.2.3 John D. Halamka 287

11.2.4 Xavier Amatriain 292

11.2.5 Melanie Garson 294

11.3 小结 297


精彩书摘

  第1章 自然语言处理领域探索
  本书旨在帮助专业人士将自然语言处理(natural language processing,NLP)技术应用到他们的工作中,无论他们是在从事NLP项目还是在其他领域(例如数据科学)中使用NLP。本书的目的是向你介绍自然语言处理领域及其底层技术,包括机器学习(machinelearning,ML)和深度学习(deep learning,DL)。
  本书强调数学基础(例如线性代数、统计和概率)以及优化理论的重要性,这些对于理解自然语言处理中使用的算法是必不可少的。本书还附有Python代码示例,可让你预先练习、实验并生成书中介绍的一些开发成果。
  本书将讨论自然语言处理面临的挑战,例如理解单词的上下文和含义、单词之间的关系以及对标记数据的需求。
  本书还将介绍自然语言处理的最新进展,包括BERT和GPT等预训练语言模型,以及大量文本数据的可用性,这些都提高了自然语言处理任务的性能。
  本书将讨论语言模型对自然语言处理领域的影响,包括提高自然语言处理任务的准确率和有效性、开发更先进的自然语言处理系统以及让更广泛人群能够使用等。
  本章包含以下主题:
  自然语言处理的定义
  NLP的历史和演变
  自然语言机器处理的初步策略
  成功的协同效应——自然语言处理与机器学习的结合
  自然语言处理中的数学和统计学简介
  理解语言模型——以ChatGPT为例
  1.1 本书目标读者
  本书的目标读者是那些需要在项目中处理文本的专业人士,这可能包括自然语言处理从业者(初学者也在此列)以及那些不以通常方式处理文本者。
  1.2 自然语言处理的定义
  NLP是人工智能(artificial intelligence,AI)的一个领域,专注于计算机与人类语言之间的交互。它涉及使用计算技术来理解、解释和生成人类语言,使计算机能够自然而有意义地理解和响应人类的输入。
  1.3 NLP的历史和演变
  对NLP历史的探索将让我们进入一段迷人的时光之旅,它最早可以追溯到20世纪50年代,因为正是在那个年代,艾伦·图灵(Alan Turing)等先驱为此做出了重大贡献。图灵的开创性论文Computing Machinery and Intelligence(计算机器与智能)引入了图灵测试(Turing test)的概念,为未来在AI和NLP领域的探索奠定了基础。这一时期标志着符号NLP的诞生,其特点是使用基于规则的系统(rule-based system),例如1954年著名的乔治城实验(Georgetown experiment),该实验雄心勃勃地试图通过将俄语内容翻译成英语来解决机器翻译问题。有关该实验的详细信息,可访问:
  https://en.wikipedia.org/wiki/Georgetown%E2%80%93IBM_experiment
  乔治城实验引起了广泛的关注,成为机器翻译历史上最具影响力的实例之一,在当时引发了一股兴奋和乐观的狂潮,但事实证明,该项目的进展非常缓慢,直至最后不了了之。这也揭示了人类语言理解和生成的复杂性。
  20世纪60年代和70年代见证了早期自然语言处理系统的发展,该系统展示了机器使用有限的词汇和知识库进行类似人类交互的潜力。这个时代还见证了概念本体的创建,这对于以计算机可理解的格式构建现实世界的信息至关重要。
  基于规则的系统的局限性导致了20世纪80年代后期科学家们的转向,他们开始转向统计NLP范式,这也得益于机器学习的进步和计算能力的提高。
  这种转变使得机器从大型语料库中更有效地学习成为可能,大大推进了机器翻译和其他自然语言处理任务的发展。这种范式转变不仅代表了技术和方法的进步,而且还强调了自然语言处理中语言学方法的概念演变。
  在摆脱预定义语法规则的僵化机制之后,这种转变采用了语料库语言学(corpuslinguistics),这种方法允许机器通过大量接触文本来“感知”和理解语言。这种方法反映了对语言的更加经验化和数据驱动的理解,其中的模式和含义来自实际的语言使用而不是理论构造,从而实现了更加细致入微和灵活的语言处理能力。
  ……

前言/序言

本书将深入介绍自然语言处理(natural language processing,NLP)技术,从机器学习(machine learning,ML)的数学基础开始,一直到高级自然语言处理应用,例如大语言模型(large language model,LLM)和 AI 应用。

作为学习体验的一部分,你将掌握线性代数、优化、概率和统计知识,这些知识对于理解并实现机器学习和自然语言处理算法至关重要。此外,你还将探索一般的机器学习技术并了解它们与自然语言处理的关系。

在学习如何执行文本分类(即根据文本内容为文本分配标签或类别)任务之前,你将学习文本数据的预处理操作,包括为分析工作清洗和准备文本的方法。

最后,本书还将讨论大语言模型的理论、设计和应用等高级主题,探讨自然语言处理的未来趋势,介绍专家对该领域未来的看法。为了增强你的实践技能,你还将学习如何解决自然语言处理业务问题并提供解决方案。

本书读者

本书面向技术人员,包括深度学习和机器学习研究人员、注重实践的自然语言处理从业者、机器学习/自然语言处理教育者以及 STEM 学科学生。在项目中使用文本的专业人士和现有的自然语言处理从业者也将在本书中找到大量有用的信息。

掌握初级机器学习知识和 Python 基本操作将帮助你充分利用本书。

内容介绍

本书包含 11 章,各章内容如下。

第 1 章“自然语言处理领域探索”,介绍自然语言处理的定义和历史演变、自然语言机器处理的一般策略、自然语言处理和机器学习的协同效应,以及对语言模型的理解等,它们也是后续章节将要讨论的主题。

第 2 章“掌握与机器学习和自然语言处理相关的线性代数、概率和统计学”,该章分为 3 个部分。第一部分介绍理解本书后续章节内容所需的线性代数基础知识;第二部分介绍特征值和特征向量;最后一部分介绍与机器学习相关的概率基础知识。

第 3 章“释放机器学习在自然语言处理中的潜力”,讨论可用于解决自然语言处理问题的机器学习中的不同概念和方法。我们将介绍数据清洗、特征选择和特征工程等技术和方法,了解常见的机器学习模型,阐释模型欠拟合和过拟合、数据集拆分、超参数调整、集成模型和不平衡数据集等概念。

第 4 章“进行有效文本预处理以实现最佳 NLP 性能”,通过实际问题示例介绍各种文本预处理步骤(包括小写处理、删除特殊字符和标点符号、删除停用词、拼写检查和纠正、词形还原和词干提取、命名实体识别和标记化等)。我们将根据要解决的问题场景解释哪些步骤适合哪些需求。本章示例提供了完整的 Python 流程。

第 5 章“利用传统机器学习技术增强文本分类能力”,介绍文本分类的类型(包括监督学习、无监督学习和半监督学习),阐释独热编码的概念,演示 TF-IDF 和 LDA 应用,并提供一个完整的 Jupyter Notebook 示例。

第 6 章“重新构想文本分类:深度学习语言模型研究”,介绍与深度学习神经网络相关的基础知识,包括不同的神经网络架构和语言模型。本章详细介绍 Transformer 架构,比较 BERT 和 GPT 等语言模型,并提供一个完整的 Jupyter Notebook 自然语言处理-深度学习系统设计示例。

第 7 章“揭开大语言模型的神秘面纱:理论、设计和 Langchain 实现”,阐释开发和使用大语言模型背后的动机,以及在开发过程中面临的挑战。本章介绍最新的模型设计(包括 GPT-4、LLaMA 和 RLHF 等),帮助你全面了解大语言模型的理论基础和实际应用。

第 8 章“访问大语言模型的强大功能:高级设置和 RAG 集成”,将指导你设置基于 API 和开源大语言模型的应用程序,并深入研究通过 LangChain 实现的提示工程和 RAG。本章还提供了使用 Python 设置 LangChain 管道的示例。

第 9 章“前沿探索:大语言模型推动的高级应用和创新”,深入探讨如何使用 RAG 和 LangChain 增强大语言模型性能,介绍使用链的高级方法、自动 Web 源检索、压缩提示、降低 API 使用成本、多代理框架等。本章提供了多个 Python Notebook 示例,每个示例都给出了一些实际用例的高级解决方案。

第 10 章“乘风破浪:分析大语言模型和人工智能的过去、现在和未来趋势”,深入探讨大语言模型和人工智能对技术、文化和社会的变革性影响,讨论计算能力进步、大数据集的意义以及大语言模型在商业及其他领域的发展、目的和社会影响。

第 11 章“独家行业见解:来自世界级专家的观点和预测”,通过与法律法规、学术研究和行业高管等专业人士的对话,深入探讨未来的自然语言处理和大语言模型趋势;通过他们的专业视角,可以了解人工智能技术发展的挑战和机遇、专业实践和道德考量等。

充分利用本书

本书所有代码均以 Jupyter Notebook 的形式呈现。所有代码均使用 Python 3.10.X 开发,预计也适用于更高版本。

本书中的代码示例具有多样化的用例,对于某些高级大语言模型解决方案,你将需要一个 OpenAI 账户,这样你才能使用 API 密钥。



产品特色

编辑推荐

《NLP大模型详解 : 基于LangChain、RAGs与Python》以LangChain和RAG技术为核心,结合Python编程实践,系统拆解NLP大模型的底层逻辑与前沿应用。从自然语言处理基础到GPT、LLaMA等大语言模型原理,再到工业级应用开发,助你掌握从入门到精通的全流程能力。

内容简介

《NLP大模型详解 : 基于LangChain、RAGs与Python》详细阐述了与 NLP 大模型相关的基本解决方案,主要包括自然语言处理领域探索,线性代数、概率和统计学,释放机器学习在自然语言处理中的潜力,进行有效文本预处理以实现最佳 NLP 性能,利用传统机器学习技术增强文本分类能力,重新构想文本分类,揭开大语言模型的神秘面纱,访问大语言模型的强大功能,大语言模型推动的高级应用和创新,分析大语言模型和人工智能的过去、现在和未来趋势,来自世界级专家的观点和预测等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

作者简介

利奥尔·加齐特是一位技术精湛的机器学习专家,在建立和领导团队推动业务增长方面有着成功的经验。他是自然语言处理领域的专家,成功开发了创新的机器学习管道和产品。他拥有硕士学位,曾在同行评审期刊和会议上发表过文章。作为金融行业机器学习小组的高级总监和一家新兴初创公司的首席机器学习顾问,他是业内受人尊敬的领导者,拥有丰富的知识和经验可供分享。郝艳杰,计算机软件专业硕士毕业。精通网络主流开发语言、数据分析和硬件技术,同时具有较好的英文水平和技术背景,并翻译过多本英文书籍。

目录

第 1 章 自然语言处理领域探索 1

1.1 本书目标读者 1

1.2 自然语言处理的定义 2

1.3 NLP 的历史和演变 2

1.4 自然语言机器处理的初步策略 3

1.5 成功的协同效应—自然语言处理与机器学习的结合 6

1.6 自然语言处理中的数学和统计学简介 7

1.7 理解语言模型—以 ChatGPT 为例 9

1.8 小结 9

1.9 问答 10

第 2 章 掌握与机器学习和自然语言处理相关的线性代数、概率和统计学 12

2.1 线性代数简介 12

2.1.1 标量和向量的基本运算 13

2.1.2 矩阵的基本运算 15

2.1.3 矩阵定义 16

2.1.4 行列式 16

2.2 特征值和特征向量 18

2.2.1 寻找特征向量的数值方法 18

2.2.2 特征值分解 19

2.2.3 奇异值分解 20

2.3 机器学习的概率基础 21

2.3.1 统计独立 22

2.3.2 离散随机变量及其分布 23

2.3.3 概率密度函数 23

2.3.4 最大似然估计 25

2.3.5 单词预测 27

2.3.6 贝叶斯估计 29

2.4 小结 29

2.5 延伸阅读 30

2.6 参考文献 31

第 3 章 释放机器学习在自然语言处理中的潜力 32

3.1 技术要求 32

3.2 数据探索 32

3.2.1 数据探索的意义 33

3.2.2 数据探索常用技术 33

3.3 数据可视化 34

3.4 数据清洗 35

3.4.1 处理缺失值 35

3.4.2 删除重复项 36

3.4.3 数据标准化和转换 37

3.4.4 处理离群值 37

3.4.5 纠正错误 38

3.5 特征选择 39

3.5.1 筛选方法 39

3.5.2 包装器方法 42

3.5.3 嵌入方法 42

3.5.4 降维技术 45

3.6 特征工程 48

3.6.1 特征缩放 48

3.6.2 特征构建 49

3.7 常见的机器学习模型 52

3.7.1 线性回归 52

3.7.2 逻辑回归 53

3.7.3 决策树 54

3.7.4 随机森林 56

3.7.5 支持向量机 58

3.7.6 神经网络和 Transformer 59

3.8 模型欠拟合和过拟合 62

3.8.1 欠拟合和过拟合简介 62

3.8.2 偏差-方差权衡 63

3.8.3 欠拟合和过拟合的改进 65

3.9 拆分数据 67

3.9.1 训练-测试拆分 67

3.9.2 k 折交叉验证 67

3.9.3 时间序列数据拆分 68

3.10 超参数调整 69

3.11 集成模型 71

3.11.1 装袋法 71

3.11.2 提升法 72

3.11.3 堆叠法 73

3.11.4 随机森林 74

3.11.5 梯度提升 74

3.12 处理不平衡数据 76

3.12.1 SMOTE 77

3.12.2 NearMiss 算法 78

3.12.3 成本敏感型学习 79

3.12.4 数据增强 80

3.13 处理相关数据 81

3.14 小结 82

3.15 参考文献 82

第 4 章 进行有效文本预处理以实现最佳 NLP 性能 83

4.1 技术要求 83

4.2 小写处理 84

4.3 删除特殊字符和标点符号 84

4.4 停用词删除 85

4.5 拼写检查和纠正 85

4.6 词形还原 86

4.7 词干提取 86

4.8 命名实体识别 87

4.9 词性标注 89

4.9.1 基于规则的方法 90

4.9.2 统计方法 90

4.9.3 基于深度学习的方法 91

4.10 正则表达式 92

4.10.1 验证输入 93

4.10.2 文本操作 93

4.10.3 文本清洗 94

4.10.4 解析 95

4.11 标记化 96

4.12 文本预处理流程解释 97

4.12.1 文本预处理 97

4.12.2 命名实体识别和词性标注 99

4.13 小结 100

第 5 章 利用传统机器学习技术增强文本分类能力 101

5.1 技术要求 102

5.2 文本分类的类型 102

5.3 监督学习 103

5.3.1 朴素贝叶斯 104

5.3.2 逻辑回归 104

5.3.3 支持向量机 104

5.4 无监督学习 104

5.4.1 聚类 105

5.4.2 LDA 105

5.4.3 词嵌入 105

5.5 半监督学习 105

5.5.1 标签传播 106

5.5.2 协同训练 106

5.5.3 半监督学习应用举例 106

5.6 使用独热编码向量表示进行句子分类 107

5.6.1 文本预处理 107

5.6.2 词汇构建 108

5.6.3 独热编码 108

5.6.4 N-gram 109

5.6.5 模型训练 109

5.7 使用 TF-IDF 进行文本分类 110

5.7.1 TF-IDF 计算的数学解释 110

5.7.2 TF-IDF 应用实例 111

5.8 使用 Word2Vec 进行文本分类 113

5.8.1 CBOW 和 skip-gram 架构的数学解释 113

5.8.2 使用 Word2Vec 进行文本分类的具体步骤 114

5.8.3 模型评估 115

5.8.4 混淆矩阵 117

5.8.5 过拟合和欠拟合 118

5.8.6 超参数调整 119

5.8.7 文本分类应用中的其他问题 120

5.9 主题建模—无监督文本分类的一个特殊用例 122

5.9.1 LDA 的工作原理和数学解释 122

5.9.2 LDA 应用示例 123

5.10 用于文本分类任务的真实机器学习系统设计 125

5.10.1 商业目标 125

5.10.2 技术目标 125

5.10.3 初步高层系统设计 126

5.10.4 选择指标 126

5.10.5 探索 127

5.10.6 实现机器学习解决方案 128

5.11 Jupyter Notebook 中用于文本分类任务的机器学习系统设计 129

5.11.1 商业目标 129

5.11.2 技术目标 129

5.11.3 工作流程 130

5.11.4 代码设置 130

5.11.5 收集数据 130

5.11.6 处理数据 130

5.11.7 预处理 131

5.11.8 初步数据探索 131

5.11.9 特征工程 131

5.11.10 探索新的数值特征 132

5.11.11 拆分为训练集/测试集 132

5.11.12 初步统计分析及可行性研究 132

5.11.13 特征选择 134

5.11.14 迭代机器学习模型 134

5.11.15 生成所选模型 135

5.11.16 生成训练结果—用于设计选择 135

5.11.17 生成测试结果—用于展示性能 135

5.12 小结 136

第 6 章 重新构想文本分类:深度学习语言模型研究 137

6.1 技术要求 138

6.2 了解深度学习基础知识 138

6.2.1 神经网络的定义 139

6.2.2 使用神经网络的动机 139

6.2.3 神经网络的基本设计 141

6.2.4 神经网络常用术语 142

6.3 不同神经网络的架构 146

6.4 训练神经网络的挑战 149

6.5 语言模型 151

6.5.1 半监督学习 152

6.5.2 无监督学习 152

6.5.3 自监督学习 152

6.5.4 迁移学习 153

6.6 Transformer 详解 155

6.6.1 Transformer 的架构 155

6.6.2 Transformer 的应用 156

6.7 了解有关大语言模型的更多信息 156

6.8 训练语言模型的挑战 157

6.9 语言模型的具体设计 158

6.9.1 BERT 简介 158

6.9.2 对 BERT 进行微调以完成文本分类任务 160

6.9.3 GPT-3 简介 162

6.9.4 使用 GPT-3 的挑战 163

6.10 Jupyter Notebook 中的自然语言处理-深度学习系统设计示例 163

6.10.1 商业目标 163

6.10.2 技术目标 163

6.10.3 工作流程 164

6.10.4 深度学习 164

6.10.5 格式化数据 165

6.10.6 评估指标 165

6.10.7 Trainer 对象 165

6.10.8 微调神经网络参数 165

6.10.9 生成训练结果—用于设计选择 166

6.10.10 生成测试结果—用于展示性能 166

6.11 小结 166

第 7 章 揭开大语言模型的神秘面纱:理论、设计和 LangChain 实现 168

7.1 技术要求 169

7.2 语言模型简介 169

7.2.1 n-gram 模型 169

7.2.2 隐马尔可夫模型 170

7.2.3 循环神经网络 170

7.3 大语言模型脱颖而出的原因 171

7.4 开发和使用大语言模型的动机 171

7.4.1 提高性能 171

7.4.2 更广泛的泛化能力 172

7.4.3 小样本学习 173

7.4.4 理解复杂语境 174

7.4.5 多语言能力 174

7.4.6 类似人类写作风格的文本生成 175

7.5 开发大语言模型面临的挑战 176

7.5.1 数据量 176

7.5.2 计算资源 177

7.5.3 偏见风险 177

7.5.4 模型的稳定可靠性 178

7.5.5 可解释性和调试 178

7.5.6 环境影响 178

7.6 Transformer 模型的优点 179

7.6.1 速度 179

7.6.2 可扩展性 179

7.6.3 长距离依赖关系 180

7.7 最新大语言模型的设计和架构 180

7.7.1 GPT-3.5 和 ChatGPT 180

7.7.2 ChatGPT 的训练过程 180

7.7.3 RLHF 181

7.7.4 生成响应 183

7.7.5 系统级控制 183

7.7.6 ChatGPT 中 RLHF 的逐步流程 183

7.7.7 GPT-4 188

7.7.8 LLaMA 189

7.7.9 PaLM 189

7.7.10 RLHF 的开源工具 192

7.8 小结 193

7.9 参考文献 193

第 8 章 访问大语言模型的强大功能:高级设置和 RAG 集成 195

8.1 技术要求 196

8.2 设置大语言模型应用—基于 API 的闭源模型 197

8.2.1 选择远程大语言模型提供商 197

8.2.2 在 Python 中通过 API 实现 GPT 的远程访问 197

8.3 提示工程和启动 GPT 198

8.3.1 启动 GPT 199

8.3.2 尝试使用 OpenAI 的 GPT 模型 201

8.4 设置大语言模型应用—本地开源模型 202

8.4.1 开源和闭源的区别 202

8.4.2 Hugging Face 的模型中心 203

8.4.3 选择模型 203

8.5 通过 Python 获得 Hugging Face 大语言模型 204

8.6 探索先进的系统设计—RAG 和 LangChain 205

8.6.1 LangChain 的设计理念 206

8.6.2 未预先嵌入的数据 208

8.6.3 链 208

8.6.4 代理 208

8.6.5 长期记忆和参考之前的对话 210

8.6.6 通过增量更新和自动监控确保持续相关性 211

8.7 在 Jupyter Notebook 中查看简单的 LangChain 设置 211

8.7.1 业务场景假设 211

8.7.2 使用 Python 设置 LangChain 管道 212

8.8 云端大语言模型 213

8.8.1 AWS 213

8.8.2 Microsoft Azure 215

8.8.3 GCP 216

8.8.4 关于云服务的结论 217

8.9 小结 217

第 9 章 前沿探索:大语言模型推动的高级应用和创新 218

9.1 技术要求 218

9.2 使用 RAG 和 LangChain 增强大语言模型性能 219

9.2.1 使用 Python 的 LangChain 管道—通过大语言模型增强性能 220

9.2.2 付费大语言模型与免费大语言模型 220

9.2.3 应用高级 LangChain 配置和管道 221

9.2.4 安装所需的 Python 库 221

9.2.5 设置大语言模型 221

9.2.6 创建 QA 链 222

9.2.7 以大语言模型为“大脑” 222

9.3 使用链的高级方法 223

9.3.1 向大语言模型询问一个常识性问题 223

9.3.2 要求大语言模型以特定的数据格式提供输出 223

9.3.3 实现流利的对话 224

9.4 自动从各种网络来源检索信息 227

9.4.1 从 YouTube 视频中检索内容并进行总结 227

9.4.2 安装、导入和设置 228

9.4.3 建立检索机制 228

9.4.4 审阅、总结和翻译 228

9.5 压缩提示和降低 API 成本 230

9.5.1 压缩提示 230

9.5.2 进行压缩提示实验并评估利弊 231

9.5.3 代码设置 232

9.5.4 收集数据 232

9.5.5 大语言模型配置 232

9.5.6 实验 233

9.5.7 分析上下文压缩的影响 233

9.6 多代理框架 234

9.6.1 多个大语言模型代理同时工作的潜在优势 234

9.6.2 AutoGen 框架 235

9.6.3 完成复杂分析—可视化结果并得出结论 237

9.6.4 对实验意义的可视化分析 237

9.6.5 团队任务中的人工干预 240

9.6.6 审查实验结果并形成合理的结论 240

9.6.7 关于多代理团队的总结 243

9.7 小结 243

第 10 章 乘风破浪:分析大语言模型和人工智能的过去、现在和未来趋势 245

10.1 围绕大语言模型和人工智能的关键技术趋势 245

10.2 计算能力—大语言模型背后的发展引擎 246

10.2.1 意义—为进步铺平道路 246

10.2.2 价值—扩大潜力和效率 246

10.2.3 影响—重塑数字交互和洞察力 247

10.2.4 从自然语言处理的角度看计算能力的未来发展 247

10.3 大型数据集及其对自然语言处理和大语言模型的不可磨灭的影响 250

10.3.1 意义—训练、基准测试和领域专业知识 251

10.3.2 价值—稳健性、多样性和效率 251

10.3.3 影响—民主化、熟练度和新问题 251

10.3.4 自然语言处理中数据可用性的未来 252

10.4 大语言模型的演变—意义、价值和影响 255

10.4.1 意义—开发更大更好的大语言模型的动机 255

10.4.2 价值—大语言模型优势 255

10.4.3 影响—改变科技发展和人机交互格局 256

10.4.4 大语言模型设计的未来 256

10.5 自然语言处理和大语言模型中的文化趋势 264

10.6 商业世界中的自然语言处理和大语言模型 264

10.6.1 业务领域 265

10.6.2 客户互动和服务 268

10.6.3 人工智能的影响推动管理变革 269

10.6.4 首席人工智能官的出现 271

10.7 人工智能和大语言模型引发的行为趋势—社会层面 273

10.7.1 个人助理变得不可或缺 273

10.7.2 轻松沟通,消除语言障碍 273

10.7.3 授权决策的伦理影响 274

10.7.4 道德和风险—人们对人工智能实现的担忧日益加剧 275

10.7.5 未来展望—道德、监管、意识和创新的融合 276

10.8 小结 277

第 11 章 独家行业见解:来自世界级专家的观点和预测 279

11.1 专家介绍 279

11.1.1 Nitzan Mekel-Bobrov 博士 279

11.1.2 David Sontag 博士 280

11.1.3 John D. Halamka 医学博士和理学硕士 280

11.1.4 Xavier Amatriain 博士 280

11.1.5 Melanie Garson 博士 281

11.2 我们的问题和专家的回答 281

11.2.1 Nitzan Mekel-Bobrov 博士 281

11.2.2 David Sontag 284

11.2.3 John D. Halamka 287

11.2.4 Xavier Amatriain 292

11.2.5 Melanie Garson 294

11.3 小结 297


精彩书摘

  第1章 自然语言处理领域探索
  本书旨在帮助专业人士将自然语言处理(natural language processing,NLP)技术应用到他们的工作中,无论他们是在从事NLP项目还是在其他领域(例如数据科学)中使用NLP。本书的目的是向你介绍自然语言处理领域及其底层技术,包括机器学习(machinelearning,ML)和深度学习(deep learning,DL)。
  本书强调数学基础(例如线性代数、统计和概率)以及优化理论的重要性,这些对于理解自然语言处理中使用的算法是必不可少的。本书还附有Python代码示例,可让你预先练习、实验并生成书中介绍的一些开发成果。
  本书将讨论自然语言处理面临的挑战,例如理解单词的上下文和含义、单词之间的关系以及对标记数据的需求。
  本书还将介绍自然语言处理的最新进展,包括BERT和GPT等预训练语言模型,以及大量文本数据的可用性,这些都提高了自然语言处理任务的性能。
  本书将讨论语言模型对自然语言处理领域的影响,包括提高自然语言处理任务的准确率和有效性、开发更先进的自然语言处理系统以及让更广泛人群能够使用等。
  本章包含以下主题:
  自然语言处理的定义
  NLP的历史和演变
  自然语言机器处理的初步策略
  成功的协同效应——自然语言处理与机器学习的结合
  自然语言处理中的数学和统计学简介
  理解语言模型——以ChatGPT为例
  1.1 本书目标读者
  本书的目标读者是那些需要在项目中处理文本的专业人士,这可能包括自然语言处理从业者(初学者也在此列)以及那些不以通常方式处理文本者。
  1.2 自然语言处理的定义
  NLP是人工智能(artificial intelligence,AI)的一个领域,专注于计算机与人类语言之间的交互。它涉及使用计算技术来理解、解释和生成人类语言,使计算机能够自然而有意义地理解和响应人类的输入。
  1.3 NLP的历史和演变
  对NLP历史的探索将让我们进入一段迷人的时光之旅,它最早可以追溯到20世纪50年代,因为正是在那个年代,艾伦·图灵(Alan Turing)等先驱为此做出了重大贡献。图灵的开创性论文Computing Machinery and Intelligence(计算机器与智能)引入了图灵测试(Turing test)的概念,为未来在AI和NLP领域的探索奠定了基础。这一时期标志着符号NLP的诞生,其特点是使用基于规则的系统(rule-based system),例如1954年著名的乔治城实验(Georgetown experiment),该实验雄心勃勃地试图通过将俄语内容翻译成英语来解决机器翻译问题。有关该实验的详细信息,可访问:
  https://en.wikipedia.org/wiki/Georgetown%E2%80%93IBM_experiment
  乔治城实验引起了广泛的关注,成为机器翻译历史上最具影响力的实例之一,在当时引发了一股兴奋和乐观的狂潮,但事实证明,该项目的进展非常缓慢,直至最后不了了之。这也揭示了人类语言理解和生成的复杂性。
  20世纪60年代和70年代见证了早期自然语言处理系统的发展,该系统展示了机器使用有限的词汇和知识库进行类似人类交互的潜力。这个时代还见证了概念本体的创建,这对于以计算机可理解的格式构建现实世界的信息至关重要。
  基于规则的系统的局限性导致了20世纪80年代后期科学家们的转向,他们开始转向统计NLP范式,这也得益于机器学习的进步和计算能力的提高。
  这种转变使得机器从大型语料库中更有效地学习成为可能,大大推进了机器翻译和其他自然语言处理任务的发展。这种范式转变不仅代表了技术和方法的进步,而且还强调了自然语言处理中语言学方法的概念演变。
  在摆脱预定义语法规则的僵化机制之后,这种转变采用了语料库语言学(corpuslinguistics),这种方法允许机器通过大量接触文本来“感知”和理解语言。这种方法反映了对语言的更加经验化和数据驱动的理解,其中的模式和含义来自实际的语言使用而不是理论构造,从而实现了更加细致入微和灵活的语言处理能力。
  ……

前言/序言

本书将深入介绍自然语言处理(natural language processing,NLP)技术,从机器学习(machine learning,ML)的数学基础开始,一直到高级自然语言处理应用,例如大语言模型(large language model,LLM)和 AI 应用。

作为学习体验的一部分,你将掌握线性代数、优化、概率和统计知识,这些知识对于理解并实现机器学习和自然语言处理算法至关重要。此外,你还将探索一般的机器学习技术并了解它们与自然语言处理的关系。

在学习如何执行文本分类(即根据文本内容为文本分配标签或类别)任务之前,你将学习文本数据的预处理操作,包括为分析工作清洗和准备文本的方法。

最后,本书还将讨论大语言模型的理论、设计和应用等高级主题,探讨自然语言处理的未来趋势,介绍专家对该领域未来的看法。为了增强你的实践技能,你还将学习如何解决自然语言处理业务问题并提供解决方案。

本书读者

本书面向技术人员,包括深度学习和机器学习研究人员、注重实践的自然语言处理从业者、机器学习/自然语言处理教育者以及 STEM 学科学生。在项目中使用文本的专业人士和现有的自然语言处理从业者也将在本书中找到大量有用的信息。

掌握初级机器学习知识和 Python 基本操作将帮助你充分利用本书。

内容介绍

本书包含 11 章,各章内容如下。

第 1 章“自然语言处理领域探索”,介绍自然语言处理的定义和历史演变、自然语言机器处理的一般策略、自然语言处理和机器学习的协同效应,以及对语言模型的理解等,它们也是后续章节将要讨论的主题。

第 2 章“掌握与机器学习和自然语言处理相关的线性代数、概率和统计学”,该章分为 3 个部分。第一部分介绍理解本书后续章节内容所需的线性代数基础知识;第二部分介绍特征值和特征向量;最后一部分介绍与机器学习相关的概率基础知识。

第 3 章“释放机器学习在自然语言处理中的潜力”,讨论可用于解决自然语言处理问题的机器学习中的不同概念和方法。我们将介绍数据清洗、特征选择和特征工程等技术和方法,了解常见的机器学习模型,阐释模型欠拟合和过拟合、数据集拆分、超参数调整、集成模型和不平衡数据集等概念。

第 4 章“进行有效文本预处理以实现最佳 NLP 性能”,通过实际问题示例介绍各种文本预处理步骤(包括小写处理、删除特殊字符和标点符号、删除停用词、拼写检查和纠正、词形还原和词干提取、命名实体识别和标记化等)。我们将根据要解决的问题场景解释哪些步骤适合哪些需求。本章示例提供了完整的 Python 流程。

第 5 章“利用传统机器学习技术增强文本分类能力”,介绍文本分类的类型(包括监督学习、无监督学习和半监督学习),阐释独热编码的概念,演示 TF-IDF 和 LDA 应用,并提供一个完整的 Jupyter Notebook 示例。

第 6 章“重新构想文本分类:深度学习语言模型研究”,介绍与深度学习神经网络相关的基础知识,包括不同的神经网络架构和语言模型。本章详细介绍 Transformer 架构,比较 BERT 和 GPT 等语言模型,并提供一个完整的 Jupyter Notebook 自然语言处理-深度学习系统设计示例。

第 7 章“揭开大语言模型的神秘面纱:理论、设计和 Langchain 实现”,阐释开发和使用大语言模型背后的动机,以及在开发过程中面临的挑战。本章介绍最新的模型设计(包括 GPT-4、LLaMA 和 RLHF 等),帮助你全面了解大语言模型的理论基础和实际应用。

第 8 章“访问大语言模型的强大功能:高级设置和 RAG 集成”,将指导你设置基于 API 和开源大语言模型的应用程序,并深入研究通过 LangChain 实现的提示工程和 RAG。本章还提供了使用 Python 设置 LangChain 管道的示例。

第 9 章“前沿探索:大语言模型推动的高级应用和创新”,深入探讨如何使用 RAG 和 LangChain 增强大语言模型性能,介绍使用链的高级方法、自动 Web 源检索、压缩提示、降低 API 使用成本、多代理框架等。本章提供了多个 Python Notebook 示例,每个示例都给出了一些实际用例的高级解决方案。

第 10 章“乘风破浪:分析大语言模型和人工智能的过去、现在和未来趋势”,深入探讨大语言模型和人工智能对技术、文化和社会的变革性影响,讨论计算能力进步、大数据集的意义以及大语言模型在商业及其他领域的发展、目的和社会影响。

第 11 章“独家行业见解:来自世界级专家的观点和预测”,通过与法律法规、学术研究和行业高管等专业人士的对话,深入探讨未来的自然语言处理和大语言模型趋势;通过他们的专业视角,可以了解人工智能技术发展的挑战和机遇、专业实践和道德考量等。

充分利用本书

本书所有代码均以 Jupyter Notebook 的形式呈现。所有代码均使用 Python 3.10.X 开发,预计也适用于更高版本。

本书中的代码示例具有多样化的用例,对于某些高级大语言模型解决方案,你将需要一个 OpenAI 账户,这样你才能使用 API 密钥。