目录
第1章 Python自然语言处理技术基础 1
1.1 体验自然语言处理技术 1
1.2 Linux基础 3
1.2.1 常用命令 3
1.2.2 Micro编辑器 5
1.3 开发环境 5
1.4 变量 6
1.5 注释 6
1.6 简单数据类型 6
1.6.1 数值 6
1.6.2 字符串 9
1.6.3 数组 10
1.7 字面值 11
1.8 控制流 11
1.8.1 if语句 12
1.8.2 循环 13
1.9 列表 14
1.10 元组 14
1.11 集合 16
1.12 字典 17
1.13 位数组 18
1.14 模块 19
1.15 函数 20
1.15.1 print函数 20
1.15.2 定义函数 22
1.16 面向对象编程 24
1.17 文件操作 26
1.17.1 读写文件 26
1.17.2 重命名文件 28
1.17.3 遍历文件 28
1.18 迭代器 29
1.18.1 zip函数 30
1.18.2 itertools模块 31
1.19 数据库 32
1.20 读取Excel文件 34
1.21 pytest单元测试 36
1.22 异常处理 37
1.23 日志 37
1.24 Flask Web框架 39
1.25 本章小结 40
第2章 中文分词原理与实现 41
2.1 切分方案 41
2.2 查找词典算法 42
2.2.1 标准检索树 42
2.2.2 三叉检索树 45
2.3 最长匹配中文分词 51
2.3.1 正向最大长度匹配法 51
2.3.2 逆向最大长度匹配法 53
2.4 概率语言模型的分词方法 57
2.4.1 一元模型 58
2.4.2 数据基础 67
2.4.3 二元词典 70
2.4.4 用二元连接改进一元模型 75
2.4.5 N元模型 79
2.4.6 N元分词 80
2.4.7 生成语言模型 84
2.4.8 评估语言模型 85
2.4.9 有限状态机识别未登录串 87
2.4.10 概率分词的流程与结构 94
2.5 词性标注 95
2.5.1 数据基础 99
2.5.2 隐马尔可夫模型 99
2.5.3 存储数据 108
2.5.4 整合切分与词性标注 114
2.5.5 基于转换的错误学习方法 118
2.6 词类模型 119
2.7 命名实体识别 120
2.7.1 人名识别 121
2.7.2 地名识别 140
2.8 地名切分 140
2.8.1 识别未登录地名 141
2.8.2 整体流程 145
2.9 结果评测 147
2.10 本章小结 148
第3章 文档分析 150
3.1 自动校对 150
3.1.1 读取Word文档 150
3.1.2 ARPA文件格式 151
3.1.3 使用KenLM语言模型工具包 157
3.1.4 拼写纠错 161
3.1.5 模糊匹配问题 162
3.1.6 正确词表 172
3.1.7 英文拼写检查 173
3.1.8 中文拼写检查 174
3.2 句子结构分析 175
3.2.1 句法分析树 175
3.2.2 依存文法 180
3.2.3 中文依存文法 180
3.2.4 英文依存文法 185
3.2.5 机器学习的方法 196
3.3 本章小结 196
第4章 文档排重 197
4.1 相似度计算 197
4.1.1 夹角余弦 198
4.1.2 最长公共子串 203
4.1.3 同义词替换 205
4.2 SimHash文档排重 206
4.3 本章小结 213
第5章 信息提取 214
5.1 指代消解 214
5.2 关键词提取 216
5.2.1 关键词提取的TF-IDF算法 216
5.2.2 textrank算法 218
5.2.3 从网页中提取关键词 221
5.3 从互联网提取信息 222
5.4 从日期字符串提取信息 223
5.5 本章小结 223
第6章 自动摘要 224
6.1 自动摘要技术 224
6.1.1 英文文本摘要 226
6.1.2 中文文本摘要 229
6.1.3 基于篇章结构的自动摘要 231
6.1.4 句子压缩 231
6.2 评测 232
6.3 本章小结 233
第7章 文本分类 234
7.1 朴素贝叶斯 235
7.2 TensorFlow实现文本分类 240
7.3 本章小结 242
第8章 情感分析 243
8.1 情感词 246
8.1.1 确定词语的褒贬倾向 246
8.1.2 匹配情感词 247
8.2 情感识别 248
8.3 本章小结 248
第9章 语音识别 249
9.1 语音信号处理 249
9.1.1 WAV文件格式 249
9.1.2 语音活动检测 250
9.2 JSGF语言模型 251
9.3 DeepSpeech语音识别引擎 253
9.4 强制对齐 254
9.5 本章小结 256
第10章 开发聊天机器人 257
10.1 问答系统 257
10.1.1 问句类型 258
10.1.2 答案提取 259
10.2 AIML聊天机器人 259
10.3 意图 261
10.4 使用DeepPavlov构建对话系统 266
10.5 本章小结 267
第11章 机器翻译 268
11.1 语言检测 268
11.2 信道模型 268
11.3 词表 269
11.4 词义消歧 270
11.5 词对齐 271
11.6 神经网络机器翻译 276
11.7 机器翻译的评价 286
11.8 本章小结 286
后记 287
参考文献 288
参考网址 288