Universitatea babeş-bolyai cluj-napoca facultatea de matematicǎ Şi informaticǎ specializarea informatică – româNĂ



Yüklə 189.16 Kb.
tarix09.12.2017
ölçüsü189.16 Kb.

UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA
FACULTATEA DE MATEMATICǍ ŞI INFORMATICǍ
SPECIALIZAREA INFORMATICĂ – ROMÂNĂ

LUCRARE DE LICENȚĂ
Serviciu web pentru identificarea lucrărilor plagiate

Conducător ştiinţific:

Lect. Dr. Radu DRAGOȘ
Absolvent:

Bianca Teodora PETRE



2013

Cuprins


1.Capitolul 1 – Introducere 3

1.1.Obiective 4

1.2.Contribuții originale 4

1.3.Structura lucrării 5

2.Capitolul II – Metode de identificare a similarităților între documente 6

2.1.Analiza similitudinii 6

2.2.Compararea documentelor la nivel de propoziție 8

2.3.Compararea documentelor folosind factori de corelație 9

2.4.Clasificare și amprentare 11

1.1.1.Clasificarea 11

1.1.2.Amprentare 13

3.Capitolul III –Tehnologii Web 16

3.1.PHP, Apache și MySQL 16

3.2.HTML, CSS și jQuery 18

3.3.Drupal 20

1.1.1.Noțiuni de bază 20

1.1.2.Teme Drupal 23

4.Capitolul IV – Aplicație de detectare a plagiatului 25

4.1.Preprocesarea documentelor 26

4.2.Compararea documentelor 27

4.3.Funcționalități ale aplicației 30

4.4.Analiza rezultatelor 36

5.Capitolul V – Concluzii 38

5.1.Activități propuse 39

6.Bibliografie 40




1.Capitolul 1 – Introducere

A plagia înseamnă a folosi sau a copia parțial ideile altcuiva fără a cita autorul original, sau conform [6], „a lua, a fura ideile, expresiile, invențiile cuiva și a le prezenta drept creații proprii; a publica pe numele său fragmente din lucrarea altuia; a comite un furt literar”.

Termenul „plagiere” își are originea în cuvântul latin „plagium”, care în secolul I însemna răpirea unui sclav sau a unui copil, iar plagiatorul („plagiarius”) însemna jefuitor, răpitor sau om care ajuta infractorii să se ascundă. În anul 1601, termenul „plagiere” a fost introdus în limba engleză de dramaturgul Ben Jonson, pentru a descrie furtul literar. [10]

Într-adevăr, cuvântul „plagiere” este sinonim cu furtul, dar acțiunea de a plagia este mai gravă întrucât persoana care plagiază fură ceva unic: ideile, creativitatea și personalitatea autorului – ceea ce îl reprezintă de fapt.



În ziua de azi, plagiatul este destul de comun printre studenți, profesori și cercetători și devine o problemă din ce în ce mai serioasă. Un factor care contribuie la această situație este accesul foarte ușor la Internet, adică la numeroase publicații online pe care studenții le găsesc și le copiază sau le modifică cu ușurință. Internetul cuprinde cel mai mare număr de articole și informații publice online, iar o mare parte din această informație este publicată în mai mult de o singură locație. O căutare pe Internet a unui subiect returnează rezultate aproape identice în zeci de locații diferite.

În urma studiilor s-a descoperit că plagiatul în universități a crescut semnificativ în ultima jumătate de secol, ceea ce a afectat calitatea educației primite de studenți. Cadrele universitare știu că pentru a avea cunoștințe bogate în orice domeniu, studenții au nevoie de informația furnizată de paginile web, însă aceștia sunt tentați să utilizeze informațiile găsite pentru a „practica” plagiatul. Informațiile trebuie utilizate în mod legal și moral, adică o persoană trebuie să știe cum să folosească informația: cum să o găsească, cum să o structureze, să o evalueze și să o modeleze din propriul punct de vedere. Acest lucru constituie o competență pe care orice student absolvent ar trebui să o aibă, însă din cauza faptului că nu există sisteme de detectare a plagiatului în fiecare universitate, cei mai mulți studenți preferă să copieze decât să scrie lucrări originale.

