《Java自然语言处理》(美)理查德M.里斯 | PDF下载|ePub下载
Java自然语言处理 版权信息
- 出版社:机械工业出版社
- 出版时间:2018-03-01
- ISBN:9787111592112
- 条形码:9787111592112 ; 978-7-111-59211-2
Java自然语言处理 本书特色
自然语言处理(NLP)是应用程序开发的重要领域,在解决实际问题中起着越来越重要的作用。NLP任务支持的自然语言可访问应用程序需求显著增。本书将探索如何使用诸如全文本搜索、专有名称识别、聚类、标记、信息提取、汇总等方法自主组织文本。书中涵盖了NLP的概念,即使没有统计或自然语言处理背景的人也可以理解它。
Java自然语言处理 内容简介
自然语言处理(NLP)是应用程序开发的重要领域,在解决实际问题中起着越来越重要的作用。NLP任务支持的自然语言可访问应用程序需求显著增。本书将探索如何使用诸如全文本搜索、专有名称识别、聚类、标记、信息提取、汇总等方法自主组织文本。书中涵盖了NLP的概念,即使没有统计或自然语言处理背景的人也可以理解它。
Java自然语言处理 目录
CONTENTS
目 录
译者序
作者简介
审校者简介
前言
第1章 NLP简介 1
1.1 什么是NLP 2
1.2 为何使用NLP 3
1.3 NLP的难点 4
1.4 NLP工具汇总 5
1.4.1 Apache OpenNLP 6
1.4.2 Stanford NLP 7
1.4.3 LingPipe 9
1.4.4 GATE 10
1.4.5 UIMA 10
1.5 文本处理概览 10
1.5.1 文本分词 11
1.5.2 文本断句 12
1.5.3 人物识别 14
1.5.4 词性判断 16
1.5.5 文本分类 17
1.5.6 关系提取 18
1.5.7 方法组合 20
1.6 理解NLP模型 20
1.6.1 明确目标 20
1.6.2 选择模型 21
1.6.3 构建、训练模型 21
1.6.4 验证模型 22
1.6.5 使用模型 22
1.7 准备数据 22
1.8 本章小结 24
第2章 文本分词 25
2.1 理解文本分词 25
2.2 什么是分词 26
2.3 一些简单的Java分词器 28
2.3.1 使用Scanner类 29
2.3.2 使用split方法 30
2.3.3 使用BreakIterator类 31
2.3.4 使用StreamTokenizer类 32
2.3.5使用StringTokenizer类 34
2.3.6使用Java核心分词法的性能考虑 34
2.4NLP分词器的API 34
2.4.1使用OpenNLPTokenizer类分词器 35
2.4.2使用Stanford分词器 37
2.4.3训练分词器进行文本分词 41
2.4.4分词器的比较 44
2.5理解标准化处理 45
2.5.1转换为小写字母 45
2.5.2去除停用词 46
2.5.3词干化 49
2.5.4词形还原 51
2.5.5使用流水线进行标准化处理 54
2.6本章小结 55
第3章 文本断句 56
3.1SBD方法 56
3.2SBD难在何处 57
3.3理解LingPipe的HeuristicSen-tenceModel类的SBD规则 59
3.4简单的Java SBD 60
3.4.1使用正则表达式 60
3.4.2使用BreakIterator类 62
3.5使用NLP API 63
3.5.1使用OpenNLP 64
3.5.2使用Stanford API 66
3.5.3使用LingPipe 74
3.6训练文本断句模型 78
3.6.1使用训练好的模型 80
3.6.2使用SentenceDetector-Evaluator类评估模型 81
3.7本章小结 82
第4章 人物识别 83
4.1NER难在何处 84
4.2NER的方法 84
4.2.1列表和正则表达式 85
4.2.2统计分类器 85
4.3使用正则表达式进行NER 86
4.3.1使用Java的正则表达式来寻找实体 86
4.3.2使用LingPipe的RegEx-Chunker类 88
4.4使用NLP API 89
4.4.1使用OpenNLP进行NER 89
4.4.2使用Stanford API进行NER 95
4.4.3使用LingPipe进行NER 96
4.5训练模型 100
4.6本章小结 103
第5章 词性判断 104
5.1词性标注 104
5.1.1词性标注器的重要性 107
5.1.2词性标注难在何处 107
5.2使用NLP API 109
5.2.1使用OpenNLP词性标注器 110
5.2.2使用Stanford词性标注器 118
5.2.3使用LingPipe词性标注器 125
5.2.4训练OpenNLP词性标注模型 129
5.3本章小结 131
第6章 文本分类 132
6.1文本分类问题 132
6.2情感分析介绍 134
6.3文本分类技术 135
6.4使用API进行文本分类 136
6.4.1OpenNLP的使用 136
6.4.2Stanford API的使用 140
6.4.3使用LingPipe进行文本分类 145
6.5本章小结 152
第7章 关系提取 153
7.1关系类型 154
7.2理解解析树 155
7.3关系提取的应用 156
7.4关系提取 159
7.5使用NLP API 159
7.5.1OpenNLP的使用 159
7.5.2使用Stanford API 162
7.5.3判断共指消解的实体 166
7.6问答系统的关系提取 168
7.6.1判断单词依赖关系 169
7.6.2判断问题类型 170
7.6.3搜索答案 171
7.7本章小结 173
第8章 方法组合 174
8.1准备数据 175
8.1.1使用Boilerpipe从HTML中提取文本 175
8.1.2使用POI从Word文档中提取文本 177
8.1.3使用PDFBox从PDF文档中提取文本 181
8.2流水线 182
8.2.1使用Stanford流水线 182
8.2.2在Standford流水线中使用多核处理器 187
8.3创建一个文本搜索的流水线 188
8.4本章小结 193
目 录
译者序
作者简介
审校者简介
前言
第1章 NLP简介 1
1.1 什么是NLP 2
1.2 为何使用NLP 3
1.3 NLP的难点 4
1.4 NLP工具汇总 5
1.4.1 Apache OpenNLP 6
1.4.2 Stanford NLP 7
1.4.3 LingPipe 9
1.4.4 GATE 10
1.4.5 UIMA 10
1.5 文本处理概览 10
1.5.1 文本分词 11
1.5.2 文本断句 12
1.5.3 人物识别 14
1.5.4 词性判断 16
1.5.5 文本分类 17
1.5.6 关系提取 18
1.5.7 方法组合 20
1.6 理解NLP模型 20
1.6.1 明确目标 20
1.6.2 选择模型 21
1.6.3 构建、训练模型 21
1.6.4 验证模型 22
1.6.5 使用模型 22
1.7 准备数据 22
1.8 本章小结 24
第2章 文本分词 25
2.1 理解文本分词 25
2.2 什么是分词 26
2.3 一些简单的Java分词器 28
2.3.1 使用Scanner类 29
2.3.2 使用split方法 30
2.3.3 使用BreakIterator类 31
2.3.4 使用StreamTokenizer类 32
2.3.5使用StringTokenizer类 34
2.3.6使用Java核心分词法的性能考虑 34
2.4NLP分词器的API 34
2.4.1使用OpenNLPTokenizer类分词器 35
2.4.2使用Stanford分词器 37
2.4.3训练分词器进行文本分词 41
2.4.4分词器的比较 44
2.5理解标准化处理 45
2.5.1转换为小写字母 45
2.5.2去除停用词 46
2.5.3词干化 49
2.5.4词形还原 51
2.5.5使用流水线进行标准化处理 54
2.6本章小结 55
第3章 文本断句 56
3.1SBD方法 56
3.2SBD难在何处 57
3.3理解LingPipe的HeuristicSen-tenceModel类的SBD规则 59
3.4简单的Java SBD 60
3.4.1使用正则表达式 60
3.4.2使用BreakIterator类 62
3.5使用NLP API 63
3.5.1使用OpenNLP 64
3.5.2使用Stanford API 66
3.5.3使用LingPipe 74
3.6训练文本断句模型 78
3.6.1使用训练好的模型 80
3.6.2使用SentenceDetector-Evaluator类评估模型 81
3.7本章小结 82
第4章 人物识别 83
4.1NER难在何处 84
4.2NER的方法 84
4.2.1列表和正则表达式 85
4.2.2统计分类器 85
4.3使用正则表达式进行NER 86
4.3.1使用Java的正则表达式来寻找实体 86
4.3.2使用LingPipe的RegEx-Chunker类 88
4.4使用NLP API 89
4.4.1使用OpenNLP进行NER 89
4.4.2使用Stanford API进行NER 95
4.4.3使用LingPipe进行NER 96
4.5训练模型 100
4.6本章小结 103
第5章 词性判断 104
5.1词性标注 104
5.1.1词性标注器的重要性 107
5.1.2词性标注难在何处 107
5.2使用NLP API 109
5.2.1使用OpenNLP词性标注器 110
5.2.2使用Stanford词性标注器 118
5.2.3使用LingPipe词性标注器 125
5.2.4训练OpenNLP词性标注模型 129
5.3本章小结 131
第6章 文本分类 132
6.1文本分类问题 132
6.2情感分析介绍 134
6.3文本分类技术 135
6.4使用API进行文本分类 136
6.4.1OpenNLP的使用 136
6.4.2Stanford API的使用 140
6.4.3使用LingPipe进行文本分类 145
6.5本章小结 152
第7章 关系提取 153
7.1关系类型 154
7.2理解解析树 155
7.3关系提取的应用 156
7.4关系提取 159
7.5使用NLP API 159
7.5.1OpenNLP的使用 159
7.5.2使用Stanford API 162
7.5.3判断共指消解的实体 166
7.6问答系统的关系提取 168
7.6.1判断单词依赖关系 169
7.6.2判断问题类型 170
7.6.3搜索答案 171
7.7本章小结 173
第8章 方法组合 174
8.1准备数据 175
8.1.1使用Boilerpipe从HTML中提取文本 175
8.1.2使用POI从Word文档中提取文本 177
8.1.3使用PDFBox从PDF文档中提取文本 181
8.2流水线 182
8.2.1使用Stanford流水线 182
8.2.2在Standford流水线中使用多核处理器 187
8.3创建一个文本搜索的流水线 188
8.4本章小结 193
Java自然语言处理 作者简介
bout the Author
作者简介
Richard M. Reese曾就职于学术界和工业界。他曾在电信和航天工业领域工作17年,期间曾担任研发、软件开发、监督和培训等多个职位。他目前任教于塔尔顿州立大学,运用他多年来积累的行业经验来完善他的课程。
Richard曾出版过关于Java和C的书籍,他使用简洁易用的方法讨论主题,这些书籍包括《EJB 3.1 Cookbook》,有关Java 7和Java 8的新功能、Java认证以及jMonkey引擎,以及一本关于C指针的书。
我要感谢我的女儿詹妮弗,因她发表了很多评论,并做出很大贡献。她的付出是无价的。
发表回复
要发表评论,您必须先登录。