Odata cu dezvoltarea Internetului, pentru un elev este mai usor sa copieze un referat decat sa-l scrie el insusi, culegand informatii si manifestandu-si creativitatea. In acest fel, dispare utilitatea acestui instrument didactic.
Copycop este un utilitar destinat profesorilor care doresc sa combata acest fenomen. Softul permite introducerea unui text pentru a fi verificat; apoi, acesta este descompus in unitati lexicale si cautat pe internet automat. Pentru fiecare pagina gasita, programul calculeaza ponderea secventelor plagiate fata de numarul total de cuvinte si afiseaza rezultatul sub forma de procent.
Atat la sfarsit cat si in timp ce programul opereaza pe fundal, exista posibilitatea vizualizarii rezultatelor in forma detaliata (screenshot 3) - in textul introdus secventele de cuvinte considerate plagiate vor fi marcate cu bold; dand click pe un cuvant marcat, utilizatorul va obtine o lista cu site-urile unde acesta a fost gasit; dand click pe unul dintre site-uri, utilizatorului ii va fi prezentata respectiva pagina pentru a putea analiza contextul in care apare acea secventa pentru a putea determina daca este intr-adevar vorba de plagiat sau nu.
Timpul necesar pentru analizarea unui text depinde, in primul rand, de viteza conexiunii la Internet a calculatorului de pe care acesta ruleaza - operatiunea de descarcare a paginilor se desfasoara in paralel cu procesarea acestora, si in majoritatea cazurilor este mai lenta.
Programul este scris in C# si este in intregime managed. Se creeaza cate un fir de executie pentru descarcarea fiecarei pagini, si unul suplimentar pentru procesarea datelor, determinarea secventelor plagiate si calcularea procentelor. Pe masura ce descarca pagini si le analizeaza, programul raporteaza progresul si afiseaza o lista cu operatiunile pe care mai trebuie sa le efectueze. Informatiile despre respectivele pagini pot fi afisate inainte de terminarea tuturor operatiunilor, apasand pe butonul “Matches”. Daca textul introdus este plagiat in intregime, aproape intotdeauna printre primele pagini analizate se va gasi sursa acestuia, reducand timpul necesar obtinerii unui rezultat concret la mai putin
de 5 secunde.
blAckEnEd: Consider “secvente plagiate” secventele de cel putin 4* cuvinte consecutive care se gasesc atat in textul original cat si in textul gasit pe net. Pe masura ce gasesc astfel de secvente (parcurgand cuvintele, de fapt) numar cate cuvinte din textul original fac parte din secvente plagiate si la sfarsit fac raportul dintre aceasta valoare si numarul total de cuvinte
Daca prin algoritm te referi la cum fac efectiv matchingul cuvintelor, il fac brute-force (O(NM) unde N este nr de cuvinte din textul original si M nr de cuvinte din textul gasit), desi investighez posibilitatea adaptarii unor algoritmi mai destepti de string-matching pentru problema mea.
EDIT: prin unitati lexicale inteleg propozitii si cuvinte. Propozitiile le folosesc pentru a cauta pe google iar cuvintele pentru ceea ce am descris mai sus.
wickedman: nu stiam ca nu o sa avem net! iti multumesc ca mi-ai spus, poate reusesc sa fac o altfel de prezentare. Multumesc si pentru sugestia de a pastra referatele in cache. Tu te gandesti sa crawluiesc eu site-urile cu un alt program si sa distribui o mica “baza de date” de referate odata cu programul? Problema e ca in aceasta situatie s-ar mari destul de mult arhiva.
Am luat in considerare si varianta de a exporta un serviciu web care sa se ocupe de cautari si calcule, pe care sa-l hostez pe un server cu o conexiune serioasa. In felul asta programele-client nu ar mai transfera atatea date si nici n-ar mai chinui procesorul. Oricum, asta e o idee pentru versiunea 3
: valoarea de 4 este aleasa astfel deoarece daca e prea mica gaseste tot felul de secvente comune (“considerand ca” etc) si deoarece pare sa dea rezultate bune
Poate fi folosit si de siteuri cu galerii de “tinere si nu chiar atat de tinere condeie” . Chiar saptamana trecuta am avut un caz de plagiat al unei domnisoare care fura de pe poezie.ro
nu stiam ca nu o sa avem net! iti multumesc ca mi-ai spus, poate reusesc sa fac o altfel de prezentare.
Cred ca in situatia asta ar trebui sa vii si cu mici exporturi html (luate cu offline-explorer) ale unor siteuri aleatorii de referate in contentul carora sa faci cautari cu softul tau in timpul prezentarii.. precum demonstratie.
Succesul aplicatiei tale depinde de doi factori:
1. Relevanta
2. Rapiditate, flexibilitate
De relevanta cred ca te-ai ocupat destul de bine din cate vad. Nu am citit tot, dar presupun ca ai luat in calcul si posibilele diferente de diacritice (tipul de encoding al documentelor, al paginilor). Durata cautarii trebuie diminuata pe cat se poate.
Hei, da .. cred ca as fi interesat sa colaboram, te voi ajuta si eu la versiunea in php. Nu e nicio graba, lasam eventual dupa 12 august. Discutam pe privat!
-----------------------------------------
Mi-ai adus aminte de un eveniment inedit povestit de profesorul meu de istorie din liceu: Le-a cerut elevilor unei clase sa elaboreze referate pe tema globalizarii. I-a rugat expres sa scrie propriile ganduri si sa nu copieze de pe net. Bineinteles ca toti au furat de pe "referate" :laughing: . Ei, ce a facut proful meu? A luat fraze din fiecare referat si le-a "probat" pe google, dupa care a scris pe fiecare referat, in loc de nota, adresa de unde a fost descarcat. Elevii, care isi subestimasera profesorul la capitolul tehnologie.. cred ca au ramas tablou :laughing:
Poate ar fi bine sa crawl-ezi site-urile de referate si sa pastrezi continutul intr-un cache. Nu numai ca ai avea o cautare mai rapida, dar ai putea sa folosesti programul offline sau pe o conexiune modesta.
Stii ca la Galaciuc nu vei avea conexiune la internet. Ma gandesc sa nu te afecteze la prezentare …
Softul permite introducerea unui text pentru a fi verificat; apoi, acesta este descompus in unitati lexicale si cautat pe internet automat. Pentru fiecare pagina gasita, programul calculeaza ponderea secventelor plagiate fata de numarul total de cuvinte si afiseaza rezultatul sub forma de procent.
Ce algoritm ai folosit ca sa calculezi ponderea secventelor plagiate?
Ce intelegi prin "unitati lexicale"?
mihneasim: ma bucur ca-ti place ideea! Daca crezi ca este util si pentru tine, pot sa-ti trimit varianta curenta a programului pe mail. In felul asta poate ii gasesti niste buguri. Am vazut ce site prezinti si e interesant. Eu plec pe 26 si ma intorc direct in tabara dar daca vrei dupa sa integrezi copy protection in momentul in care cineva uploadeaza ceva pe site, cred ca as putea sa te ajut cu o varianta PHP a copycop.