Skip to content

NimaFakoor/Plagiarism-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plagiarism Detection

 

مسئله دزدی ادبی و ایده حل آن

==========  

دزدی ادبی گونه های مختلفی دارد. در اینجا منظور از دزد ی ادبی کپی کردن بخشی از متن دیگران سپس تغییر آن است.

ما برای حل الگوریتمی این مسئله از ایده زیر استفاده کردیم:

انجام دادن 5 گام اصلی زیر

  • Read documents
  • Convert list to string
  • Split the string
  • Create a for loop that compares two lists
  • Calculate Score (based on Edit distance)

:یعنی

  • اسناد را بخوانید
  • تبدیل لیست به رشته
  • رشته را تقسیم کنید
  • دو لیست را با هم مقایسه کنید
  • امتیاز را محاسبه کنید

یا به عبارتی هسته کد زیر :

        file1=open("doc1.txt","r")
        text1=file1.readlines()
        file2=open("doc2.txt","r")
        text2=file2.readlines()
        str1=''.join(text1)
        str2=''.join(text2)
        sent_text1=str1.split('.')
        sent_text2=str2.split('.')
        final_list=[]
        for z in sent_text1:
            for y in sent_text2:
                if z == y:
                    final_list.append(z)

 

پیچیدگی و زمان اجرا الگوریتم

 

    T = O(n^2)

(در این باره)

 

الگوریتم و ساختارهای داده

 

  1. فایل را تجزیه می کند و یک واژه نامه ایجاد می کند که کلید آن است و مقدار آن متناسب اولی است.

  2. یک پرونده را به لیستی از پشته های همپوشان تبدیل می کند.

  • برای صرفه جویی در وقت محاسبه ، بررسی می کند که آیا هر یک از کلمات موجود در پرونده ها در واژه نامه وجود دارد در اینصورت آنها را با مقدار جایگزین میکند.
  • لیستی از هر دو پرونده ایجاد میکند
  1. در صورت افزایش تعداد دزدی ادبی ، بررسی میکند که آیا هر یک از عناصر پشته باقی مانده موجود در هدف در منبع وجود دارد

 

فرضیات الگوریتم

  فایل متنی باید به درستی قالب بندی شود و خطایی ایجاد نخواهد کرد اما اگر در قالب خط به خط مطابق گفته نباشد ممکن است تشخیص درست نداشته باشد یا تعویض های درستی انجام ندهد.  

======================================================================================================================================================================================================================================================

نحوه اجرای برنامه و نصب پیشنیاز ها

==========

  • برنامه حل این مسئله به زبان سطح بالای پایتون نوشته شده

  • هسته برنامه بصورت متن باز و کاملا رایگان برای همیشه میباشد و سعی شده با تمامی نسخه های پایتون سازگار باشد شما میتوانید برای اجرای راحت در سیستم عامل ویندوزی خود صرفا پایتون 2.7 را نصب کنید و بر روی فایل مربوط کلیک کنید.

  • تمامی توضیحات مربوط به راه اندازی و نصب چیز های مورد نیاز در مسیر راه حل کاملا توضیح داده شده

این پروژه توسط افراد ساخته و نگهداری میشود

                   

ساخته شده با قهوه و موسیقی راک اند رول و چندتا چیز دیگه که آدم یادش میره وقتی به اتمام میرسه ;)
* البته الان که بیشتر فکر کردم یکی اش یادم امد، چیزی مثل امید به وجود داشتن فرصت های برابر در همه ابعاد زندگی در همه جای دنیا و برای همه بدون استثناء