pretty-good-nlp is a deterministic, match-based, recognizer for natural language processing (NLP) scenarios.
I built it so that I could have a recogizer for my machine learning applications while waiting for data scientists to build a predictive model.
It has a some really nice features including phrase and pattern matching, negations, weighting, order evaluation, and noise removal.