商品详情
书名:自然语言处理入门
定价:99.0
ISBN:9787115519764
作者:何晗
版次:第1版
出版时间:2019-10
内容提要:
这是一本务实的入门书,助你零起点上手自然语言处理。
HanLP 作者何晗汇集多年经验,从基本概念出发,逐步介绍中文分词、词性标注、命名实体识别、信息
抽取、文本聚类、文本分类、句法分析这几个热门问题的算法原理与工程实现。书中通过对多种算法的
讲解,比较了它们的优缺点和适用场景,同时详细演示生产级成熟代码,助你真正将自然语言处理应用
在生产环境中。
随着本书的学习,你将从普通程序员晋级为机器学习工程师,*后进化到自然语言处理工程师。
作者简介:
何晗(@hankcs)
自然语言处理类库 HanLP 作者(GitHub 加星超过 14 600),“码农场”博主(日活跃读者数超过 3000),埃默里大学计算机博士生,研究方向是句法分析、语义分析与问答系统。
HanLP 和“码农场”是 NLP 领域实用的学习资源,何晗大约每周处理一次 HanLP GitHub上的 Issues。
目录:
第 1 章 新手上路 1
1.1 自然语言与编程语言 . 2
1.1.1 词汇量 . 2
1.1.2 结构化 . 2
1.1.3 歧义性 . 3
1.1.4 容错性 . 3
1.1.5 易变性 . 4
1.1.6 简略性 . 4
1.2 自然语言处理的层次 . 4
1.2.1 语音、图像和文本 .. 5
1.2.2 中文分词、词性标注和命名实体
识别 . 5
1.2.3 信息抽取 . 6
1.2.4 文本分类与文本聚类 .. 6
1.2.5 句法分析 . 6
1.2.6 语义分析与篇章分析 .. 7
1.2.7 其他*级任务 7
1.3 自然语言处理的流派 . 8
1.3.1 基于规则的专家系统 .. 8
1.3.2 基于统计的学习方法 .. 9
1.3.3 历史 . 9
1.3.4 规则与统计 . 11
1.3.5 传统方法与深度学习 11
1.4 机器学习 .. 12
1.4.1 什么是机器学习 13
1.4.2 模型 .. 13
1.4.3 特征 .. 13
1.4.4 数据集 .. 15
1.4.5 监督学习 .. 16
1.4.6 无监督学习 . 17
1.4.7 其他类型的机器学习算法 .. 18
1.5 语料库 19
1.5.1 中文分词语料库 19
1.5.2 词性标注语料库 19
1.5.3 命名实体识别语料库 20
1.5.4 句法分析语料库 20
1.5.5 文本分类语料库 20
1.5.6 语料库建设 . 21
1.6 开源工具 .. 21
1.6.1 主流NLP 工具比较 .. 21
1.6.2 Python 接口 23
1.6.3 Java 接口 . 28
1.7 总结 . 31
第 2 章 词典分词 32
2.1 什么是词 .. 32
2.1.1 词的定义 .. 32
2.1.2 词的性质--齐夫定律 .. 33
2.2 词典 . 34
2.2.1 HanLP 词典 . 34
2.2.2 词典的加载 . 34
2.3 切分算法 .. 36
2.3.1 完全切分 .. 36
2.3.2 正向*长匹配 . 37
2.3.3 逆向*长匹配 . 39
2.3.4 双向*长匹配 . 40
2.3.5 速度评测 .. 43
2.4 字典树 46
2.4.1 什么是字典树 . 46
2.4.2 字典树的节点实现 47
2.4.3 字典树的增删改查实现 .. 48
2.4.4 首字散列其余二分的字典树 . 50
2.4.5 前缀树的妙用 . 53
2.5 双数组字典树 55
2.5.1 双数组的定义 . 55
2.5.2 状态转移 .. 56
2.5.3 查询 .. 56
2.5.4 构造* 57
2.5.5 全切分与*长匹配 60
2.6 AC 自动机 .. 60
2.6.1 从字典树到AC 自动机 61
2.6.2 goto 表 61
2.6.3 output 表 .. 62
2.6.4 fail 表 63
2.6.5 实现 .. 65
2.7 基于双数组字典树的AC 自动机 . 67
2.7.1 原理 .. 67
2.7.2 实现 .. 67
2.8 HanLP 的词典分词实现 71
2.8.1 DoubleArrayTrieSegment 72
2.8.2 AhoCorasickDoubleArrayTrie-
Segment . 73
2.9 准确率评测 . 74
2.9.1 准确率 .. 74
2.9.2 混淆矩阵与TP/FN/FP/TN .. 75
2.9.3 *确率 .. 76
2.9.4 召回率 .. 76
2.9.5 F1 值 .. 77
2.9.6 中文分词中的P、R、F1 计算 .. 77
2.9.7 实现 .. 78
2.9.8 *二届国际中文分词评测 .. 79
2.9.9 OOV Recall Rate 与IV Recall Rate . 81
2.10 字典树的其他应用 . 83
2.10.1 停用词过滤 .. 83
2.10.2 简繁转换 87
2.10.3 拼音转换 90
2.11 总结 . 91
第3 章 二元语法与中文分词 . 92
3.1 语言模型 .. 92
3.1.1 什么是语言模型 92
3.1.2 马尔可夫链与二元语法 .. 94
3.1.3 n 元语法 .. 95
3.1.4 数据稀疏与平滑策略 96
3.2 中文分词语料库 . 96
3.2.1 1998 年《人民日报》语料库PKU . 97
3.2.2 微软亚洲研究院语料库MSR 98
3.2.3 繁体中文分词语料库 98
3.2.4 语料库统计 . 99
3.3 训练 . 100
3.3.1 加载语料库 .. 101
3.3.2 统计一元语法 .. 101
3.3.3 统计二元语法 .. 103
3.4 预测 .. 104
3.4.1 加载模型 104
3.4.2 构建词网 107
3.4.3 节点间的距离计算 111
3.4.4 词图上的维特比算法 . 112
3.4.5 与用户词典的集成 115
3.5 评测 .. 118
3.5.1 标准化评测 .. 118
3.5.2 误差分析 118
3.5.3 调整模型 119
3.6 日语分词 122
3.6.1 日语分词语料 .. 122
3.6.2 训练日语分词器 . 123
3.7 总结 .. 124
第4 章 隐马尔可夫模型与序列标注 . 125
4.1 序列标注问题 . 125
4.1.1 序列标注与中文分词 . 126
4.1.2 序列标注与词性标注 . 127
4.1.3 序列标注与命名实体识别 128
4.2 隐马尔可夫模型 .. 129
4.2.1 从马尔可夫假设到隐马尔可夫
模型 129
4.2.2 初始状态概率向量 . 130
4.2.3 状态转移概率矩阵 . 131
4.2.4 发射概率矩阵 .. 132
4.2.5 隐马尔可夫模型的三个基本用法 .. 133
4.3 隐马尔可夫模型的样本生成 133
4.3.1 案例--医疗诊断 . 133
4.3.2 样本生成算法 .. 136
4.4 隐马尔可夫模型的训练 .. 138
4.4.1 转移概率矩阵的估计 . 138
4.4.2 初始状态概率向量的估计 139
4.4.3 发射概率矩阵的估计 . 140
4.4.4 验证样本生成与模型训练 141
4.5 隐马尔可夫模型的预测 .. 142
4.5.1 概率计算的前向算法 . 142
4.5.2 搜索状态序列的维特比算法 .. 143
4.6 隐马尔可夫模型应用于中文分词 . 147
4.6.1 标注集 148
4.6.2 字符映射 149
4.6.3 语料转换 150
4.6.4 训练 151
4.6.5 预测 152
4.6.6 评测 153
4.6.7 误差分析 154
4.7 二阶隐马尔可夫模型* 154
4.7.1 二阶转移概率张量的估计 155
4.7.2 二阶隐马尔可夫模型中的维特比
算法 156
4.7.3 二阶隐马尔可夫模型应用于中文
分词 158
4.8 总结 .. 159
第5 章 感知机分类与序列标注 . 160
5.1 分类问题 160
5.1.1 定义 160
5.1.2 应用 161
5.2 线性分类模型与感知机算法 161
5.2.1 特征向量与样本空间 . 162
5.2.2 决策边界与分离超平面 164
5.2.3 感知机算法 .. 167
5.2.4 损失函数与随机梯度下降* 169
5.2.5 投票感知机和平均感知机 171
5.3 基于感知机的人名性别分类 174
5.3.1 人名性别语料库 . 174
5.3.2 特征提取 174
5.3.3 训练 175
5.3.4 预测 176
5.3.5 评测 177
5.3.6 模型调优 178
5.4 结构化预测问题 .. 180
5.4.1 定义 180
5.4.2 结构化预测与学习的流程 180
5.5 线性模型的结构化感知机算法 .. 180
5.5.1 结构化感知机算法 . 180
5.5.2 结构化感知机与序列标注 182
5.5.3 结构化感知机的维特比解码算法 .. 183
5.6 基于结构化感知机的中文分词 .. 186
5.6.1 特征提取 187
5.6.2 多线程训练 .. 189
5.6.3 特征裁剪与模型压缩* . 190
5.6.4 创建感知机分词器 . 192
5.6.5 准确率与性能 .. 194
5.6.6 模型调整与在线学习* . 195
5.6.7 中文分词特征工程* . 197
5.7 总结 .. 199
第6 章 条件随机场与序列标注 . 200
6.1 机器学习的模型谱系 200
6.1.1 生成式模型与判别式模型 201
6.1.2 有向与无向概率图模型 202
6.2 条件随机场 .. 205
6.2.1 线性链条件随机场 . 205
6.2.2 条件随机场的训练* 207
6.2.3 对比结构化感知机 . 210
6.3 条件随机场工具包 . 212
6.3.1 CRF++ 的安装 212
6.3.2 CRF++ 语料格式 213
6.3.3 CRF++ 特征模板 214
6.3.4 CRF++ 命令行训练 215
6.3.5 CRF++ 模型格式* 216
6.3.6 CRF++ 命令行预测 217
6.3.7 CRF++ 代码分析* 218
6.4 HanLP 中的CRF++ API 220
6.4.1 训练分词器 .. 220
6.4.2 标准化评测 .. 220
6.5 总结 .. 221
第7 章 词性标注 . 222
7.1 词性标注概述 . 222
7.1.1 什么是词性 .. 222
7.1.2 词性的用处 .. 223
7.1.3 词性标注 223
7.1.4 词性标注模型 .. 223
7.2 词性标注语料库与标注集 . 224
7.2.1 《人民日报》语料库与PKU 标注集 .. 225
7.2.2 国家语委语料库与863 标注集 . 231
7.2.3 《诛仙》语料库与CTB 标注集 .. 234
7.3 序列标注模型应用于词性标注 .. 236
7.3.1 基于隐马尔可夫模型的词性标注 .. 237
7.3.2 基于感知机的词性标注 238
7.3.3 基于条件随机场的词性标注 .. 240
7.3.4 词性标注评测 .. 241
7.4 自定义词性 .. 242
7.4.1 朴素实现 242
7.4.2 标注语料 243
7.5 总结 .. 244
第8 章 命名实体识别 . 245
8.1 概述 .. 245
8.1.1 命名实体 245
8.1.2 命名实体识别 .. 245
8.2 基于规则的命名实体识别 . 246
8.2.1 基于规则的音译人名识别 247
8.2.2 基于规则的日本人名识别 248
8.2.3 基于规则的数词英文识别 249
8.3 命名实体识别语料库 .. 250
8.3.1 1998 年《人民日报》语料库 . 250
8.3.2 微软命名实体识别语料库 251
8.4 基于层叠隐马尔可夫模型的角色
标注框架 252
8.4.1 基于角色标注的中国人名识别 .. 252
8.4.2 基于角色标注的地名识别 .. 257
8.4.3 基于角色标注的机构名识别 .. 258
8.5 基于序列标注的命名实体识别 .. 260
8.5.1 特征提取 261
8.5.2 基于隐马尔可夫模型序列标注的
命名实体识别 .. 262
8.5.3 基于感知机序列标注的命名实体
识别 264
8.5.4 基于条件随机场序列标注的命名
实体识别 265
8.5.5 命名实体识别标准化评测 265
8.6 自定义领域命名实体识别 . 266
8.6.1 标注领域命名实体识别语料库 .. 267
8.6.2 训练领域模型 .. 267
8.7 总结 .. 268
第9 章 信息抽取 . 270
9.1 新词提取 270
9.1.1 概述 270
9.1.2 基本原理 270
9.1.3 信息熵 271
9.1.4 互信息 272
9.1.5 实现 273
9.2 关键词提取 .. 276
9.2.1 词频统计 277
9.2.2 TF-IDF .. 278
9.2.3 TextRank .. 280
9.3 短语提取 283
9.4 关键句提取 .. 284
9.4.1 BM25 . 284
9.4.2 TextRank .. 285
9.5 总结 .. 287
第 10 章 文本聚类 . 288
10.1 概述 .. 288
10.1.1 聚类 288
10.1.2 聚类的应用 .. 290
10.1.3 文本聚类 290
10.2 文档的特征提取 291
10.2.1 词袋模型 291
10.2.2 词袋中的统计指标 . 293
10.3 k 均值算法 293
10.3.1 基本原理 294
10.3.2 初始质心的选取 . 294
10.3.3 更快的准则函数 . 297
10.3.4 实现 298
10.4 重复二分聚类算法 .. 300
10.4.1 基本原理 300
10.4.2 自动判断聚类个数k .. 301
10.4.3 实现 302
10.5 标准化评测 .. 303
10.5.1 P、R 和F1 值 .. 303
10.5.2 语料库 304
10.5.3 评测试验 305
10.6 总结 .. 305
第 11 章 文本分类 . 306
11.1 文本分类的概念 306
11.2 文本分类语料库 307
11.3 文本分类的特征提取 . 308
11.3.1 分词 309
11.3.2 卡方特征选择 .. 309
11.3.3 词袋向量 312
11.4 朴素贝叶斯分类器 .. 312
11.4.1 朴素贝叶斯法原理 . 312
11.4.2 朴素贝叶斯文本分类器实现 .. 314
11.5 支持向量机分类器 .. 317
11.5.1 线性支持向量机* .. 317
11.5.2 线性支持向量机文本分类器
实现 319
11.6 标准化评测 .. 320
11.6.1 评测指标P、R、F1 320
11.6.2 试验结果 321
11.7 情感分析 321
11.7.1 ChnSentiCorp 情感分析语
料库 322
11.7.2 训练情感分析模型 . 322
11.7.3 拓展试验 323
11.8 总结 .. 323
第 12 章 依存句法分析 . 324
12.1 短语结构树 .. 324
12.1.1 上下文无关文法 . 324
12.1.2 短语结构树 .. 325
12.1.3 宾州树库和中文树库 . 326
12.2 依存句法树 .. 327
12.2.1 依存句法理论 .. 327
12.2.2 中文依存句法树库 . 328
12.2.3 依存句法树的可视化 . 331
12.3 依存句法分析 . 333
12.3.1 基于图的依存句法分析 333
12.3.2 基于转移的依存句法分析 333
12.4 基于转移的依存句法分析 .. 334
12.4.1 Arc-Eager 转移系统 . 334
12.4.2 特征提取 336
12.4.3 Static 和Dynamic Oracle 337
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...