Apache OpenNLP is a Java toolkit for processing natural language text using machine learning and linguistic analysis. It provides reusable components for recognising linguistic structures and extracting information from text.
The library is designed for developers building applications that need to understand language rather than merely search for matching words. Its components can be used individually or combined into processing pipelines, allowing different stages of analysis to operate on the same text.
Apache OpenNLP supports both pretrained models and models trained using application-specific data. This makes it useful for processing specialist documents, technical terminology and languages for which general-purpose models may not provide adequate accuracy.
The toolkit can be accessed through Java APIs or command-line tools. It can also be integrated into data-processing systems where natural language analysis forms part of a larger workflow.
This is free and open source software.
Key Features
- Sentence detection identifies sentence boundaries within unstructured text.
- Provides whitespace, character-class and trainable tokenisation algorithms.
- Part-of-speech tagging identifies nouns, verbs, adjectives and other grammatical categories.
- Named entity recognition extracts names, locations, organisations and other entities.
- Chunking groups related words into meaningful grammatical phrases.
- Supports syntactic parsing and the analysis of sentence structure.
- Language detection identifies the language of supplied text.
- Coreference resolution identifies references to the same entity.
- Includes stopword filtering and linguistic preprocessing utilities.
- Provides maximum entropy, perceptron, Naive Bayes and support vector machine classifiers.
- Supports training, evaluation and application of custom statistical models.
- Includes components for dictionary-based stemming and spell correction.
- Provides ONNX Runtime integration for using compatible neural language models.
- Supports a range of annotated linguistic data formats for model training.
- Offers Java APIs and command-line tools for text analysis.
- Includes integration components for Apache UIMA.
Website: opennlp.apache.org
Support:
Developer: The Apache Software Foundation
License: Apache License 2.0
Apache OpenNLP is written in Java. Learn Java with our recommended free books and free tutorials.
Related Software
| Natural Language Processing | |
|---|---|
| PyTorch-Transformers | Library of state-of-the-art pre-trained models |
| Natural Language Toolkit | Suite of open source Python modules, data sets and tutorials |
| Stanford CoreNLP | Extensible annotation-based NLP pipeline |
| spaCy | Industrial strength natural language processing |
| scikit-learn | Machine learning library for Python |
| Gensim | Python-based vector space modeling and topic modeling toolkit |
| flair | Simple framework for state-of-the-art NLP |
| Apache OpenNLP | Machine learning based toolkit |
| DL4J | Deploy and train deep learning models |
| Apache Lucene | Full-featured information retrieval software library |
| UIMA | Implementation of the UIMA specification |
| tidytext | Text mining using dplyr, ggplot2, and other tidy tools |
| text2vec | Framework with API for text analysis and NLP |
| quanteda | R package for Quantitative Analysis of Textual Data |
| Moses | Statistical machine translation system |
Read our verdict in the software roundup.
| Java Natural Language Processing Tools | |
|---|---|
| CoreNLP | Annotation-based NLP pipeline that provides core natural language analysis |
| OpenNLP | Machine learning based toolkit |
| DL4J | Deploy and train deep learning models |
| Lucene | High-performance, full-featured information retrieval software library |
| UIMA | Open source implementation of the UIMA specification |
| Tika | Content analysis toolkit |
| MALLET | Statistical natural language processing, document classification and more |
| GATE | Full-lifecycle solution for a broad range of NLP tasks |
| ReVerb | Automatically identifies and extracts binary relationships from sentences |
| NLP4J | NLP framework for JVM languages |
| CogComp-NLP | State-of-the-art Natural Language Processing (NLP) tools |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.