Vaibhav-nn / Questgen-paraphrase

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Questgen AI

Questgen AI is focused on developing Question generation algorithms using state-of-the-art Natural Language Processing models. It provides easy to use classes and enables you to be one call away from generating questions out of any given parapgraph in your required format, be it MCQ, Single word, Boolean type or Paraphrasing.

Currently we are focused on generating questions that are gramatically correct and semantically meaningful in nature using Text-to-Text Transfer Transformers (T5).

Various formats of Questions generated by the library are:-

  -- Normal Questions :     (What,Where,Who,how,When etc) 
-- MCQ Questions : Generate Questions with answers and similar options
-- Boolean Questions : (Is,Did,Does etc) Output is expected either True/False
-- Paraphrase Questions : Generate similar but different questions from a given question
-- Answering : Any question can be answered provided with a context.

Prerequisites

pip install -r requirements.txt
pip install git+https://github.com/boudinfl/pke.git
python -m nltk.downloader universal_tagset
python -m spacy download en 

Using the library

pip install git+https://github.com/ramsrigouthamg/Questgen.ai
wget https://github.com/explosion/sense2vec/releases/download/v1.0.0/s2v_reddit_2015_md.tar.gz
tar -xvf  s2v_reddit_2015_md.tar.gz

Usage

For MCQ, Short Question and Paraphrasing Question generation

import Questgen
generator= main.QGen()                          #instance of QGen class

payload={
    "input_text" :   'Text',
    "max_questions" : 5                         #Default 4
    }
    
output1= generator.predict_mcq(payload)         #For MCQ generation       
output2= generator.predict_shortq(payload)      #For Short Answers' Question generaiton
output3= generator.paraphrase(payload)          #For paraphrasing questions

For Boolean question generation

import Questgen
generator= main.BoolQGen()                      #instance of BoolQGen class

payload={
    "input_text" :   'Text',
    "max_questions" : 5                         #Default 4
    }

output= generator.predict_boolq(payload)

For Answer prediction from a given question

import Questgen
generator= main.AnswerPredictor()

payload={
    "input_text" :   'Text',
    "input_question" : 'Question'                         
    }

output= generator.predict_answer(payload)

NLP models used

For maintaining meaningfulness in Questions, Questgen uses Three T5 models, one for Boolean Question generation, one for MCQ, Short Questions, Paraphrasing and one for Answer generation.

Colab Demo

Google Colab

Online Demo website

About


Languages

Language:Python 100.0%