Natural Language Processing in Action Video Edition

Natural Language Processing in Action Video Edition
Natural Language Processing in Action Video Edition
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 17h 26m | 4.12 GB

“Learn both the theory and practical skills needed to go beyond merely understanding the inner workings of NLP, and start creating your own algorithms or models.”
Dr. Arwen Griffioen, Zendesk

Natural Language Processing in Action is your guide to creating machines that understand human language using the power of Python with its ecosystem of packages dedicated to NLP and AI.

Recent advances in deep learning empower applications to understand text and speech with extreme accuracy. The result? Chatbots that can imitate real people, meaningful resume-to-job matches, superb predictive search, and automatically generated document summaries—all at a low cost. New techniques, along with accessible tools like Keras and TensorFlow, make professional-quality NLP easier than ever before.

Natural Language Processing in Action is your guide to building machines that can read and interpret human language. In it, you’ll use readily available Python packages to capture the meaning in text and react accordingly. The book expands traditional NLP approaches to include neural networks, modern deep learning algorithms, and generative techniques as you tackle real-world problems like extracting dates and names, composing text, and answering free-form questions.


  • Some sentences in this book were written by NLP! Can you guess which ones?
  • Working with Keras, TensorFlow, gensim, and scikit-learn
  • Rule-based and data-based NLP
  • Scalable pipelines

This course requires a basic understanding of deep learning and intermediate Python skills.

Hobson Lane, Cole Howard, and Hannes Max Hapke are experienced NLP engineers who use these techniques in production.

Provides a great overview of current NLP tools in Python. I’ll definitely be keeping this book on hand for my own NLP work. Highly recommended!
Tony Mullen, Northeastern University–Seattle

An intuitive guide to get you started with NLP. The book is full of programming examples that help you learn in a very pragmatic way.
Tommaso Teofili, Adobe Systems

Table of Contents

1 Part 1. Wordy machines
2 Natural language vs. programming language
3 The magic
4 The math
5 Practical applications
6 Language through a computer’s “eyes”
7 A simple chatbot
8 Another way
9 A brief overflight of hyperspace
10 Word order and grammar
11 A chatbot natural language pipeline
12 Processing in depth
13 Natural language IQ
14 Challenges (a preview of stemming)
15 Building your vocabulary with a tokenizer Part 1
16 Building your vocabulary with a tokenizer Part 2
17 Dot product
18 A token improvement
19 Extending your vocabulary with n-grams Part 1
20 Extending your vocabulary with n-grams Part 2
21 Normalizing your vocabulary Part 1
22 Normalizing your vocabulary Part 2
23 Normalizing your vocabulary Part 3
24 Sentiment
25 VADER—A rule-based sentiment analyzer
26 Math with words (TF-IDF vectors)
27 Bag of words
28 Vectorizing
29 Vector spaces
30 Zipf’s Law
31 Topic modeling
32 Relevance ranking
33 Okapi BM25
34 From word counts to topic scores
35 TF-IDF vectors and lemmatization
36 Thought experiment
37 An algorithm for scoring topics
38 An LDA classifier
39 Latent semantic analysis
40 Your thought experiment made real
41 Singular value decomposition
42 U—left singular vectors
43 SVD matrix orientation
44 Principal component analysis
45 Stop horsing around and get back to NLP
46 Using truncated SVD for SMS message semantic analysis
47 Latent Dirichlet allocation (LDiA)
48 LDiA topic model for SMS messages
49 Distance and similarity
50 Steering with feedback
51 Topic vector power
52 Semantic search
53 Part 2. Deeper learning (neural networks)
54 Neural networks, the ingredient list
55 Detour through bias Part 1
56 Detour through bias Part 2
57 Detour through bias Part 3
58 Let’s go skiing—the error surface
59 Keras – Neural networks in Python
60 Semantic queries and analogies
61 Word vectors
62 Vector-oriented reasoning
63 How to compute Word2vec representations Part 1
64 How to compute Word2vec representations Part 2
65 How to use the gensim.word2vec module
66 How to generate your own word vector representations
67 fastText
68 Visualizing word relationships
69 Unnatural words
70 Learning meaning
71 Toolkit
72 Convolutional neural nets
73 Padding
74 Narrow windows indeed
75 Implementation in Keras – prepping the data
76 Convolutional neural network architecture
77 The cherry on the sundae
78 Using the model in a pipeline
79 Loopy (recurrent) neural networks (RNNs)
80 Remembering with recurrent networks
81 Backpropagation through time
82 Recap
83 Putting things together
84 Hyperparameters
85 Predicting
86 LSTM Part 1
87 LSTM Part 2
88 Backpropagation through time
89 Back to the dirty data
90 My turn to chat
91 My turn to speak more clearly
92 Learned how to say, but not yet what
93 Encoder-decoder architecture
94 Decoding thought
95 Look familiar
96 Assembling a sequence-to-sequence pipeline
97 Sequence encoder
98 Training the sequence-to-sequence network
99 Building a chatbot using sequence-to-sequence networks
100 Enhancements
101 In the real world
102 Part 3. Getting real (real-world NLP challenges)
103 Named entities and relations
104 A knowledge base
105 Regular patterns
106 Information worth extracting
107 Extracting dates
108 Extracting relationships (relations)
109 Relation normalization and extraction
110 Why won’t split(‘.!’) work
111 Language skill
112 Modern approaches Part 1
113 Modern approaches Part 2
114 Pattern-matching approach
115 A pattern-matching chatbot with AIML Part 1
116 A pattern-matching chatbot with AIML Part 2
117 Grounding
118 Retrieval (search)
119 Example retrieval-based chatbot
120 Generative models
121 Four-wheel drive
122 Design process
123 Trickery
124 Too much of a good thing (data)
125 Optimizing NLP algorithms
126 Advanced indexing
127 Advanced indexing with Annoy
128 Why use approximate indexes at all
129 Constant RAM algorithms
130 Parallelizing your NLP computations
131 Reducing the memory footprint during model training
132 Anaconda3
133 Mac
134 Working with strings
135 Regular expressions
136 Vectors
137 Distances Part 2
138 Data selection and avoiding bias
139 Knowing is half the battle
140 Holding your model back
141 Imbalanced training sets
142 Performance metrics
143 High-dimensional vectors are different
144 High-dimensional thinking
145 High-dimensional indexing