OpenNLP - 概述


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

什么是开放 NLP?

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

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

OpenNLP 的特点

以下是 OpenNLP 的显着特征 -

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

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

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

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

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

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

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

  • 反馈分析- 顾名思义,NLP 收集人们对产品的各种类型的反馈,以分析产品如何成功赢得他们的心。

  • 语音识别- 尽管分析人类语音很困难,但 NLP 具有一些满足此要求的内置功能。

开放 NLP API

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

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

OpenNLP CLI

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

OpenNLP CLI

开放 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。