OCRAutoScore  by vkgo

AI-powered tool for automated exam grading

Created 2 years ago
367 stars

Top 76.8% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides an automated grading system for exams using Optical Character Recognition (OCR) and deep learning models. It targets educators and researchers looking to streamline the grading process for various question types, including fill-in-the-blanks, multiple-choice, and essays, by automating text recognition and scoring.

How It Works

The system employs a modular approach. For fill-in-the-blank questions, it combines PaddleOCR for initial text recognition with CLIP for semantic similarity checking, significantly improving accuracy on challenging inputs. Essay scoring utilizes a fine-tuned DeBERTaV3-large model (MSPLM) for nuanced evaluation. Question segmentation (identifying different question types within an exam paper) is handled by YOLOv8, while individual character recognition for multiple-choice questions leverages SpinalNet and WaveMix models. Mathematical formula recognition is addressed using a Counting-Aware Network (CAN) adapted from existing research.

Quick Start & Requirements

  • Installation: Clone the repository and install dependencies via pip. Specific model weights may need to be downloaded separately from Hugging Face or PaddlePaddle.
  • Prerequisites: Python 3.6+, PyTorch 1.10.2+, PaddlePaddle, Transformers, OpenCV, YOLOv8, and potentially CUDA for GPU acceleration.
  • Setup: Requires downloading pre-trained models and potentially training custom models on specific datasets (e.g., EMNIST for character recognition, CROHME for formulas).
  • Documentation: Detailed explanations and usage instructions are provided within the README and specific module directories.

Highlighted Details

  • Combines OCR (PaddleOCR) with CLIP for robust fill-in-the-blank grading, achieving high accuracy on difficult cases.
  • Utilizes YOLOv8 for effective segmentation of exam papers into major question sections.
  • Implements SpinalNet and WaveMix for single-character recognition, trained on EMNIST.
  • Features a CAN-based model for mathematical formula recognition, trained on the CROHME dataset.
  • Includes an essay scoring module (MSPLM) based on DeBERTaV3-large, with custom loss functions.

Maintenance & Community

The project is hosted on GitHub under the vkgo organization. Specific community channels or active development status are not explicitly detailed in the README.

Licensing & Compatibility

The README does not explicitly state a license. The project integrates various libraries with their own licenses, which may impose restrictions on commercial use or redistribution.

Limitations & Caveats

The README mentions that the essay scoring model (MSPLM) did not achieve the same results as the original paper on the ASAP dataset, potentially due to implementation differences or dataset limitations. The project appears to be a collection of modules developed for a specific academic project ("大创集成仓库"), and its overall integration and production-readiness are not fully elaborated.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
20 stars in the last 30 days

Explore Similar Projects

Starred by Shizhe Diao Shizhe Diao(Author of LMFlow; Research Scientist at NVIDIA) and Edward Sun Edward Sun(Research Scientist at Meta Superintelligence Lab).

hle by centerforaisafety

0.4%
1k
Multimodal benchmark for frontier human knowledge
Created 9 months ago
Updated 4 weeks ago
Feedback? Help us improve.