Ελεγκτής Ομοιότητας Κειμένου
Συγκρίνετε δύο κείμενα με πραγματική ομοιότητα n-gram Jaccard και σκορ επικάλυψης LCS επιπέδου λέξεων, με τα αποσπάσματα που ταιριάζουν επισημασμένα δίπλα-δίπλα.
🔒 Επεξεργάζεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας — τίποτα που εισάγετε εδώ δεν μεταφορτώνεται ποτέ.
Αποτέλεσμα
Αυτό το εργαλείο συγκρίνει δύο κείμενα που επικολλάτε χρησιμοποιώντας δύο ανεξάρτητους, πραγματικούς και καλά τεκμηριωμένους αλγόριθμους — όχι μια αόριστη ευρετική του τύπου «μοιάζουν». Ο πρώτος είναι η ομοιότητα n-gram Jaccard: κάθε κείμενο κατατέμνεται σε λέξεις και στη συνέχεια χωρίζεται σε επικαλυπτόμενες ακολουθίες n διαδοχικών λέξεων (n-gram· η προεπιλογή είναι n=3, ένα τρίγραμμο, και μπορείτε να το ρυθμίσετε από 1 έως 5). Ο δείκτης Jaccard των δύο συνόλων n-gram που προκύπτουν — το μέγεθος της τομής τους διαιρεμένο με το μέγεθος της ένωσής τους — είναι ένα τυπικό μέτρο ομοιότητας βασισμένο σε σύνολα που χρησιμοποιείται στην ανάκτηση πληροφοριών και τον εντοπισμό σχεδόν διπλότυπων. Ένα υψηλότερο n συλλαμβάνει μεγαλύτερες κοινές φράσεις και είναι αυστηρότερο ως προς την ακριβή διατύπωση· ένα χαμηλότερο n είναι πιο ανεκτικό και συλλαμβάνει χαλαρή επικάλυψη λέξεων ακόμα και μεταξύ διαφορετικά δομημένων προτάσεων.
Ο δεύτερος αλγόριθμος είναι μια γνήσια Μεγαλύτερη Κοινή Υπακολουθία (LCS) επιπέδου λέξεων, που υπολογίζεται με έναν πραγματικό πίνακα δυναμικού προγραμματισμού O(n·m) πάνω στις δύο ακολουθίες λέξεων — ο ίδιος αλγόριθμος των εγχειριδίων που χρησιμοποιείται από εργαλεία diff, όχι μια προσέγγιση. Σε αντίθεση με το σκορ n-gram, το LCS δεν απαιτεί οι λέξεις που ταιριάζουν να είναι συνεχόμενες, οπότε συλλαμβάνει επικάλυψη ακόμα κι αν μια πρόταση έχει αναδιαταχθεί ή υποστεί ελαφρά επεξεργασία ανάμεσα σε κοινές φράσεις. Το ποσοστό επικάλυψης προκύπτει από το μήκος του LCS σε σχέση με το μέσο μήκος και των δύο κειμένων. Στη συνέχεια, γίνεται οπισθοδρόμηση στον πίνακα δυναμικού προγραμματισμού για να εντοπιστεί επακριβώς ποιες λέξεις σε κάθε κείμενο συμμετείχαν σε αυτή τη μεγαλύτερη κοινή ακολουθία, και αυτό είναι το εξαιρετικό χαρακτηριστικό: αυτές οι λέξεις αντιστοιχίζονται πίσω στο αρχικό σας κείμενο — με τα αρχικά του κενά, τις αλλαγές γραμμής και τα σημεία στίξης ανέπαφα — και αποδίδονται ως επισημασμένα τμήματα δίπλα-δίπλα, ώστε να μπορείτε να δείτε ακριβώς ποια αποσπάσματα επικαλύπτονται αντί να βασίζεστε τυφλά σε έναν αριθμό.
Το εύρος και η ειλικρίνεια έχουν σημασία εδώ: αυτό είναι ένα εργαλείο σύγκρισης δύο κειμένων, όχι ανιχνευτής λογοκλοπής. Δεν έχει σύνδεση στο διαδίκτυο, δεν διαθέτει ευρετήριο αναζήτησης και καμία βάση δεδομένων με περιεχόμενο άλλων για έλεγχο — μπορεί μόνο να σας πει πόσο όμοια είναι τα δύο κείμενα που επικολλάτε μεταξύ τους. Αυτό το καθιστά κατάλληλο για σύγκριση αναθεωρήσεων κειμένων, έλεγχο του πόσο άλλαξε πραγματικά μια παράφραση ή επανεγγραφή ή τον εντοπισμό σχεδόν διπλότυπου περιεχομένου στις δικές σας σελίδες. Η αντιστοίχιση λέξεων δεν κάνει διάκριση πεζών-κεφαλαίων, και ο πίνακας LCS O(n·m) έχει ανώτατο όριο μερικών εκατομμυρίων κελιών ζεύγους λέξεων — για πολύ μεγάλα κείμενα (περίπου μερικές χιλιάδες λέξεις συνολικά), το ακριβές βήμα LCS και επισήμανσης παραλείπεται με μια απλή σημείωση, ενώ το σκορ n-gram Jaccard, που απαιτεί μόνο γραμμικό χρόνο, υπολογίζεται πάντοτε για όλο το κείμενο. Όλα εκτελούνται τοπικά στο πρόγραμμα περιήγησής σας· κανένα κείμενο δεν εγκαταλείπει ποτέ τη συσκευή σας.