This project aims to automate the process of generating Multiple-Choice Questions (MCQs) using Natural Language Processing (NLP) techniques. It utilizes a Flask server to provide a user-friendly interface for generating MCQs from given texts or articles. The generated MCQs are designed to test the reader's understanding of the text while providing multiple correct answers to increase question complexity.
- Abstractive Summarization: Utilizes NLP models for abstractive summarization of input texts.
- Keyword Extraction: Extracts keywords and key concepts from the text to form correct answer choices in MCQs.
- Question Generation: Generates contextually relevant questions based on extracted keywords and text summaries.
- Distractor Generation: Creates distractors or wrong answer choices to add challenge and depth to MCQs.
- Word Sense Disambiguation: Ensures precise understanding of words within the context of the text for accurate question generation.
- Flask: Web framework for developing the server-side application.
- Hugging Face Transformers: NLP models for abstractive summarization, keyword extraction, and question generation.
- WordNet: Lexical database used for generating distractors.
- KeywordProcessor: Library for keyword extraction.
- BERT-based Model: Used for word sense disambiguation.
- Clone the repository:
git clone https://github.com/your-username/MCQ-generator-using-NLP.git
- Navigate to the project directory:
cd MCQ-generator-using-NLP
- Install dependencies:
pip install -r requirements.txt
- Run the Flask server:
python app.py
- Access the application in your web browser at
http://localhost:5000
.
- Enter the text or article from which you want to generate MCQs.
- Submit the form to generate MCQs.
- Review the generated MCQs with multiple correct answers and distractors.
Contributions are welcome! Please fork the repository and create a pull request with your enhancements or fixes.
This project is licensed under the MIT.