OpenNLP - 概述

NLP 是一组用于从自然语言源(例如网页和文本文档)中获取有意义且有用的信息的工具。

什么是 Open NLP?

Apache OpenNLP 是一个开源 Java 库,用于处理自然语言文本。您可以使用此库构建高效的文本处理服务。

OpenNLP 提供标记化、句子分割、词性标记、命名实体提取、分块、解析和共指解析等服务。

OpenNLP 的功能

以下是 OpenNLP 的显著特点 −

  • 命名实体识别 (NER) − Open NLP 支持 NER,使用它您可以在处理查询时提取位置、人物和事物的名称。

  • 总结 − 使用 总结 功能,您可以在 NLP 中总结段落、文章、文档或它们的集合。

  • 搜索 − 在 OpenNLP 中,即使给定的单词被更改或拼写错误,也可以在给定的文本中识别给定的搜索字符串或其同义词。

  • 标记 (POS) − NLP 中的标记用于将文本划分为各种语法元素以供进一步分析。

  • 翻译 − 在 NLP 中,翻译有助于将一种语言翻译成另一种语言。

  • 信息分组 − NLP 中的此选项将文档内容中的文本信息分组,就像词性一样。

  • 自然语言生成 − 它用于从数据库生成信息并自动生成信息报告,例如天气分析或医疗报告。

  • 反馈分析 − 顾名思义,NLP 会收集人们对产品的各种反馈,以分析产品在赢得人们青睐方面有多成功。

  • 语音识别 −虽然分析人类语音很困难,但 NLP 有一些内置功能可以满足这一要求。

Open NLP API

Apache OpenNLP 库提供了类和接口来执行各种自然语言处理任务,例如句子检测、标记化、查找名称、标记词性、分块句子、解析、共指解析和文档分类。

除了这些任务之外,我们还可以针对任何这些任务训练和评估我们自己的模型。

OpenNLP CLI

除了库之外,OpenNLP 还提供了命令行界面 (CLI),我们可以在其中训练和评估模型。我们将在本教程的最后一章详细讨论这个主题。

OpenNLP CLI

Open NLP 模型

为了执行各种 NLP 任务,OpenNLP 提供了一组预定义模型。这组模型包括不同语言的模型。

下载模型

您可以按照以下步骤下载 OpenNLP 提供的预定义模型。

步骤 1 − 单击以下链接打开 OpenNLP 模型的索引页 − http://opennlp.sourceforge.net/models-1.5/

OpenNLP 模型

第 2 步 − 访问给定的链接后,您将看到各种语言的组件列表以及下载它们的链接。在这里,您可以获取 OpenNLP 提供的所有预定义模型的列表。

预定义模型

通过单击相应的链接,将所有这些模型下载到文件夹 C:/OpenNLP_models/>。所有这些模型都依赖于语言,在使用这些模型时,您必须确保模型语言与输入文本的语言相匹配。

OpenNLP 的历史

  • 2010 年,OpenNLP 进入 Apache 孵化阶段。

  • 2011 年,Apache OpenNLP 1.5.2 Incubating 发布,同年毕业成为顶级 Apache 项目。

  • 2015 年,OpenNLP 1.6.0 发布。