Detectarea plagiatului poate ajuta cadrele universitare să îmbunătățească calitatea educației studenților. De aceea, acest subiect a fost dezbătut în ultimii ani atât în universități, cât și în cercurile politice. Au fost dezvoltate numeroase aplicații comerciale de detectare a plagiatului, care utilizează diferite metode. Majoritatea aplicațiilor sunt capabile să identifice fraze plagiate în care s-a modificat ordinea cuvintelor, s-au înlocuit cuvintele cu sinonimele lor, propoziții scurte legate într-o frază sau fraze împărțite în propoziții scurte etc.

1.1.Obiective


Obiectivele generale ale lucrării de față sunt:

  • definirea plagiatului și descrierea tehnicilor de plagiere

  • prezentarea diverselor metode de identificare a similarităților dintre texte

  • dezvoltarea unei aplicații care compară documente și identifică care dintre acestea sunt plagiate

  • prezentarea tehnologiilor utilizate pentru realizarea aplicației.

Scopul principal este de a readuce tehnicile de învățare pe care Internetul le-a schimbat prin furnizarea atâtor resurse ușor de găsit și de copiat. Pentru a realiza scopul propus, am dezvoltat o aplicație web de detectare a plagiatului, care, printr-o interfață user-friendly, le permite studenților să se înregistreze și să își depună lucrările atribuite, iar cadrelor didactice să identifice, pentru fiecare lucrare în parte, secvențele suspecte și documentele sursă din care acestea provin.

1.2.Contribuții originale


În general, un student care plagiază lucrări existente pentru a realizeaza un eseu, copiază porțiuni mari de text pe care le modifică (uneori) prin reordonarea sau ștergerea unor cuvinte, ca să pară originale. Ulterior, studentul adaugă paragrafe originale pentru a finaliza tema atribuită. Metoda propusă în această lucrare, numită SimilarDocumentsDetection (SimDD), a fost creată cu scopul de a identifica astfel de documente.

Ideea de bază a metodei SimDD este că un paragraf poate fi considerat plagiat dacă mai mult de 3 dintre termenii din acesta au fost găsiți la distanțe relativ apropiate în documentul original. SimDD verifică dacă un document suspect DP este plagiat comparând cuvintele cheie din acesta cu toate cuvintele cheie din celelalte documente din baza de date și astfel identifică (i) propozițiile copiate, (ii) propozițiile care au fost create prin unirea sau despărțirea unor propoziții din documentul original și (iii) propozițiile în care cuvintele au fost amestecate.


1.3.Structura lucrării


În continuare, lucrarea este structurată pe 3 capitole, după cum urmează.

În Capitolul 2 – „Metode de identificare a similarităților între documente” – sunt evaluate mai multe tehnici de detectare a plagiatului dezvoltate până în prezent din diverse lucrări. Metodele prezentate sunt diferite din multe puncte de vedere, prezentând abordări originale pentru fiecare aspect ce trebuie studiat în procesul de detectare a plagiatului: stocarea documentelor într-o bază de date, preprocesarea documentelor în vederea comparării rapide a textelor, vizualizarea rezultatelor etc.

Capitolul 3 – „Tehnologii Web” – prezintă tehnologiile utilizate pentru dezvoltarea soft-ului. Pentru a crea o aplicație web, este nevoie de tehnologii pentru stocarea informațiilor, pentru partea de logică a aplicației, care oferă dinamism paginilor web și pentru partea de prezentare, adică tot ce ține de interfață.

În Capitolul 4 – „Aplicație de detectare a plagiatului” – este detaliată metoda propusă și sunt prezentate deciziile care au fost luate pentru implementarea algoritmului de comparare a textelor. De asemenea, capitolul prezintă funcționalitățile aplicației de detectare a plagiatului și o analiză a rezultatelor obținute.

Ultimul capitol – „Concluzii” – cuprinde concluziile generale ale studiului realizat și activitățile propuse pentru îmbunătățirea aplicației.


2.Capitolul II – Metode de identificare a similarităților între documente

