I am new to Natural Language Processing (NLP). Before I read your book, can you please answer a question? I have used the ANTLR tool develop a software; do you know what's the difference between ANTLR and NLP? Thank you for your time!
I haven't used ANTLR myself, but a lot of the tools it provides are included in projects such as spaCy and NLTK, both of which we discuss the Python implementation of in the book. NLP itself isn't a package or tool, as much as a concept. Hopefully the book provides a good overview of the underlying concepts that power all of these tools and give you a better intuition of how to tweak to the levers to get to your projects end-goal.
ANTLR stands for ANother Language TRanslator. It was originally one of several programs that comprised the Purdue Compiler Construction Toolset (PCCTS). Later, ANTLR absorbed most of the functions of the other PCCTS programs, got re-written in Java (it was originally in C), and I believe it moved from Purdue University to California. Although from the beginning it was open-source, so contributors are potentially world-wide. In addition to the NLP apps Cole mentioned, it's bundled into the WebLogic application server last time I checked, and I've seen it pop up in some surprising places besides that.
The name ANTLR is simply a backronym that pays homage to the grand old YACC (Yet Another Compiler-Compiler) program that got its start in Unix. ANTLR, however, is a lot more civilized than YACC and much easier to debug - YACC constructs a Finite-State Machine with few places to set breakpoints and fewer hints at where trouble came from, and that's even allowing for kludges that the C compiler contained to allow for trying to tie stuff back to source file/line numbers.
ANTLR could be used for "Natural Language", I suppose, but it's not a fuzzy translator, so it couldn't handle general stuff without a lot of help, just application-specific commands and the like.
When it comes to destroying a civilization, gas chambers cannot hold a candle to echo chambers.