Java自然语言处理
(副标题):无 ;
(作者): Richard M Reese,AshishSingh Bhatia ;
内容简介:
第1章 NLP简介
自然语言处理(NLP)是一个宽泛的主题,它以借助计算机分析自然语言为核心,主要涉及语音处理、关系结构提取、文档分类、文本摘要等任务。不过,这些看似各异的任务都依赖于一些基本技术,包括分词、断句、分类和关系提取等,而本书也更侧重于这些基本技术的研究。首先,本章将详细讨论什么是NLP,为何NLP非常重要,以及NLP的具体应用领域有哪些。
很多语言和工具都支持NLP任务。本书主要讨论Java语言以及各种Java API如何支持NLP。本章首先介绍一些常用的API,包括Apache的OpenNLP、斯坦福的NLP库,以及LingPipe和GATE等。
接下来进一步分析前面提到的那些NLP基本技术。本书将基于NLP API介绍这些技术的基本原理及其具体使用方法。很多技术都会使用一些模型,这些模型可以看作一组规则,这些规则用于执行分词等任务。它们通常由从文件实例化的类表示。最后会说明如何为支持NLP任务准备数据。
NLP并不简单。虽然有些问题可以相对简单地解决,但大多数问题都需要使用非常复杂的技术。本书仅使读者对NLP处理技术有初步认识,使其在处理具体问题时能够使用相应的技术。
NLP是一个非常复杂的领域,本书通过Java实现一些核心的NLP任务,以帮助读者略窥自然语言处理中冰山的一角。在书中,通过Java SE SDK和OpenNLP、Stanford NLP等开源库展示了NLP的一些基本技术。使用这些库以前,需要将一些API JAR文件关联到相关API的项目中。关于这些库的说明可以参照1.4节,相关的下载链接也一并附上。本书所有例子都是在NetBeans 8.0.2下开发的,读者需要通过工程的属性对话框自行添加相关API JAR文件的链接。
目录预览:
Java自然语言处理
第1章 NLP简介
1.1 什么是NLP
1.2 为何使用NLP
1.3 NLP的难点
1.4 NLP工具汇总
1.4.1 Apache OpenNLP
1.4.2 Stanford NLP
1.4.3 LingPipe
1.4.4 GATE
1.4.5 UIMA
1.5 文本处理概览
1.5.1 文本分词
1.5.2 文本断句
1.5.3 人物识别
1.5.4 词性判断
1.5.5 文本分类
1.5.6 关系提取
1.5.7 方法组合
1.6 理解NLP模型
........