Apache OpenNLP alternatives and similar libraries
Based on the "Natural Language Processing" category.
Alternatively, view Apache OpenNLP alternatives based on common mentions on social networks and blogs.
-
Mallet
MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text. -
CogCompNLP
CogComp's Natural Language Processing Libraries and Demos: Modules include lemmatizer, ner, pos, prep-srl, quantifier, question type, relation-extraction, similarity, temporal normalizer, tokenizer, transliteration, verb-sense, and more. -
DKPro Core
Collection of software components for natural language processing (NLP) based on the Apache UIMA framework. -
LingPipe
Toolkit for a variety of tasks ranging from POS tagging to sentiment analysis. -
DKPro
Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc.
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Apache OpenNLP or a related project?
README
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->
Welcome to Apache OpenNLP!
The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
This toolkit is written completely in Java and provides support for common NLP tasks, such as tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing, coreference resolution, language detection and more!
These tasks are usually required to build more advanced text processing services.
The goal of the OpenNLP project is to be a mature toolkit for the above mentioned tasks.
An additional goal is to provide a large number of pre-built models for a variety of languages, as well as the annotated text resources that those models are derived from.
Presently, OpenNLP includes common classifiers such as Maximum Entropy, Perceptron and Naive Bayes.
OpenNLP can be used both programmatically through its Java API or from a terminal through its CLI. OpenNLP API can be easily plugged into distributed streaming data pipelines like Apache Flink, Apache NiFi, Apache Spark.
Useful Links
For additional information, visit the OpenNLP Home Page
You can use OpenNLP with any language, demo models are provided here.
The models are fully compatible with the latest release, they can be used for testing or getting started.
Please train your own models for all other use cases.
Documentation, including JavaDocs, code usage and command-line interface examples are available here
You can also follow our mailing lists for news and updates.
Overview
Currently the library has different packages:
opennlp-tools
: The core toolkit.opennlp-uima
: A set of Apache UIMA annotators.opennlp-brat-annotator
: A set of annotators for BRATopennlp-morfologik-addon
: An addon for Morfologikopennlp-sandbox
: Other projects in progress are found in the sandbox
Getting Started
You can import the core toolkit directly from Maven, SBT or Gradle:
Maven
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-tools</artifactId>
<version>${opennlp.version}</version>
</dependency>
SBT
libraryDependencies += "org.apache.opennlp" % "opennlp-tools" % "${opennlp.version}"
Gradle
compile group: "org.apache.opennlp", name: "opennlp-tools", version: "${opennlp.version}"
For more details please check our documentation
Building OpenNLP
At least JDK 8 and Maven 3.3.9 are required to build the library.
After cloning the repository go into the destination directory and run:
mvn install
Contributing
The Apache OpenNLP project is developed by volunteers and is always looking for new contributors to work on all parts of the project. Every contribution is welcome and needed to make it better. A contribution can be anything from a small documentation typo fix to a new component.
If you would like to get involved please follow the instructions here
*Note that all licence references and agreements mentioned in the Apache OpenNLP README section above
are relevant to that project's source code only.