Natural Language Processing

Apache OpenNLP – machine learning toolkit for natural language processing

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-TransformersLibrary of state-of-the-art pre-trained models
Natural Language ToolkitSuite of open source Python modules, data sets and tutorials
Stanford CoreNLPExtensible annotation-based NLP pipeline
spaCyIndustrial strength natural language processing
scikit-learnMachine learning library for Python
GensimPython-based vector space modeling and topic modeling toolkit
flairSimple framework for state-of-the-art NLP
Apache OpenNLPMachine learning based toolkit
DL4JDeploy and train deep learning models
Apache LuceneFull-featured information retrieval software library
UIMAImplementation of the UIMA specification
tidytextText mining using dplyr, ggplot2, and other tidy tools
text2vecFramework with API for text analysis and NLP
quantedaR package for Quantitative Analysis of Textual Data
MosesStatistical machine translation system

Read our verdict in the software roundup.

Java Natural Language Processing Tools
CoreNLPAnnotation-based NLP pipeline that provides core natural language analysis
OpenNLPMachine learning based toolkit
DL4JDeploy and train deep learning models
LuceneHigh-performance, full-featured information retrieval software library
UIMAOpen source implementation of the UIMA specification
TikaContent analysis toolkit
MALLETStatistical natural language processing, document classification and more
GATEFull-lifecycle solution for a broad range of NLP tasks
ReVerb Automatically identifies and extracts binary relationships from sentences
NLP4JNLP framework for JVM languages
CogComp-NLPState-of-the-art Natural Language Processing (NLP) tools

Read our verdict in the software roundup.


Best Free and Open Source Software 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.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted