Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Improvement] Revamped Question Generator Model #32

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Roaster05
Copy link
Contributor

@Roaster05 Roaster05 commented Mar 23, 2024

This PR is associated with the issue #31 and focuses on generating an entirely Revamped Question Generator Model that focuses on incorporating a Revamped Model which can satisfy all the requirements associated with the Question Generator Model which are being mentioned in the issue.

Installation Procedure:

The Installation of the Model and testing in the local environment requires some external repositories and libraries to be installed and the procedure is mentioned inside the README.md file inside the Installation of Generator Model portion

Description of the Methods:

1. /get_mcq

  • Description: Generates multiple-choice questions by abstractive summarization and generating co-hyponyms which acts as the other options, it also allows user to put a cap limit on the number of questions being generated maintaining the quality of the problems being produced.
  • Request Body:
    {
      "input_text": "The input text for generating MCQs.",
      "max_questions": "Number of maximum questions to be generated"
    }
  • Expected Time: Generates MCQ and the distractors in a mere of 10-15 seconds
    which is much better than what other methods proposed by other (ususally take more than a minute)
  • Attached ScreenCast:
    get_mcq.webm

2. /get_boolq

  • Description: Generates boolean questions based on the input text, providing a mix of true/false statements. Users can define the maximum number of questions to be generated, ensuring efficient problem-solving.
  • Request Body:
    {
      "input_text": "The input text for generating boolean questions.",
      "max_questions": "Number of maximum questions to be generated"
    }
  • Expected Time: The generation process for boolean questions takes approximately 5-10 seconds, offering a swift alternative compared to conventional methods
  • Attached ScreenCast:
    get_boolq.webm

3. /get_shortq

  • Description: Generates short answer questions through paraphrasing and restructuring sentences from the input text. It allows the user to specify the maximum number of questions to be generated while ensuring the quality of the questions.
  • Request Body:
    {
      "input_text": "The input text for generating short answer questions.",
      "max_questions": "Number of maximum questions to be generated"
    }
  • Expected Time: The generation process for boolean questions takes approximately 5-10 seconds,
  • Attached ScreenCast:
    get_shortq.webm

4. /get_problems

  • Description:
    The /get_problems endpoint automates quiz generation by producing a diverse range of educational problems from a single input text. It generates multiple-choice questions (MCQs), boolean questions, and short answer questions tailored to the input content.

    Through sophisticated algorithms, MCQs are created using abstractive summarization and co-hyponym generation, ensuring well-structured questions and distractors. Boolean questions offer true/false statements derived from the input text, encouraging critical thinking. Short answer questions are crafted through paraphrasing and sentence restructuring techniques.

  • Request Body:

    {
      "input_text": "The input text for quiz generation.",
      "max_questions_mcq": "Maximum number of MCQs to generate",
      "max_questions_boolq": "Maximum number of boolean questions to generate",
      "max_questions_shortq": "Maximum number of short answer questions to generate"
    }
  • Expected Time: The generation process for boolean questions takes approximately 10-20 seconds,

  • Attached ScreenCast:
    get_problems.webm

5. /get_answerkey

  • Description:
    The /get_answerkey endpoint generates the answer key for the previously generated questions. It utilizes advanced natural language processing techniques, including the T5 transformer model for abstractive summarization, to condense input text into concise summaries suitable for study materials. Multi-Partite Ranking is employed to rank the generated summaries based on relevance and importance.

    In the answer key generation process, the summarized notes serve a dual purpose: aiding in formulating problem statements and serving as the solution key for each specific problem. By utilizing these summaries as the foundation for both question generation and solution derivation, alignment between the posed problems and their correct solutions is ensured.

  • Request Body:

    {
      "questions": {
        "output_boolq": {
          "Boolean_Questions": ["Question 1", "Question 2"],
          "Text": "Input text for generating boolean questions."
        },
        "output_mcq": {
          "questions": ["Question 1", "Question 2"],
          "Text": "Input text for generating multiple-choice questions."
        },
        "output_shortq": {
          "questions": ["Question 1", "Question 2"],
          "Text": "Input text for generating short answer questions."
        }
      }
    }
    
  • Attached ScreenCast:
    get_answerkey.webm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant