第1章 自然语言基础 1
1.1 自然语言 2
1.1.1 什么是自然语言 2
1.1.2 语言哲学 2
1.1.3 语言习得和用法 4
1.2 语言学 6
1.3 语言句法和结构 7
1.3.1 词 8
1.3.2 短语 9
1.3.3 从句 10
1.3.4 语法 11
1.3.5 语序类型学 17
1.4 语言语义 17
1.4.1 词汇语义关系 18
1.4.2 语义网络和模型 20
1.4.3 语义表示 21
1.5 文本语料库 27
1.5.1 文本语料库标注及使用 27
1.5.2 热门的语料库 28
1.5.3 访问文本语料库 29
1.6 自然语言处理 33
1.6.1 机器翻译 33
1.6.2 语音识别系统 34
1.6.3 问答系统 34
1.6.4 语境识别与消解 34
1.6.5 文本摘要 35
1.6.6 文本分类 35
1.7 文本分析 35
1.8 小结 36
第2章 Python语言回顾 37
2.1 了解Python 37
2.1.1 Python之禅 39
2.1.2 应用:何时使用Python 40
2.1.3 缺点:何时不用Python 41
2.1.4 Python实现和版本 42
2.2 安装和设置 43
2.2.1 用哪个Python版本 43
2.2.2 用哪个操作系统 44
2.2.3 集成开发环境 44
2.2.4 环境设置 44
2.2.5 虚拟环境 46
2.3 Python句法和结构 48
2.4 数据结构和类型 50
2.4.1 数值类型 51
2.4.2 字符串 52
2.4.3 列表 53
2.4.4 集合 54
2.4.5 字典 55
2.4.6 元组 56
2.4.7 文件 56
2.4.8 杂项 57
2.5 控制代码流 57
2.5.1 条件结构 57
2.5.2 循环结构 58
2.5.3 处理异常 60
2.6 函数编程 61
2.6.1 函数 61
2.6.2 递归函数 62
2.6.3 匿名函数 63
2.6.4 迭代器 63
2.6.5 分析器 64
2.6.6 生成器 66
2.6.7 itertools和functools模块 67
2.7 类 67
2.8 使用文本 69
2.8.1 字符串文字 69
2.8.2 字符串操作和方法 70
2.9 文本分析框架 77
2.10 小结 77
第3章 处理和理解文本 79
3.1 文本切分 80
3.1.1 句子切分 80
3.1.2 词语切分 83
3.2 文本规范化 85
3.2.1 文本清洗 85
3.2.2 文本切分 86
3.2.3 删除特殊字符 86
3.2.4 扩展缩写词 87
3.2.5 大小写转换 88
3.2.6 删除停用词 89
3.2.7 词语校正 89
3.2.8 词干提取 95
3.2.9 词形还原 97
3.3 理解文本句法和结构 98
3.3.1 安装必要的依赖项 99
3.3.2 机器学习重要概念 100
3.3.3 词性标注 100
3.3.4 浅层分析 106
3.3.5 基于依存关系的分析 114
3.3.6 基于成分结构的分析 118
3.4 小结 123
第4章 文本分类 124
4.1 什么是文本分类 125
4.2 自动文本分类 126
4.3 文本分类的蓝图 128
4.4 文本规范化处理 129
4.5 特征提取 132
4.5.1 词袋模型 133
4.5.2 TF-IDF模型 134
4.5.3 高级词向量模型 139
4.6 分类算法 143
4.6.1 多项式朴素贝叶斯 144
4.6.2 支持向量机 145
4.7 评估分类模型 147
4.8 建立一个多类分类系统 150
4.9 应用 158
4.10 小结 158
第5章 文本摘要 159
5.1 文本摘要和信息提取 160
5.2 重要概念 161
5.2.1 文档 161
5.2.2 文本规范化 161
5.2.3 特征提取 161
5.2.4 特征矩阵 161
5.2.5 奇异值分解 162
5.3 文本规范化 163
5.4 特征提取 164
5.5 关键短语提取 165
5.5.1 搭配 165
5.5.2 基于权重标签的短语提取 168
5.6 主题建模 171
5.6.1 隐含语义索引 172
5.6.2 隐含Dirichlet分布 176
5.6.3 非负矩阵分解 179
5.6.4 从产品评论中提取主题 180
5.7 自动文档摘要 183
5.7.1 隐含语义分析 185
5.7.2 TextRank算法 187
5.7.3 生成产品说明摘要 190
5.8 小结 191
第6章 文本相似度和聚类 193
6.1 重要概念 194
6.1.1 信息检索 194
6.1.2 特征工程 194
6.1.3 相似度测量 194
6.1.4 无监督的机器学习算法 195
6.2 文本规范化 195
6.3 特征提取 196
6.4 文本相似度 197
6.5 词项相似度分析 198
6.5.1 汉明距离 200
6.5.2 曼哈顿距离 201
6.5.3 欧几里得距离 202
6.5.4 莱文斯坦编辑距离 202
6.5.5 余弦距离和相似度 206
6.6 文档相似度分析 207
6.6.1 余弦相似度 209
6.6.2 海灵格-巴塔恰亚距离 210
6.6.3 Okapi BM25排名 212
6.7 文档聚类 215
6.8 最佳影片聚类分析 217
6.8.1 k-means聚类 219
6.8.2 近邻传播聚类 224
6.8.3 沃德凝聚层次聚类 227
6.9 小结 230
第7章 语义与情感分析 232
7.1 语义分析 233
7.2 探索WordNet 233
7.2.1 理解同义词集 234
7.2.2 分析词汇的语义关系 235
7.3 词义消歧 240
7.4 命名实体识别 241
7.5 分析语义表征 244
7.5.1 命题逻辑 244
7.5.2 一阶逻辑 245
7.6 情感分析 249
7.7 IMDb电影评论的情感分析 249
7.7.1 安装依赖程序包 250
7.7.2 准备数据集 252
7.7.3 有监督的机器学习技术 253
7.7.4 无监督的词典技术 256
7.7.5 模型性能比较 271
7.8 小结 272