A simple quizbot written in python that extracts topic of interest from the user and quizzes them on it.
- Gets data from user responses in natural language, to find a specific topic of interest
- Engages the user in an interactive quiz
- Scores +1 for correct answer and -0.25 for wrong answer
- Ability to change the topic of interest for the quiz
- Detects ambiguous responses
- The user starts interacting with Quizzy.
- Quizzy tries to find the area of interest, on which user wants to take the quiz.
- Once the quiz topic is decided, user is quizzed on it, this is phase 2.
- User takes the quiz and is shown questions fetched from the question bank.
- User answers the questions in natural language, from which the answer is extracted and is checked against the correct option in the question bank.
- Once the quiz is complete and the user is satisfied, the user will be redirected to the initial phase i.e, phase 1.
This project is written in python 3.7
Install requirements:
pip install -r requirements.txt
Download the nltk resources. Inside a python shell:
import nltk
nltk.download('punkt')
nltk.download('stopwords')
nltk.download('wordnet')
Start quizzy:
python quiz.py
@list_quizzes
- Displays the quiz topics available. Only applicable when selecting a quiz topic@stop_quiz
- Stops the quiz and displays the final score@change_quiz
- Change quiz topic. Applicable when a quiz topic is already active