Book Image

Natural Language Processing with TensorFlow

By : Motaz Saad, Thushan Ganegedara
Book Image

Natural Language Processing with TensorFlow

By: Motaz Saad, Thushan Ganegedara

Overview of this book

Natural language processing (NLP) supplies the majority of data available to deep learning applications, while TensorFlow is the most important deep learning framework currently available. Natural Language Processing with TensorFlow brings TensorFlow and NLP together to give you invaluable tools to work with the immense volume of unstructured data in today’s data streams, and apply these tools to specific NLP tasks. Thushan Ganegedara starts by giving you a grounding in NLP and TensorFlow basics. You'll then learn how to use Word2vec, including advanced extensions, to create word embeddings that turn sequences of words into vectors accessible to deep learning algorithms. Chapters on classical deep learning algorithms, like convolutional neural networks (CNN) and recurrent neural networks (RNN), demonstrate important NLP tasks as sentence classification and language generation. You will learn how to apply high-performance RNN models, like long short-term memory (LSTM) cells, to NLP tasks. You will also explore neural machine translation and implement a neural machine translator. After reading this book, you will gain an understanding of NLP and you'll have the skills to apply TensorFlow in deep learning NLP applications, and how to perform specific NLP tasks.
Table of Contents (16 chapters)
Natural Language Processing with TensorFlow
Contributors
Preface
Index

Extracting image features with CNNs


With a high level understanding of the overall pipeline, we will now discuss in detail how we can use CNNs to extract feature vectors for images. In order to get good feature vectors, we first need to either train the CNN with the images and its corresponding classes or use a pretrained CNN freely available on the internet. We will be reinventing the wheel if we train a CNN from scratch, as there are pretrained models available for free download. We also need to keep in mind that if the CNN needs to be capable of describing many objects, it needs to be trained on a set of classes corresponding to a variety of objects. This is why a model trained on a large dataset such as ImageNet (for example, compared to training on a small dataset having only 10 different classes) is important. As we saw earlier, ImageNet contains 1,000 object categories. This is more than adequate for the task we are trying to solve.

Keep in mind, however, that ImageNet contains ~1...