Перевірка схожості текстів
Порівнюйте два тексти за реальною схожістю Жаккара для n-грам і показником перекриття LCS на рівні слів, зі спільними фрагментами, підсвіченими поруч.
Результат
Цей інструмент порівнює два вставлені вами тексти двома незалежними, реальними, добре задокументованими алгоритмами — а не розмитою евристикою "схоже на". Перший — схожість Жаккара для n-грам: кожен текст токенізується на слова, а потім розбивається на послідовні набори з n слів поспіль (n-грама; за замовчуванням n=3, тобто триграма, значення можна змінити від 1 до 5). Індекс Жаккара двох отриманих множин n-грам — розмір їхнього перетину, поділений на розмір об'єднання — це стандартна метрика схожості на основі множин, яка використовується в інформаційному пошуку та виявленні майже дублікатів. Більше n ловить довші спільні формулювання і суворіше вимагає точного збігу слів; менше n — м'якше і вловлює перетин слів навіть між по-різному побудованими реченнями.
Другий алгоритм — справжня найдовша спільна підпослідовність (LCS) на рівні слів, обчислена реальною таблицею динамічного програмування O(n·m) над двома послідовностями слів — той самий підручниковий алгоритм, що й у diff-інструментах, а не наближення. На відміну від показника n-грам, LCS не вимагає, щоб слова, що збіглися, йшли підряд, тому вона вловлює перетин навіть тоді, коли речення переставлене або злегка відредаговане між спільними фразами. Відсоток перекриття виводиться з довжини LCS відносно середньої довжини обох текстів. Далі таблиця динамічного програмування проходиться у зворотному напрямку, щоб точно визначити, які саме слова в кожному тексті входять у цю найдовшу спільну послідовність — і це головна особливість інструмента: ці слова мапляться назад на ваш оригінальний текст зі збереженням пробілів, переносів рядків і пунктуації та відображаються як підсвічені фрагменти поруч, тож ви бачите, які саме уривки збігаються, замість того щоб довіряти голому числу.
Тут важлива чесність щодо меж можливостей: це інструмент порівняння двох текстів, а не детектор плагіату. Він не має підключення до інтернету, пошукового індексу чи бази чужого контенту для звірки — він може лише сказати, наскільки схожі між собою два тексти, які ви вставили. Це робить його зручним для порівняння чернеток і редакцій, перевірки того, наскільки насправді змінився переказ чи переписаний текст, або пошуку майже дублікатів контенту на власних сторінках. Зіставлення слів не залежить від регістру, а таблиця LCS обмежена кількома мільйонами клітинок пар слів — для дуже великих текстів (приблизно кілька тисяч слів сумарно) точний крок LCS і підсвічування пропускаються з простим поясненням, а схожість Жаккара для n-грам, яка коштує лише лінійного часу, обчислюється завжди і на повному тексті. Усе працює локально у вашому браузері; жоден із текстів ніколи не залишає ваш пристрій.