书籍详情

Java自然语言处理(原书第2版)

Java自然语言处理(原书第2版)

作者:理查德·M.里斯,艾希什·辛 著,邹伟 李妍 武现臣译 译

出版社:机械工业出版社

出版时间:2020-07-01

ISBN:9787111657873

定价:¥79.00

购买这本书可以去
内容简介
  本书将教会读者如何在Java库的帮助下执行语言分析,同时不断地从结果中获得见解。首先介绍NLP及其各种概念是如何工作的,然后探索Java中用于NLP的重要工具和库,如CoreNLP、OpenNLP、Neuroph、Mallet等。之后,读者将开始对不同的输入和任务执行NLP,例如标记、模型训练、部分语音、解析树等。读者会学习到统计机器翻译、摘要、对话系统、复杂搜索、有监督和无监督的NLP,以及其他内容。在本书的*后,读者也会学习到更多关于NLP、神经网络和其他各种Java中用于增强NLP应用程序性能的训练模型。
作者简介
暂缺《Java自然语言处理(原书第2版)》作者简介
目录
译者序
前言
作者简介
审校者简介
第1章 NLP概论 1
1.1 NLP是什么 2
1.2 为什么使用NLP 2
1.3 为什么NLP这么难 3
1.4 NLP工具汇总 4
1.4.1 Apache OpenNLP 5
1.4.2 Stanford NLP 7
1.4.3 LingPipe 8
1.4.4 GATE 9
1.4.5 UIMA 9
1.4.6 Apache Lucene Core 10
1.5 Java深度学习 10
1.6 文本处理任务概述 11
1.6.1 查找文本的各部分 11
1.6.2 文本断句 13
1.6.3 特征工程 14
1.6.4 查找人物和事件 14
1.6.5 词性判断 16
1.6.6 对文本和文档进行分类 17
1.6.7 关系提取 17
1.6.8 使用组合方法 19
1.7 理解NLP方法 19
1.7.1 识别任务 19
1.7.2 选择模型 20
1.7.3 建立并训练模型 20
1.7.4 验证模型 20
1.7.5 运用模型 21
1.8 准备数据 21
1.9 总结 22
第2章 查找文本的各部分 24
2.1 理解文章的各个部分 24
2.2 分词是什么 25
2.3 简单的Java分词器 27
2.3.1 使用Scanner类 27
2.3.2 使用split方法 29
2.3.3 使用BreakIterator类 29
2.3.4 使用StreamTokenizer类 30
2.3.5 使用StringTokenizer类 32
2.3.6 Java核心分词的性能考虑 32
2.4 NLP分词器API 33
2.4.1 使用OpenNLPTokenizer类 33
2.4.2 使用Stanford分词器 35
2.4.3 训练分词器找出文本的各部分 38
2.4.4 分词器比较 41
2.5 了解规范化 42
2.5.1 转换成小写 42
2.5.2 删除停用词 43
2.5.3 使用词干分析 45
2.5.4 使用词元化 48
2.5.5 使用管道进行标准化处理 51
2.6 总结 52
第3章 文本断句 53
3.1 SBD方法 53
3.2 SBD难在何处 54
3.3 理解LingPipe的HeuristicSentenceModel类的SBD规则 55
3.4 简单的Java SBD 56
3.4.1 使用正则表达式 56
3.4.2 使用BreakIterator类 58
3.5 使用NLP API 59
3.5.1 使用OpenNLP 60
3.5.2 使用Stanford API 62
3.5.3 使用LingPipe 69
3.6 训练文本断句模型 73
3.6.1 使用训练好的模型 75
3.6.2 使用SentenceDetector-Evaluator类评估模型 75
3.7 总结 76
第4章 人物识别 77
4.1 NER难在何处 78
4.2 NER方法 78
4.2.1 列表和正则表达式 79
4.2.2 统计分类器 80
4.3 使用正则表达式进行NER 80
4.3.1 使用Java的正则表达式来寻找实体 80
4.3.2 使用LingPipe的RegEx-Chunker类 82
4.4 使用NLP API 83
4.4.1 使用OpenNLP进行NER 83
4.4.2 使用Stanford API进行NER 88
4.4.3 使用LingPipe进行NER 89
4.5 使用NER注释工具构建新数据集 93
4.6 训练模型 98
4.7 总结 101
第5章 词性判断 102
5.1 词性标注 102
5.1.1 词性标注器的重要性 104
5.1.2 词性标注难在何处 105
5.2 使用NLP API 106
5.2.1 使用OpenNLP POS标注器 107
5.2.2 使用 Stanford POS标注器 115
5.2.3 使用LingPipe POS标注器 120
5.2.4 训练OpenNLP POSModel 124
5.3 总结 125
第6章 用特征表示文本 127
6.1 n-gram 127
6.2 词嵌入 129
6.3 GloVe 131
6.4 word2vec 133
6.5 降维 134
6.6 主成分分析 134
6.7 t-SNE 135
6.8 总结 138
第7章 信息检索 139
7.1 布尔检索 139
7.2 字典和容错性检索 141
7.2.1 通配符查询 141
7.2.2 拼写校正 142
7.2.3 Soundex 143
7.3 向量空间模型 143
7.4 计分和术语加权 144
7.5 逆文档频率 145
7.6 TF-IDF加权 145
7.7 信息检索系统的评估 145
7.8 总结 146
第8章 对文本和文档进行分类 147
8.1 如何使用分类 147
8.2 理解情感分析 148
8.3 文本分类技术 150
8.4 使用API对文本进行分类 151
8.4.1 使用OpenNLP 151
8.4.2 使用Stanford API 154
8.4.3 使用LingPipe对文本进行分类 158
8.5 总结 165
第9章 主题建模 166
9.1 什么是主题建模 166
9.2 LDA的基础 167
9.3 使用MALLET进行主题建模 168
9.3.1 训练 168
9.3.2 评价 168
9.4 总结 171
第10章 使用解析器提取关系 172
10.1 关系类型 173
10.2 理解解析树 174
10.3 使用提取的关系 175
10.4 提取关系 178
10.5 使用NLP API 178
10.5.1 使用OpenNLP 178
10.5.2 使用Stanford API 181
10.5.3 查找共指消解实体 184
10.6 为问答系统提取关系 186
10.6.1 查找单词依赖关系 186
10.6.2 确定问题类型 187
10.6.3 寻找答案 188
10.7 总结 190
第11章 组合管道 192
11.1 准备数据 193
11.1.1 使用Boilerpipe从HTML抽取文本 193
11.1.2 使用POI从Word文档中抽取文本 195
11.1.3 使用PDFBox从PDF文档抽取文本 200
11.1.4 使用Apache Tika进行内容分析和抽取 201
11.2 管道 203
11.2.1 使用Stanford管道 203
11.2.2 在Stanford管道中使用多核处理器 205
11.3 创建用于搜索文本的管道 206
11.4 总结 211
第12章 创建一个聊天机器人 212
12.1 聊天机器人架构 213
12.2 人工语言网
猜您喜欢

读书导航