译者序
推荐序
作者介绍
关于审校人员
前言
第1章 引言 1
1.1 自然语言处理 1
1.2 基础应用 5
1.3 高级应用 6
1.4 NLP和Python相结合的优势 7
1.5 nltk环境搭建 7
1.6 读者提示 8
1.7 总结 9
第2章 实践理解语料库和数据集 10
2.1 语料库 10
2.2 语料库的作用 11
2.3 语料分析 13
2.4 数据属性的类型 16
2.4.1 分类或定性数据属性 16
2.4.2 数值或定量数据属性 17
2.5 不同文件格式的语料 18
2.6 免费语料库资源 19
2.7 为NLP应用准备数据集 20
2.7.1 挑选数据 20
2.7.2 预处理数据集 20
2.8 网页爬取 21
2.9 总结 23
第3章 理解句子的结构 24
3.1 理解NLP的组成 24
3.1.1 自然语言理解 24
3.1.2 自然语言生成 25
3.1.3 NLU和NLG的区别 25
3.1.4 NLP的分支 26
3.2 上下文无关文法 26
3.3 形态分析 28
3.3.1 形态学 28
3.3.2 词素 28
3.3.3 词干 28
3.3.4 形态分析 28
3.3.5 词 29
3.3.6 词素的分类 29
3.3.7 词干和词根的区别 32
3.4 词法分析 32
3.4.1 词条 33
3.4.2 词性标注 33
3.4.3 导出词条的过程 33
3.4.4 词干提取和词形还原的区别 34
3.4.5 应用 34
3.5 句法分析 34
3.6 语义分析 36
3.6.1 语义分析概念 36
3.6.2 词级别的语义 37
3.6.3 上下位关系和多义词 37
3.6.4 语义分析的应用 38
3.7 消歧 38
3.7.1 词法歧义 38
3.7.2 句法歧义 39
3.7.3 语义歧义 39
3.7.4 语用歧义 39
3.8 篇章整合 40
3.9 语用分析 40
3.10 总结 40
第4章 预处理 42
4.1 处理原始语料库文本 42
4.1.1 获取原始文本 42
4.1.2 小写化转换 44
4.1.3 分句 44
4.1.4 原始文本词干提取 46
4.1.5 原始文本词形还原 46
4.1.6 停用词去除 48
4.2 处理原始语料库句子 50
4.2.1 词条化 50
4.2.2 单词词形还原 51
4.3 基础预处理 52
4.4 实践和个性化预处理 57
4.4.1 由你自己决定 57
4.4.2 预处理流程 57
4.4.3 预处理的类型 57
4.4.4 理解预处理的案例 57
4.5 总结 62
第5章 特征工程和NLP算法 63
5.1 理解特征工程 64
5.1.1 特征工程的定义 64
5.1.2 特征工程的目的 64
5.1.3 一些挑战 65
5.2 NLP中的基础特征 65
5.2.1 句法分析和句法分析器 65
5.2.2 词性标注和词性标注器 81
5.2.3 命名实体识别 85
5.2.4 n元语法 88
5.2.5 词袋 89
5.2.6 语义工具及资源 91
5.3 NLP中的基础统计特征 91
5.3.1 数学基础 92
5.3.2 TF-IDF 96
5.3.3 向量化 99
5.3.4 规范化 100
5.3.5 概率模型 101
5.3.6 索引 103
5.3.7 排序 103
5.4 特征工程的优点 104
5.5 特征工程面临的挑战 104
5.6 总结 104
第6章 高级特征工程和NLP算法 106
6.1 词嵌入 106
6.2 word2vec基础 106
6.2.1 分布语义 107
6.2.2 定义word2vec 108
6.2.3 无监督分布语义模型中的必需品 108
6.3 word2vec模型从黑盒到白盒 109
6.4 基于表示的分布相似度 110
6.5 word2vec模型的组成部分 111
6.5.1 word2vec的输入 111
6.5.2 word2vec的输出 111
6.5.3 word2vec模型的构建模块 111
6.6 word2vec模型的逻辑 113
6.6.1 词汇表构建器 114
6.6.2 上下文环境构建器 114
6.6.3 两层的神经网络 116
6.6.4 算法的主要流程 119
6.7 word2vec模型背后的算法和数学理论 120
6.7.1 word2vec算法中的基本数学理论 120
6.7.2 词汇表构建阶段用到的技术 121
6.7.3 上下文环境构建过程中使用的技术 122
6.8 神经网络算法 123
6.8.1 基本神经元结构 123
6.8.2 训练一个简单的神经元 124
6.8.3 单个神经元的应用 126
6.8.4 多层神经网络 127
6.8.5 反向传播算法 127
6.8.6 word2vec背后的数学理论 128
6.9 生成最终词向量和概率预测结果的技术 130
6.10 word2vec相关的一些事情 131
6.11 word2vec的应用 131
6.11.1 实现一些简单例子 132
6.11.2 word2vec的优势 133
6.11.3 word2vec的挑战 133
6.11.4 在实际应用中使用word2vec 134
6.11.5 何时使用word2vec 135
6.11.6 开发一些有意思的东西 135
6.11.7 练习 138
6.12 word2vec概念的扩展 138
6.12.1 para2vec 139
6.12.2 doc2vec 139
6.12.3 doc2vec的应用 140
6.12.4 GloVe 140
6.12.5 练习 141
6.13 深度学习中向量化的重要性 141
6.14 总结 142
第7章 规则式自然语言处理系统 143
7.1 规则式系统 144
7.2 规则式系统的目的 146
7.2.1 为何需要规则式系统 146
7.2.2 使用规则式系统的应用 147
7.2.3 练习 147
7.2.4 开发规则式系统需要的资源 147
7.3 规则式系统的架构 148
7.3.1 从专家系统的角度来看规则式系统的通用架构 149
7.3.2 NLP应用中的规则式系统的实用架构 150
7.3.3 NLP应用中的规则式系统的定制架构 152
7.3.4 练习 155
7.3.5 Apache UIMA架构 155
7.4 规则式系统的开发周期 156
7.5 规则式系统的应用 156
7.5.1 使用规则式系统的NLP应用 156
7.5.2 使用规则式系统的通用AI应用 157
7.6 使用规则式系统来开发NLP应用 157
7.6.1 编写规则的思维过程 158
7.6.2 基于模板的聊天机器人应用 165
7.7 规则式系统与其他方法的对比 168
7.8 规则式系统的优点 169
7.9 规则式系统的缺点 169
7.10 规则式系统面临的挑战 170
7.11 词义消歧的基础 170
7.12 规则式系统近期发展的趋势 171
7.13 总结 171
第8章 自然语言处理中的机器学习方法 172
8.1 机器学习的基本概念 172
8.2 自然语言处理应用的开发步骤 176
8.2.1 第一次迭代时的开发步骤 177
8.2.2 从第二次到第N次迭代的开发步骤 177
8.3 机器学习算法和其他概念 179
8.3.1 有监督机器学习方法 179
8.3.2 无监督机器学习方法 206
8.3.3 半监督机器学习算法 210
8.3.4 一些重要概念 211
8.3.5 特征选择 215
8.3.6 维度约减 219
8.4 自然语言处理中的混合方法 221
8.5 总结 221
第9章 NLU和NLG问题中的深度学习 223
9.1 人工智能概览 223
9.1.1 人工智能的基础 223
9.1.2 人工智能的阶段 225
9.1.3 人工智能的种类 227
9.1.4 人工智能的目标和应用 227
9.2 NLU和NLG之间的区别 232
9.2.1 自然语言理解 232
9.2.2 自然语言生成 232
9.3 深度学习概览 233
9.4 神经网络基础 234
9.4.1 神经元的第一个计算模型 235
9.4.2 感知机 236
9.4.3 理解人工神经网络中的数学概念 236
9.5 实现神经网络 249
9.5.1 单层反向传播神经网络 249
9.5.2 练习 251
9.6 深度学习和深度神经网络 251
9.6.1 回顾深度学习 251
9.6.2 深度神经网络的基本架构 251
9.6.3 NLP中的深度学习 252
9.6.4 传统NLP和深度学习NLP技术的区别 253
9.7 深度学习技术和NLU 255
9.8 深度学习技术和NLG 262
9.8.1 练习 262
9.8.2 菜谱摘要和标题生成 262
9.9 基于梯度下降的优化 265
9.10 人工智能与人类智能 269
9.11 总结 269
第10章 高级工具 270
10.1 使用Apache Hadoop作为存储框架 270
10.2 使用Apache Spark作为数据处理框架 272
10.3 使用Apache Flink作为数据实时处理框架 274
10.4 Python中的可视化类库 274
10.5 总结 275
第11章 如何提高你的NLP技能 276
11.1 开始新的NLP职业生涯 276
11.2 备忘列表 277
11.3 确定你的领域 277
11.4 通过敏捷的工作来实现成功 278
11.5 NLP和数据科学方面一些有用的博客 278
11.6 使用公开的数据集 278
11.7 数据科学领域需要的数学知识 278
11.8 总结 279
第12章 安装指导 280
12.1 安装Python、pip和NLTK 280
12.2 安装PyCharm开发环境 280
12.3 安装依赖库 280
12.4 框架安装指导 281
12.5 解决你的疑问 281
12.6 总结 281
· · · · · · (
收起)