Industry recognized certification enables you to add this credential to your resume upon completion of all courses

Need Custom Training for Your Team?
Get Quote
Call Us

Toll Free (844) 397-3739

Inquire About This Course
Hadi Harb, Instructor - Natural Language Processing for Retail

Hadi Harb

Hadi has more than 15 years of experience in the development and management of Artificial Intelligence and Audio Signal Processing projects. Hadi holds an MEng in electrical-electronic engineering. He earned his MSc and PhD both in computer science from the Institut National des Sciences Appliquées INSA Lyon, and the Ecole Centrale de Lyon respectively.

Instructor: Hadi Harb

Text classification: sentiment analysis and dialog act classification

  • At the end of the course, students will be proficient in implementing text classifiers in various programming langauges. 
  • Instructor has researched and taught Artificial Intelligence for 15 years. He also founded and operated a successful Artificial Intelligence startup in France. 

Duration: 2h 16m

Course Description

Step-by-step programming tutorials where you learn how to implement text classifiers in PHP. In this course you will learn how to: 1- Extract features from text, continuous, and discrete features. 2- Build a feature extractor from text using PHP. 3- Build a Naive Bayes text classifier and apply it to Dialog Act classification. 4- Build a k-NN-based text classifier and apply it to text sentiment analysis. You will also learn: 5- The source code in PHP for the classification systems that are taught in the course. 6- A trained model that could be used immediately for Dialog Act classification (very useful when building BOTs) and sentiment analysis.

What am I going to get from this course?

  • Implement a text classifier using a programming language of your choice.
  • Access the sourcecode and trained models for a Dialog Act classifier and Sentiment Analysis system (very useful for building BOTs and analyzing user comments)

Prerequisites and Target Audience

What will students need to know or do before starting this course?

  • Students will need to install PHP on their machine.
  • Students need to download the list of positive and negative words available at http://www.cs.uic.edu/~liub/FBS/opinion-lexicon-English.rar
  • Students need to download GloVe Word Embeddings vectors such as http://nlp.stanford.edu/data/glove.6B.zip (then rename it to vectors.txt)
  • (Optional) Students need to download and try GloVe from https://nlp.stanford.edu/projects/glove/ and try to build a Word Embeddings vectors file (naming it vectors.txt)

Who should take this course? Who should not?

  • Recommended for technical people dealing with textual data and willing to learn how to enrich this data.
  • For technical people willing to implement a classifier from scratch.
  • Not recommended for people willing to use existing frameworks for text classification.


Module 1: The Basics

Lecture 1 Introduction

This is an introduction that summarizes the content of the course

Lecture 2 Discrete Word Features

The first step in classification is feature extraction. This video presents the extraction of discrete features from text.

Lecture 3 Continuous Word Features

This videos presents Word Embeddings or Continuous features.

Lecture 4 Text Classification using Naive Bayes

The principle of Naive Bayes classifiers is introduced

Lecture 5 Naive Bayes Example

A simulation example of text classification using Naive Bayes and Discrete Features

Module 2: Dialog Act Classification

Lecture 6 Data Preparation

Preparing the data that will be used to train the Dialog Act Classifier.

Lecture 7 Dialog Act Feature Extraction

Implement a discrete feature extractor adapted for Dialog Act classification.

Lecture 8 Dialog Act Feature Extraction (Run the script)

Testing feature extraction on some examples.

Lecture 9 Naive Bayes Classifier Training - 1

Implement the training function for a Naive Bayes Classifier.

Lecture 10 Naive Bayes Classifier Training - 2

Test the Naive Bayes training function that was implemented in the previous Lecture.

Lecture 11 Naive Bayes Classifier Testing

Implement the classification function.

Quiz 1 Save then load a trained model on disk

As you saw in the previous lectures, we can train a Naive Bayes Model to do text classification. a- Use the attached training data to train a Dialog Act Classifier. b- Save the trained model on a file on disk. c- Update the script so that you can load an already trained model to do classification instead of training a model each time.

Module 3: Sentiment Analysis

Lecture 12 Sentiment Analysis Using Continuous Word Features

Use continuous word features associated with KNN classifier for sentiment analysis

Lecture 13 Build a K-NN Based Sentiment Classifier - 1

Use word embeddings (continuous features) and K-NN to build a sentiment classifier of words.

Lecture 14 Training Data

A description of the training data that could be used for sentiment analysis.

Lecture 15 Build a K-NN Based Sentiment Classifier - 2

Try the K-NN Sentiment Classifier that was built in the previous video.

Lecture 16 Use the Dot Product to Build a Sentiment Classifier

Use the centroid of word embeddings and the dot product to build a classifier.

Lecture 17 How to Improve the Sentiment Classifier

Some ideas on how one can make the sentiment classifier adaptable to sentences are presented in this video.


8 Reviews

Nicole Y

May, 2017

With a desire for strengthening my professional knowledge in text classifications, I joined this course and found it to be much useful. The course has nice and well-organised tutorials on text classifiers in various programming languages, particularly PHP, extract features, building a feature extractor, and a text classifier, and source code in PHP. Lectures on trained model useful in building BOTs, implementing a chosen programming language were impressive.

Jo O

May, 2017

A very good and useful course. I was always interested in learning to enrich testual data and implement a classifier from the bigining which I could learn from this course. It was very interesting to learn training a Naive Bayes model and text classifications instead of training a model every time. Both are useful.

Michael N

May, 2017

The presentation of the lectures was professional and one can easily understand what is being told. In particular lectures on the Sentiment Classifier are impressive, in addition to the video presentations.

Alexander K

July, 2017

In this class, you learn mathematical models for processing natural language and fundamental algorithms, and also how to use them to solve practical problems. I thought it was a nice course. It helped me learn consumer insights that has been invaluable in retail.

Ilya K

July, 2017

These lectures give fundamental ideas of how to know your customer through learning natural language processing for e-commerce and retail industries. It is amazing to know the absolute size and depth of consumer communication.

Kevin H

July, 2017

This course centers around solutions for the e-commerce and retail sectors. Understanding consumers has invariably been important on retailers’ list. For me it’s a good course and I recommend those interested to learn it.

Kelligton N

July, 2017

Given the customer-facing view of retail commerce, it’s not unusual that natural language processing is so important. Throughout this course, I came to understand customer knowledge management, another important study of natural language processing for the retail trade.

Ashley Z

November, 2017

This is a practical course. You need experience in PHP if you want to benefit from this course. In fact, the course is a step-by-step guide to build text classifiers using PHP as a scripting language. In particular, you will learn how to build a sentiment classifier and a dialog-act classifier. Sentiment classifier lets you classify a word or a sentence into positive/negative sentiment. Dialog-act classification is to classify a user utterance into classes like “salutation”, “question”, “statement”, “rejection” etc. The interesting thing about this course is that it provides you with working source codes that you can start using for text classification. There are also interesting links to some relevant datasets. There are also few quizzes that let you try by yourself. Overall, I'd like to say it was a great course and learned a lot!