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