În această secțiune sunt evaluate mai multe metode de detectare a plagiatului dezvoltate până acum, sunt prezentate avantaje și dezavantaje ale acestora precum și tehnici ale plagiatului care sunt sau nu identificate.

Deoarece un document plagiat nu este (neapărat) identic cu documentul original, folosind tehnici convenționale de căutare, documentele plagiate se confundă cu cele care sunt pur și simplu pe aceeași temă.

De aceea s-au dezvoltat numeroase tehnici de detectare a plagiatului, fiecare având o abordare diferită: calcularea gradului de similitudine între documente la nivel de propoziție, paragraf sau șiruri de n caractere luând în considerare cuvintele comune, detectarea documentelor plagiate pe baza amprentelor digitale ale acestora, identificarea cuvintelor înlocuite cu sinonimele lor etc.

Metodele prezentate determină propoziții plagiate prin parafrazare, despărțire, lipire și reodonare, dar și propoziții direct copiate.

2.1.Analiza similitudinii


În [19] Shanmugasundaram Hariharan propune o metodă de identificare a plagiatului prin analiza similitudinii dintre documente, folosind metrici precum cosinus, Dice, Jaccard, Hellinger sau Harmonic.

Pentru a studia rata de plagiere din universitatea lor, autorii acestui proiect au atribuit studenților împărțiți pe grupe articole de realizat într-o săptămână, fiecare grupă având subiect diferit.

Primul pas al metodei propuse este preprocesarea documentelor, care constă în eliminarea cuvintelor de legătură, a caracterelor speciale (“ “ . ! ? ( ) , ; etc) și a sufixelor. Eliminarea sufixelor este o operație care trebuie aplicată pentru a obține originea comună a cuvintelor din aceeași familie lexicală. În compararea textelor, acest pas ajută foarte mult pentru a putea considera cuvintele cu sens și formă comună ca fiind identice. Acest proces este util deoarece compară termenii eficient și identifică propoziții care sunt similare în forma lor originală.

În urma preprocesării documentelor, sunt obținute 2 liste de cuvinte, cărora li se aplică metrici precum cosinus, Dice, Jaccard, Hellinger sau Harmonic, iar în urma evaluării rezultatelor s-a dovedit că formula cosinusului este cea mai relevantă:



Cosine(ti, tj) =

unde vectorul ti corespunde termenilor din primul document, iar tj celor din documentul cu care este comparat.

De obicei termenilor li se atribuie valori date de numărul de apariții în cadrul documentului sau de diverse metode de ponderare, de exemplu tf-idf.

TF-IDF (Term Frequency - Inverse Document Frequency) este o metodă care atribuie o pondere (greutate) fiecărui cuvânt dintr-un document inclus într-o colecție, pondere ce reflectă importanța termenului în colecția respectivă. Valoarea TF-IDF crește proporțional cu numărul de apariții ale cuvântului în document, dar este compensată de frecvența cuvântului în colecția de documente. [4]

Fiecărui termen dintr-un text i se atribuie o greutate care depinde de numărul de apariții ale acestuia în document. Cea mai simplă abordare este considerarea greutății egală chiar cu numărul de apariții ale termenului t în documentul d. Acest sistem de ponderare se numește Term Frequency și se notează tft,d, cu indicii care denotă termenul (t) și respectiv documentul (d).

Având în vedere că într-o colecție de documente cu subiect comun, unii termeni nu mai sunt atât de importanți deoarece apar prea des ca să fie relevanți, această metodă utilizează frecvența în documente (document frequency). Aceasta este notată cu dft și egală cu numărul de documente din colecție care conțin termenul t.

Idf (Inverse Document Frequency) se calculează astfel:

idft = log

unde N este numărul de documente din colecția dată. Așadar, idf este o măsură care decide dacă un termen este frecvent sau nu într-o colecție, valoarea rezultată fiind mare dacă termenul este comun, și mică altfel.

În final, termenii au valoarea:

tf-idft,d = tft,d idft

Rezultatele acestui studiu au dovedit că 70% din studenți au plagiat, cei cu aceeași temă având lucrări aproape identice.


2.2.Compararea documentelor la nivel de propoziție


