430 likes | 527 Views
Αξιολόγηση μετρικών απόστασης λέξεων και η εφαρμογή τους στην ταύτιση όμοιων εγγραφών. Ραπανάκης Σταμάτης Ιούνιος 2007. Δομή παρουσίασης. Εισαγωγή Μέθοδοι Σύγκρισης Υλοποίηση Πειράματα Συμπεράσματα Μελλοντικές επεκτάσεις. Κίνητρο. Εύρεση όμοιων εγγραφών σε βάσεις δεδομένων
E N D
Αξιολόγηση μετρικών απόστασης λέξεων και η εφαρμογή τους στην ταύτιση όμοιων εγγραφών Ραπανάκης ΣταμάτηςΙούνιος 2007
Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις
Κίνητρο • Εύρεση όμοιων εγγραφών σε βάσεις δεδομένων • “Philippe The Original 1001 N. Alameda St. Chinatown 213-628-3781 Cafeterias” • “Philippe's The Original 1001 N. Alameda St. Los Angeles 213/628-3781 American” • Ενοποίηση βάσεων δεδομένων • Αντιμετώπιση προβλημάτων δομικής και λεξικής ετερογένειας • Διασύνδεση εγγραφών (Record Linkage): Διαδικασία του εντοπισμού εγγραφών από μια ή περισσότερες πηγές δεδομένων.
Σκοπός της εργασίας • Πειραματική αξιολόγηση μετρικών απόστασης λέξεων για σκοπούς διασύνδεσης εγγραφών • Ανάπτυξη και παροχή μίας προγραμματιστικής βιβλιοθήκης για τον εντοπισμό διπλότυπων εγγραφών και την αξιολόγηση των μετρικών απόστασης
Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις
Θεωρητικό υπόβαθρο (1/2) • Σύγκριση εγγραφών σε επίπεδο • Επιμέρους πεδίων • Ολόκληρης εγγραφής • Σύγκριση ως • Συμβολοσειρά • Φωνητική αναπαράσταση
Θεωρητικό υπόβαθρο (2/2) • Σύγκριση ως συμβολοσειρές • Απόσταση Επεξεργασίας (edit distance) • Levenshtein • Smith – Waterman • Απόσταση βασισμένη σε λεκτικές μονάδες (tokens) • Jaccard • Monge – Elkan • Απόσταση βασισμένη σε υβριδική προσέγγιση • SoftTFIDF • Άλλες αποστάσεις • COCLU
Μετρικές απόστασης επεξεργασίας (1/2) • Μετρική Levenshtein • Υπολογίζει τον ελάχιστο αριθμό λειτουργιών σύνταξης για να μετατραπεί η συμβολοσειρά στην συμβολοσειρά • Υπάρχουν 3 τύποι λειτουργιών σύνταξης • Εισαγωγή ενός χαρακτήρα σε μια συμβολοσειρά • Διαγραφή ενός χαρακτήρα από μια συμβολοσειρά • Αντικατάσταση ενός χαρακτήρα με έναν άλλο • Παράδειγμα: “stamatios”“Stamatis” • Αντικατάστασηχαρακτήρα “s” με “S” • Διαγραφή χαρακτήρα “o” • Απόσταση 2
Μετρικές απόστασης επεξεργασίας (2/2) • Η μετρική Levenshtein • Αναθέτει σε κάθε λειτουργία το ίδιο κόστος σύνταξης • Δεν λειτουργεί καλά σε συντομευμένες συμβολοσειρές • “Jonathan R. Smith” έναντι “Jonathan Richard Smith” • Μετρική Smith-Waterman • Παρέχει επιπλέον λειτουργίες • Εισαγωγή κενού σε μια συμβολοσειρά (υψηλότερο κόστος) • Επέκταση κενού σε μια συμβολοσειρά (χαμηλότερο κόστος) • Παίρνει ως παράμετρο έναν πίνακα με κόστη χαρακτήρων • Συγκρίνει υποακολουθίες όλων των πιθανών μηκών και εντοπίζει τις όμοιες υποακολουθίες • Παράδειγμα: “Prof. John R. Smith, University of Calgary” και “John R. Smith, Prof.”
Μετρικές βασισμένες σε λεκτικές μονάδες (1/3) • Χωρίζουν την συμβολοσειρά στις λεκτικές μονάδες στις οποίες συνίσταται • Συγκρίνονται οι επιμέρους λεκτικές μονάδες • Εντοπίζουν μεταθέσεις λέξεων αντί για μεταθέσεις χαρακτήρων, π.χ. “John Smith” έναντι “Smith John” • Μετρικές αυτής της κατηγορίας • Jaccard • Monge-Elkan
Μετρικές βασισμένες σε λεκτικές μονάδες (2/3) • Μετρική Jaccard • Ορίζονται δύο σύνολα A και B που περιέχουν τις λέξεις που αποτελούν τις υπό σύγκριση συμβολοσειρές, π.χ. • A = {“Ventura”, “Blvd.”, “Studio”, “City”} • B = {“Ventura”, “Boulevard.”, “Studio”, “City”} • Η απόσταση Jaccard ορίζεται ως • Στο παραπάνω παράδειγμα είναι 2/5
Μετρικές βασισμένες σε λεκτικές μονάδες (3/3) • Μετρική Monge-Elkan • Δύο συμβολοσειρές Α και Β ταιριάζουν είτε αν είναι ακριβώς ίδιες είτε αν οι λέξεις της μίας είναι συντομεύσεις των αντίστοιχων λέξεων (tokens) της άλλης • Συγκρατούμε το καλύτερο αποτέλεσμα σύγκρισηςγια κάθε token • Α, Β οι συμβολοσειρές, match η απόστασηSmith – Waterman – Gotoh • Παράδειγμα: “Souliou, 11 A, Marousi, 15124” και η συμβολοσειρά “Marousi, 15 124, Souliou, 11 A, Athens”
Μετρικές βασισμένες σε υβριδική προσέγγιση απόστασης επεξεργασίας και λεκτικών μονάδων (1/3) • Ορισμός συναρτήσεων ομοιότητας του τύπου • Οι συμβολοσειρές s και t χωρίζονται στις συνιστώσες τους λεκτικές μονάδες και • είναι η εκάστοτε μετρική ομοιότητας που χρησιμοποιείται
Μετρικές βασισμένες σε υβριδική προσέγγιση απόστασης επεξεργασίας και λεκτικών μονάδων(2/3) • Μετρική TFIDF • Για κάθε εγγραφή ορίζουμε ένα διάνυσμα της μορφής , όπου η τιμή της συνιστώσας είναι: • 0, αν η λέξη t δεν υπάρχει στο αντίστοιχο πεδίο της εγγραφής που μελετάμε • , διαφορετικά • είναι ο αριθμός των φορών όπου η λέξη t εμφανίζεται στο πεδίο και • , όπου ο αριθμός των εγγραφών στην βάση που περιέχουν την λέξη t στο αντίστοιχο πεδίο
Μετρικές βασισμένες σε υβριδική προσέγγιση απόστασης επεξεργασίας και λεκτικών μονάδων (3/3) • Η ομοιότητα δίνεται από την σχέση • Μετρική SoftTFIDF • Υπολογίζει και ζεύγη από λέξεις που είναι «όμοια» με κάποια άλλη μετρική • Αποδίδει καλά στις περιπτώσεις των τυπογραφικών λαθών, π.χ. • “Compter Science Department” και “Deprtment of Computer Science”
Άλλες μετρικές • Αλγόριθμος COCLU (Compression based Clustering) • Αναθέτει τις συμβολοσειρές σε συστάδες (cluster) • Κάθε συστάδα χαρακτηρίζεται από ένα δένδρο Huffman • Η μετρική CCDiff (Cluster Code Difference) αναπαριστά την διαφορά: • |Length(Cluster_tokens) – Length (Cluster_tokens+candidate)| • Ανάλογα με το κατώφλι που ορίζουμε, αποφασίζουμε αν μια υποψήφια συμβολοσειρά θα ανήκει σε ένα cluster • Στην υλοποίηση μας δύο συμβολοσειρές είναι όμοιες εάν ανήκουν στην ίδια συστάδα. • Η πρώτη συμβολοσειρά σχηματίζει μια συστάδα και ελέγχεται αν η δεύτερη μπορεί να εκχωρηθεί σε αυτή
Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις
Επίπεδα του συστήματος(Αρχ/κή Taylor)
Σύστημα Διαχείρισης Β.Δ. • Οι τυπικές πηγές των δεδομένων είναι είτε βάσεις δεδομένων είτε αρχεία. Χαρακτηριστικές υλοποιήσεις της διεπαφής DataSource: • FileHandle • JDBCHandle • Παρέχονται οι μέθοδοι: • void openConnection() • voidcloseConnection() • Record[] getRecords()
Επίπεδο Σύγκρισης • Συγκρίνει συμβολοσειρές με βάση τις υλοποιήσεις της διεπαφής Comparison: • JaccardComparison • LevenshteinComparison • Παρέχονται οι μέθοδοι: • boolean Match(String s1, String s2) • double MatchConfidence(String s1, String s2) • boolean Match(String s1, String s2, Object[] oParam) • double MatchConfidence(String s1, String s2, Object[] oParam)
Μοντέλα απόφασης • Λαμβάνεται η απόφαση αν δύο εγγραφές ταιριάζουν ή όχι. Χαρακτηριστικές υλοποιήσεις της διεπαφής Decision: • LinearDecision • Παρέχονται οι μέθοδοι: • public int DecideMatch(Record r1, Record r2) • public int DecideMatch(Record r1, Record r2, Object[] oParams)
Παράδειγμα • Υλοποίηση της κανονικοποιημένης απόστασης Levenshtein: public double MatchConfidence(String s1, String s2) { double dLevenshtein = DistanceMetrics.Levenshtein.computeLevenshteinDistance(s1, s2); int max_string_length = Math.max(s1.length(), s2.length()); double match_conf = dLevenshtein/max_string_length; return 1.0 - match_conf; }
Πλεονεκτήματα της Βιβλιοθήκης • Μπορεί να χρησιμοποιηθεί είτε σαν ανεξάρτητο πρόγραμμα εντοπισμού πολλαπλών εγγραφών είτε να ενσωματωθεί σε κάποιο άλλο πρόγραμμα ως λειτουργική υπομονάδα. • Σε αντίθεση με τα υπάρχοντα προγράμματα μπορεί να επεκταθεί/ τροποποιηθεί εύκολα. • Παρέχει στο χρήστη ευελιξία που δεν παρέχουν άλλες πλατφόρμες • Στηρίζεται σε ευρέως γνωστές βιβλιοθήκες • Μπορεί να λειτουργήσει σαν πειραματική πλατφόρμα
Δομή παρουσίασης • Εισαγωγή • Βιβλιογραφικό Υπόβαθρο • Υλοποιήσεις μας • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις
Πειράματα • Σκοπός • Προσδιορισμός της αποτελεσματικότητας της κάθε μετρικής απόστασης. • Ποιες από τις μετρικές αποδίδουν καλύτερα ανεξάρτητα από τον τύπο του πεδίου • Αρχικό σύνολο δεδομένων • Fodors και Zagats (W. Cohen) • 864 εγγραφές, 112 όμοιες εγγραφές. • Με το πεδίο τηλέφωνο/ χωρίς το πεδίο τηλέφωνο (που είναι πιο δύσκολο).
Μεθοδολογία πειραμάτων (1/2) Fodors: Zagats: • Για κάθε ζεύγος εγγραφών παράγουμε ένα διάνυσμα της μορφής , όπου π.χ. • Sim(“Philippe”, “Philippe’s”) • Sim(“34 E. 61st St.”, “34 E. 61st St.”) • Sim(“New York City”, “New York”), κλπ. • R = TRUE αν οι δύο εγγραφές ταιριάζουν, FALSE διαφορετικά
Μεθοδολογία πειραμάτων (2/2) • Προσδιορισμός μιας σχέσης • Χρησιμοποιούμε την πλατφόρμα μηχανικής μάθησης Weka για την εκπαίδευση ενός ταξινομητή • Θα κατατάσσει τα διανύσματα της παραπάνω μορφής ως TRUE/FALSE
Εκπαίδευση ταξινομητή • Δεδομένα εκπαίδευσης: 10 τυχαία ζευγάρια εγγραφών που ταιριάζουν και 10 τυχαία ζευγάρια εγγραφών που δεν ταιριάζουν από την συλλογή Fodors και Zagats. • Σύνολο αξιολόγησης: Το σύνολο των εγγραφών • Επιλογή του ταξινομητή DecisionStump για την εύρεση ενός κανόνα της μορφής • IfPhone_similarity <= 0.8333, FALSE else TRUE • H αναλογία ζευγών εγγραφών που ταιριάζουν/δεν ταιριάζουν είναι 1:1 στα δεδομένα εκπαίδευσης αλλά διαφορετική στα δεδομένα αξιολόγησης.
Αποτελέσματα (1/6) • Ποσοστό επιτυχημένης ταξινόμησης εγγραφώνΜε το πεδίο τηλέφωνο
Αποτελέσματα (2/6) • Ακρίβεια - Με το πεδίο τηλέφωνο
Αποτελέσματα (3/6) • Ανάκληση - Με το πεδίο τηλέφωνο
Αποτελέσματα (4/6) • Ποσοστό επιτυχημένης ταξινόμησης εγγραφώνΧωρίς το πεδίο τηλέφωνο
Αποτελέσματα (5/6) • Ακρίβεια - Χωρίς το πεδίο τηλέφωνο
Αποτελέσματα (6/6) • Ανάκληση - Χωρίς το πεδίο τηλέφωνο
Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις
Συμπεράσματα (1/2) • Τα αποτελέσματα οφείλονται στο ότι • Πεδία όπως Τηλέφωνο ή Πόλη προσδιορίζουν επαρκώς τις όμοιες εγγραφές • Μικρός βαθμός ανομοιογένειας των πινάκων • Οι υβριδικές μετρικές επιτυγχάνουν καλύτερα αποτελέσματα • Συνδυάζουν τα πλεονεκτήματα των μετρικών σύγκρισης χαρακτήρων και λεκτικών μονάδων • Περισσότερο χρονοβόρες • Ο αλγόριθμος του COCLU είναι ασταθής • Ανάγκη αξιόπιστου μηχανισμού για τον προσδιορισμό του κατωφλίου
Συμπεράσματα (2/2) • Οι μετρικές που στοχεύουν σε συγκεκριμένη εφαρμογή δεν αποδίδουν πάντα. • Monge – Elkan • COCLU • Περισσότερα πειράματα είναι απαραίτητα. • Τα πεδία να περιέχουν λάθη (ορθογραφικά) • Περισσότερους τύπους πεδίων • Πειράματα με πιο ανομοιογενείς συλλογές εγγραφών • Η μέθοδος δεν είναι χρήσιμη ως αυτόματη, αλλά ως ημιαυτόματη.
Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις
Μελλοντικές επεκτάσεις • Χρήση σύνθετων μοντέλων απόφασης • Εκμετάλλευση του συσχετισμού των πεδίων • Χρησιμοποίηση άλλων ταξινομητών • Υλοποίηση ευριστικών μηχανισμών για την επιλογή της καταλληλότερης μετρικής ανάλογα με τον τύπο του πεδίου • Δυσκολία αναγνώρισης του τύπου του πεδίου • Αξιολόγηση των μετρικών με βάση θέματα αλγοριθμικής πολυπλοκότητας