Video description
"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.
Inside:- 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 book/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
NARRATED BY MARK THOMAS
Table of Contents
Part 1. Wordy machines
Chapter 1. Packets of thought (NLP overview)
Natural language vs. programming language
The magic
The math
Practical applications
Language through a computer’s “eyes”
A simple chatbot
Another way
A brief overflight of hyperspace
Word order and grammar
A chatbot natural language pipeline
Processing in depth
Natural language IQ
Chapter 2. Build your vocabulary (word tokenization)
Challenges (a preview of stemming)
Building your vocabulary with a tokenizer Part 1
Building your vocabulary with a tokenizer Part 2
Dot product
A token improvement
Extending your vocabulary with n-grams Part 1
Extending your vocabulary with n-grams Part 2
Normalizing your vocabulary Part 1
Normalizing your vocabulary Part 2
Normalizing your vocabulary Part 3
Sentiment
VADER—A rule-based sentiment analyzer
Chapter 3. Math with words (TF-IDF vectors)
Math with words (TF-IDF vectors)
Bag of words
Vectorizing
Vector spaces
Zipf’s Law
Topic modeling
Relevance ranking
Okapi BM25
Chapter 4. Finding meaning in word counts (semantic analysis)
From word counts to topic scores
TF-IDF vectors and lemmatization
Thought experiment
An algorithm for scoring topics
An LDA classifier
Latent semantic analysis
Your thought experiment made real
Singular value decomposition
U—left singular vectors
SVD matrix orientation
Principal component analysis
Stop horsing around and get back to NLP
Using truncated SVD for SMS message semantic analysis
Latent Dirichlet allocation (LDiA)
LDiA topic model for SMS messages
Distance and similarity
Steering with feedback
Topic vector power
Semantic search
Part 2. Deeper learning (neural networks)
Chapter 5. Baby steps with neural networks (perceptrons and backpropagation)
Neural networks, the ingredient list
Detour through bias Part 1
Detour through bias Part 2
Detour through bias Part 3
Let’s go skiing—the error surface
Keras: Neural networks in Python
Chapter 6. Reasoning with word vectors (Word2vec)
Semantic queries and analogies
Word vectors
Vector-oriented reasoning
How to compute Word2vec representations Part 1
How to compute Word2vec representations Part 2
How to use the gensim.word2vec module
How to generate your own word vector representations
fastText
Visualizing word relationships
Unnatural words
Chapter 7. Getting words in order with convolutional neural networks (CNNs)
Learning meaning
Toolkit
Convolutional neural nets
Padding
Narrow windows indeed
Implementation in Keras: prepping the data
Convolutional neural network architecture
The cherry on the sundae
Using the model in a pipeline
Chapter 8. Loopy (recurrent) neural networks (RNNs)
Loopy (recurrent) neural networks (RNNs)
Remembering with recurrent networks
Backpropagation through time
Recap
Putting things together
Hyperparameters
Predicting
Chapter 9. Improving retention with long short-term memory networks
LSTM Part 1
LSTM Part 2
Backpropagation through time
Back to the dirty data
My turn to chat
My turn to speak more clearly
Learned how to say, but not yet what
Chapter 10. Sequence-to-sequence models and attention
Encoder-decoder architecture
Decoding thought
Look familiar?
Assembling a sequence-to-sequence pipeline
Sequence encoder
Training the sequence-to-sequence network
Building a chatbot using sequence-to-sequence networks
Enhancements
In the real world
Part 3. Getting real (real-world NLP challenges)
Chapter 11. Information extraction (named entity extraction and question answering)
Named entities and relations
A knowledge base
Regular patterns
Information worth extracting
Extracting dates
Extracting relationships (relations)
Relation normalization and extraction
Why won’t split(’.!?’) work?
Chapter 12. Getting chatty (dialog engines)
Language skill
Modern approaches Part 1
Modern approaches Part 2
Pattern-matching approach
A pattern-matching chatbot with AIML Part 1
A pattern-matching chatbot with AIML Part 2
Grounding
Retrieval (search)
Example retrieval-based chatbot
Generative models
Four-wheel drive
Design process
Trickery
Chapter 13. Scaling up (optimization, parallelization, and batch processing)
Too much of a good thing (data)
Optimizing NLP algorithms
Advanced indexing
Advanced indexing with Annoy
Why use approximate indexes at all?
Constant RAM algorithms
Parallelizing your NLP computations
Reducing the memory footprint during model training
App A. Your NLP tools
Anaconda3
Mac
App B. Playful Python and regular expressions
Working with strings
Regular expressions
App C. Vectors and matrices (linear algebra fundamentals)
Vectors
Distances Part 2
App D. Machine learning tools and techniques
Data selection and avoiding bias
Knowing is half the battle
Holding your model back
Imbalanced training sets
Performance metrics
App F. Locality sensitive hashing
High-dimensional vectors are different
High-dimensional thinking
High-dimensional indexing