Workflow for Question Generation

Background

This page gives an overview about the feature of automatic question generation. Issue SWIK-956 is the first issue dealing with this feature.

Questions and exams are discussed in broader terms on this page.

The questions-service currently generates gap-fill questions with multiple choices.

The service is designed to consume a large amount of text and generate a list of questions. In terms of SlideWiki, the large text would equate to the entire deck's content. The service makes use of DBPediaSpotlight to annotate the text and find DBPedia resources that hold a relevance to the text. The questions service is designed in Java but runs in an isolated docker container and hence agrees to the microservice architecture followed in SlideWiki.

Integration into SlideWiki

The workflow for question generation is as follows:

  1. The user clicks the "Generate questions" button
  2. An action is dispatched to generate questions; the id of the deck is passed on as the payload
  3. The action then calls the questions service; a GET request is made to the questions service
  4. The questions service calls the deck service and gets all the slides of the deck using the id
  5. The question service then calls the nlp service, using the html to text endpoint for getting text of each slide
  6. All the text is combined and questions are generated for it collectively
  7. The list of questions is stored in a database
  8. The list is also sent back to the SlideWiki system