metadata
title: Answer Evaluation App
emoji: π§
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
Answer Evaluation App βοΈ
π Handwritten Answer Evaluation App using OCR + XLNet
An end-to-end machine learning application that extracts handwritten answers from images and evaluates them using a custom XLNet model trained on semantic similarity.
π Live Demo
π Try it on Hugging Face Spaces
π Project Overview
This app takes images of handwritten answers and performs:
- OCR to extract text from question, student answer, and reference answer.
- Similarity scoring using a custom-trained XLNet model.
- Bonus logic to adjust the final score based on thresholds.
- User interface to upload images and view the evaluated score.
π§ Core Technologies
- FastAPI: Web framework
- EasyOCR: For extracting handwritten text
- Hugging Face Transformers: XLNet model
- Custom Training: Trained on Q-A-R triplets
- Docker: For containerized deployment
- Hugging Face Spaces: Live hosted app
π¦ Folder Structure
answer-evaluation-app/
βββ app.py # FastAPI application
βββ requirements.txt # Dependencies
βββ Dockerfile # For Hugging Face deployment
βββ utils/
β βββ image_processor.py # EasyOCR + preprocessing
β βββ xlnet_model.py # Model load and prediction
βββ templates/
β βββ index.html # Frontend HTML
βββ static/
β βββ css/style.css # UI styling
β βββ js/main.js # JS for client interaction
β βββ uploads/ # Uploaded image storage
π Model Details
- Base Model:
xlnet-base-cased
(Hugging Face) - Custom Trained On: Question, student answer, reference answer, and human-evaluated scores
- Loss: MSELoss
- Output: Score from 0 to 100
βοΈ Sample Use Case
- Upload 3 images:
- Question image
- Student handwritten answer
- Reference answer
- App will:
- Extract text
- Score similarity using model
- Apply bonus logic
- Display final score and extracted text
π§βπ» Author
Yeswanth Varma Gottumukkala
- Email: [email protected]
π License
This project is for educational and research purposes.
Model and app are freely available to explore on Hugging Face Spaces.