NLP Quiz Generator is a Flask-based web application that uses Natural Language Processing to automatically generate multiple-choice questions from any PDF document. Just upload your study material and let the AI do the heavy lifting.
| Technology | Purpose |
|---|---|
Flask |
Web framework |
SpaCy |
NLP & entity recognition |
NLTK & WordNet |
Synonym generation for distractors |
pdfplumber |
PDF text extraction |
HTML / CSS / JS |
Frontend (custom glassmorphism UI) |
- 📄 Upload any PDF document
- 🧠 AI-powered MCQ generation using SpaCy NLP
- 🔀 Smart distractor generation via WordNet synonyms
- 🎯 Interactive quiz interface with real-time scoring
- 📊 Detailed results breakdown after quiz completion
- 🌙 Premium dark glassmorphism UI
- Python 3.10+
- pip
-
Clone the repository
git clone https://github.com/RohanExploit/NLP_Quiz_Generator.git cd NLP_Quiz_Generator -
Install dependencies
pip install -r requirements.txt
-
Download the SpaCy language model
python -m spacy download en_core_web_sm
-
Run the application
python app.py
-
Open in browser
http://127.0.0.1:5000
- Click Play on the home screen
- Upload a PDF document (e.g., textbook chapter, lecture notes)
- Choose how many questions to generate (1–50)
- Click Generate Now and wait for the AI to process your document
- Answer the interactive quiz and see your final score
- Fork this repository
- Go to render.com → New → Web Service
- Connect your GitHub repo
- Set Build Command:
pip install -r requirements.txt && python -m spacy download en_core_web_sm - Set Start Command:
gunicorn app:app - Deploy 🚀
Distributed under the MIT License. See LICENSE for more information.
This project was built upon the original open-source work by 2pa4ul2, significantly enhanced with an improved UI, additional NLP features, and deployment configuration by RohanExploit.
Rohan — @RohanExploit
Project Link: https://github.com/RohanExploit/NLP_Quiz_Generator
