Git Product home page Git Product logo

gunalgupta / academic-plagiarism-checker---for-handwritten-submissions Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 34 KB

This repository hosts a project that aims to tackle the issue of plagiarism in handwritten submissions. The system developed based on Multi-level detection using the combination of digital pattern analysis and text content comparison to detect potential instances of plagiarism.

License: MIT License

Python 100.00%
cosine-similarity histogram-of-oriented-gradients image-processing openai optical-character-recognition sentence-transformers handwritten plagiarism-detection python streamlit-webapp text-comparison

academic-plagiarism-checker---for-handwritten-submissions's Introduction

Academic Plagiarism Checker - For Handwritten Submissions πŸ“

This project aims to provide a solution for checking plagiarism in handwritten assignments submitted by students. The system combines digital pattern analysis and text content comparison between submission files to identify potential instances of plagiarism.

Table of Contents

Introduction

Considering the advancements in interpersonal communication technologies today that bridge the most distant humans, it has never been easier to plagiarize handwritten assignments. A simple photograph of a person’s assignment can spread in seconds to the Deepest reaches of the globe. Online learning has exacerbated this practice to a great extent. Handwritten assignments shared among peers further undermine the prospects of acquiring the quality of learning that is achieved only when assignments are completed by the individual. It would be very simple to prevent plagiarism by accepting typed assignments and running a plagiarism check on them; however, many regions do not have access to computers, so accepting typed assignments in such situations would be impossible. Moreover, deciphering who copied from whom is a very time-consuming and difficult task for teachers. This is a situation which can be remedied by deploying a set of robust plagiarism detection algorithms in a model. The system uses a combination of digital pattern analysis through generating the UDP (Unique Digital Pattern) and text content comparison for each pair of submission to provide a comprehensive approach to plagiarism detection.

Features

  • Digital Pattern Analysis: Generates digital patterns from handwritten images using Histogram of Oriented Gradients (HOG).
  • Text Content Comparison: Utilizes Optical Character Recognition (OCR) to extract text from images and compares the content for similarity.
  • Multi-level Detection: Implements a multi-level detection approach to identify complete plagiarism and potential plagiarism with varying similarity scores.

Requirements

  • Python (>=3.6)
  • Required Python Packages:
    • numpy
    • PIL
    • scipy
    • scikit-image
    • os
    • requests
    • sentence-transformers==2.2.2
    • openai==1.3.3

Installation

  1. Clone the repository:

    git clone https://github.com/GunalGupta/Academic-Plagiarism-Checker---For-Handwritten-Submissions.git
    
  2. Install the required packages:

    pip install -r requirements.txt
    
  3. Replace {Your API Key} in the code with your actual API key for OCR functionality. The API can be found after creating an account at : (https://apilayer.com/marketplace/image_to_text-api)

  4. Replace {Your API Key} in the code with your actual API key for Open AI functionality.

Usage

streamlit run streamlit.py

Methodology

Methodology

Background Model

Model

Results

The output will include filenames of the detected plagiarism pairs, helping you identify instances of complete and potential academic misconduct in the submissions.

Contributing

This project was developed as part of an academic Design Project, and contributions specific to the project's goals are appreciated. While external contributions may not align with the project's immediate scope, feedback and suggestions for improvement are welcome.

How to Provide Feedback

If you have feedback, suggestions, or ideas for improvement, please feel free to open an issue. While external code contributions might not be part of the immediate evaluation criteria, constructive feedback that enhances the project's design, functionality, or documentation is highly valued.

Steps for Providing Feedback

  1. Open an Issue: Clearly describe the feedback or suggestion in a new issue. Include details about the specific area or aspect you are addressing.

  2. Discussion: Engage in discussions on the opened issue to further elaborate on the feedback or suggestion. This collaborative approach ensures a better understanding of the proposed changes.

  3. Documentation: If the feedback relates to documentation improvements, please specify the section or details that need clarification or enhancement.

Remember, your input contributes to the continuous improvement of the project, and thoughtful feedback is essential for its success.

Contributors

1. Gunal Gupta
2. Ved Vekhande
3. Anubhav Dubey
4. Govind Garg
5. Apurva Bajaj

License

This project is licensed under the MIT License. You are free to use, modify, and distribute the code as per the terms of the license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.