1 / 41

Αξιολόγηση μετρικών απόστασης λέξεων και η εφαρμογή τους στην ταύτιση όμοιων εγγραφών

Αξιολόγηση μετρικών απόστασης λέξεων και η εφαρμογή τους στην ταύτιση όμοιων εγγραφών. Ραπανάκης Σταμάτης Ιούνιος 2007. Δομή παρουσίασης. Εισαγωγή Μέθοδοι Σύγκρισης Υλοποίηση Πειράματα Συμπεράσματα Μελλοντικές επεκτάσεις. Κίνητρο. Εύρεση όμοιων εγγραφών σε βάσεις δεδομένων

veda-giles
Download Presentation

Αξιολόγηση μετρικών απόστασης λέξεων και η εφαρμογή τους στην ταύτιση όμοιων εγγραφών

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Αξιολόγηση μετρικών απόστασης λέξεων και η εφαρμογή τους στην ταύτιση όμοιων εγγραφών Ραπανάκης ΣταμάτηςΙούνιος 2007

  2. Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις

  3. Κίνητρο • Εύρεση όμοιων εγγραφών σε βάσεις δεδομένων • “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): Διαδικασία του εντοπισμού εγγραφών από μια ή περισσότερες πηγές δεδομένων.

  4. Σκοπός της εργασίας • Πειραματική αξιολόγηση μετρικών απόστασης λέξεων για σκοπούς διασύνδεσης εγγραφών • Ανάπτυξη και παροχή μίας προγραμματιστικής βιβλιοθήκης για τον εντοπισμό διπλότυπων εγγραφών και την αξιολόγηση των μετρικών απόστασης

  5. Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις

  6. Θεωρητικό υπόβαθρο (1/2) • Σύγκριση εγγραφών σε επίπεδο • Επιμέρους πεδίων • Ολόκληρης εγγραφής • Σύγκριση ως • Συμβολοσειρά • Φωνητική αναπαράσταση

  7. Θεωρητικό υπόβαθρο (2/2) • Σύγκριση ως συμβολοσειρές • Απόσταση Επεξεργασίας (edit distance) • Levenshtein • Smith – Waterman • Απόσταση βασισμένη σε λεκτικές μονάδες (tokens) • Jaccard • Monge – Elkan • Απόσταση βασισμένη σε υβριδική προσέγγιση • SoftTFIDF • Άλλες αποστάσεις • COCLU

  8. Μετρικές απόστασης επεξεργασίας (1/2) • Μετρική Levenshtein • Υπολογίζει τον ελάχιστο αριθμό λειτουργιών σύνταξης για να μετατραπεί η συμβολοσειρά στην συμβολοσειρά • Υπάρχουν 3 τύποι λειτουργιών σύνταξης • Εισαγωγή ενός χαρακτήρα σε μια συμβολοσειρά • Διαγραφή ενός χαρακτήρα από μια συμβολοσειρά • Αντικατάσταση ενός χαρακτήρα με έναν άλλο • Παράδειγμα: “stamatios”“Stamatis” • Αντικατάστασηχαρακτήρα “s” με “S” • Διαγραφή χαρακτήρα “o” • Απόσταση 2

  9. Μετρικές απόστασης επεξεργασίας (2/2) • Η μετρική Levenshtein • Αναθέτει σε κάθε λειτουργία το ίδιο κόστος σύνταξης • Δεν λειτουργεί καλά σε συντομευμένες συμβολοσειρές • “Jonathan R. Smith” έναντι “Jonathan Richard Smith” • Μετρική Smith-Waterman • Παρέχει επιπλέον λειτουργίες • Εισαγωγή κενού σε μια συμβολοσειρά (υψηλότερο κόστος) • Επέκταση κενού σε μια συμβολοσειρά (χαμηλότερο κόστος) • Παίρνει ως παράμετρο έναν πίνακα με κόστη χαρακτήρων • Συγκρίνει υποακολουθίες όλων των πιθανών μηκών και εντοπίζει τις όμοιες υποακολουθίες • Παράδειγμα: “Prof. John R. Smith, University of Calgary” και “John R. Smith, Prof.”

  10. Μετρικές βασισμένες σε λεκτικές μονάδες (1/3) • Χωρίζουν την συμβολοσειρά στις λεκτικές μονάδες στις οποίες συνίσταται • Συγκρίνονται οι επιμέρους λεκτικές μονάδες • Εντοπίζουν μεταθέσεις λέξεων αντί για μεταθέσεις χαρακτήρων, π.χ. “John Smith” έναντι “Smith John” • Μετρικές αυτής της κατηγορίας • Jaccard • Monge-Elkan

  11. Μετρικές βασισμένες σε λεκτικές μονάδες (2/3) • Μετρική Jaccard • Ορίζονται δύο σύνολα A και B που περιέχουν τις λέξεις που αποτελούν τις υπό σύγκριση συμβολοσειρές, π.χ. • A = {“Ventura”, “Blvd.”, “Studio”, “City”} • B = {“Ventura”, “Boulevard.”, “Studio”, “City”} • Η απόσταση Jaccard ορίζεται ως • Στο παραπάνω παράδειγμα είναι 2/5

  12. Μετρικές βασισμένες σε λεκτικές μονάδες (3/3) • Μετρική Monge-Elkan • Δύο συμβολοσειρές Α και Β ταιριάζουν είτε αν είναι ακριβώς ίδιες είτε αν οι λέξεις της μίας είναι συντομεύσεις των αντίστοιχων λέξεων (tokens) της άλλης • Συγκρατούμε το καλύτερο αποτέλεσμα σύγκρισηςγια κάθε token • Α, Β οι συμβολοσειρές, match η απόστασηSmith – Waterman – Gotoh • Παράδειγμα: “Souliou, 11 A, Marousi, 15124” και η συμβολοσειρά “Marousi, 15 124, Souliou, 11 A, Athens”

  13. Μετρικές βασισμένες σε υβριδική προσέγγιση απόστασης επεξεργασίας και λεκτικών μονάδων (1/3) • Ορισμός συναρτήσεων ομοιότητας του τύπου • Οι συμβολοσειρές s και t χωρίζονται στις συνιστώσες τους λεκτικές μονάδες και • είναι η εκάστοτε μετρική ομοιότητας που χρησιμοποιείται

  14. Μετρικές βασισμένες σε υβριδική προσέγγιση απόστασης επεξεργασίας και λεκτικών μονάδων(2/3) • Μετρική TFIDF • Για κάθε εγγραφή ορίζουμε ένα διάνυσμα της μορφής , όπου η τιμή της συνιστώσας είναι: • 0, αν η λέξη t δεν υπάρχει στο αντίστοιχο πεδίο της εγγραφής που μελετάμε • , διαφορετικά • είναι ο αριθμός των φορών όπου η λέξη t εμφανίζεται στο πεδίο και • , όπου ο αριθμός των εγγραφών στην βάση που περιέχουν την λέξη t στο αντίστοιχο πεδίο

  15. Μετρικές βασισμένες σε υβριδική προσέγγιση απόστασης επεξεργασίας και λεκτικών μονάδων (3/3) • Η ομοιότητα δίνεται από την σχέση • Μετρική SoftTFIDF • Υπολογίζει και ζεύγη από λέξεις που είναι «όμοια» με κάποια άλλη μετρική • Αποδίδει καλά στις περιπτώσεις των τυπογραφικών λαθών, π.χ. • “Compter Science Department” και “Deprtment of Computer Science”

  16. Άλλες μετρικές • Αλγόριθμος COCLU (Compression based Clustering) • Αναθέτει τις συμβολοσειρές σε συστάδες (cluster) • Κάθε συστάδα χαρακτηρίζεται από ένα δένδρο Huffman • Η μετρική CCDiff (Cluster Code Difference) αναπαριστά την διαφορά: • |Length(Cluster_tokens) – Length (Cluster_tokens+candidate)| • Ανάλογα με το κατώφλι που ορίζουμε, αποφασίζουμε αν μια υποψήφια συμβολοσειρά θα ανήκει σε ένα cluster • Στην υλοποίηση μας δύο συμβολοσειρές είναι όμοιες εάν ανήκουν στην ίδια συστάδα. • Η πρώτη συμβολοσειρά σχηματίζει μια συστάδα και ελέγχεται αν η δεύτερη μπορεί να εκχωρηθεί σε αυτή

  17. Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις

  18. Επίπεδα του συστήματος(Αρχ/κή Taylor)

  19. Επίπεδα διεπαφής

  20. Σύστημα Διαχείρισης Β.Δ. • Οι τυπικές πηγές των δεδομένων είναι είτε βάσεις δεδομένων είτε αρχεία. Χαρακτηριστικές υλοποιήσεις της διεπαφής DataSource: • FileHandle • JDBCHandle • Παρέχονται οι μέθοδοι: • void openConnection() • voidcloseConnection() • Record[] getRecords()

  21. Επίπεδο Σύγκρισης • Συγκρίνει συμβολοσειρές με βάση τις υλοποιήσεις της διεπαφής 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)

  22. Μοντέλα απόφασης • Λαμβάνεται η απόφαση αν δύο εγγραφές ταιριάζουν ή όχι. Χαρακτηριστικές υλοποιήσεις της διεπαφής Decision: • LinearDecision • Παρέχονται οι μέθοδοι: • public int DecideMatch(Record r1, Record r2) • public int DecideMatch(Record r1, Record r2, Object[] oParams)

  23. Παράδειγμα • Υλοποίηση της κανονικοποιημένης απόστασης 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; }

  24. Πλεονεκτήματα της Βιβλιοθήκης • Μπορεί να χρησιμοποιηθεί είτε σαν ανεξάρτητο πρόγραμμα εντοπισμού πολλαπλών εγγραφών είτε να ενσωματωθεί σε κάποιο άλλο πρόγραμμα ως λειτουργική υπομονάδα. • Σε αντίθεση με τα υπάρχοντα προγράμματα μπορεί να επεκταθεί/ τροποποιηθεί εύκολα. • Παρέχει στο χρήστη ευελιξία που δεν παρέχουν άλλες πλατφόρμες • Στηρίζεται σε ευρέως γνωστές βιβλιοθήκες • Μπορεί να λειτουργήσει σαν πειραματική πλατφόρμα

  25. Δομή παρουσίασης • Εισαγωγή • Βιβλιογραφικό Υπόβαθρο • Υλοποιήσεις μας • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις

  26. Πειράματα • Σκοπός • Προσδιορισμός της αποτελεσματικότητας της κάθε μετρικής απόστασης. • Ποιες από τις μετρικές αποδίδουν καλύτερα ανεξάρτητα από τον τύπο του πεδίου • Αρχικό σύνολο δεδομένων • Fodors και Zagats (W. Cohen) • 864 εγγραφές, 112 όμοιες εγγραφές. • Με το πεδίο τηλέφωνο/ χωρίς το πεδίο τηλέφωνο (που είναι πιο δύσκολο).

  27. Μεθοδολογία πειραμάτων (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 διαφορετικά

  28. Μεθοδολογία πειραμάτων (2/2) • Προσδιορισμός μιας σχέσης • Χρησιμοποιούμε την πλατφόρμα μηχανικής μάθησης Weka για την εκπαίδευση ενός ταξινομητή • Θα κατατάσσει τα διανύσματα της παραπάνω μορφής ως TRUE/FALSE

  29. Εκπαίδευση ταξινομητή • Δεδομένα εκπαίδευσης: 10 τυχαία ζευγάρια εγγραφών που ταιριάζουν και 10 τυχαία ζευγάρια εγγραφών που δεν ταιριάζουν από την συλλογή Fodors και Zagats. • Σύνολο αξιολόγησης: Το σύνολο των εγγραφών • Επιλογή του ταξινομητή DecisionStump για την εύρεση ενός κανόνα της μορφής • IfPhone_similarity <= 0.8333, FALSE else TRUE • H αναλογία ζευγών εγγραφών που ταιριάζουν/δεν ταιριάζουν είναι 1:1 στα δεδομένα εκπαίδευσης αλλά διαφορετική στα δεδομένα αξιολόγησης.

  30. Αποτελέσματα (1/6) • Ποσοστό επιτυχημένης ταξινόμησης εγγραφώνΜε το πεδίο τηλέφωνο

  31. Αποτελέσματα (2/6) • Ακρίβεια - Με το πεδίο τηλέφωνο

  32. Αποτελέσματα (3/6) • Ανάκληση - Με το πεδίο τηλέφωνο

  33. Αποτελέσματα (4/6) • Ποσοστό επιτυχημένης ταξινόμησης εγγραφώνΧωρίς το πεδίο τηλέφωνο

  34. Αποτελέσματα (5/6) • Ακρίβεια - Χωρίς το πεδίο τηλέφωνο

  35. Αποτελέσματα (6/6) • Ανάκληση - Χωρίς το πεδίο τηλέφωνο

  36. Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις

  37. Συμπεράσματα (1/2) • Τα αποτελέσματα οφείλονται στο ότι • Πεδία όπως Τηλέφωνο ή Πόλη προσδιορίζουν επαρκώς τις όμοιες εγγραφές • Μικρός βαθμός ανομοιογένειας των πινάκων • Οι υβριδικές μετρικές επιτυγχάνουν καλύτερα αποτελέσματα • Συνδυάζουν τα πλεονεκτήματα των μετρικών σύγκρισης χαρακτήρων και λεκτικών μονάδων • Περισσότερο χρονοβόρες • Ο αλγόριθμος του COCLU είναι ασταθής • Ανάγκη αξιόπιστου μηχανισμού για τον προσδιορισμό του κατωφλίου

  38. Συμπεράσματα (2/2) • Οι μετρικές που στοχεύουν σε συγκεκριμένη εφαρμογή δεν αποδίδουν πάντα. • Monge – Elkan • COCLU • Περισσότερα πειράματα είναι απαραίτητα. • Τα πεδία να περιέχουν λάθη (ορθογραφικά) • Περισσότερους τύπους πεδίων • Πειράματα με πιο ανομοιογενείς συλλογές εγγραφών • Η μέθοδος δεν είναι χρήσιμη ως αυτόματη, αλλά ως ημιαυτόματη.

  39. Δομή παρουσίασης • Εισαγωγή • Μέθοδοι Σύγκρισης • Υλοποίηση • Πειράματα • Συμπεράσματα • Μελλοντικές επεκτάσεις

  40. Μελλοντικές επεκτάσεις • Χρήση σύνθετων μοντέλων απόφασης • Εκμετάλλευση του συσχετισμού των πεδίων • Χρησιμοποίηση άλλων ταξινομητών • Υλοποίηση ευριστικών μηχανισμών για την επιλογή της καταλληλότερης μετρικής ανάλογα με τον τύπο του πεδίου • Δυσκολία αναγνώρισης του τύπου του πεδίου • Αξιολόγηση των μετρικών με βάση θέματα αλγοριθμικής πολυπλοκότητας

  41. Ευχαριστώ!

More Related