基本信息

内容简介
作译者
客户服务
友情链接
目录
前言
作者简介
审校者简介
第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
前言
首先你会了解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不是必需的,但有条件的话还是建议下载。
下载示例代码及彩色图像
媒体评论
本书首先介绍NLP及其相关概念。在理解这些基础知识后,将详细介绍Java中用于NLP的重要工具和库,如CoreNLP、OpenNLP、Neuroph、Mallet等。随后,针对不同的输入和任务(如分词、模型训练、词性标注和解析树)详细讲述如何执行NLP。此外,本书还介绍了统计机器翻译、对话系统、复杂搜索、有监督和无监督的NLP等内容。
通过阅读本书,你将能够:
理解NLP基本任务以及它们之间的关系。
探索和使用有效的分词引擎。
应用检索技术来识别文档中的人名、地名等。
建立句子中词性判断的方法。
使用分析方法在文档中抽取元素间的关系。
识别一组文档的主题。
探索文档的主题模型。