FHNW IP518bb QuizGenerator

About this project

Summary

Automatic generation of quiz questions out of arbitrary free text.

Keywords

NLP, Python, NLTK, pattern.de, Jupyter, PHP, Web, Text mining

Goal of this project

The aim of the project was a feasibility study to answer the question whether questions can be generated automatically from any german text. The original project assignment included both cloze text, knowledge questions and multiple choice tasks. For time reasons, the focus was placed on knowledge questions in the form of W questions (Who/Where/What/When... ?).

Starting position

Quizzes will be generated automatically for the game and learning platform "Unser Dorf". The teachers who fill the platform with data can use the quiz generator to generate a series of quiz questions for the students. These questions can then be used for learning control. This project originally started as a single requirement of the IP417bbOLD_UnserDorf project.

The project IP518bb_QuizGenerator should find out whether quiz questions can be generated automatically from any free text. For this purpose a feasibility study is to be accomplished.

Results

The question has been answered: Yes, questions can be generated automatically from any text.

An application in the form of an iPython notebook was implemented, which generates a series of questions from any text. These are rudimentarily evaluated and corrected by the application.

In addition, a web crawler was developed which automatically saves and pre-cleans all texts of a website as CSV. This web crawler was used to prepare the texts of the website www.laeufelfingen.com for the QuizGenerator.

The quality of the generated questions was tested four times with a series of test persons in a modified version of the Turing test: For every 20 questions, the respondents were asked to indicate whether they thought that the question was more likely to be generated by a computer or written by hand. Quality assurance showed that the quality of the questions is good, but still capable of improvement.

The resulting application has a modular structure and can be expanded in a follow-up project. In addition, the project with the WebCrawler was published under the MIT license on GitHub.

Projekt data

  • Project duration: 2 semesters, 2018-09-05 - 2018-12-03
  • Hours put into project: 180 hours per person
  • Team size: Two persons
  • Project type: Projekt 5 Informatik

Auftraggeber

Daniel Mohler

Projektteam

Getting started

A detailed guide on how to get either the webcrawler or the iPython notebook running, please, refer to the README files of the respective project:

Further information & license

Project documentation

If you're interested in the documentation of the project, don't hestitate to contact one of the developers. Keep in mind that the document is German only.

License

Both projects (iPython notebook and WebCrawler) have been published under the MIT license.

Copyright 2018 Daniel Mohler
Copyright 2018 Patrick Stirnemann
Copyright 2018 Pascal Thormeier

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.