The computerized grading of essays by machine learning and natural language processing is known as Automated Essay Scoring (AES). The project's primary goal is to rate an essay from 1 to 10 based on a variety of criteria. The algorithm considers three primary factors: the quality of word and phrase usage (Statistical), the correctness of the grammar (Syntax), and the essay's coherence and depth (Semantics). This makes essay evaluations more interpretable and accurate, while also saving time for educational institutions and tests like the GRE.
web_demo.mp4
Please refer /documentation or click here for complete documentation of the project.
👨💻WriteRight
┣ 📂assets // Contains all the reference gifs, images
┣ 📂data // Datasets for training and Testing
┃ ┣ 📄train.csv
┃ ┣ 📄test.csv
┣ 📂Documentation // Complete Documentation and Project Workflow
┃ ┣ 📄README.md
┣ 📂model // Standalone model
┃ ┣ 📄main.py
┃ ┣ 📄statistics.py
┃ ┣ 📄syntax.py
┃ ┣ 📄semantics.py
┣ 📂test // Testing
┃ ┣ 📄test.py
┣ 📂client // Frontend
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┣ 📂components
┃ ┃ ┃ ┃ ┣ 📄RunButton.js
┃ ┃ ┃ ┃ ┣ 📄ScoreReport.js
┃ ┃ ┃ ┃ ┣ 📄TextInput.js
┃ ┃ ┃ ┣ 📂styles
┃ ┃ ┃ ┃ ┣ 📄App.css
┃ ┃ ┃ ┣ 📄index.js
┃ ┃ ┣ 📂public
┃ ┃ ┃ ┣ 📄index.html
┣ 📂server // Backend
┃ ┣ 📄app.py
┣ 📄README.md
To download and use this code, the minimum requirements are:
- Windows 7 or later (64-bit), Ubuntu 20.04 or later
- Microsoft VS Code or any other IDE
- Please install all the neccesary Python libraries using pip if required.
Clone the project by typing the following command in your Terminal/CommandPrompt
git clone https://github.com/PritK99/WriteRight
Navigate to the WriteRight folder
cd WriteRight
Once the requirements are satisfied, you can easily use the project. There are two ways to use the project, one is through the Web Application and other is through command line.
Note: The model requires approximately 1.5 minutes to complete the evaluation of the essay. Thus, please wait for the model to evaluate results and print for some time after clicking run on web application or pressing enter twice on command line.
- To start the client, run these commands
cd client
npm i
npm start
- To start the server, run these commands on new terminal
cd server
python app.py
Navigate to standalone model folder
cd model
Run the driver file using python or the IDE of your choice.
python main.py
- Unsupervised learning during the statistical phase was conducted using a dataset from Kaggle's Feedback Prize – English Language Learning competition. The dataset can be accessed here.
- Hewlett Foundation's Automated Essay Scoring Competition, held in 2012. Automated Essay Scoring competion by Hewlett Foundation.
- Reference was made to the following GitHub repository for Automated Essay Scoring.
- Considering more features such as number of Short Words, number of Long Words, Sentence Formation, Capitalization, Proper use of articles etc.
- Improving the Web Application by adding better UI and Features.
- Using Deep Learning Techniques such as LSTMs and CNNs to improve the performance of the algorithm.

