Java NLP Frameworks NLP Tools
Comprehensive NLP libraries and frameworks for Java with core linguistic processing pipelines (tokenization, parsing, NER, etc.). Does NOT include language-specific tools, annotation platforms, single-task extractors, or non-Java implementations.
There are 131 java nlp frameworks tools tracked. 9 score above 50 (established tier). The highest-rated is apache/opennlp at 67/100 with 1,586 stars. 1 of the top 10 are actively maintained.
Get all 131 projects as JSON
curl "https://pt-edge.onrender.com/api/v1/datasets/quality?domain=nlp&subcategory=java-nlp-frameworks&limit=20"
Open to everyone — 100 requests/day, no key needed. Get a free key for 1,000/day.
| # | Tool | Score | Tier |
|---|---|---|---|
| 1 |
apache/opennlp
Apache OpenNLP |
|
Established |
| 2 |
stanfordnlp/CoreNLP
CoreNLP: A Java suite of core NLP tools for tokenization, sentence... |
|
Established |
| 3 |
stanfordnlp/python-stanford-corenlp
Python interface to CoreNLP using a bidirectional server-client interface. |
|
Established |
| 4 |
FraBle/python-sutime
Python wrapper for Stanford CoreNLP's SUTime |
|
Established |
| 5 |
FraBle/python-duckling
Python wrapper for wit.ai's Duckling Clojure library |
|
Established |
| 6 |
proycon/folia
FoLiA: Format for Linguistic Annotation - FoLiA is a rich XML-based... |
|
Established |
| 7 |
dkpro/dkpro-core
Collection of software components for natural language processing (NLP)... |
|
Established |
| 8 |
apache/opennlp-sandbox
Apache OpenNLP Sandbox |
|
Established |
| 9 |
gerardobort/node-corenlp
CoreNLP @ NodeJS |
|
Established |
| 10 |
zaibacu/rita-dsl
A Domain Specific Language (DSL) for building language patterns. These can... |
|
Emerging |
| 11 |
proycon/colibri-core
Colibri core is an NLP tool as well as a C++ and Python library for working... |
|
Emerging |
| 12 |
NLPchina/nlp-lang
这个项目是一个基本包.封装了大多数nlp项目中常用工具 |
|
Emerging |
| 13 |
CogComp/cogcomp-nlp
CogComp's Natural Language Processing Libraries and Demos: Modules include... |
|
Emerging |
| 14 |
LanguageMachines/libfolia
FoLiA library for C++ |
|
Emerging |
| 15 |
facebookarchive/duckling_old
Deprecated in favor of https://github.com/facebook/duckling |
|
Emerging |
| 16 |
intersystems/iknow
Community development repository for iKnow |
|
Emerging |
| 17 |
stanfordnlp/phrasal
A large-scale statistical machine translation system written in Java. |
|
Emerging |
| 18 |
neuml/txtai.java
Java client for txtai |
|
Emerging |
| 19 |
ardoco/core
Core framework for traceability link recovery between architecture... |
|
Emerging |
| 20 |
yegor256/requs
Controlled Natural Language for Requirements Specifications, with Maven Plugin |
|
Emerging |
| 21 |
tupilabs/HumanNameParser.java
HumanNameParser.java, a Java port of HumanNameParser.php. Parser for human... |
|
Emerging |
| 22 |
apache/incubator-nlpcraft
Apache NLPCraft - API to convert natural language into actions. |
|
Emerging |
| 23 |
clojurenlp/core
Clojure wrapper for the Stanford CoreNLP Java library |
|
Emerging |
| 24 |
theopenconversationkit/tock-corenlp
Optional part of the Tock toolkit based on Stanford CoreNLP library |
|
Emerging |
| 25 |
mojtaba-khallash/JHazm
A Java version of Hazm (Python library for digesting Persian text) |
|
Emerging |
| 26 |
apache/opennlp-models
Apache OpenNLP Models |
|
Emerging |
| 27 |
termsuite/termsuite-core
A Java UIMA-based toolbox for multilingual and efficient terminology... |
|
Emerging |
| 28 |
sea-boat/TextAnalyzer
A text analyzer which is based on machine learning,statistics and... |
|
Emerging |
| 29 |
macournoyer/utterance_parser
Extract intent and entities from natural language utterances |
|
Emerging |
| 30 |
tspannhw/nifi-nlp-processor
Apache NiFi NLP Processor |
|
Emerging |
| 31 |
leovan/duckling-chinese
中文 Duckling |
|
Emerging |
| 32 |
turbopape/postagga
A Library to parse natural language in pure Clojure and ClojureScript |
|
Emerging |
| 33 |
acoli-repo/olia
Ontologies of Linguistic Annotation. Machine-readable tagsets and annotation... |
|
Emerging |
| 34 |
toltoxgh/CoreNLP-jMWE
Stanford CoreNLP annotator implementing jMWE for detecting Multi-Word... |
|
Emerging |
| 35 |
marcusklang/docria
Semi-structured Document Model (Next-generation) |
|
Emerging |
| 36 |
Ruthwik/Language-Detection
Language Detection in Java using OpenNLP |
|
Emerging |
| 37 |
sunil3590/artificial-guy
Natural Language Processing + Knowledge Representation + Reasoning + Natural... |
|
Emerging |
| 38 |
neo-search/multiple-string-searcher
Java library for fast multiple strings matchings. Uses internally... |
|
Emerging |
| 39 |
dhowe/rita4j
RiTa for Java |
|
Emerging |
| 40 |
xszhong/syntime
The Java source code and datasets of our ACL2017 paper: Time Expression... |
|
Emerging |
| 41 |
dbamman/book-nlp
Natural language processing pipeline for book-length documents (archival... |
|
Emerging |
| 42 |
sina-al/pynlp
A pythonic wrapper for Stanford CoreNLP. |
|
Emerging |
| 43 |
fquirin/java-nlu-tools
Java tools to do natural language processing like NER and intent... |
|
Experimental |
| 44 |
etiennesillon/ModelRunner
No-code, model driven, natural language data access platform |
|
Experimental |
| 45 |
Bushra-KB/Amharic-NLP-Tools-in-JAVA
This repository contains implementations of various Natural Language... |
|
Experimental |
| 46 |
eXist-db/exist-stanford-nlp
XQuery wrapper around the Stanford CoreNLP pipeline |
|
Experimental |
| 47 |
manzurola/spaCy4j
Java client for spaCy and more. |
|
Experimental |
| 48 |
JULIELab/JeSemE
Jena Semantic Explorer |
|
Experimental |
| 49 |
quadrama/DramaNLP
UIMA NLP components for dramatic texts |
|
Experimental |
| 50 |
IBMStreams/streamsx.nlp
Provide operations for text analysis, like lemmatization and text annotation... |
|
Experimental |
| 51 |
whelk-io/flesch-kincaid
Java OSS library for performing Flesch-Kincaid readability tests. |
|
Experimental |
| 52 |
apache/incubator-nlpcraft-java-client
Native Java Client for Apache NLPCraft. |
|
Experimental |
| 53 |
Sciss/jawjaw
Automatically exported from code.google.com/p/jawjaw |
|
Experimental |
| 54 |
simongray/clojure-dsl-resources
A curated list of Clojure resources for dealing with domain-specific languages. |
|
Experimental |
| 55 |
caowm/JNI-HanLP
通过Delphi JNI封装的HanLP(汉语言处理)库 |
|
Experimental |
| 56 |
oyahiroki/nlp4j
Natural Language Processing library for Java |
|
Experimental |
| 57 |
soumyadip007/Natural-Language-Processing-Using-Java
Natural language processing is a subfield of linguistics, computer science,... |
|
Experimental |
| 58 |
simongray/datalinguist
Stanford CoreNLP in idiomatic Clojure. |
|
Experimental |
| 59 |
londogard/londogard-nlp-toolkit
Londogard Natural Language Processing Toolkit written in Kotlin |
|
Experimental |
| 60 |
hgvgfgvh/JavaAiLocalKit
This library aims to provide Java developers with an easy-to-use,... |
|
Experimental |
| 61 |
rbehzadan/opennlp-service
RESTful API for Apache OpenNLP Library |
|
Experimental |
| 62 |
open-hopin/mbFXWords
divide plain text in subject, predicate, object with OpenNLP |
|
Experimental |
| 63 |
data-integrations/nlp
A collection of directives and plugins for Natural Language Processing |
|
Experimental |
| 64 |
kon-drees/Fachpraktikum_K01589
Explanation component for a practical course "Natural Language Processing,... |
|
Experimental |
| 65 |
dbracewell/hermes
A Natural Language Processing framework for Java |
|
Experimental |
| 66 |
pepperkit/corenlp-stop-words-annotator
Stop words annotator for Stanford's CoreNLP library. |
|
Experimental |
| 67 |
manzurola/errant4j
An unofficial Java port of ERRANT, the parallel text grammatical error annotator |
|
Experimental |
| 68 |
dpom/clj-duckling
Language, engine, and tooling for expressing, testing, and evaluating... |
|
Experimental |
| 69 |
SemanticSoftwareLab/TextMining-LODeXporter
LODeXporter is a GATE component for transforming NLP annotations into RDF triples |
|
Experimental |
| 70 |
kuhumcst/texton-Java
Web-based workflow management system that computes candidate tool workflows... |
|
Experimental |
| 71 |
lexigram/example-code
Example code in multiple languages for interacting with Lexigram APIs |
|
Experimental |
| 72 |
CogComp/jwnl-prime
Modified version of the JWNL (http://sourceforge.net/projects/jwordnet/) |
|
Experimental |
| 73 |
6thsolution/ApexNLP
A natural language event parser for java and android. |
|
Experimental |
| 74 |
abzif/opennlp-model-generator
OpenNLP model generator for various languages |
|
Experimental |
| 75 |
IE4OpenData/Octroy
Octroy Pipeline for Open Data in Quebec |
|
Experimental |
| 76 |
DennisDeSwart/php-stanford-corenlp-adapter
PHP adapter for Stanford CoreNLP |
|
Experimental |
| 77 |
tspannhw/nifi-langdetect-processor
Apache NiFi + Apache Tika + OptimaizeLangDetector |
|
Experimental |
| 78 |
clecoq75/semantic-annotator
Semantic Annotator |
|
Experimental |
| 79 |
plandes/clj-nlp-parse
Natural Language Parsing and Feature Generation |
|
Experimental |
| 80 |
HebrewNLP/HebrewNLP4J
Java Library and Examples for using the HebrewNLP API |
|
Experimental |
| 81 |
ispasic/FlexiTerm-Java
Repository for FlexiTerm: a software tool to automatically recognise... |
|
Experimental |
| 82 |
DEK11/MoreNLP
Capabilities of StanfordNLP and OpenNLP on Spark |
|
Experimental |
| 83 |
InAnYan/spacy_pat_match_dsl
A simple DSL for creating spaCy pattern matchers |
|
Experimental |
| 84 |
proycon/nederlab-pipeline
Linguistic enrichment pipeline for historical dutch, as used in the Nederlab project |
|
Experimental |
| 85 |
iss-lab/nifi-stanfordcorenlp-processor
Nifi Stanford CoreNLP Processor |
|
Experimental |
| 86 |
ottiram/MMAX2
Official repo of the MMAX2 annotation tool |
|
Experimental |
| 87 |
arpieb/corenlp
The CoreNLP package is a thin Elixir client for the Stanford CoreNLP Server. |
|
Experimental |
| 88 |
textocat/textokit-core
TextoKit - is a set of components for Natural Language Processing based on... |
|
Experimental |
| 89 |
jimtyhurst/stanford-parser-util-java
Java utility classes to simplify use of the Stanford Parser for a specific... |
|
Experimental |
| 90 |
EmnamoR/NLP-processing-using-NLTK-Stanford-Core-nlp
nlp processing ( pos-tag, parsing , ner , coref resolution) using NLTK Stanford nlp |
|
Experimental |
| 91 |
justhalf/java-nlp-toolkit
My personal Java NLP toolkit that serves as an interface to various existing... |
|
Experimental |
| 92 |
Unique-Digital-Resources/Rule-Based-Natural-Language-Meaning-Processing
A rule-based tool for processing and extracting meanings from natural... |
|
Experimental |
| 93 |
hjian42/SVO_Automation
Automatic SVO Extraction Tool for Social Science |
|
Experimental |
| 94 |
jacopofar/fleximatcher
Small text annotation library |
|
Experimental |
| 95 |
krajeswaran/ArticleAnalyzer
English language article analyzer using some NLP techniques |
|
Experimental |
| 96 |
bean5/nlp-paraphrase-detector
I built this to automate discovery of common text between two documents. I... |
|
Experimental |
| 97 |
kyuna0312/Natural_Language_Java
NLP Java Stanford data |
|
Experimental |
| 98 |
jiangnanboy/j4nlp
java for nlp,java自然语言处理 |
|
Experimental |
| 99 |
hianshithere/Natural-Language-Processing
Realted Natural langage Processing Codes || Sentiment Analysis ||... |
|
Experimental |
| 100 |
simon-zhiyuan-sun/text-forensics-toolkit
Clojure-based text-forensics toolkit: NLP profiling, psycholinguistic... |
|
Experimental |
| 101 |
ARUKA-2017/processing-engine
An Open Source Maven Project for extracting valuable data and creating... |
|
Experimental |
| 102 |
bvolpato/mdmlang
🔄 Natural Transformation Language for Java |
|
Experimental |
| 103 |
plandes/clj-example-nlp-ml
Example Project for Natural Language Processing and Machine Learning Libraries |
|
Experimental |
| 104 |
tokenmill/dictionary-annotator
Fast and configurable UIMA dictionary annotator. |
|
Experimental |
| 105 |
davidecaroselli/jcld3
Java Native Interface for the popular Compact Language Detector v3 (CLD3) by Google |
|
Experimental |
| 106 |
CatalystCode/ClausIE-Server
Server for the ClausIE OpenIE parser |
|
Experimental |
| 107 |
encryptorcode/pluralize
Pluralize and singularize any word. |
|
Experimental |
| 108 |
CogComp/CogCompTime
CogCompTime |
|
Experimental |
| 109 |
ispasic/FlexiTermCymraeg
Unsupervised multi–word term recognition in Welsh |
|
Experimental |
| 110 |
mcre/aiwolf-gat2017-nlp
nlp |
|
Experimental |
| 111 |
mikahama/uralicNLP-Java
Multilingual Natural Language Processing for Java |
|
Experimental |
| 112 |
igr/parlo
Answering questions using NLP in Java, made in 5 days |
|
Experimental |
| 113 |
marcusklang/langforia
Language pipelines |
|
Experimental |
| 114 |
rkaissi/java-autocomplete
Java autocomplete suggestion engine using a custom NLP implementation.... |
|
Experimental |
| 115 |
kariminf/faris
Knowledge representation, Sentences, Language modeling, MultiLingual, |
|
Experimental |
| 116 |
kariminf/nalanpar
Natural language Parser |
|
Experimental |
| 117 |
scientist-labs/phrasekit
Weak supervision for NER: mine domain-specific phrases from unlabeled... |
|
Experimental |
| 118 |
nilswende/JLanI
Java language identification tool |
|
Experimental |
| 119 |
pcerman/etaoin-shrdlu
This is my attempt to make the SHRDLU program executable. |
|
Experimental |
| 120 |
elitcloud/elit-java
ELIT SDK for Java. |
|
Experimental |
| 121 |
pauldiac/QuoVadis
QuoVadis: annotation of Entities and Relations, initial Ph.D. work |
|
Experimental |
| 122 |
xszhong/tomn
The Java source code and datasets of our WWW2018 paper: Time Expression... |
|
Experimental |
| 123 |
crim-ca/PacteClient
Java client to access PACTE plaform |
|
Experimental |
| 124 |
pkourdis/gateplugin-SUTime
GATE plugin to annotate documents with TIMEX3 tags using the SUTime library. |
|
Experimental |
| 125 |
SemanticWebBuilder/SWBNLP
Natural Language Processing utilities for SemanticWebBuilder |
|
Experimental |
| 126 |
seanghay/web-crfsuite
A CRFSuite port for Node, Browser & Deno |
|
Experimental |
| 127 |
EvanQuan/agrippas-trilemma
:scroll: Agrippa's Trilemma: Parser-based interactive fiction built from the... |
|
Experimental |
| 128 |
kariminf/nalangen
NaLanGen stands for "Natural Language Generator". The aim of this tool is to... |
|
Experimental |
| 129 |
kariminf/sentrep
This is a tool for different sentence representations like json, xml, etc. |
|
Experimental |
| 130 |
umanlp/wcl-wrapper
A simple wrapper around the Word-Class Lattices Java API. |
|
Experimental |
| 131 |
kariminf/langpi
Language processing interface: some tools to process different natural languages |
|
Experimental |