Smart Natural Language Processing with Python is an introduction to natural language processing (NLP). The book uses spaCy, a leading Python library for NLP, to guide readers through common NLP tasks related to generating and understanding human language with code. It addresses problems like understanding a user's intent, continuing a conversation with a human, and using syntactic dependencies. It also teaches you how to connect an NLP script to a messaging app, store user data in a database to fill in a form, and customise your own statistical models to improve text processing.