Dynamic Question Answer Generator: An Enhanced Approach to Question Generation

Copyright © 2019 by author(s) and International Journal of Trend in Scientific Research and Development Journal. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (CC BY 4.0)(http://creativecommons.org/licens es/by/4.0) ABSTRACT Teachers and educational institutions seek new questions with different difficulty levels for setting up tests for their students. Also, students long for distinct and new questions to practice for their tests as redundant questions are found everywhere. However, setting up new questions every time is a tedious task for teachers. To overcome this conundrum, we have concocted an artificially intelligent system which generates questions and answers for the mathematical topic –Quadratic equations. The system usesi) Randomization technique for generating unique questions each time and ii) First order logic and Automated deduction to produce solution for the generated question. The goal was achieved and the system works efficiently. It is robust, reliable and helpful for teachers, students and other organizations for retrieving Quadratic equations questions, hassle-free.


INTRODUCTION
Quadratic equations-the study of roots and their maxima-minima graph, is an important and essential branch of the mathematics at all levels. The study of quadratic equations develops deductive thinking, which helps us expand both mentally and mathematically. The solution of quadratic equations is of great importance in the field of mathematics known as the Complex Analysis. In other fields, we see quadratic equations in many forms like an application to problems of the area, application to the problem of motion. While learning about quadratic equations, students will learn to factor quadratics, completing the square, graphing quadratic equation, etc.
Children who develop a strong sense of solving quadratic equations are better prepared to learn number and measurement ideas, as well as other advanced topics of mathematics. To grasp the concepts of the Quadratic equation, students need to practice a lot. But due to limited number of books and the same types of questions, it is difficult for students to practice and it is hard and time consuming for teachers to create a new question. Preparing assessment for students is laborious. Teachers spend hours searching for textbooks and creating new exercises for practice, homework, remedial material, and exams. To prevent cheating, many teachers prepare different sets of each test, multiplying the work required for creating questions. Various standardized tests regularly require new questions. To practice the required problem-solving skills, students require a large number of different types of quadratic equation questions. Generally, textbooks and online websites provide a limited number of questions for each type. Once practiced, these questions lose their aim of improving student's thinking skills. The hard and error-prone task of generating good questions challenges the resources of teachers. This demand has become more acute with the increasing popularity ofvarious open online courses, in which tens of thousands of students may be enrolled in a course. This massive scale poses a significant technical challenge i.e., creating a large and diverse set of questions of varying difficulty preventing cheating and providing new practice problems to students. Hence, there is a need for software which assists both teachers and students to generate quadratic equation questions and their solutions.
Prolog is a logic programming language and has a very important role in AI. It's used for finding issues that involve objects and therefore the relationships between the objects [1]. Unlike many different programming languages, logic programming is meant primarily as a declarative programming language. In Prolog, logic is expressed as Facts and Rules. Formulation or Computation is assigned by running an issue over these Facts and Rules.
In Prolog, we tend to declare some facts. These facts represent the mental object of the system. We will question against the mental object. We tend to get an output as affirmative if our question is already within the mental object or it's understood by a mental object, otherwise, we tend to get an output as negative. So, content is thought-about constant as data, against that we are going to question. Logic programming facts are expressed in a definite pattern. Facts contain entities and their relation. Entities are written within the parenthesis separated by comma (,). Their relation is expressed at the Constraint Handling Rules (CHR) is related to both firstorder logic and linear logic and it tries to bridge the gap between the theory and practice. CHR was motivated by the inference rules that are traditionally used in computer science to define logical relationships [2].
CHR is essentially a committed-choice language consistingof guarded rules with multiple head atoms. CHR rules define simplification of, and propagation over, multisets of relations interpreted as conjunctions of constraint atoms. Simplification rewrites constraints to less complicated constraints whereas conserving logical equivalence.
Propagation adds new constraints that area unit logically redundant however might cause any simplification. Repeatedly applying the rules will incrementally solves constraints (e.g. A>B, B>C, C>A leads to false). With multiple heads and propagation rules, CHR offers 2 options that area unit essential for non-trivial constraint handling.
In this paper, we have proposed an algorithm for generating quadratic equation questions for high school level. We have used CHR (Constraint handling rules) with Prolog for our concoction, as CHR and Prolog are compatible with each other.

Related work
In this technology dominated world, every human being wants to reduce effort and time. To do this, Artificial Intelligence was introduced at Dartmouth College in 1956 [3]. Since then, a lot of researches have been done in order to develop a plethora of machine intelligent applications which diminish human labor and save time. One such application is Dynamic Question -Answer Generator using Artificial Intelligence. An ample amount of researches have been introduced for generating questions and their solutions automatically by providing the machine with adequate information. Some work related to our proposed work has been described in the text below.
In [4], the authors have defined a difficulty model for question generation based on difficulty level put forth by the user. Moreover, the researchers' have introduced a feature called Scenario Guidance, which permits users i.e. the teachers and organizations to amend the scenario dynamically. In [5], the authors have built first-order logic as an appropriate tool to define questions, answers and question scenarios in detail. Also, they have applied this logic to mechanics (physics) questions for high school education. In [6], the authors have used an amalgamation of two approaches namely combinatorial approach and automated deduction to produce geometry problems. The former produces geometric figures and objects for construction whereas the latter creates new questions and solutions. This can be utilized by standardized tests such as GMAT and SAT. In [7], the researchers have expanded their previous work i.e. [6] and have used pattern matching along with combinatorial approach and automated deduction which allows high school teachers and organizations to develop a myriad of questions based on different properties of geometric figures. Our work is completely based on generating questions and solutions for the mathematical topic-Quadratic equations and we implemented the proposed work using computer languages PROLOG and Constraint Handling Rules.

Proposed work
Many researchers have been carried out on automatic question generation and software have also been designed. These systems use a set of questions stored in the database and at times, they produce questions using some deduction rules. But, most of the time questions generated using those systems are rehashed. Computational research in the geometry domain initiated in the 19th century. However, lack of question generation in the literature required a principled ab initio approach. Researches mainly focused on proving geometry theorems. On the contrary, we are chiefly interested in non-algebraic methods that solve other topics of mathematics too and not just geometry. Non-algebraic methods for automatic generation of questions can be further divided in three approaches: coordinate-free method, formal logic method and search method.

Fig 1: Procedure for Proposed work
Our proposed Application: Dynamic Question Answer Generator (DQAG) uses facts which work on randomization technique and thus, produces unique questions each time and uses first order logic and automated deduction to solve the question. To enhance the problem-solving skill, in the beginning, DQAG provides minimal help in form of hints, if required. Moreover, if the student is still unable to solve the problem, then the solution will be displayed on the screen. This DQAG also provides an option of tutorial videos for better understanding of concepts. This system generates adaptive and unique question on runtime and also provides solution for the same.
Prolog and CHR (Constraint Handling Rules) are used for the auto deduction of facts for solving the questions. These languages use facts that are defined at the beginning and values for question are randomized. Along with stepwise solution, hints are also written in prolog. Finally, JSON file is made for the generated questions. In the backend, python script extracts questions from the JSON file and then stores them to database for quick and easy access. It generates around 100 questions for each context type in order to avoid redundant questions and provides more questions for students to practice and for teachers to set a test. Once the generated questions are stored in the database, they are displayed on the screen. Whereas, figures 2 and 3 put forth the implementation results of the designed system. It can be seen that the system has generated a question for Quadratic equation and has provided hints and solutions for the same. The solutions and hints are written in Prolog and then stored in a JSON file which is extracted by python and stored for fast access. The displayed results are accurate and the system throughput is high.

Conclusion
To encapsulate, it can be seen that our work has been implemented and demonstrated successfully. Our system generates questions and solutions for Quadratic equations automatically, for any difficulty level proposed by the teacheror organization. Artificial Intelligence language Prolog and Constraint Handling Rules (CHR) were used for implementing the backend of the system. The system works efficiently and is robust, reliable and it saves human labor and time. It uses facts which work on randomization technique and produces unique questions every time and it also uses first order logic and automated deduction to solve the questions. This system has a bright scope in future as the system can generate adaptive unique questions on runtime and also provide solution for the same. This system will be a boon to students and teachers as it can ebb the need of tutor for students and simultaneously, it is automating the question paper generation task for teachers and is saving their precious time and labor.

Future work
In our future work, we would enhance and expand our system by generating questions and solutions for all high school mathematics topics. Moreover, we would introduce a platform for conducting online tests using our proposed system.