第1章 字符串操作 1
1.1 切分 1
1.1.1 将文本切分为语句 2
1.1.2 其他语言文本的切分 2
1.1.3 将句子切分为单词 3
1.1.4 使用TreebankWordTokenizer执行切分 4
1.1.5 使用正则表达式实现切分 5
1.2 标准化 8
1.2.1 消除标点符号 8
1.2.2 文本的大小写转换 9
1.2.3 处理停止词 9
1.2.4 计算英语中的停止词 10
1.3 替换和校正标识符 11
1.3.1 使用正则表达式替换单词 11
1.3.2 用其他文本替换文本的示例 12
1.3.3 在执行切分前先执行替换操作 12
1.3.4 处理重复字符 13
1.3.5 去除重复字符的示例 13
1.3.6 用单词的同义词替换 14
1.3.7 用单词的同义词替换的示例 15
1.4 在文本上应用Zipf定律 15
1.5 相似性度量 16
1.5.1 使用编辑距离算法执行相似性度量 16
1.5.2 使用Jaccard系数执行相似性度量 18
1.5.3 使用Smith Waterman距离算法执行相似性度量 19
1.5.4 其他字符串相似性度量 19
1.6 小结 20
第2章 统计语言建模 21
2.1 理解单词频率 21
2.1.1 为给定的文本开发MLE 25
2.1.2 隐马尔科夫模型估计 32
2.2 在MLE模型上应用平滑 34
2.2.1 加法平滑 34
2.2.2 Good Turing平滑 35
2.2.3 Kneser Ney平滑 40
2.2.4 Witten Bell平滑 41
2.3 为MLE开发一个回退机制 41
2.4 应用数据的插值以便获取混合搭配 42
2.5 通过复杂度来评估语言模型 42
2.6 在语言建模中应用Metropolis-Hastings算法 43
2.7 在语言处理中应用Gibbs采样法 43
2.8 小结 46
第3章 形态学:在实践中学习 47
3.1 形态学简介 47
3.2 理解词干提取器 48
3.3 理解词形还原 51
3.4 为非英文语言开发词干提取器 52
3.5 形态分析器 54
3.6 形态生成器 56
3.7 搜索引擎 56
3.8 小结 61
第4章 词性标注:单词识别 62
4.1 词性标注简介 62
默认标注 67
4.2 创建词性标注语料库 68
4.3 选择一种机器学习算法 70
4.4 涉及n-gram的统计建模 72
4.5 使用词性标注语料库开发分块器 78
4.6 小结 80
第5章 语法解析:分析训练资料 81
5.1 语法解析简介 81
5.2 Treebank建设 82
5.3 从Treebank提取上下文无关文法规则 87
5.4 从CFG创建概率上下文无关文法 93
5.5 CYK线图解析算法 94
5.6 Earley线图解析算法 96
5.7 小结 102
第6章 语义分析:意义很重要 103
6.1 语义分析简介 103
6.1.1 NER简介 107
6.1.2 使用隐马尔科夫模型的NER系统 111
6.1.3 使用机器学习工具包训练NER 117
6.1.4 使用词性标注执行NER 117
6.2 使用Wordnet生成同义词集id 119
6.3 使用Wordnet进行词义消歧 122
6.4 小结 127
第7章 情感分析:我很快乐 128
7.1 情感分析简介 128
7.1.1 使用NER执行情感分析 134
7.1.2 使用机器学习执行情感分析 134
7.1.3 NER系统的评估 141
7.2 小结 159
第8章 信息检索:访问信息 160
8.1 信息检索简介 160
8.1.1 停止词删除 161
8.1.2 使用向量空间模型进行信息检索 163
8.2 向量空间评分及查询操作符关联 170
8.3 使用隐性语义索引开发IR系统 173
8.4 文本摘要 174
8.5 问答系统 176
8.6 小结 177
第9章 语篇分析:理解才是可信的 178
9.1 语篇分析简介 178
9.1.1 使用中心理论执行语篇分析 183
9.1.2 指代消解 184
9.2 小结 188
第10章 NLP系统评估:性能分析 189
10.1 NLP系统评估要点 189
10.1.1 NLP工具的评估(词性标注器、词干提取器及形态分析器) 190
10.1.2 使用黄金数据执行解析器评估 200
10.2 IR系统的评估 201
10.3 错误识别指标 202
10.4 基于词汇搭配的指标 202
10.5 基于句法匹配的指标 207
10.6 使用浅层语义匹配的指标 207
10.7 小结 208