Teksti sarnasuse kontrollija
Võrrelge kahte teksti, millel on tõeline n-grammi Jaccardi sarnasus ja sõnataseme LCS-i kattumise skoor, kusjuures vastavad lõigud on kõrvuti esile tõstetud.
Tulemus
See tööriist võrdleb kahte teksti, mille kleepite, kasutades kahte sõltumatut, tõelist, hästi dokumenteeritud algoritmi – mitte ebamäärane "näeb välja sarnane" heurist. Esimene on n-grammine Jaccardi sarnasus: iga tekst muudetakse sõnadeks, seejärel jagatakse n järjestikuse sõna kattuvateks jooksudeks (n-gramm; vaikeväärtus on n=3, trigramm ja saate seda kohandada vahemikus 1 kuni 5). Kahe saadud n-grammi komplekti Jaccard-indeks – nende ristumiskoha suurus jagatud ühenduse suurusega – on standardne komplektipõhine sarnasuse mõõt, mida kasutatakse teabe otsimisel ja peaaegu duplikaadi tuvastamisel. Kõrgem n tabab pikemat jagatud fraasi ja on täpse sõnastuse suhtes rangem; madalam n on andestavam ja tabab lahtist sõnade kattumist isegi erineva struktuuriga lausete vahel.
Teine algoritm on ehtne sõnatasemel Longest Common Subsequence (LCS), mis on arvutatud reaalse O(n·m) dünaamilise programmeerimise tabeliga kahe sõnajada kohta – sama õpiku algoritm, mida kasutavad diff-tööriistad, mitte ligikaudne. Erinevalt n-grammi skoorist ei nõua LCS, et sobitatud sõnad oleksid külgnevad, nii et see fikseerib kattuvuse isegi siis, kui lause on jagatud fraaside vahel ümber järjestatud või kergelt redigeeritud. Kattumisprotsent tuletatakse LCS-i pikkusest mõlema teksti keskmise pikkuse suhtes. Seejärel liigutatakse DP-tabelit tagasi, et täpselt tuvastada, millised sõnad igas tekstis osalesid selles pikimas ühises jadas, ja see on silmapaistev funktsioon: need sõnad vastendatakse tagasi teie algtekstile – algse vahe, reavahede ja kirjavahemärkidega – ning renderdatakse esiletõstetud ulatustena kõrvuti, nii et näete täpselt, millised lõigud kattuvad, mitte ei usalda tulpa.
Siin on oluline ulatus ja ausus: see on kahe teksti võrdlustööriist, mitte plagiaadidetektor. Sellel pole Interneti-ühendust, otsinguindeksit ega teiste inimeste sisu andmebaasi, mida saaks võrrelda – see võib teile ainult öelda, kui sarnased on kaks teie kleebitud teksti üksteisega. Seetõttu sobib see hästi mustandite versioonide võrdlemiseks, parafraasi või ümberkirjutuse tegeliku muutumise kontrollimiseks või peaaegu dubleeriva sisu leidmiseks teie enda lehtedel. Sõnade sobitamine ei ole tõstutundlik ja O(n·m) LCS-i tabel on piiratud mõne miljoni sõnapaari lahtriga – väga suurte tekstide puhul (umbes paar tuhat sõna kokku) jäetakse täpne LCS-i ja esiletõstmise etapp vahele lihtkeelse märkmega, samas kui n-grammine Jaccardi skoor, mis maksab ainult lineaarset aega, arvutatakse alati täisteksti põhjal. Kõik töötab teie brauseris lokaalselt; kumbki tekst ei lahku teie seadmest kunagi.