Apache's libraries for natural language processing (NLP).
The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text. It supports the most common NLP tasks, such as tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing, and coreference resolution. These tasks are usually required to build more advanced text processing services. OpenNLP also included maximum entropy and perceptron based machine learning.
More about Natural Language Processing :
Natural language processing (NLP) is the ability of a computer program to understand human speech as it is spoken.
Apache OpenNlp is often used with Apache Flink(a document query library).
Relevant Links,
http://searchcontentmanagement.techtarget.com/definition/natural-language-processing-NLP https://opennlp.apache.org/docs/.
Cornerstone books: https://www.manning.com/books/taming-text