Students have to go through a lot of textual content(paper notes, online pdfs) that is either given by professors or they find for themselves. Many times these online texts do not come with review questions or practice assessments. Also crafting these questions for assessing and revising what you learned while preparing a particular topic is a time-consuming process. Here we felt the need for automatic generation of quizzes from text captured through pdf, image, or other content available around us could come to the rescue.

What it does

We developed a mobile app with which the user can scan any document via phone camera and a Multiple Choice Questions Quiz based on the material will be generated automatically for their own practice. Users can save the quizzes for revision later.

How we built it

  • We used Flutter for developing this app. Users can easily scan content via camera and scan it to get the extracted text. Firebase MLKit has been used for Text Recognition
  • The text will be stored in a .txt file and the Natural Language Processing Algorithm that has been implemented in Python will be called via Flask API.
  • Bert-Extractive-Summariser summarizes the content and then PKE library extracts important keywords which are then mapped with the sentences. Conceptnet is used for generating the Multiple Choice Questions and wrong choices are generated using wordnet. These questions are then displayed on a new screen which can be saved by the user

Challenges we ran into

Deploying Natural Language Processing (NLP) Algorithm in Flutter Application was a big challenge for us, so we figured out that we need to implement Flask API to make this work. Also, it was a bit difficult for us to collaborate in a virtual setting but we somehow managed to finish the project on time.

Accomplishments that we're proud of

We learned a lot in this hackathon and were successfully able to complete our project.

What's next for Quizionaire

We will try to improve our model and UI of the app and we'll try to add more features to it based on the user's feedback.

Built With

+ 7 more
Share this project: