Skip to content
This repository has been archived by the owner on Jun 4, 2023. It is now read-only.

cassiofb-dev/textgrader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

THIS REPOSITORY WAS TRANSFERED TO https://github.com/MLRG-CEFET-RJ/textgrader

Text Grader

Text Grader - A system for automatic evaluation of essays

AboutUsageDevelopmentCreditsLicense

cefet-logo

About

This repository contains TextGrader. In essence textgrader contains the various versions of a Essay and short answer evaluation system.

The system is divided as explained below:

diagram.png

  1. Frontend (NodeJS)
    1. Text Grader Website
      1. Show an User Interface with a Text Editor and a button to grade the text
      2. Send the text in a HTTP GET request body to Text Grader API
      3. Receive the HTTP response and show it to the user
  2. Backend (Python)
    1. Text Grader API
      1. Receive a HTTP get request with a text content
      2. Run and send the data to Text Grader Core
      3. Receive the response from Text Grader Core
      4. Transform the data in JSON and send the HTTP response
    2. Text Grader Core
      1. Preprocessing where we correct spelling change columns schema and do other minor preprocessing steps
      2. Feature engineering, where we generate some basic features like word count and sentence count, and generate datasets embedding words with each one of the following 4 techniques: TF-IDF, WORD-2-VEC, USE, LSI.
      3. Model training, where we train some instances of a random forest model using one of the following 3 approaches: Regression, Classification and Ordinal Classification.
      4. Model Evaluation, where we use the trained models to generate predictions and evaluate those predictions.

Usage

Run in your terminal docker compose up -d. You can access from your browser:

  1. Text Grader API Docs - http://localhost:8000/docs
  2. Text Grader Website - http://localhost:3000/

Development

This project uses GitFlow workflow:

  • Start your new feature: Make a new branch based on develop branch
  • Finish your feature: Open a Pull request from your feature branch to develop

This project also uses Semantic Commit Messages:

See how a minor change to your commit message style can make you a better programmer.

Format: <type>(<scope>): <subject>

<scope> is optional

Example

feat: add hat wobble
^--^  ^------------^
|     |
|     +-> Summary in present tense.
|
+-------> Type: chore, docs, feat, fix, refactor, style, or test.

More Examples:

  • feat: (new feature for the user, not a new feature for build script)
  • fix: (bug fix for the user, not a fix to a build script)
  • docs: (changes to the documentation)
  • style: (formatting, missing semi colons, etc; no production code change)
  • refactor: (refactoring production code, eg. renaming a variable)
  • test: (adding missing tests, refactoring tests; no production code change)
  • chore: (updating grunt tasks etc; no production code change)

References:

Credits

Thanks for the open source projects bellow:

License

MIT