
Navigate the NLP with Python course with essential tips, access to notes and course notebooks, and guidance on getting help through Q&A forums, FAQ lectures, and Discord.
Navigate the NLP with Python curriculum from text basics to deep learning, covering spaCy, NLTK, tokenization, stemming, lemmatization, stop words, part of speech tagging, and text classification.
Install and configure Anaconda, create and activate the NLP_course_env.yml file, and launch Jupyter Notebook to run Python for NLP.
Explore python text basics by reading text and PDFs with built-in libraries and no external dependencies. Learn basic regular expressions to find patterns in text and complete an assessment.
Explore Python f-strings for print formatting, including alignment, padding, and minimum widths. Practice using dictionaries, lists, and tuple unpacking in f-strings, and format dates with datetime and strftime.
Learn to read, write, and append text files in Python using the open function, explore file modes, read lines, and use the with context manager to auto-close.
Learn to read and extract text from PDFs using PyPDF2, and handle limitations with scanned or non-extractable PDFs. Create and append pages to new PDFs with Python.
Use Python's regular expressions to search text for patterns like phone numbers, leveraging the re library, with search, find all, and find iter to extract and group matches.
Master advanced regular expressions in Python with grouping, the pipe operator, wildcards, and start/end anchors, then use exclusions with [^...] and plus for hyphenated words.
Explore the NLP assessment in Python text basics, including f-string printing, file creation and reading, PDF text extraction with PyPDF2, appending to Contacts.txt, and regex email extraction.
Solve Python text basics tasks by constructing f-strings, reading and writing files, extracting PDF text with PyPDF2, removing authors, and locating emails with regular expressions.
We set up spaCy and the required language library, explore tokenization, stemming, lemmatization, and stop words, and compare NLTK and spaCy while outlining what natural language processing is.
Explore spaCy, the open source python NLP library designed for speed, and compare it to NLTK. Learn to install spaCy, download the English language model, and load it for use.
Explore what natural language processing is and how computers turn raw English text into structured data using spaCy and NLTK, with examples like spam detection and sentiment analysis.
Explore spaCy basics by loading the English language model, building an NLP pipeline, and processing text into tokens through tokenization, POS tagging, parsing, and named entity recognition.
Learn how tokenization works with spaCy, splitting text into tokens with prefixes, suffixes, infixes, and exceptions, and how tokens relate to named entities, vocab, and noun chunks.
Visualize tokenization with the space c display, render in Jupyter, and explore entity and syntactic dependency visualizations with adjustable distance and styling.
Explore stemming in natural language processing using Porter's and Snowball stemmers in Python with NLTK, and compare their effects on words like run, runs, and fairly.
Explore lemmatization with spaCy, using full vocabulary and context rather than simple stemming. See how was becomes be and mice becomes mouse, and how running and ran share lemma run.
Learn to filter stop words with spaCy, view the default 305 English stop words, and add or remove custom stop words like btw to tailor NLP preprocessing.
Explore SpaCy's rule-based matching with the Matcher to define patterns as dictionaries and locate phrases like solar power in varied forms, returning start and end indices.
Explore phrase matching and vocabulary techniques in Python NLP, using a phrase matcher on a Reaganomics text to extract terms like supply-side and trickle-down economics with context.
Explore NLP basics assessment by working in a notebook with owlcreek text, counting tokens and sentences, and printing pos, dependency, and lemmatization, plus a swimming vigorously pattern match with context.
Explore NLP basics by loading Owl Creek text in Python, counting tokens and sentences, and using a pattern matcher to locate swimming vigorously with surrounding sentences.
Master parts of speech retrieval and named entity recognition with spaCy, visualize parts of speech and named entity recognition, and implement sentence segmentation with custom rules.
Explore parts of speech basics with spaCy, mastering coarse and fine-grained POS tags, tokenization nuances, and how to count and explain tags using a document vocab.
Visualizes parts of speech with displaCy in spaCy, showing POS tags and syntactic dependencies via render or serve, with options for distance, compact, color, background, and fonts.
Explore named entity recognition with spaCy, parsing entities such as persons, organizations, locations, times, and money. Learn to display entities, explain labels, and add custom entities with spans.
Learn to add multiple named entities with a spacey phrase matcher, creating product entities like vacuum space cleaner and vacuum dash cleaner, and count entities by label such as money.
Learn to visualize named-entity recognition with spaCy and displaCy in a Jupyter notebook, render documents, filter entities with options, and customize colors and gradients.
Explore how spaCy performs sentence segmentation and how to add custom boundaries, including semicolons, or replace rules with a custom sentence segmenter in the NLP pipeline.
Engage in a hands-on pos assessment with spaCy on 'The Tale of Peter Rabbit,' extracting tokens, pos tags, and fine-grained tags, and computing a pos frequency and noun percentage.
Demonstrate a spaCy driven parts-of-speech assessment workflow: load English, build a doc from Peter Rabbit, analyze tokens, POS tags, dependency parse, noun frequency, and named entities.
Explore text classification foundations by mastering machine learning basics and classification metrics, then learn text feature extraction, scikit-learn, and Python for real datasets.
Explore the supervised machine learning process for text classification, from acquiring and cleaning data to vectorizing text, splitting into training (70%) and test (30%) sets, training models, and evaluating performance.
Explore how classification metrics evaluate NLP models, focusing on accuracy, recall, precision, and F1 score through a binary spam vs ham example, using vectorization and a confusion matrix.
Explore the confusion matrix to understand true positives, true negatives, false positives, and false negatives, and how precision, recall, and accuracy evaluate classification models.
Install the psyche learn (scikit-learn) library, import an estimator, split data with train test split, fit the model, predict on the test set, and evaluate using classification metrics.
Load a tab-separated sms dataset with pandas, split length and punctuation features using train_test_split, then train a logistic regression model with scikit-learn to classify ham and spam.
Evaluate model accuracy on the test set using predictions, confusion matrices, and classification reports. Compare logistic regression, multinomial naive bayes, and svc on ham and spam text.
Explore feature extraction from text, including count vectorization and TF-IDF, to convert documents into a document-term matrix and weight terms with term frequency and inverse document frequency.
Explore manual vocabulary construction and feature extraction from text, then vectorize across documents with scikit-learn using count vectorizer and tf-idf, and build pipelines for text classification.
Learn to build text classification pipelines with tf-idf, using count vectorization, tf-idf transformer and tf-idf vectorizer, train a linear svc classifier, and evaluate with confusion matrix and classification report.
Learn to build a text classification model that predicts positive or negative movie reviews from raw text using a tf-idf vectorizer and a linear SVM, with data cleaning and evaluation.
Complete a text classification assessment by loading moviereviews2.tsv into a pandas data frame, building a vectorization pipeline, training a model, and evaluating with the confusion matrix, classification report, and accuracy.
Explore solutions for a text classification project by cleaning data with pandas, building a tf-idf pipeline, and evaluating a linear support vector classifier with a confusion matrix and accuracy.
Explore semantics and sentiment analysis using spaCy and Python. Learn the general syntax for sentiment analysis and apply Vader with NLTK for text classification.
Explore semantics and word vectors with spacey by installing English model. Learn word2vec concepts, cbow and skip-gram, cosine similarity, and vector arithmetic like king minus man plus woman equals queen.
Explore spaCy word vectors and document vectors in Python, learn vector similarities and king minus man plus woman as a practical semantic demonstration.
Explore how VADER sentiment analysis uses a polarity and intensity dictionary in Python with NLTK to assign sentiment scores to unlabeled text, including limitations like sarcasm.
Learn to perform sentiment analysis with Vader in Python using NLTK. Create a sentiment intensity analyzer, interpret negative, neutral, positive, and compound scores, and apply it to Amazon reviews.
Apply sentiment analysis to movie reviews with VADER in a hands-on code-along. Clean the tsv dataset, compute compound scores, and generate positive/negative labels while evaluating accuracy.
Review the sentiment analysis assessment project, covering vector arithmetic with word vectors and cosine similarity in spaCy, and implement a VADER sentiment analysis on your own review.
Practice vector arithmetic with spaCy, compute cosine similarity, and retrieve top similar words; then classify reviews as positive, negative, or neutral using Vader sentiment analysis.
Explore topic modeling as an unsupervised learning approach, implement Latent Dirichlet Allocation and non-negative matrix factorization with scikit-learn, and apply both to a project dataset.
Explore how topic modeling clusters unlabeled text into topics using unsupervised learning, with latent Dirichlet allocation and non-negative matrix factorization, and assess the challenges of evaluation.
Explore how Latent Dirichlet Allocation models documents as mixtures of topics and topics as distributions over words, including the Dirichlet distribution, two key assumptions, and the high-level iterative inference process.
Load the NPR.csv articles, build a document-term matrix with count vectorizer using max_df, min_df, and stop-word removal, then apply latent dirichlet allocation with seven topics and random state 42.
Explore how to extract vocabulary and topics from a trained LDA model in Python, using CountVectorizer and LDA.components_ to retrieve top words per topic and map documents to topics.
Explore non-negative matrix factorization for topic modeling using tf-idf, learn to derive topics with W and H, and interpret document-topic memberships.
Learn to apply non-negative matrix factorization with Python on the NPR.CSV dataset using tf-idf preprocessing to extract topics and top words, and compare with LDA for faster topic modeling.
Explore the topic modeling assessment project with over 400,000 Quora questions, applying tf-idf vectorization and non-negative matrix factorization to extract 20 topics. Use random state 42 to align topic results.
Perform topic modeling on Quora questions using tf-idf and non-negative matrix factorization to generate 20 topics with top words and map them back to questions.
Explore the basics of deep learning for natural language processing, study RNNs and LSTMs to generate text from a source corpus like Moby-Dick, and build Q&A chatbots in Python.
Explore the perceptron as a simple artificial neuron with inputs, weights, and a bias, using a basic activation function to yield 0 or 1 as the basis for neural networks.
Connect multiple perceptrons into a multi-layer neural network with input, hidden, and output layers, then compare sigmoid, tanh, and ReLU activations, using z = w x + b and Keras.
Master Keras basics by building a simple neural network to classify the Iris dataset, including train/test split, one-hot encoding, scaling, and sequential dense layers with relu and softmax activations.
Scale new data before prediction, generate class outputs with model.predict or predict_classes, align with Y test via argmax, evaluate with confusion matrix, classification report, and accuracy.
Explore recurrent neural networks for sequence data in NLP, from time series to sentences, using memory cells, unrolled through time, and LSTM units to model sequence inputs and outputs.
Explore how LSTM and GRU cells manage long-term memory for text generation, detailing forget and input gates, cell state updates, and peepholes, using Keras for practical RNN data preparation.
Process and clean text, tokenize with spaCy, create 25-word sequences using CARIS, encode with a tokenizer, and prepare features and labels for an upcoming LSTM model in part two.
Split the data into x features and y labels, train an LSTM-based model with Keras to predict the next word, and save both the model and tokenizer for text generation.
Generate new text from a seed with LSTM models in Keras, using a tokenizer, sequence length, and padding to predict and append words for a chosen output count.
Develop a deep learning question‑and‑answer bot from stories using end‑to‑end memory networks, with memory and output representations, a shared vocabulary, and multi‑hop reasoning in Python.
Load the QnA dataset with pickle in Python, then explore its structure, build a vocabulary from stories, questions, and yes/no answers, and prepare data for Keras padding and tokenization.
Learn to vectorize the dataset with Python by tokenizing text, building word indices, and padding sequences for stories, questions, and answers, using a reusable vectorize_stories function.
Design and implement a q&a bot in Python by building input encoders M and C, a question encoder, and an LSTM-based answer module with dropout and softmax for yes/no outputs.
Create and train a Python chat bot, load the chatbot_10.h5 file after 100 epochs, evaluate on the test set, plot training history, and craft custom stories and questions.
Welcome to the best Natural Language Processing course on the internet! This course is designed to be your complete online resource for learning how to use Natural Language Processing with the Python programming language.
In the course we will cover everything you need to learn in order to become a world class practitioner of NLP with Python.
We'll start off with the basics, learning how to open and work with text and PDF files with Python, as well as learning how to use regular expressions to search for custom patterns inside of text files.
Afterwards we will begin with the basics of Natural Language Processing, utilizing the Natural Language Toolkit library for Python, as well as the state of the art Spacy library for ultra fast tokenization, parsing, entity recognition, and lemmatization of text.
We'll understand fundamental NLP concepts such as stemming, lemmatization, stop words, phrase matching, tokenization and more!
Next we will cover Part-of-Speech tagging, where your Python scripts will be able to automatically assign words in text to their appropriate part of speech, such as nouns, verbs and adjectives, an essential part of building intelligent language systems.
We'll also learn about named entity recognition, allowing your code to automatically understand concepts like money, time, companies, products, and more simply by supplying the text information.
Through state of the art visualization libraries we will be able view these relationships in real time.
Then we will move on to understanding machine learning with Scikit-Learn to conduct text classification, such as automatically building machine learning systems that can determine positive versus negative movie reviews, or spam versus legitimate email messages.
We will expand this knowledge to more complex unsupervised learning methods for natural language processing, such as topic modelling, where our machine learning models will detect topics and major concepts from raw text files.
This course even covers advanced topics, such as sentiment analysis of text with the NLTK library, and creating semantic word vectors with the Word2Vec algorithm.
Included in this course is an entire section devoted to state of the art advanced topics, such as using deep learning to build out our own chat bots!
Not only do you get fantastic technical content with this course, but you will also get access to both our course related Question and Answer forums, as well as our live student chat channel, so you can team up with other students for projects, or get help on the course content from myself and the course teaching assistants.
All of this comes with a 30 day money back garuantee, so you can try the course risk free.
What are you waiting for? Become an expert in natural language processing today!
I will see you inside the course,
Jose