Preface Chapter 1: Introduction to Natural Language Processing What is Natural Language Processing? Tasks of Natural Language Processing The traditional approach to Natural Language Processing Understanding the traditional approach Example - generating football game summaries Drawbacks of the traditional approach The deep learning approach to Natural Language Processing History of deep learning The current state of deep learning and NLP Understanding a simple deep model - a Fully-Connected Neural Network The roadmap - beyond this chapter Introduction to the technical tools Description of the tools Installing Python and scikit-learn Installing Jupyter Notebook Installing TensorFlow Summary Chapter 2: Understanding TensorFlow What is TensorFlow? Getting started with TensorFlow TensorFlow client in detail TensorFlow architecture - what happens when you execute the client? Cafe Le TensorFlow - understanding TensorFlow with an analogy Inputs, variables, outputs, and operations Defining inputs in TensorFlow Feeding data with Python code Preloading and storing data as tensors Building an input pipeline Defining variables in TensorFlow Defining TensorFlow outputs Defining TensorFlow operations Comparison operations Mathematical operations Scatter and gather operations Neural network-related operations Reusing variables with scoping Implementing our first neural network Preparing the data Defining the TensorFlow graph Running the neural network Summary Chapter 3: Word2vec - Learning Word Embeddings What is a word representation or meaning? Classical approaches to learning word representation WordNet - using an external lexical knowledge base for learning word representations Tour of WordNet