Also known as Open NLP, OpenNLP, OpenNLP Tools
machine learning based toolkit for the processing of natural language text
TAPoR
tapor.ca →Apache OpenNLP is a free, open source toolkit for processing natural language text, based on machine learning. It includes common natural language processing functions such as tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing, and coreference resolution.
Excerpt from a page describing this subject · 2,664 chars · not written by Vinony
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, stopword filtering (with bundled lists for 11 languages) and more! These tasks are usually required to build more advanced text processing services. Presently, OpenNLP includes common classifiers such as Maximum Entropy, Perceptron, Naive Bayes and Support Vector Machines (SVM). 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. 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. For recent news, updates and topics, you can: join the regular mailing lists, follow the project's social media channel, or join the channel (available to people with an @apache.org email address or upon invitation). opennlp-api : The public API defining core Apache OpenNLP interfaces and abstractions. opennlp-runtime : The core classes shared across Apache OpenNLP components. opennlp-ml-commons : Common utilities and shared functionality for ML implementations. opennlp-ml-maxent : Maximum Entropy (MaxEnt) machine learning implementation. opennlp-ml-bayes : Naive Bayes machine learning implementation. opennlp-ml-perceptron : Perceptron-based machine learning implementation. opennlp-ml-libsvm : Support Vector Machine (SVM) based text classification via zlibsvm. opennlp-dl : Apache OpenNLP adapter for ONNX models using the onnxruntime dependency. opennlp-dl-gpu : Replaces onnxruntime with the onnxruntime gpu dependency to support GPU acceleration. opennlp-model-resolver : Classes for discovering and loading Apache OpenNLP models from the classpath. opennlp-formats : Support for reading and writing various NLP training and data formats. opennlp-cli : The command-line tools for training, evaluating, and running models. opennlp-tools : The full end-user toolkit with all core components and utilities in its executable form. opennlp-morfologik : Extension module providing Morfologik-based dictionary and stemming support. opennlp-spellcheck : Extension module providing SymSpell-based, language-agnostic spell correction. opennlp-uima : Extension module providing a set of Apache UIMA annotators. opennlp-sandbox : Other projects in progress reside in the sandbox. Note: opennlp-runtime ships with the MaxEnt ML implementation by default. If you need other ML implementations, please add the corresponding dependencies as well. The 3.x release line of Apache OpenNLP introduces no known breaking changes but modularizes the project for better usage as a library and to support future extensibility. The core API remains stable and compatible with 2.x, but the project structure has been reorganized into multiple modules. That means, that you can continue to use the previous opennlp-tools artifact as a dependency. However, we strongly recommend to switch to the new modular structure and import only the components you need, which will result in a smaller dependency footprint. The Apache OpenNLP team is planning to change the package namespace from opennlp to org.apache.opennlp in a future release (potentially 4.x). This change will be made to align with standard Java package naming conventions and to avoid potential conflicts with other libraries. In addition, the Apache OpenNLP team raised the minimal Java version to JDK 21+ for the 3.0.0 release to take advantage of the latest language features and improvements. Workflow summary Feature development New features targeting versions 3.0+ are developed on feature branches off mai
Excerpt from the source-code README · 10,623 chars · not written by Vinony
via Wikidata · CC0
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).