自然语言处理实战:算法卷
书 号:9787113312114
丛 书 名:无
作 者:陈继生
译 者:
开 本:16开
装 帧:平装
正文语种:汉文
出 版 社:中国铁道出版社有限公司
定 价:79元
-
内容简介
本书深入探讨了NLP的核心算法和实际应用,从基础理论到高级技术,较为全面地展示了NLP领域的前沿发展。书中主要内容涉及文本预处理算法、特征提取、文本分类与情感分析算法、语言生成算法、语义分析与理解算法、机器翻译算法,以及三个NLP实战案例(智能客服系统、文本摘要系统、消费者投诉处理模型)。通过清晰的解释、实用的示例和实战项目,读者可在掌握NLP算法的同时获得实际项目开发的经验。
通过对本书的学习,读者将系统地了解NLP领域的理论和实践,培养对自然语言处理的深刻理解及解决实际问题的能力。这本书旨在成为NLP领域实践者和学习者的权威指南。
-
前言
在当今数字化社会,自然语言处理(NLP)作为人工智能领域的关键技术之一,扮演着解析、理解和生成人类语言的重要角色。NLP技术的兴起源于我们对计算机理解和处理人类语言的渴望,如今它已经开始逐渐融入我们的日常生活,涵盖了搜索引擎、虚拟助手、社交媒体分析等多个领域。
随着信息时代的蓬勃发展,NLP技术的需求不断攀升。企业迫切需要利用NLP技术从海量文本数据中提取信息,进行智能决策;而个性化推荐、智能客服、情感分析等应用场景对于高效的NLP技术也提出了更高的要求。在这个背景下,具备NLP技能的专业人才需求明显提升,这不仅包括计算机科学领域的学生和研究者,还包括广泛的从业者,因此促使了对NLP相关知识的学习和深入研究的持续增长。
本书的内容
本书深入探讨了NLP的核心算法和实际应用,从基础理论到高级技术,较为全面地展示了NLP领域的前沿发展。书中主要内容涉及文本预处理算法、特征提取、文本分类与情感分析算法、语言生成算法、语义分析与理解算法、机器翻译算法,以及三个NLP实战案例(智能客服系统、文本摘要系统、消费者投诉处理模型)。通过清晰的解释、实用的示例和实战项目,读者可在掌握NLP算法的同时获得实际项目开发的经验。
通过对本书的学习,读者将系统地了解NLP领域的理论和实践,培养对自然语言处理的深刻理解及解决实际问题的能力。这本书旨在成为NLP领域实践者和学习者的权威指南。
本书的特色
(1)力求全面覆盖NLP领域。本书基本覆盖了NLP领域的关键概念和算法。无论读者是初学者还是有一定经验的开发者,都能够从本书学习中获益。
(2)理论与实践结合。每个章节都以理论知识为基础,通过丰富的示例和实战项目将概念转化为实际应用。读者将深刻理解NLP算法背后的原理,并学会将其运用到实际项目中。
(3)深度学习技术详解。在书中特别强调深度学习技术在NLP中的应用,包括卷积神经网络、循环神经网络、注意力机制、生成对抗网络等。这些深度学习模型在实际项目中的应用将成为读者在NLP领域的强大工具。
(4)跨学科的综合性。不仅关注NLP领域本身,还结合了人工智能、机器学习和深度学习等跨学科的知识。这使得读者能够获得更全面的视角,深入理解NLP与其他领域的关联与交叉。
本书的读者对象
(1)人工智能应用算法初学者。对人工智能和自然语言处理领域感兴趣,但缺乏系统知识的初学者。本书通过清晰的解释和实用的示例,为初学者提供了理解NLP基础概念和算法的入门指南。
(2)开发者和工程师。有一定编程和机器学习基础的开发者和工程师,希望深入学习和应用自然语言处理技术。本书提供了丰富的实战案例,使开发者能够将所学应用于实际项目中。
(3)数据科学家和研究人员。在数据科学和人工智能研究领域工作的专业人员,希望深入了解自然语言处理领域的理论和实践。本书提供了深度学习、特征提取、文本分类等方面的内容,满足专业人员的深度需求。
总体而言,本书旨在适应不同层次和背景的NLP学习与应用人员,提供了渐进式的学习路径,使得初学者能够逐步掌握NLP算法基础知识,而有经验的开发者和研究者则能够深入学习和应用NLP技术。
源代码下载包
在自然语言处理中,算法的应用没有标准答案,只有适合的场景。为方便读者学习和应用,笔者将书中示例和实践项目的源代码整理为下载包,倾囊相赠,以飨读者。
编 者
2024年4月
-
目录
第1章 人工智能与自然语言处理基础
1.1 人工智能 1
1.1.1 人工智能的发展历程 1
1.1.2 人工智能的研究领域 2
1.2 机器学习和深度学习 3
1.2.1 机器学习 3
1.2.2 深度学习 3
1.2.3 机器学习和深度学习的区别 3
1.3 什么是自然语言处理 4
1.4 自然语言处理的挑战与机遇 4
1.4.1 挑战 5
1.4.2 机遇 5
第2章 文本预处理算法
2.1 分词 6
2.1.1 分词的重要性和基本原理 6
2.1.2 基于空格的分词 7
2.1.3 基于标点符号的分词 8
2.2 词干化与词形还原 9
2.2.1 词干化与词形还原的区别 9
2.2.2 词干化算法 9
2.2.3 词形还原算法 12
2.3 去除停用词 16
2.3.1 什么是停用词 16
2.3.2 基于词汇列表的停用词去除 16
2.3.3 基于词频的停用词去除 17
2.3.4 使用TF-IDF算法去除停用词 17
2.3.5 利用机器学习方法去除停用词 19
2.4 数据清洗和处理 20
2.4.1 处理缺失值 20
2.4.2 异常值检测与处理 24
2.4.3 处理重复数据 27
第3章 特征提取
3.1 特征的类型 29
3.2 特征选择 30
3.2.1 特征选择的必要性 30
3.2.2 特征选择的方法 30
3.3 特征抽取 34
3.3.1 特征抽取的概念 34
3.3.2 主成分分析 35
3.3.3 独立成分分析 39
3.3.4 自动编码器 42
3.4 嵌入 44
3.4.1 嵌入的重要应用场景 44
3.4.2 PyTorch嵌入层的特征提取 45
3.4.3 TensorFlow嵌入层的特征提取 47
3.4.4 Word2Vec模型 48
3.4.5 GloVe模型 50
3.5 词袋模型 51
3.5.1 词袋模型的实现步骤与具体示例 51
3.5.2 词袋模型的限制与改进 53
3.6 TF-IDF 55
3.6.1 TF-IDF关键概念与计算方式 56
3.6.2 使用TF-IDF提取文本特征 56
第4章 文本分类与情感分析算法
4.1 朴素贝叶斯分类器 59
4.1.1 朴素贝叶斯分类器的基本原理与应用场景示例 59
4.1.2 应用场景示例:垃圾邮件过滤 60
4.2 支持向量机 61
4.2.1 支持向量机的核心思想和主要原理 61
4.2.2 线性SVM与非线性SVM 61
4.3 随机森林算法 63
4.3.1 随机森林算法的主要原理和应用场景 63
4.3.2 随机森林算法应用:垃圾邮件分类器 64
4.4 卷积神经网络 66
4.4.1 卷积神经网络的发展背景 66
4.4.2 卷积神经网络的结构 67
4.4.3 卷积神经网络实战案例 67
4.5 循环神经网络 69
4.5.1 循环神经网络介绍 69
4.5.2 文本分类 70
4.5.3 循环神经网络实战案例1:使用PyTorch开发歌词生成器模型 71
4.5.4 循环神经网络实战案例2:使用TensorFlow制作情感分析模型 74
4.6 递归神经网络 80
4.6.1 递归神经网络介绍 81
4.6.2 RvNN 81
第5章 语言生成算法
5.1 基于规则的生成算法 103
5.1.1 基于规则的生成算法的优缺点 103
5.1.2 基于规则的生成算法在自然语言处理中的应用场景 103
5.2 基于统计的生成算法 105
5.2.1 基于统计的生成算法介绍 105
5.2.2 常见基于统计的生成模型 106
5.2.3 N-gram模型 106
5.2.4 隐马尔可夫模型 108
5.2.5 最大熵模型 109
5.3 基于神经网络的生成模型 111
5.3.1 常见的基于神经网络的生成模型 111
5.3.2 神经网络生成的基本原理 111
5.3.3 生成对抗网络 112
5.4 注意力机制 117
5.4.1 注意力机制介绍 117
5.4.2 注意力机制的变体 117
5.4.3 注意力机制解决什么问题 118
5.5 序列到序列模型 119
5.5.1 Seq2Seq模型介绍 119
5.5.2 Seq2Seq编码器—解码器结构 120
5.5.3 使用Seq2Seq模型实现翻译系统 120
第6章 语义分析与理解算法
6.1 词义表示 141
6.2 语义相似度计算 141
6.2.1 语义相似度的重要性 141
6.2.2 词汇语义相似度计算方法 142
6.2.3 文本语义相似度计算方法 144
6.3 命名实体识别 145
6.3.1 命名实体识别介绍 145
6.3.2 基于规则的NER方法 146
6.3.3 基于机器学习的NER方法 147
6.4 语义角色标注 149
6.4.1 语义角色标注介绍 150
6.4.2 基于深度学习的SRL方法 150
6.5 依存分析 152
6.5.1 依存分析介绍 153
6.5.2 依存分析的基本步骤 153
6.5.3 依存分析的方法 153
6.5.4 依存分析在自然语言处理中的应用 155
6.6 语法树生成 157
6.6.1 语法树介绍 157
6.6.2 语法树生成的基本原理 157
6.6.3 生成语法树的方法 158
6.6.4 基于上下文无关文法的语法树生成 159
6.7 知识图谱与图数据分析 160
6.7.1 知识图谱的特点 160
6.7.2 知识图谱的构建方法 160
6.7.3 图数据分析的基本原理 162
6.7.4 图数据分析的应用场景 164
第7章 机器翻译算法
7.1 常见的机器翻译算法 167
7.2 统计机器翻译 167
7.2.1 统计机器翻译的实现步骤 167
7.2.2 常见的SMT模型 168
7.2.3 SMT的训练和解码 169
7.3 神经机器翻译 171
7.3.1 NMT模型的一般工作流程 171
7.3.2 NMT的应用领域 172
7.3.3 NMT的训练和解码 172
7.3.4 基于NMT的简易翻译系统 173
7.4 跨语言情感分析 185
7.4.1 跨语言情感分析介绍 185
7.4.2 跨语言情感分析的挑战 186
7.4.3 跨语言情感分析的方法 187
第8章 NLP应用实战:智能客服系统
8.1 背景介绍 207
8.2 系统介绍 207
8.3 模型介绍与准备 208
8.3.1 模型介绍 208
8.3.2 下载模型文件 209
8.4 Android智能客服系统 209
8.4.1 准备工作 209
8.4.2 页面布局 211
8.4.3 实现主Activity 212
8.4.4 智能回复处理 214
第9章 NLP应用实战:文本摘要系统
9.1 文本摘要系统介绍 218
9.2 抽取式文本摘要方法 218
9.3 抽象生成式文本摘要方法 219
9.4 文本摘要生成系统 220
9.4.1 准备数据 221
9.4.2 数据预处理 221
9.4.3 数据分析 226
9.4.4 构建Seq2Seq模型 228
第10章 NLP应用实战:消费者投诉处理模型
10.1 需求分析 240
10.2 具体实现 240
10.2.1 数据集预处理 241
10.2.2 目标特征的分布 245
10.2.3 探索性数据分析 246
10.2.4 制作模型 254
-
作者介绍
陈继生,硕士研究生,前百度飞桨项目发工程师,在大规模机器学习、深度学习、数据搜索、行业垂直应用、研发管理等领域拥有丰富的开发经验。现在就职于商汤科技,负责SenseAvatar 项目的研发工作。拥有多年开发经验,在企业智能化转型、业务线上化经营、拥有丰富的大规模搜索架构、个性化推荐架构、机器学习系统架构经验和技术团队管理经验。 -
编辑推荐
算法思想巧妙融入现实问题场景,渐进式学习路径缩短理论到实践的距离。 -
书评书荐
-
附件下载
图书推荐