Book Image

Python Natural Language Processing Cookbook

By : Zhenya Antić
Book Image

Python Natural Language Processing Cookbook

By: Zhenya Antić

Overview of this book

Python is the most widely used language for natural language processing (NLP) thanks to its extensive tools and libraries for analyzing text and extracting computer-usable data. This book will take you through a range of techniques for text processing, from basics such as parsing the parts of speech to complex topics such as topic modeling, text classification, and visualization. Starting with an overview of NLP, the book presents recipes for dividing text into sentences, stemming and lemmatization, removing stopwords, and parts of speech tagging to help you to prepare your data. You’ll then learn ways of extracting and representing grammatical information, such as dependency parsing and anaphora resolution, discover different ways of representing the semantics using bag-of-words, TF-IDF, word embeddings, and BERT, and develop skills for text classification using keywords, SVMs, LSTMs, and other techniques. As you advance, you’ll also see how to extract information from text, implement unsupervised and supervised techniques for topic modeling, and perform topic modeling of short texts, such as tweets. Additionally, the book shows you how to develop chatbots using NLTK and Rasa and visualize text data. By the end of this NLP book, you’ll have developed the skills to use a powerful set of tools for text processing.
Table of Contents (10 chapters)

Chapter 1: Learning NLP Basics

While working on this book, I focused on including recipes that would be useful in a wide variety of NLP (Natural Language Processing) projects. They range from the simple to the advanced, and deal with everything from grammar to visualizations; and in many of them, options for languages other than English are included. I hope you find the book useful.

Before we can get on with the real work of NLP, we need to prepare our text for processing. This chapter will show you how to do that. By the end of the chapter, you will be able to have a list of words in a piece of text arranged with their parts of speech and lemmas or stems, and with very frequent words removed.

NLTK and spaCy are two important packages that we will be working with in this chapter and throughout the book.

The recipes included in this chapter are as follows:

  • Dividing text into sentences
  • Dividing sentences into words: tokenization
  • Parts of speech tagging
  • ...