全新Java自然语言处理程序设计智能与技术丛书语言分析LP神经网络机器翻译pdf下载pdf下载

全新Java自然语言处理程序设计智能与技术丛书语言分析LP神经网络机器翻译百度网盘pdf下载

作者:
简介:本篇主要提供全新Java自然语言处理程序设计智能与技术丛书语言分析LP神经网络机器翻译pdf下载
出版社:艺文图书专营店
出版时间:2020-06
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

本书将教会读者如何在Java库的帮助下执行语言分析,同时不断地从结果中获得见解。
 
 书   名:  java自然语言处理(原书第2版)
 图书定价:  79元
 作 者:  [美] 理查德·M.里斯(Richard M. Reese)[印] 艾希什辛格·巴蒂亚(AshishSingh Bhatia)
 出 版 社:  机械工业出版社
 出版日期:  2020-06-29
 ISBN 号:  9787111657873
 开   本: 16开
 页   数: 234
 版   次: 1-1
关于我们
客户服务
友情链接
本书将教会读者如何在Java库的帮助下执行语言分析,同时不断地从结果中获得见解。首先介绍NLP及其各种概念是如何工作的,然后探索Java中用于NLP的重要工具和库,如CoreNLP、OpenNLP、Neuroph、Mallet等。之后,读者将开始对不同的输入和任务执行NLP,例如标记、模型训练、部分语音、解析树等。读者会学习到统计机器翻译、摘要、对话、复杂搜索、有监督和无监督的NLP,以及其他内容。在本书的后,读者也会学习到更多关于NLP、神经网络和其他各种Java中用于增强NLP应用程序性能的训练模型。

译者序
前言
作者简介
审校者简介
第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 人工语言网络计算机实体 214
12.2.1 了解AIML 214
12.2.2 使用ALICE和AIML开发聊天机器人 216
12.3 总结 221
自然语言处理(Natural Language Processing,NLP)允许使用任何句子并识别模式、特殊名称、公司名称等。本书将教会你如何在Java库的帮助下执行语言分析,同时不断地从结果中获得见解。
首先你会了解NLP及其各种概念。掌握了基础知识之后,你将探索Java中用于NLP的重要工具和库,如CoreNLP、OpenNLP、Neuroph、Mallet等。然后,你将开始对不同的输入和任务执行NLP,例如分词、模型训练、词性标注、解析树等。你会学习到统计机器翻译、提取摘要、对话、复杂搜索、有监督和无监督的NLP等内容。在本书的后,你也会学到更多关于NLP、神经网络和Java中用于增强NLP应用程序性能的其他各种训练模型。
本书读者
如果你是数据分析师、数据科学家或机器学习工程师,希望使用Java从一种语言中提取信息,那么本书非常适合你。本书需要你有Java编程基础,而对统计数据有基本的了解有助于阅读本书,但这不是必需的。
本书涵盖的内容
第1章阐述NLP的重要性和用途。本章通过简单的例子对如何使用NLP技术进行了说明。
第2章主要关注分词。这是完成更的NLP任务的步。本章介绍了核心Java和Java NLP分词的API。
第3章论证句子边界消歧是一个重要的NLP任务。这个步骤是许多其他下游NLP任务的前驱,在这些任务中,文本元素不应该跨句子边界拆分。这可以确保所有短语都在一个句子中,并支持词性分析。
第4章涵盖通常所说的命名实体识别(Named Entity Recognition,NER)。这个任务与在文本中标识人、位置和类似实体有关。这个技术是处理查询和搜索的预备步骤。
第5章会向你展示如何检测词性。词性是文本的语法元素,如名词和动词,识别这些元素是确定文本含义和检测文本内部关系的重要步骤。
第6章解释如何使用n-gram表示文本,并概述它们在揭示上下文中所起的作用。
第7章处理信息检索中发现的大量数据,并使用各种方法寻找相关信息,如布尔检索、字典和容错检索。
第8章证明文本分类在垃圾邮件检测和情感分析等任务中是有用的。本章还对支持这一过程的NLP技术进行了研究和说明。
第9章讨论使用包含一些文本的文档进行主题建模的基础知识。
第10章演示解析树。解析树有许多用途,包括信息提取,信息提取保存了关于这些元素之间关系的信息。本章给出了一个实现简单查询的示例来说明这个过程。
第11章讨论围绕使用组合技术解决NLP问题的几个议题。
第12章介绍不同类型的聊天机器人,我们也将开发一个简单的预约聊天机器人。
如何充分利用本书
Java SDK 8用于说明NLP技术。需要的各种NLP API可以随时下载。IDE不是必需的,但有条件的话还是建议下载。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。
本书的代码包也存储在GitHub上,网址为https://github.com/PacktPublishing/Natural-Language-Processing-with-Java-Second-Edition。如果代码有更新,它将会更新到现有的GitHub存储库。
我们还有其他的代码包,它们来自我们丰富的书籍和视频目录,可以在https://github.com/PacktPublishing/上找到。欢迎查找下载。
我们还提供了一个PDF文件,其中有本书中使用的屏幕截图(图表的彩色图像)。你可以在http://www.packtpub.com/sites/default/files/downloads/NaturalLanguageProcessingwithJavaSecondEdition_ColorImages.pdf下载。
排版约定
书中代码块设置如下:
命令行输入或输出样式如下:

^_^:58437fa760506df86b5a695c914f23aa


^_^:c936edc6a0b945453ff5596e4dc59a23