
Course Introduction!
Overview of NLP Course
Text Preprocessing in Python Intro
Machine Learning introduction.
Get code files here!!!
Anaconda is used to manage python packages. Anaconda brings most of the machine learning python packages in ready to use mode.
Anaconda is used to manage python packages. Anaconda brings most of the machine learning python packages in ready to use mode.
Install Anaconda on mac using the 64-bit command line installer to sidestep Catalina permissions. Activate the base environment and launch Jupyter notebook to start Python coding.
Install git bash and commander terminal for better use of terminal on a windows machine.
Master Python string data types by learning assignment, concatenation, repetition, and indexing and slicing, then applying common string methods like length for practical NLP tasks.
Explore if, else, and else if statements in Python, test conditions such as age and grades, and see how conditional blocks execute to assign outcomes.
Explore how to control loops with break and continue, stopping at a condition or skipping iterations in for and while loops, including printing subsets and handling spaces.
Learn to define and call methods using def, pass parameters, and return results; explore lambda functions for inline use and how to reuse a square and greeting method.
Explore list comprehension and lambda method to write concise, single-line Python code for mapping numbers to squares, filtering evens, building dictionaries, and flattening nested lists.
Explore creating numpy arrays of 1d, 2d, and 3d (and beyond) using np.array, arange, ones, and linspace; learn about shape, depth, indexing, slicing, and modifying elements.
Learn to create numpy arrays using arange, zeros, and ones, specify shape and data type, and build multi-dimensional arrays from simple lists, with examples of int and float types.
Explore numpy statistical operations on 1d, 2d, and 3d arrays, including mean, variance, standard deviation, min, max, and axis-based calculations, plus feature normalization by mean subtraction and std division.
Explore numpy reshaping with reshape, ravel, and flatten, compare view versus copy and memory impact, and flatten 100 images (28×28) to 100×784 for CNN input.
Discover how to generate sequences and random numbers in numpy with arange, linspace, repeat, and tile, and learn reshaping and seed-based initialization for deterministic machine learning experiments.
Learn how to generate random numbers with numpy, including uniform and normal distributions, using random.rand and rand int, and apply seeds for reproducible train-test splits and weight initialization.
Master reading csv, json, and txt files with pandas into a data frame, including from online sources like GitHub raw links.
Explore selecting and manipulating data frame columns with list comprehension and lambda, lowercase column names, and create a new 'family size' feature by adding sibling-spouse and parent-child.
Learn practical techniques for renaming and selecting dataframe columns, applying conditional logic, and filtering numerical data types in Python pandas for streamlined data engineering.
Master filtering a data frame with predefined conditions, including null handling and multi-condition filters on age and gender for targeted rows.
Identify and fill null values in a dataframe using fillna, forward fill, and backward fill. Learn to drop columns with excessive nulls using threshold and axis, preserving data integrity.
Apply a lambda function for feature engineering on age to label child, teen, adult, and senior, handle missing values with interpolation, and inspect value counts.
Apply lambda functions to engineer features across multiple columns in a data frame, such as pair per family member, name length, and title extraction for model improvement.
Learn to group by categorical columns and apply aggregation on numerical data with Pandas, using groupby to compute mean ages by passenger class and gender for smarter imputation.
convert a pandas column from object to category to reduce memory, reveal two unique values, and apply encoding techniques like get_dummies, mapping, and rename categories for machine learning.
Learn how to create a data directory and write or append text to files in Python using os and file pointers, both with and without the with open context manager.
Explore how to write multi-line content to a file in Python by using for loops, write mode vs append mode, and joining lines to preserve line breaks.
Learn to read a file in Python using read mode, file pointers, and read lines; split lines, evaluate expressions, and close the file for clean data.
Learn to read large csv files in chunks with pandas read_csv, concatenate chunks into a full dataframe, and save as csv or tsv with optional index control.
Learn to load nested json data into a pandas dataframe with json_normalize, using a passenger example to extract name, age, ticket number, and price.
Explore regex basics in Python, testing metacharacters like caret, dollar, dot, and pipe with regex101, including start-of-string concepts, and learn how quantifiers, groups, ranges, and escapes build pattern matching.
Explore regex quantifiers in Python with regex101 examples, covering plus, star, and question mark, and curly brace ranges to control repeated matches, optional elements, and min/max counts.
Explore how groups and ranges in regex match characters using parentheses, square brackets, and curly braces, define character sets, and handle patterns like A4 and 3D.
Explore Python regex dot search to find patterns within strings, retrieve spans and digits using re.search, and extract emails with a simple pattern in a multi-line text.
Explore spaCy, an open-source Python library for industrial-strength NLP on large data sets, offering tokenization, lemmatization, NER, pipelines, and vectorization with transformers.
Learn how to print spaCy tokens with or without a pretty table, access token text and attributes like is_alpha, is_punct, and is_numeric, and explore tokenization's impact on pre-processing for NLP.
Explore dependency parsing in spaCy, capturing syntactic relationships to boost NLP tasks such as translation, sentiment analysis, named entity recognition, and information extraction alongside POS tagging.
Explore how to measure sentence similarity by projecting text into a vector space with spacy and embedding vectors, then use cosine similarity on 300-dimensional vectors.
Explore stop words in Bert extracted text data by comparing NLTK and Spacy lists, loading a bird corpus, tokenizing, lowercasing, and removing stop words to study filtered text.
Explore stemming with the porter stemmer in NLTK, compare it to lemmatization from spacy, noting that stemming yields non-dictionary bases but runs faster for latency-critical tasks.
Learn to perform part-of-speech tagging with NLTK by importing pos_tag, loading the averaged perceptron tagger, tagging words, and examining tag sets, with a Spacy comparison.
Explore lemmatization with NLTK using the WordNet Lemmatizer, download WordNet, and compare lemmatized words with stemming through tokenized text to show valid root forms.
Learn to extract meaningful noun phrases with the NLTK chunking approach by defining a determiner-adjective-noun grammar and applying a regex parser to tagged text.
master named entity recognition with NLTK by tokenizing text, POS tagging, and building a named entity tree with chunkers and neural models; compare NLTK and Spacy for NER tagging.
Load and preprocess Twitter data for NLP mastery by downloading the Twitter 4000 dataset, reading with pandas, and performing feature extraction and cleaning on the tweets column.
Extract the character count feature from a tweet column by removing spaces and computing length, using either direct length or regex methods, applied via a lambda on the data frame.
Count words in tweet data by splitting text on whitespace, compute word counts and average word length from character counts, and round results for analysis.
Identify numeric digits in tweets using regex with word boundaries, count each digit word with a lambda on the tweet column, and validate results in a data frame.
Learn to remove repeated characters in text using regex patterns, capture groups, and replace with a single character (or two), then apply to a dataframe column.
Demonstrates common words removal by tokenizing tweet data, counting word frequencies with Counter, and filtering top ten words to produce no common tweets.
Understand word cloud visualization, where frequent words appear larger and brighter. Follow steps to plot it in Python: install wordcloud, import libraries, and feed string data.
Write a clear readme.md and license for a Python NLP package, outlining purpose, requirements, installation via pip, and licensing options. Explain license constraints and repository location.
Learn to complete a setup.py workflow, including package name and data, include package data, manifest.in, versioning, author details, long description from readme, classifiers, and Python version requirements.
Extend the Python nlp package by adding character count, word count, average word length, and counts for stop words, hashtags, mentions, numerics, and uppercase text.
Write and assemble Python functions for text preprocessing, removing accented characters, mentions, special characters, URLs, repeated characters, and stop words, then lemmatize to base forms with spaCy.
Build a Python text preprocessing pipeline that removes common and rare words, corrects spelling, detects language, translates, and extracts noun phrases and n-grams with TextBlob.
Test and use your Python package locally by installing in the correct environment, importing preprocess_cp, and validating cleaning steps like removing retweet, HTML tags, lemmatization, and translation.
This comprehensive course will teach you Natural Language Processing (NLP) from scratch, leveraging Python for beginners. With over 38 hours of engaging content, this course is a hands-on learning journey that covers fundamental techniques and tools to process text data and deploy machine learning models. By the end of the course, you'll gain valuable skills to implement text processing, machine learning, deep learning, and text classification models.
Introduction:
Start your journey with a gentle introduction to machine learning principles. You'll get a clear overview of this exciting field before jumping into installing all necessary software like Anaconda, Python, VS Code, and Git Bash. With step-by-step instructions for different operating systems (Windows, Ubuntu, and Mac), you'll be equipped to run Python code seamlessly using Jupyter Notebooks.
Python Crash Course for Machine Learning:
Build a solid foundation in Python, specifically tailored for machine learning. Learn Python data types, control flow, loops, functions, and error handling. You'll master using lists, dictionaries, sets, and tuples effectively, enabling you to write clean, efficient code in no time.
Numpy Crash Course for Machine Learning:
Gain proficiency in Numpy, the essential library for numerical computing in Python. Learn how to create, manipulate, and perform statistical operations on arrays. You’ll also understand how to work with multidimensional arrays, reshaping them, and performing advanced operations like sorting and handling NaN values, key to working with datasets in ML.
Pandas Crash Course for Machine Learning:
In this section, you’ll dive into Pandas, a critical tool for data manipulation and analysis. Learn how to load, filter, slice, and clean your data using advanced techniques like Groupby, Aggregation, and merging. You'll also focus on handling missing data and effectively preparing data for ML algorithms.
Working with Text Files:
Understand how to handle a variety of file formats, from basic text files to CSV, Excel, and JSON files. You’ll explore how to write, read, and process these files to extract and prepare the information for Machine Learning tasks. Special focus will be given to cleaning and extracting data from complex files like PDFs and audio files.
Mastering Regular Expressions with Python:
Learn the power of Regular Expressions (Regex) to clean and preprocess text data efficiently. This section covers pattern matching, extracting relevant information, and working with text data using regex functions in Python.
Spacy Introduction for Text Processing:
Discover Spacy, an industry-standard library for text processing and NLP. You’ll learn how to tokenize, tag parts of speech (POS), and extract named entities like person names and locations using Spacy’s pre-built models. These tools will be crucial in processing large amounts of text data.
NLTK for Text Processing:
Explore the Natural Language Toolkit (NLTK) for text processing. Learn tokenization, stemming, and lemmatization. You'll also get hands-on with Named Entity Recognition (NER), chunking, and identifying collocations in text data.
Complete Text Cleaning and Text Processing:
Go deep into text cleaning with a full overview of common cleaning tasks, such as removing URLs, mentions, hashtags, and stopwords, as well as expanding contractions. You'll also be introduced to advanced tasks like spelling correction, word cloud visualizations, and sentiment analysis using the TextBlob library.
Make Your Own Text Processing Python Package:
This section empowers you to build your own Python package. After setting up your project directory and necessary files, you'll implement methods to encapsulate your text processing workflows. Learn the significance of tools like setup[dot]py for package distribution.
Publish Your Python Package on PyPi for Easy Installation:
Learn the process of publishing your text processing package on PyPi, making it easy for others to install via pip. This section walks you through creating GitHub repositories, uploading your work, and sharing your package for open-source usage.
Linear Regression and Interview Questions:
Gain insights into one of the foundational machine learning algorithms—Linear Regression. Learn how to code it for tasks like predicting housing prices and using evaluation metrics like Mean Squared Error (MSE). You’ll also explore common interview questions on regression models.
Logistic Regression and Interview Questions:
Delve into Logistic Regression, understanding how it works for binary classification tasks like predicting whether a tumor is malignant or benign. Get ready to answer key questions about cost functions, entropy, and overfitting.
SVM, KNN, Decision Tree, Random Forest and Interview Questions:
In this section, understand some of the most common machine learning classifiers, such as Support Vector Machine (SVM), K-Nearest Neighbors (KNN), and Decision Trees. You will train models and fine-tune them for optimal performance.
Spam Text Classification:
Learn how to build a spam email classifier using classic techniques like Bag of Words (BoW) and TF-IDF. You'll explore the process from feature extraction, data loading, model training, and evaluation.
Sentiment Analysis on IMDB Movie Reviews:
Explore sentiment analysis by predicting movie reviews from IMDB. You’ll use TF-IDF and various machine learning models like Logistic Regression and SVM for analysis, gaining crucial insights into working with text sentiment classification tasks.
ML Model Deployment with Flask:
Learn how to deploy machine learning models as a web application using Flask. This section covers setting up a Flask server, running your ML models on it, and deploying your machine learning API for real-time prediction.
Multi-Label Text Classification for Tag Prediction:
Master multi-label classification, a technique where each instance can belong to more than one label. You'll apply it to the Stack Overflow dataset, focusing on predicting multiple tags for a post.
Sentiment Analysis using Word2Vec Embeddings:
Dive deeper into word embeddings like Word2Vec and GloVe to enhance your sentiment analysis models. By training machine learning algorithms using these word vectors, you'll increase the performance and accuracy of your models.
Resume Parsing with Spacy:
Learn to implement Named Entity Recognition (NER) using Spacy for parsing Resumes (CVs). This powerful skill can automate tasks such as extracting key information from resumes, which is highly applicable in talent acquisition or HR automation.
Deep Learning for Sentiment Analysis:
Explore Deep Learning techniques for text sentiment analysis, including building and training an Artificial Neural Network (ANN) and a Convolutional Neural Network (CNN). Understand why deep learning models are so effective in working with complex text data.
Hate Speech Classification using Deep Learning:
Focus on Deep Learning for classifying text, especially for applications like hate speech detection. By building a model using CNN, you will classify tweets and gain understanding of building powerful models for text categorization.
Poetry Generation Using LSTM and TensorFlow/Keras:
Explore how to generate text automatically with Long Short-Term Memory (LSTM) networks using TensorFlow and Keras. By training your models on poetry datasets, you’ll understand how to create creative applications in the field of text generation.
Disaster Tweets Classification Using Deep Learning:
Learn how to classify Disaster Tweets with deep learning and embeddings. This project helps you see how sentiment analysis can be scaled to real-world scenarios with a focus on disaster management communication analysis.
Each section of this course will enrich your knowledge and prepare you for hands-on tasks in Natural Language Processing and Machine Learning, creating opportunities to master real-world projects and prepare for job-ready NLP tasks.
Note:
This course requires you to download Anaconda and/or Docker Desktop from external websites. If you are a Udemy Business user, please check with your employer before downloading software.