/auto-grader

Automatically grades answer sheets

Primary LanguageJupyter NotebookMIT LicenseMIT

Automatically grade answer sheets!

Consider leaving a ⭐ if you found the project helpful.

Auto Grader

Auto Grader helps teachers by automating the paper correction process using advanced computer vision and NLP.

Flow

Step 1: Teacher uploads the scanned answersheet and the correct answers for the question.

Auto-Grader Teacher Input

Step 2: The boxes in the scanned image are identified and cropped out.

Auto-Grader Processed

Extracted Character

Auto-Grader Cropped Character

Step 3: Using a CNN, these characters are classified.

Step 4: Words are formed out of these classified characters.

Step 5: These words are sent through a spelling corrector to remove mistakes which the CNN model might've caused.

Step 6: Then sentences are formed which are then sent along with the correct answers through a Text Similarity NLP model.

Step 7: The similarity model gives a cosine score using which is used to determine the marks a student should get for their answer.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • Python 3.8.10 and the latest version of pip.

Installation

  1. Fork it.

  2. Clone the repo

    git clone https://github.com/iamyajat/auto-grader.git
  3. Install virtualenv

    pip install virtualenv
  4. Create a virtual environment

    python -m venv env
    .\env\Scripts\activate
  5. Install all requirements

    pip install -r requirements.txt
  6. Start the API

    uvicorn main:app --reload

Contributing

To start contributing, check out CONTRIBUTING.md. New contributors are always welcome to support this project. If you want something gentle to start with, check out issues labelled as easy or good-first-issue. Check out issues labelled as hacktoberfest if you are up for some grabs! :)

License

This project is licensed under MIT.