În [5] se prezintă un algoritm de comparare a documentelor la nivel de propoziție. Autorii au considerat că propozițiile sunt componenetele din care un limbaj natural este compus, la fel ca instrucțiunile într-un limbaj de programare, și că paragrafele fiind prea lungi, similitudinea dintre ele ar fi mult mai mare decât între propoziții. [5]

Această metodă presupune 4 pași. Primul pas este preprocesarea documentelor - citirea documentelor și parsarea acestora în obiecte de tip Document care conțin o listă de obiecte de tip Propoziție, care la rândul lor conțin o listă de cuvinte obținute după eliminarea cuvintelor prea comune, a cuvintelor de legătură și a celor care se repetă.



Exemplu:

Propoziția 1: Maria a avut gripă.

Propoziția 2: În timp ce Ionel era sănătos, Maria a avut gripă.

După procesare:

Propoziția 1: {maria, avut, gripă}

Propoziția 2: {timp, ionel, era, sănătos, maria, avut, gripă}.

Al doilea pas este compararea documentelor. Fiecare document este împărțit în propoziții și este calculată o valoare care reprezintă gradul de similitudine între 2 propoziții. Această valoare este calculată în funcție de numărul de cuvinte comune și lungimile propozițiilor. În exemplul de mai sus, cele 2 propoziții au 3 cuvinte în comun, ceea ce înseamnă 100% din propoziția 1 și 43% din propoziția 2. Valoarea similitudinii reprezintă media aritmetică dintre cele două procentaje, adică 71,5%. Apoi se stabilește o valoare limită (Similarity Threshold), iar dacă valoarea calculată între 2 propoziții este mai mare sau egală cu această constantă, legătura dintre propoziții este salvată.

La sfârșitul procesului, rezultatul este salvat într-o structură de date care conține toate legăturile dintre proprozițiile din textul suspect și propozițiile din documentele cu care este comparat, care depășesc valoarea limită stabilită. O legătură este de forma (Pplagiată , Poriginală, valoare_similitudine(Pplagiată, Poriginală)), unde,


  • Pplagiată este o propoziție din documentul suspect (dp) care a fost considerată plagiată,

  • Poriginală este o propoziție dintr-unul dintre documente din colecție în care au fost găsite similarități cu documentul dp,

  • valoare_similitudine(Pplagiată, Poriginală) este valoarea asociată celor 2 propoziții explicată mai sus.

S-a considerat că multe dintre similaritățile dintre 2 documente cu același titlu sunt cauzate de folosirea acelorași surse, care, în majoritatea cazurilor au fost citate corect. De aceea, la pasul 3, rezultatele sunt filtrate astfel încât propozițiile care au referință comună să fie eliminate.

La final, fiecărui document i se atribuie o valoare, calculată în funcție de asemănările dintre acesta și cel mai similar document dintr-o anumită categorie (clasificate pe teme).


2.3.Compararea documentelor folosind factori de corelație


O altă metodă de identificare a plagiatului este prezentată în [13] și constă atât în detectarea adăugării, ștergerii și înlocuirii cuvintelor cu sinonimele lor cât și în identificarea frazelor care au fost unite sau împărțite în mai multe propoziții.

Metoda propusă compară documentele tot la nivel de propoziție, însă determină gradul de similitudine dintre 2 documente utilizând factori de corelație între cuvinte (word-correlation factors) definiți în [15]. Factorul de corelație a 2 cuvinte reprezintă o valoare care determină dacă cele 2 cuvinte sunt asemănătoare sau identice din punct de vedere semantic.

Asemănator metodei anterioare, procesul începe prin eliminarea cuvintelor nesemnificative din document și aducerea cuvintelor derivate la forma de bază. Mai mult, aceasta metodă elimină propozițiile scurte, ca urmare a probabilității ridicate ca doi autori total diferiți să creeze fraze scurte asemănatoare. De exemplu „Acest lucru nu este adevărat.” sau „Acesta este un exemplu.”. Cu cât propozițiile sunt mai lungi, cu atât probabilitatea e mai mică să semene între ele.

Crearea unei propoziții plagiate pornind de la o propoziție de bază prin reordonarea cuvintelor este o metodă des întâlnită. Având în vedere acest lucru, în metoda descrisă în [13] nu se ia in considerare ordinea termenilor în propoziții, ci doar adăugarea, înlocuirea și ștergerea cuvintelor.

