The free online plagiarism checker , which not just checks for plagiarism online , but also checks for the Ai - generated plagiarism which is a new type of plagiarism . It automatically grades the assignments , essays or the thesis papers , along with a report of how you did . It also generates a small summary of the project .
It's the code for V-PlagChecker, a tool for teacher/students that automatically grades and validates essays/thesis papers. In order to validate essays, it uses the n-gram modekl to check for plagiarism. It also uses a modified version of GPT-2 to detect the likelihood that the text was real or fake ( The AI generated plagiarism ). Then it outputs a validation score using these 2 scores. In order to grade the essay, it uses a neural network model trained on the automatic essay grading dataset on Kaggle found here https://www.kaggle.com/c/asap-aes/data .
Credits for the base repository go to this academic team. Credits for the other tools go to Google, OpenAI and NLTK. I will also take ths opportunity to give thanks to all humans who perform selfless acts for others, in big ways and small. Thank you, please keep doing that.
This is an ongoing, open source project. Please contribute, it will help all those that use the app. Make a PR for any of these bugs
Finish implementing check for plagiarism using the grams as featuresUse the google api to check for plag against internetMake the GPT-2 api available to calculate scoresCreate a more accurate version of a validation score that uses the N-Gram score + the GPT-2 real/fake score. Display it to the screen when computed.- Host the website online, for the app to use the API ( Google Compute Platform ) -> Needs a billing account ... I Dont have a credit or debit card :p
- Design and Make the app
- Connect it to the api
Host the frotend of the website on firebase- Fix the Tensorflow.js integration, such that its using a pretrained model on the Kaggle automatic essay scoring data, instead ot the default model its using right now. Display the score to the screen accordingly.
Install dependencies for Python >3.6 :
pip install -r requirements.txt
run server for gpt-2-small
:
python server.py
the demo instance runs now at http://localhost:5001/client/index.html
start the server for BERT
:
python server.py --model BERT
the instance runs now at http://localhost:5001/client/index.html?nodemo. HINT: we only provide demo texts for gpt2-small
.
usage: server.py [-h] [--model MODEL] [--nodebug NODEBUG] [--address ADDRESS]
[--port PORT] [--nocache NOCACHE] [--dir DIR] [--no_cors]
optional arguments:
-h, --help show this help message and exit
--model MODEL choose either 'gpt-2-small' (default) or 'BERT' or your own
--nodebug NODEBUG server in non-debugging mode
--port PORT port to launch UI and API (default:5001)
--no_cors launch API without CORS support (default: False)
The backend defines a number of model api's that can be invoked by the server by starting it with the parameter --model NAME
. To add a custom model, you need to write your own api in backend/api.py
and add the decorator @register_api(name=NAME)
.
Each api needs to be a class that inherits from AbstractLanguageChecker
, which defines two functions check_probabilities
and postprocess
. Please follow the documentation within api.py
when implementing the class and the functions.
the source code for the front-end is in client/src
.
To modify, installing of node dependencies is necessary:
cd client/src; npm install; cd ../..
re-compilation of front-end:
> rm -rf client/dist;cd client/src/; npm run build; cd ../..