Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justdvnsh/v-plag-checker
A Plagiarism Checker to check for plagiarism of a document against internet and also the AI
https://github.com/justdvnsh/v-plag-checker
Last synced: 22 days ago
JSON representation
A Plagiarism Checker to check for plagiarism of a document against internet and also the AI
- Host: GitHub
- URL: https://github.com/justdvnsh/v-plag-checker
- Owner: justdvnsh
- License: apache-2.0
- Created: 2019-07-18T20:41:38.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-13T23:38:05.000Z (almost 2 years ago)
- Last Synced: 2024-05-27T17:21:06.187Z (7 months ago)
- Language: TypeScript
- Homepage:
- Size: 4.95 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# V-PlagChecker
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 .
## Overview
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
Credits for the base repository go to [this](https://github.com/HendrikStrobelt/detecting-fake-text/) 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.
## Call for Pull Requests
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 features~
- ~Use the google api to check for plag against internet~
- ~Make the GPT-2 api available to calculate scores~
- ~Create 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.## Quickstart
Install dependencies for Python >3.6 :
```bash
pip install -r requirements.txt
```run server for `gpt-2-small`:
```bash
python server.py```
the demo instance runs now at [http://localhost:5001/client/index.html](http://localhost:5001/client/index.html)
## Run the BERT server
start the server for `BERT`:
```bash
python server.py --model BERT
```the instance runs now at [http://localhost:5001/client/index.html?nodemo](http://localhost:5001/client/index.html?nodemo). HINT: we only provide demo texts for `gpt2-small`.
## server.py options
```
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)```
## Extend backend
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.
## Extend frontend
the source code for the front-end is in `client/src`.To modify, installing of node dependencies is necessary:
```bash
cd client/src; npm install; cd ../..
```
re-compilation of front-end:```bash
> rm -rf client/dist;cd client/src/; npm run build; cd ../..
```