1 Introduction to natural language processing


This chapter covers

  • What natural language processing (NLP) is, what it is not, and why it’s such an interesting, yet challenging, field
  • How NLP relates to other fields, including artificial intelligence (AI) and machine learning (ML)
  • What typical NLP applications and tasks are
  • How a typical NLP application is developed and structured

This is not an introductory book to machine learning or deep learning. You won’t learn how to write neural networks in mathematical terms or how to compute gradients, for example. But don’t worry, even if you don’t have any idea what they are. I’ll explain those concepts as needed, not mathematically but conceptually. In fact, this book contains no mathematical formulae—not a single one. Also, thanks to modern deep learning libraries, you don’t really need to understand the math to build practical NLP applications. If you are interested in learning the theories and the math behind machine learning and deep learning, you can find a number of great resources out there.

But you do need to be at least comfortable enough to write in Python and know its ecosystems. However, you don’t need to be an expert in software engineering topics. In fact, this book’s purpose is to introduce software engineering best practices for developing NLP applications. You also don’t need to know NLP in advance. Again, this book is designed to be a gentle introduction to the field.

1.1 What is natural language processing (NLP)?

1.1.1 What is NLP?

1.1.2 What is not NLP?

1.1.3 AI, ML, DL, and NLP

1.1.4 Why NLP?

1.2 How NLP is used

1.2.1 NLP applications

1.2.2 NLP tasks

1.3 Building NLP applications

1.3.1 Development of NLP applications

1.3.2 Structure of NLP applications