...
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.
Integration into SlideWiki
The questions service is designed in Java but runs in an isolated docker container and hence agrees to the microservice architecture followed in SlideWiki. It exposes REST endpoints for the rest of SlideWiki to consume.For question generation, the deckservice would be called for getting all slides of the deck. The HTML of the slides would be parsed and the text content would be extracted. This text would then be sent to the questions service and get a list of questions.
Integration into SlideWiki
The workflow for question generation is as follows:
- The user clicks the "Generate questions" button
- An action is dispatched to generate questions; the id of the deck is passed on as the payload
- The action then calls the questions service; a POST request is made to the questions service
- The questions service calls the deck service and gets all the slides of the deck using the id
- The question service then calls the nlp service, using the html to text endpoint for getting text of each slide
- All the text is combined and questions are generated for it collectively
- The list of questions is stored in a database
- The list is also sent back to the SlideWiki system