第1章 语言处理与Python 1
1.1 语言计算:文本和词汇 1
1.2 近观Python:将文本当做词链表 10
1.3 计算语言:简单的统计 17
1.4 回到Python:决策与控制 24
1.5 自动理解自然语言 29
1.6 小结 35
1.7 深入阅读 36
1.8 练习 37
第2章 获得文本语料和词汇资源 41
2.1 获取文本语料库 41
2.2 条件频率分布 55
2.3 更多关于Python:代码重用 60
2.4 词典资源 63
2.5 WordNet 72
2.6 小结 78
2.7 深入阅读 79
2.8 练习 80
第3章 处理原始文本 84
3.1 从网络和硬盘访问文本 84
3.2 字符串:最底层的文本处理 93
3.3 使用Unicode进行文字处理 100
3.4 使用正则表达式检测词组搭配 105
3.5 正则表达式的有益应用 109
3.6 规范化文本 115
3.7 用正则表达式为文本分词 118
3.8 分割 121
3.9 格式化:从链表到字符串 126
3.10 小结 132
3.11 深入阅读 133
3.12 练习 134
第4章 编写结构化程序 142
4.1 回到基础 142
4.2 序列 147
4.3 风格的问题 152
4.4 函数:结构化编程的基础 156
4.5 更多关于函数 164
4.6 程序开发 169
4.7 算法设计 175
4.8 Python库的样例 183
4.9 小结 188
4.10 深入阅读 189
4.11 练习 189
第5章 分类和标注词汇 195
5.1 使用词性标注器 195
5.2 标注语料库 197
5.3 使用Python字典映射词及其属性 206
5.4 自动标注 216
5.5 N-gram标注 221
5.6 基于转换的标注 228
5.7 如何确定一个词的分类 230
5.8 小结 233
5.9 深入阅读 234
5.10 练习 235
第6章 学习分类文本 241
6.1 监督式分类 241
6.2 监督式分类的举例 254
6.3 评估 258
6.4 决策树 263
6.5 朴素贝叶斯分类器 266
6.6 最大熵分类器 271
6.7 为语言模式建模 275
6.8 小结 276
6.9 深入阅读 277
6.10 练习 278
第7章 从文本提取信息 281
7.1 信息提取 281
7.2 分块 284
7.3 开发和评估分块器 291
7.4 语言结构中的递归 299
7.5 命名实体识别 302
7.6 关系抽取 306
7.7 小结 307
7.8 深入阅读 308
7.9 练习 308
第8章 分析句子结构 312
8.1 一些语法困境 312
8.2 文法的用途 316
8.3 上下文无关文法 319
8.4 上下文无关文法分析 323
8.5 依存关系和依存文法 332
8.6 文法开发 336
8.7 小结 343
8.8 深入阅读 344
8.9 练习 344
第9章 建立基于特征的文法 349
9.1 文法特征 349
9.2 处理特征结构 359
9.3 扩展基于特征的文法 367
9.4 小结 379
9.5 深入阅读 380
9.6 练习 381
第10章 分析语句的含义 384
10.1 自然语言理解 384
10.2 命题逻辑 391
10.3 一阶逻辑 395
10.4 英语语句的语义 409
10.5 段落语义层 422
10.6 小结 428
10.7 深入阅读 429
10.8 练习 430
第11章 语言数据管理 434
11.1 语料库结构:案例研究 434
11.2 语料库生命周期 439
11.3 数据采集 443
11.4 使用XML 452
11.5 使用Toolbox数据 459
11.6 使用OLAC元数据描述语言资源 463
11.7 小结 466
11.8 深入阅读 466
11.9 练习 467
后记 470
参考文献 476