
Explore a comprehensive 3-in-1 NLP masterclass covering text preprocessing and vectorization, machine learning and deep learning for NLP, and generative AI with transformers.
Follow the three tips to succeed in this NLP masterclass: learn sequentially from section one, never skip any lecture, and code after each lesson using PyTorch or TensorFlow.
Learn how Google Colab enables Python coding and Jupyter notebook execution for free, with Gmail access, 15 GB of space, preinstalled packages, and free CPU and GPU.
Learn to work in Google Colab by mounting the drive, setting the path, and reading data and images; display images with matplotlib.
Unzip the downloaded course material zip to a folder and upload it to your Google Drive, then access the section resources and use Google Colab for the course materials.
Explore the definition, origins in computer science and computational linguistics, and purpose of natural language processing, and understand how NLP enables computers to understand, interpret, and generate human language.
Explore the history of NLP from the 1950 Turing test to today’s state-of-the-art tools, including rule-based and data-driven models, and core applications like translation and sentiment analysis.
Explore major NLP applications including spam detection and ham classification, sentiment analysis, text summarization (extractive and abstractive), text generation, topic modeling, language translation, and question answering with chatbots.
Explore vocabulary as the set of unique words and corpus as the text under study, including how subsets and vocab size affect NLP with datasets.
Explore text pre-processing techniques, including word-based, character-based, and subword tokenization, plus stemming and lemmatization, to convert sentences into meaningful numeric representations for model input.
Learn tokenization in Python on Google Colab, including word-based, character-based, and subword methods, using split, join, and partition to build bag of words and unpack tuples.
Learn to perform word tokenization with NLTK, an open-source library, using its pre-trained model to handle punctuation, and see how it compares to simple split methods.
Explore stemming and lemmatization as text preprocessing, compare their effects on word forms and whether results stay real words, and learn how stop words are identified and filtered.
Explore stemming and lemmatization with NLTK, using Porter and Snowball stemmers and the WordNet lemmatizer, enhanced by POS tagging for accurate lemmas.
Explore text vectorization by converting words into numbers to turn sentences into vectors. Learn three methods—word-to-index mapping, count vectorizer, and tf-idf vectorizer.
Learn how to implement word to index mapping in python using numpy, tokenize text, build a vocabulary with an unknown token, and convert training and test sentences to index vectors.
Explore bag of words: tokenize text, build a vocabulary of unique words, and convert sentences into sparse vectors. Learn its limitations like ignoring word order and semantics.
Explore the count vectorizer, a bag-of-words technique that converts documents into numerical vectors by counting word occurrences, enabling simple machine learning classification.
Explore how to implement CountVectorizer in Python to build a bag-of-words representation, inspect the sparse vector matrix, convert to arrays, and read the vocabulary and word-to-index mapping.
Explore tf-idf vectorization and how it weights terms by term frequency and inverse document frequency, improving on CountVectorizer by downweighting stopwords.
Explore tf-idf vectorization in python by implementing tf-idf vectorizer and comparing it with count vectorizer across three documents, including normalization and vocabulary insights.
Learn the basic concept of logistic regression as a probabilistic classifier for classification, contrast regression with classification, and use a threshold to convert class probabilities into predictions.
Explore the limitations of regression for classification and learn how logistic regression provides valid probabilities between 0 and 1 for disease prediction based on age.
Learn how to compute accuracy, precision, recall, and F1 score from a confusion matrix, and compare biased versus unbiased data using the harmonic mean of precision and recall.
Learn sentiment analysis with logistic regression on tweets data using tf-idf features, train-test split, evaluation via confusion matrix, accuracy, precision, recall, F1, plus classification report for neutral, positive, and negative.
Explore how KNN classifies a test point using nearest neighbors, majority voting, and the effects of different k values on accuracy amid misclassified points and noise.
Explore the KNN algorithm, learn how to choose k, compute Euclidean distance, select neighbors, and apply majority voting to classify a new point.
Apply the knn algorithm to predict t shirt size from height and weight using euclidean distance and majority voting. A new point yields a medium size across k=5,7,9.
Train a k-nearest neighbors classifier on tf-idf features to perform sentiment analysis of Amazon reviews, using a 20% test split and a 2000-feature vectorizer, achieving about 74% accuracy.
Explore using the pre-trained Vader model with NLTK's sentiment intensity analyzer. It returns negative, neutral, positive, and compound scores to determine the overall sentiment.
Explore spam detection as a text classification task, building a spam detector with Naive Bayes and support vector machine classifiers to filter unsolicited emails.
Explore the fundamentals of probability by identifying random experiments, sample space and sample points, and defining events and probability with examples like coins, dice, and card draws.
Explore conditional probability and Bayes theorem, learn how to compute a given event's probability using joint probability, prior and posterior probability, and the roles of likelihood and evidence.
Apply Bayes theorem to a numerical two-dice example, computing the conditional probability that two faces match given the sum is not greater than three, yielding a posterior of 1/3.
Learn how the naive bayes classifier uses Bayes theorem and conditional probability to compute posterior probabilities for class A or class B and assign a new data point accordingly.
Compare Naive Bayes and logistic regression as probabilistic classifiers, highlighting generative versus discriminative approaches, feature independence, multicollinearity effects, and bias–variance trade-offs with limited training data.
Explore how the support vector machine finds the best separating hyperplane using maximum margin, relying on support vectors. Compare SVM with KNN and logistic regression to understand discriminative classifiers.
Explore the mathematics of support vector machines, deriving how the maximum margin depends on k, with w perpendicular to the decision boundary and margin boundaries at ±1.
Explain the SVM decision rule, highlighting the role of k in soft versus hard classification, and how w^T x + b equals 0, 1, or -1 defines boundary and hyperplanes.
Explore the Dirichlet distribution and its use in topic modeling with LDA, while learning data distribution concepts, population and sampling, and how Dirichlet differs from other distributions.
Explore the Dirichlet distribution through a restaurant analogy, showing how correlations among stories group data into classes, and apply Latent Dirichlet Allocation for topic modeling of documents.
Topic modeling is an unsupervised statistical method that learns hidden patterns in a text corpus and assigns topics to unlabeled documents. It uses the words in each document to identify topics, offering a richer representation than clustering and enabling named topics such as business, sports, or politics.
Explore latent Dirichlet allocation, a topic modeling method that assigns document topics from word distributions in a bag-of-words view. See how it uses a topics-by-word matrix and a document-by-topics matrix.
Explore non-negative matrix factorization (NMF) for dimensionality reduction by decomposing a non-negative input matrix into W and H, then apply it to topic modeling with documents by words.
Learn topic modeling with non-negative matrix factorization (NMF) on BBC text data using tf-idf features to build topic by word and document by topic matrices for five topics.
Hi everyone,
This is a massive 3-in-1 course covering the following:
1. Text Preprocessing and Text Vectorization
2. Machine Learning and Statistical Methods
3. Deep Learning for NLP and Generative AI for text.
This course covers all the aspects of performing different Natural Language processing using Machine Learning Models, Statistical Models and State of the art Deep Learning Models such as LSTM and Transformers.
This course will set the foundation for learning the most recent and groundbreaking topics in AI related Natural processing tasks such as Large Language Models, Diffusion models etc.
This course includes the practical oriented explanations for all Natural Language Processing tasks with implementation in Python
Sections of the Course
· Introduction of the Course
· Introduction to Google Colab
· Introduction to Natural Language Processing
· Text Preprocessing
· Text Vectorization
· Text Classification with Machine Learning Models
· Sentiment Analysis
· Spam Detection
· Dirichlet Distribution
· Topic Modeling
· Neural Networks
· Neural Networks for Text Classification
· Word Embeddings
· Neural Word Embeddings
· Generative AI for NLP
· Markov Model for Text Generation
· Recurrent Neural Networks ( RNN )
· Sequence to sequence (Seq2Seq) Networks
. Seq2Seq Networks for Text Generation
. Seq2Seq Networks for Language Translation
· Transformers
· Bidirectional LSTM
· Python Refresher
Who this course is for:
· Students enrolled in Natural Language processing course.
· Beginners who want to learn Natural Language Processing from fundamentals to advanced level
· Researchers in Artificial Intelligence and Natural Language Processing.
· Students and Researchers who want to develop Python Programming skills while solving different NLP tasks.
· Want to switch from Matlab and Other Programming Languages to Python.