Book Image

Advanced Natural Language Processing with TensorFlow 2

By : Ashish Bansal, Tony Mullen
Book Image

Advanced Natural Language Processing with TensorFlow 2

By: Ashish Bansal, Tony Mullen

Overview of this book

Recently, there have been tremendous advances in NLP, and we are now moving from research labs into practical applications. This book comes with a perfect blend of both the theoretical and practical aspects of trending and complex NLP techniques. The book is focused on innovative applications in the field of NLP, language generation, and dialogue systems. It helps you apply the concepts of pre-processing text using techniques such as tokenization, parts of speech tagging, and lemmatization using popular libraries such as Stanford NLP and SpaCy. You will build Named Entity Recognition (NER) from scratch using Conditional Random Fields and Viterbi Decoding on top of RNNs. The book covers key emerging areas such as generating text for use in sentence completion and text summarization, bridging images and text by generating captions for images, and managing dialogue aspects of chatbots. You will learn how to apply transfer learning and fine-tuning using TensorFlow 2. Further, it covers practical techniques that can simplify the labelling of textual data. The book also has a working code that is adaptable to your use cases for each tech piece. By the end of the book, you will have an advanced knowledge of the tools, techniques and deep learning architecture used to solve complex NLP problems.
Table of Contents (13 chapters)
Other Books You May Enjoy

Generating summaries

The critical thing to note while generating summaries is that a new inference loop will need to be built. Recall that teacher forcing was used during training, and the output of the Decoder was not used in predicting the next token. While generating summaries, we would like to use the generated tokens in predicting the next token. Since we would like to play with various input texts and generate summaries, we will use the code in the generating-summaries.ipynb IPython notebook. After importing and setting everything up, the tokenizer needs to be instantiated. The Setup Tokenization section of the notebook loads the tokenizers and sets up the vocabulary by adding start and end token IDs. Similar to when we loaded the data, the data encoding method is set up to encode the input articles.

Now, we must hydrate the model from the saved checkpoint. All of the model objects are created first:

BATCH_SIZE = 1  # for inference
embedding_dim = 128
units = 256...