Natural Language Processing

Make AI Programs Understand and Generate Human Language

What you'll learn

  • Understand natural language processing (NLP)
  • Learn the life cycle of an NLP project
  • Prepare text data and remove punctuation
  • Apply tokenization and remove stop words
  • Use stemming and lemmatization
  • Turn text into numbers with vectorization
  • Extract useful features with feature engineering
  • Choose the right model with model selection
  • Evaluate model performance

About this course

This course explains natural language processing (NLP), the branch of artificial intelligence that lets computers understand and analyze human text. You start with an introduction to NLP and the life cycle of a project, then prepare text data and remove punctuation. Next you learn tokenization and stop word removal, then stemming and lemmatization to reduce words to their roots. After that you move to text vectorization, which turns text into numbers a machine can read, and feature engineering to extract useful features from the data. In the final stage you learn model selection and then model evaluation across several data splits. The course suits anyone who wants to enter artificial intelligence and machine learning, or who enjoys working with text and sentiment analysis. Basic programming knowledge is recommended. By the end, you will be able to carry out a complete text processing project, from preparing the data to evaluating the model.

Expected outcomes

  • Ability to implement a complete text processing project.
  • Analyze texts and extract features using advanced techniques.
  • Select and evaluate suitable models for optimal performance.
  • Improve textual data to meet the needs of different models.
  • Work efficiently on NLP projects using modern tools and techniques.

Learner reviews

These reviews are from learners who bought the content and completed at least 50% of it — there are no reviews from anyone who hasn't gone through the material.
4.4
★★★★☆
56 reviews
5★
22
4★
32
3★
2
2★
0
1★
0

    Course content

    1

    Natural Language Processing NLP

    19 lectures
    1. Introduction to NLPIntroduces Natural Language Processing (NLP), the difference between structured and unstructured data, its link to machine learning and deep learning, its main approaches, and applications such as spam classification and question answering.15:08
    2. Project Life CycleReviews the life cycle of an NLP project and the Python libraries used, such as NLTK and spaCy, walking through the stages from data collection to building, evaluating and deploying a model, with a spam classification example.11:57
    3. Data PreparationExplains the data preparation stage of an NLP project and its steps: tokenization, stop word removal, lemmatization, stemming, vectorization and feature engineering, then explores a spam messages dataset in Python code.9:51
    4. Remove PunctuationShows how to remove punctuation from text in Python using the string library, a for loop, list comprehension and a lambda function on a dataset, and why to convert text to lowercase since Python is case sensitive.6:36
    5. Tokenization & StopWords (Part 1)Defines tokenization, splitting a sentence into words, and stop words, common words of little value, explaining why they are removed to shrink the data and when they should be kept, such as in sentiment analysis.7:17
    6. Tokenization & StopWords (Part 2)Applies tokenization and stop word removal in Python code on English and Arabic text inside a single function, and explains why stop words should be kept when working on sentiment analysis.8:42
    7. Stemming & Lemtizing (Part 1)Explains the difference between stemming and lemmatization for reducing words to their root, the over-stemming and under-stemming problems, and that stemming is faster but less accurate while lemmatization uses a dictionary and is more accurate but slower.7:42
    8. Stemming & Lemtizing (Part 2)Applies stemming and lemmatization in Python through functions that create a new column in the data, reviews the over-stemming and under-stemming problems, and shows how to combine preprocessing steps in one function.7:12
    9. Vectorization (Part 1)Explains vectorization, turning text into numbers a model can understand, through a document term matrix, and its types: Count Vectorizer, N-grams and TF-IDF, with an example counting word occurrences across messages.14:11
    10. Vectorization (Part 2)Explains TF-IDF in detail: TF is the number of times a word appears in a document divided by its word count, IDF is the logarithm of total documents over documents containing the word, and their product gives the word's weight.5:42
    11. Vectorization (Part 3)Applies vectorization in Python with Count Vectorizer, N-grams and TF-IDF, explains the sparse matrix and why it saves space, and why text must be converted to numbers before training a model.7:27
    12. Feature Engineering (Part 1)Explains feature engineering and its value in dropping unimportant data and creating new features from existing ones, such as message length and punctuation ratio to detect spam, followed by scaling the numeric values.12:02
    13. Feature Engineering (Part 2)Applies feature engineering in Python by creating new features such as message length and the share of punctuation and capital letters with lambda functions, then uses scikit-learn's MinMaxScaler to rescale the numbers.8:47
    14. Model Selection (Part 1)Explains how to choose the right algorithm when building a model based on the data type and problem, defines ensemble learning and the Random Forest algorithm with its strengths and weaknesses, and covers splitting data into train and test.14:20
    15. Model Selection (Part 2)Applies a Random Forest Classifier in Python to the messages data, combining the final features into a final data frame, splitting it into train and test, then training the model and extracting each feature's importance.6:51
    16. Model Evaluation (Part 1)Explains model evaluation and deciding between deploying or improving a model, the gap between training and unseen data, the balance between bias and variance, hyperparameters, and data splitting methods such as train test and cross validation.11:53
    17. Model Evaluation (Part 2)Applies data splitting in Python with train_test_split and then k-fold cross validation with a Random Forest, to pick the best split of the data in a single line of code.3:16
    18. Model Evaluation (Part 3)Explains model evaluation metrics, including accuracy and its limits with imbalanced data or multiple classes, and the confusion matrix with true positive, false positive and related values, and what they show.14:23
    19. Model Evaluation (Part 4)Applies model evaluation in Python by computing accuracy, precision, recall and the confusion matrix on test data, explaining how to read the results and what to revisit when they are weak: the data, the model or the hyperparameters.7:35
    2

    Attachments

    1 attachments
    1. Matrials

    Instructor

    Eng. Ziad Mahmoud

    Eng. Ziad Mahmoud

    Teaching assistant at Faros University, Ziad has delivered over 3000 training and consulting hours to more than 600 trainees.
    12.7K views4 courses

    Related courses