Udemy

Platform

English

Language

Data Science

Category

Question Generation using Natural Language processing

Auto generate assessments in edtech like MCQs, True/False, Fill-in-the-blanks etc using state-of-the-art NLP techniques

4.65 (76 reviews)

Students

5.5 hours

Content

May 2021

Last Update
Regular Price

SKILLSHARE
SkillShare
Unlimited access to 30 000 Premium SkillShare courses
30-DAY FREE TRIAL

What you will learn

Generate assessments like MCQs, True/False questions etc from any content using state-of-the-art natural language processing techniques.

Apply recent advancements like BERT, OpenAI GPT-2, and T5 transformers to solve real-world problems in edtech.

Use NLP libraries like Spacy, NLTK, AllenNLP, HuggingFace transformers, etc.

Deploy transformer models like T5 to production in a Serverless fashion by ONNX quantization and by dockerizing them using FastAPI.

Use Google Colab environment to run all these algorithms.


Description

This course focuses on using state-of-the-art Natural Language processing techniques to solve the problem of question generation in edtech.

If we pick up any middle school textbook, at the end of every chapter we see assessment questions like MCQs, True/False questions, Fill-in-the-blanks, Match the following, etc.  In this course, we will see how we can take any text content and generate these assessment questions using NLP techniques.

This course will be a very practical use case of NLP where we put basic algorithms like word vectors (word2vec, Glove, etc) to recent advancements like BERT, openAI GPT-2, and T5 transformers to real-world use.

We will use NLP libraries like Spacy, NLTK, AllenNLP, HuggingFace transformers, etc.

All the sections will be accompanied by easy to use Google Colab notebooks. You can run Google Colab notebooks for free on the cloud and also train models using free GPUs provided by Google.


Prerequisites:

This course will focus on the practical use cases of algorithms. A high-level introduction to the algorithms used will be introduced but the focus is not on the mathematics behind the algorithms.

A high-level understanding of deep learning concepts like forward pass, backpropagation, optimizers, loss functions is expected.

Strong Python programming skills with basic knowledge of Natural Language processing and Pytorch is assumed.


The course outline :

➤ Generate distractors (wrong choices) for MCQ options

Students will use several approaches like Wordnet, ConceptNet, and Sense2vec to generate distractors for MCQ options.

➤ Generate True or False questions using pre-trained models like sentence BERT, constituency parser, and OpenAI GPT-2

Students will learn to use constituency parser from AllenNLP to split any sentence. They will learn to use GPT-2 to generate sentences with alternate endings and filter them with Sentence BERT.

➤ Generate MCQs from any content by training a T5 transformer model using the HuggingFace library.

Students will understand the T5 transformer algorithm and use SQUAD dataset to train a question generation model using HuggingFace Transformers library and Pytorch Lightning.

➤ Generate Fill in the blanks questions

Students will learn to use Python Keyword extraction library to extract keywords, use flashtext library to do fast keyword matching, and visualize fill-in-the-blanks using HTML ElementTree in Colab

➤ Generate Match the following questions.

Students will learn to use Python Keyword extraction library to extract keywords, use flashtext library to do fast keyword matching, and use BERT to do word sense disambiguation (WSD).

➤ Deploy question generation models to production.

Deploy transformer models like T5 to production in a serverless fashion by converting them to ONNX format and performing quantization. Create lightweight docker containers using FastAPI for transformer model and deploy on Google Cloud Run.


Screenshots

Question Generation using Natural Language processing
Question Generation using Natural Language processing
Question Generation using Natural Language processing
Question Generation using Natural Language processing

Content

Introduction

Introduction to the Course

Course Outline

Code and Dataset Link

Generate distractors (wrong choices) for MCQ options

Theory - Generate distractors using wordnet

Code - Generate Distractors using Wordnet

Theory - Generate distractors using Conceptnet

Code - Generate distractors using Conceptnet

Theory - Generate distractors using Sense2vec

Code - Generate distractors using Sense2vec

Assignment - Filter the distractors from Sense2vec

Assignment Solution - Filter the distractors from Sense2vec

Generate True or False Questions using Constituency Parsing and OpenAI GPT2

Introduction - Generate True or False Questions

Theory - Constituency Parsing and OpenAI GPT2

Code - Split a sentence using constituency parsing

Code - Another example to split a sentence using constituency parsing

Code - Generate alternate endings to a split sentence using OpenAI GPT2

Assignment - Sort the generated sentences in the order of dissimilarity

Assignment Solution - Sort the generated sentences using Sentence BERT

Train a question generation model using T5 transformer

Introduction to T5 - Text to text transfer transformer

Training methodology, dataset and decoding methods for text generation

Code - Download SQUAD dataset and preprocess

Code - Understanding T5 Tokenizer

Code - Prepare Pytorch Dataset class for T5

Code - Train T5 transformer model

Code - Use the trained T5 model to perform inference

Generate Fill in the blanks questions from any content

Generate fill in the blanks - Theory

Generate fill in the blanks - Code

Generate Match the following questions from any content

Generate Match the following - Theory

Extract keywords from any content - Code

BERT Word Sense Disambiguation (WSD) - Code


Reviews

M
Mohamed10 April 2021

Exceptional work done on this topic by Ramsri, really knows he field and helped answer all my questions.

S
Sneha2 April 2021

I liked the content but I wish it ended with the project. It feels like a half-baked idea that needs a final topic/ section that brings everything together

A
Azhar20 February 2021

To the point and every theoretical session is followed by a coding example. The instructor lives up to the expectations. I recommend this course to anyone who is looking for hands on examples.

J
Jeharul17 February 2021

This really was a short, sweet and a crisp one to add to my existing NLP knowledge base kitty :). Have definitely learned a lot of new things through this course. The tutor has completely fulfilled everything that was promised. I would have loved to see some UI built around (either using Flask/Streamlit or anything else). I am hoping that one day, there will be a new topic added to this course for making some of the models explained Production ready.


Coupons

DateDiscountStatus
2/18/202125% OFFExpired

3713412

Udemy ID

12/18/2020

Course created date

2/18/2021

Course Indexed date
Bot
Course Submitted by