Factorii de corelație utilizați în metoda propusă au fost calculați utilizând 880,000 de documente de pe Wikipedia pe baza frecvenței lor de apariție împreună și a distanței relative în documente [13]. Astfel, similitudinea dintre 2 propoziții este media aritmetică a factorilor de corelație dintre cuvintele dintr-o propoziție de bază S și cele dintr-o propoziție P din documentul de analizat.

Algoritmul prezentat este capabil să identifice propoziții dintr-un document (plagiat) DP care au fost create unind sau despărțind propoziții dintr-un document sursă DS. O propoziție P este "inclusă" într-o propoziție inițială S dacă majoritatea cuvintelor din P sunt (semantic), la fel ca și (unele dintre) cuvintele din S. Astfel, se stabilește o valoare limită, iar dacă media artimetică calculată pentru a identifica similitudinea între cele 2 propoziții depășește pragul stabilit, atunci ea este considerată inclusă. Aceeași strategie este aplicată pentru a identifica propozițiile unite.

După ce se determină gradul de similitudine dintre oricare 2 propoziții din DP și DS, se alege pentru fiecare P din DP cea mai asemănătoare propoziție din DS (SenSim(Pi, DS)), în ideea că o propoziție poate fi găsită în mai multe locuri într-un document. Având aceste valori, se calculează procentajul de plagiere – media artimetică a valorilor SenSim.

Pentru a clasifica un document DP ca fiind variantă plagiată a unui alt document DS, s-a stabilit o valoare limită (Lim), astfel încât dacă procentajul de plagiere dintre cele 2 documente depășește Lim, atunci acesta este considerat plagiat.

Testele au fost făcute pe 2 seturi de documente diferite, iar acuratețea a fost de 100%, respectiv 96.2%, algoritmul clasificând greșit 3,8% articole dintr-unul dintre seturi, însă niciun document original nu a fost clasificat greșit. [13]

2.4.Clasificare și amprentare


În [20] sunt evaluate 2 metode des întâlnite pentru identificarea documentelor care au aceeași sursă, denumite coderivate: amprentarea digitală (fingerprinting) – concepută în special pentru determinarea coderivatelor și clasificarea (ranking) – tehnică dezvoltată pentru identificarea unor resurse pornind de la o interograre dată. De asemenea sunt prezentate variante ale acestor metode pentru identificarea celei mai bune dintre ele și o extindere a clasificării dezvoltată de autori.

Cele 2 metode sunt foarte diferite, însă au elemente în comun, cum ar fi preprocesarea documentelor înainte de indexare. Acest proces constă în eliminarea cuvintelor de legătură și a sufixelor – avantajul fiind reducerea timpului de procesare a documentului de verificat, fără nicio degradare a calității rezultatelor returnate. [20]


      1. Clasificarea


Clasificarea [20] este utilizată pentru identificarea celor mai bune potriviri dintr-o bază de date pornind de la o interogare și este utilizată pe scară largă în motoarele de căutare de pe Internet. Această metodă constă în 2 pași:

  1. colecția de documente este indexată;

  2. o interogare este dată, pentru găsirea rezultatelor care o conțin într-o bază de date;

Indexarea [21] este un proces care ajută la organizarea cantităților mari de informații, astfel încât interogările să fie rezolvate eficient, iar părțile relevante de text să fie extrase rapid. O colecție de documente stocată (sau nu) într-o bază de date se presupune că este un set de documente separate, fiecare fiind caracterizat de un set de termeni (cuvinte) și astfel, cu ajutorul indecșilor se pot identifica rapid documentele care conțin anumite combinații de termeni sau care pur și simplu sunt considerate a fi relevante pentru setul de termeni dat.

Interogările sunt utilizate pentru calcularea gradului de similitudine (folosind o funcție specială numită măsurarea similitudinii [20]) pentru fiecare document dintr-o colecție. Rezultatele sunt returnate în ordine descrescătoare, cel cu gradul cel mai înalt fiind cel mai asemănător și suspect de plagiere.

