Apache OpenNLP è un toolkit che sfrutta l'apprendimento automatico per l'elaborazione dei testi in linguaggio naturale. Supporta i compiti più comuni in ambito NLP, come il rilevamento della lingua, la tokenizzazione, la sentence segmentazione, l'etichettatura delle parti del discorso, la named entity extraction, il chunking, il parsing e la coreference resolution. Questo genere di compiti sono solitamente necessari per sviluppare servizi di elaborazione testuale più avanzati.
La libreria è scritta in Java e può essere facilmente integrata in progetti Java o in progetti che utilizzano la Java Virtual Machine (JVM).[1]