Although “Natural Language Understanding” by James Allen is an older book, it still contains some useful content presented in a readable form. Although more modern books take a more statistical approach, this book has good, clear presentations of formal grammar, logic, and conversation agent topics.
Ten years ago, this was probably the most dominant standard text for natural language processing. The state of the art has progressed, and there are now a number of more recent books. Although this book lacks coverage of the latest developments, it continues to be available at an attractive price. Is it worth buying?
Compared to most modern books, the emphasis of Natural Language Understanding is on a symbolic, logical approach rather than statistical. The modern statistical approach is covered, but not until chapter 7 – after grammars have been introduced and discussed. Chapter 7 covers ambiguity. In other words, the statistical approach is considered as an approach to handling ambiguity after the theory has been presented. This chapter does include a section on part-of-speech tagging, but chunking is not covered. A similar chapter covers statistical approaches to handling semantic ambiguity, giving a total of two statistical chapters out of a total of seventeen. Compare this to a modern text where most of the chapters will involve a statistical approach.
So what does the book do well? I found it clearly written and easy to understand. The text is probably also a good grounding in the symbolic theory. Many texts seem to brush over the “understanding” side of NLP, but this book contains a number of chapters dedicated to understanding, interpretation, knowledge representation, reasoning, and conversation agents.
The chapters are:
- Introduction to Natural Language understanding
- Linguistic Background: An Outline of English Syntax
- Grammars and Parsing
- Features and Augmented Grammars
- Grammars for Natural Language
- Toward Efficient Parsing
- Ambiguity Resolution: Statistical Methods
- Semantics and Logical Form
- Linking Syntax and Semantics
- Ambiguity Resolution
- Other Strategies for Semantic Interpretation
- Scoping and the Interpretation of Noun Phrases
- Knowledge Representation and Reasoning
- Local Discourse Context and Reference
- Using World Knowledge
- Discourse Structure
- Defining a Conversational Agent
Appendices cover introductions to logic and model-theoretic semantics; symbolic computation; and speech recognition.
Summarizing, this book is a little old and does not include the latest statistical approaches. It does, however, have good coverage of grammar and ‘higher level’ issues such as semantics and understanding. These strengths usefully complement more recent texts, and the book is generally well written and is clearer than many other NLP books. Considering the lower price, this is still a useful book to have.