Există mai multe funcții care măsoară similitudinea, printre care produsul intern – una din cele mai simple și practice măsurători [20] și produsul intern normalizat.

Fiind date: o interogare q (fiecare termen din interogare este notat cu t) și un document d în care este efectuată căutarea, produsul intern este produsul a două componente: frecvența și greutatea termenilor care se găsesc atât în interogare cât și în document.



Frecvența unui termen este o valoare raportată la importanța termenului în documentul curent de verificat și este 1 + lnfd,t , unde fd,t este numărul de apariții ale termenului t în documentul d, iar greutatea unui termen reprezintă importanța unui termen în toată colecția de documente. Cea din urmă are valoarea ln(1+N/ft), N este numărul de documente din colecție, iar ft este numărul de documente care îl conțin pe t.

Produsul intern se calculează astfel:



și returnează valori mari în cazul documentelor în care termenii din interogare apar de multe ori. Așadar documentele mari tind să fie în top – lucru nu neapărat relevant. Avantajul principal este timpul de execuție.

Pentru rezolvarea problemei documentelor lungi, autorii au propus o metodă care normalizează produsul intern împărțind rezultatul cu rădăcina pătrată a lui fd (numărul de termeni din documentul d).

Pornind de la aceste măsurători, [20] prezintă o metodă care, spre deosebire de formulele de mai sus, a fost dezvoltată pentru compararea de documente întregi, nu pentru găsirea unor documente plecând de la o interogare. Ideea de bază a metodei este că 2 documente sunt similare dacă conțin un număr similar de apariții ale cuvintelor. [20]

Astfel, diferența dintre frecvența unui termen în documentul-interogare (q) și frecvența aceluiași termen în documentul cu care se verifică, notată cu |fq,t - fd,t|, trebuie să fie mică. De asemenea lungimile documentelor, fq și fd, trebuie să fie apropiate.

Similitudinea dintre documente este calculată astfel:





este o valoare care reflectă frecvența unui termen în cadrul colecției de documente, unde N este numărul total de documente din colecție, iar este numărul de documente care îl conțin pe t.

Normalizarea acestui produs intern se realizează împărțind rezultatul cu logaritmul diferenței dintre lungimile documentelor. Este necesar acest proces, deoarece dacă se compară un document de dimensiune mică cu unul de dimensiune foarte mare, este posibil ca termenii din primul document să fie găsiți foarte des în cel de-al doilea datorită lungimii acestuia. De asemenea, s-a preferat utilizarea logaritmului din diferență în locul diferenței simple deoarece valoarea diferenței tinde să influențeze prea mult rezultatul valorii finale [20]. De exemplu, pentru documentele de lungime aproximativ egală (1000 și respectiv 1005 cuvinte), prin normalizarea folosind diferența, valoarea similitudinii este împărțită la 6, dar documentele diferă doar 0.5%.


      1. Amprentare


Această metodă este utilizată pentru compararea documentelor coderivate, adică a celor care provin din aceeași sursă. Amprentarea presupune atribuirea unei valori (a unei „descrieri”) fiecărui document dintr-o colecție – această valoare reprezentând conținutul documentului respectiv, iar comparând aceste valori se poate determina gradul de similitudine dintre documente.

Amprenta unui document este o colecție de numere întregi numite puncte caracteristice. De obicei, o amprentă este generată selectând subșiruri dintr-un document asupra cărora se aplică o formulă matematică [20]. Aceasta este asemănătoare unei funcții de hashing și produce un punct caracteristic. Așadar, când un document este verificat de plagiere, i se generează amprenta digitală și în funcție de numărul de puncte caracteristice pe care le are în comun cu documentul cu care este verificat, se stabilește gradul de similitudine dintre cele 2 documente.

Procesul constă în 4 sarcini:


  1. găsirea unei funcții care să transforme subșiruri în puncte caracteristice;

Pentru rezultate bune, funcția trebuie să fie precisă, rapidă (când se face o interogare pe o colecție mare, se generează un număr foarte mare de puncte caracteristice), reproductibilă (pentru un șir să se returneze de fiecare dată aceeași valoare) și să se stabilească un interval în care să fie inclusă valoarea returnată.

