Most modern natural language processing requires the use of statistics and machine learning to determine the characteristics. Features such as sentences and words can be parsed, along with derivation of grammar trees. Topics and entities can be discerned from the text. Input in the form of natural language can be transformed for output or used as input to another stage of algorithms.
Libraries for NLP include:
Books containing fundamental information: