EssayScore is a web application that is designed to alleviate the burden of teachers in marking essays and to provide a platform for students to gain instant feedback for their essays. Implemented using Keras with TensorFlow backend for the model training and Flask microframework for the web application.
Codes for building the model are in inference_model
folder.
Install pip dependencies from the requirements.txt.
pip install -r requirements.txt
Run python train_model.py
to train the model.
Codes for the web application are in the root. To start Flask server, run
python app.py
in the root folder.
- Essays submitted will be graded through the neural network model for evaluation purposes.
- View past essay submissions to improve essay writing skills.
- Checks the essay submitted for spelling errors and recommends correction to the mispelled word.
- Visual Studio Code - The IDE used during development.
- Firebase - NoSQL Cloud database used to store user data.
- TensorFlow Serving - Used together with Docker container to serve the trained model as a RESTful Web API.
- Keras Framework - For training the deep learning model with TensorFlow as backend.
- Flask Microframework - A WSGI web micro framework for developing web applications.
- A Neural Approach to Automated Essay Scoring (Taghipour and Ng, 2016)
- Automated Text Scoring Using Neural Networks (Alikaniotis, Yannakoudakis and Rei, 2016)
- Robust Trait-Specific Essay Scoring Using Neural Networks and Density Estimators (Taghipour, 2017)
- Dr. J. Joshua Thomas for supervision and guidance throughout the project.