Un exemplu de astfel de funcție este [16]:



h(ci) = h(ci-1)(A(ci) + h(ci-1) 6 +h(ci-1)2), i>0

unde c0 c1...ck este un șir, A(ci) este o funcție care convertește un caracter într-un număr întreg (de obicei valoarea ASCII asociată),reprezintă shift-are la stânga, respectiv la dreapta, iar reprezintă operația booleană XOR (Exclusive OR). Pentru primul caracter din orice șir se dă o valoare inițială.

Dacă valoarea maximă pe care o poate lua funcția f este m, atunci valoarea unui șir este dată de:

h(șir) = h(ck) mod m.


  1. stabilirea lungimii subșirurilor (granularitatea);

Granularitatea are un impact puternic asupra preciziei întregului proces [20] și poate fi un număr fix de caractere sau un număr fix de propoziții. Cu cât granularitatea este mai mare, cu atât similaritatea dintre documente devine mai mică.

  1. stabilirea numărului de puncte caracteristice din care să fie alcătuită amprenta digitală a documentului;

Pentru a decide mai ușor dacă documentele sunt sau nu coderivate, acestea trebuie descompuse într-un număr cât mai mare de puncte caracteristice. Acest număr poate fi fix, sau variabil – în funcție de lungimea documentului. Alegerea unui număr variabil poate conduce la favorizarea documentelor lungi.

  1. alegerea unui algoritm care selectează subșirurile din document (strategia de selecție).

Există multe strategii de selecție, unele fiind potrivite pentru amprentare cu număr fix de puncte caracteristice și altele pentru cea cu număr variabil. Dacă a fost stabilit numărul de puncte caracteristice – k, atunci k subșiruri vor fi selectate din document. Cea mai simplă selecție este selectarea tuturor subșirurilor de lungime g (granularitatea), această strategie producând cea mai mare amprentă care se poate genera pentru un document.

O altă strategie este selectarea frazelor în funcție de frecvență, cele mai rare având un rol mai important. Această metodă presupune calcularea punctelor caracteristice, sortarea lor în funcție de numărul de apariții în document și selectarea celor mai rare. De obicei un punct caracteristic apare o singură dată, ceea ce înseamnă că vor fi eliminate numai subșirurile care sunt foarte comune.


3.Capitolul III –Tehnologii Web

O aplicație web este o aplicație client-server care cuprinde 2 părți: partea de front-end (client) și partea de back-end (server).

Modelul client/server este o arhitectură ce descrie relația dintre 2 programe care se află fie pe același calculator, fie pe calculatoare diferite. Clientul face o cerere la server, iar serverul procesează cererea și returnează un răspuns.

În cazul aplicațiilor web, browser-ul (navigatorul) este clientul care trimite cereri unui server web. Un client poate solicita pagini statice, care nu necesită niciun fel de procesare pe partea de server, sau pagini dinamice, care cuprind script-uri scrise într-un anumit limbaj de programare pe care serverul web le interpretază și le trimite înapoi clientului sub formă de pagină statică.

Într-o aplicație web, partea de client (HTML, JavaScript) se ocupă cu prezentarea informațiilor, iar partea de server (PHP, ASP, Perl) se ocupă cu stocarea și procesarea acestora.

3.1.PHP, Apache și MySQL


PHP este un limbaj de scripting folosit pe scară largă în dezvoltarea paginilor și a aplicațiilor web. A fost creat de Rasmus Lerdof în anul 1995, din dorința acestuia de a crea un script pentru a urmări numărul de vizitatori ai site-ului său. [11]

Inițial PHP însemna Personal Home Page și a fost lansat ca un proiect open source, de-a lungul timpului mulți dezvoltatori alăturându-se la perfecționarea soft-ului. În 1997 PHP a fost numit cum este și în prezent ”PHP: Hypertext Preprocessor” și reprezintă unul dintre cel mai importante și populare limbaje de programare web. [11]

Fiind un limbaj de scripting, PHP aduce multe avantaje programatorilor, de exemplu codul scris nu trebuie compilat, ceea ce îl face ușor de editat și testat. Majoritatea limbajelor de programare necesită compilarea fișierelor în cod mașină înainte de rulare, proces care presupune mult timp.

Rulat din linia de comandă, PHP permite crearea de aplicații independente, însă principalul scop al PHP-ului este crearea de script-uri pentru a fi rulate pe un server web, permițând modificarea paginilor web înainte ca acestea să fie transmise de server către browserele utilizatorilor.

Pentru utilizarea PHP-ului pe un site web, este nevoie de un server care să proceseze script-uri PHP. Apache este un server HTTP de tip open source, care, odată instalat pe calculator, permite dezvoltatorilor să ruleze scripturi PHP local, fapt pentru care, Apache este un element important pentru dezvoltarea locală. [11]

Apache este cel mai popular server web în prezent1, având așadar o contribuție mare în dezvoltarea Internetului. Există multe module (plugin-uri) care au fost create pentru a extinde funcționalitatea serverului Apache. Printre cele mai importante funcționalități ale serverului Apache se numără suportul pentru CGI (Common Gateway Interface) și găzduirea virtuală (posibilitatea găzduirii mai multor site-uri simultan pe același server).

Pentru site-urile dinamice o componentă importantă este stocarea datelor astfel încât ele să poată fi modificate rapid și ușor – acest lucru fiind principala diferență între un site dinamic și un site static realizat în HTML. Deoarece PHP nu oferă o metodă eficientă de stocare a informațiilor, este nevoie de un sistem de gestiune a bazelor de date relaționale (SGBD).

MySQL este unul dintre cele mai populare SGDB-uri open source în prezent2 și este foarte des întâlnit împreună cu PHP. Acesta a fost inițial lansat în 1996 și este denumit după numele fiicei principalului autor și co-fondator Michael Widenius [17], My, și SQL (Structured Query Language).

MySQL permite dezvoltatorilor să stocheze datele în tabele structurate pe linii și coloane pentru ca informația să fie bine organizată, ușor de găsit, modificat, adăugat și șters. MySQL este un server de baze de date SQL multi-user (controlează accesul la date pentru a garanta că mai mulți utilizatori pot lucra simultan cu acestea) și multi-thread (mai multe fire de execuție).

MySQL utilizează limbajul de programare SQL, limbaj care se ocupă atât cu inserări, interogări, ștergeri și modificări asupra informațiilor dintr-o bază de date, cât și cu controlul accesului la o bază de date. SQL este un limbaj specific pentru gestiunea datelor în SGBD-uri.

3.2.HTML, CSS și jQuery


Pentru ca o pagină web să poată fi afișată într-un browser (navigator), este necesară utilizarea unui limbaj de marcare, care are ca scop structurarea și prezentarea documentului. HTML (acronimul de la HyperText Mark-up Language) este limbajul de marcare care stă la baza paginilor web și folosește etichete denumite tag-uri care oferă indicații de redare a informației. Browser-ul interpretează tag-urile, și astfel documentul este structurat în diferite moduri: tabele, liste, paragrafe, titluri etc. [23]

Standardele HTML sunt menținute de World Wide Web Consortium (W3C), o ascociație fondată și condusă în prezent de Tim Berners-Lee [14], care are ca scop dezvoltarea standardelor pentru World Wide Web în vederea creșterii și a îmbunătățirii acestuia, pentru a-l face accesibil tuturor utilizatorillor.



Orice fișier HTML ar trebui să înceapă cu declarația , care informează browser-ul despre versiunea de HTML în care este scrisă pagina. Următorul tag este .., tag-ul care le cuprinde pe toate celelalte și care spune browser-ului că documentul curent este de tip HTML. Apoi este elementul .., care adaugă informații despre documentul HTML, cum ar fi titlu (prin tag-ul ), cuvinte cheie, descriere, detalii despre autor (folosind tag-ul <meta>, care ajută la controlarea modului în care motoarele de căutare indexează site-ul) și adaugă, de asemenea, fișiere externe utilizând tag-ul <link>. Zona care va fi afișată în browser este delimitată de <body>.. </body></link></meta>

Dostları ilə paylaş:


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2017
rəhbərliyinə müraciət

    Ana səhifə