nspyrou Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Εμένα εννοείς ή τον ~Spect; εσένα φυσικά! Μαζί δε μιλάμε?
migf1 Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Αφού μιλάμε όλοι μαζί Το κοίταξα από το αρχικό σου ποστ το Metaphone (του οποίου την ύπαρξη αγνοούσα) και δείχνει εξαιρετικά ενδιαφέρον. Υποθέτω μου το υπέδειξες συγκεκριμένα αναφερόμενος στην απορία που εξέφρασα για το hash-function στο ποστ του DirectX, σωστά; Το έκανα ήδη bookmark, thanks Πολύπλοκο όμως, ελπίζω να κυκλοφορούν έτοιμα implementations σε διάφορες γλώσσες (θα το ψάξω όταν το χρειαστώ). Για την περίπτωση του φίλου ~Spect όμως θαρρώ πως είναι overkill, δεν ξέρω αν συμφωνείς (εκτός αν υπάρχει έτοιμο στη Java οπότε by all means he can go for it ).
Directx Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Με τι hash function γινόταν το hashing? Δεν μου έρχεται τώρα στο μυαλό πως μπορούν να γίνουν hashed ποικίλα υποκοριστικά στο κανονικό όνομα, εκτός αν μιλάμε για hardcoded πέρασμά τους στον κώδικα και την db.[..] Το θέμα ήταν να κρατήσω όσο το δυνατόν πιο μικρό το μέγεθος του JAR αρχείου (το πρόγραμμα είχε και άλλα βοηθητικά αρχεία οπότε από ένα σημείο και πέρα δεν θα χώραγε σε διάφορα απλά κινητά) συνεπώς μέσα από ένα Utility που έγραψα (αν θυμάμαι καλά σε C#) στο PC δημιούργησα μια μικρή ΒΔ με τα HASH των υποκοριστικών τοποθετημένα εντός της και καταχωρημένα για κάθε όνομα ξεχωριστά (αυτό το custom Utility λάμβανε είσοδο από διάφορα άλλα βοηθητικά αρχεία του προγράμματος για να χτίσει αυτή την μικρή ΒΔ). Γενικά όλα τα αρχεία αυτού του συστήματος είχαν διάφορα μικρά ή μεγάλα κόλπα για να περιορίζουν το μέγεθος τους καθώς τον καιρό εκείνο (2007-8) μόλις ξεκινούσε η τρέλα του iPhone και πολύς κόσμος είχε ακόμα απλά κινητά ή Symbian -τα οποία όμως έτρεχαν και J2ME οπότε δεν υπήρχε θέμα..
migf1 Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Το θέμα ήταν να κρατήσω όσο το δυνατόν πιο μικρό το μέγεθος του JAR αρχείου (το πρόγραμμα είχε και άλλα βοηθητικά αρχεία οπότε από ένα σημείο και πέρα δεν θα χώραγε σε διάφορα απλά κινητά) συνεπώς μέσα από ένα Utility που έγραψα (αν θυμάμαι καλά σε C#) στο PC δημιούργησα μια μικρή ΒΔ με τα HASH των υποκοριστικών τοποθετημένα εντός της και καταχωρημένα για κάθε όνομα ξεχωριστά (αυτό το custom Utility λάμβανε είσοδο από διάφορα άλλα βοηθητικά αρχεία του προγράμματος για να χτίσει αυτή την μικρή ΒΔ). Γενικά όλα τα αρχεία αυτού του συστήματος είχαν διάφορα μικρά ή μεγάλα κόλπα για να περιορίζουν το μέγεθος τους καθώς τον καιρό εκείνο (2007-8) μόλις ξεκινούσε η τρέλα του iPhone και πολύς κόσμος είχε ακόμα απλά κινητά Οπότε hardcoded στη βάση. Πολύ ενδιαφέρον πάντως το Double Metaphone που υπέδειξε ο nspyrou... σίγουρα είναι στο top of my list για περαιτέρω μελέτη όταν χρειαστεί να ασχοληθώ με ονόματα.
nspyrou Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Αφού μιλάμε όλοι μαζί Το κοίταξα από το αρχικό σου ποστ το Metaphone (του οποίου την ύπαρξη αγνοούσα) και δείχνει εξαιρετικά ενδιαφέρον. Υποθέτω μου το υπέδειξες συγκεκριμένα αναφερόμενος στην απορία που εξέφρασα για το hash-function στο ποστ του DirectX, σωστά; Το έκανα ήδη bookmark, thanks Πολύπλοκο όμως, ελπίζω να κυκλοφορούν έτοιμα implementations σε διάφορες γλώσσες (θα το ψάξω όταν το χρειαστώ). Για την περίπτωση του φίλου ~Spect όμως θαρρώ πως είναι overkill, δεν ξέρω αν συμφωνείς (εκτός αν υπάρχει έτοιμο στη Java οπότε by all means he can go for it ). Να σου πω την αμαρτία μου,, κι εγώ στην αρχή νόμιζα οτι είναι over skilled και advanced, όταν τον βρήκα και χρειάστηκα να κάνω κάτι τέτοιο. Τελικά όμως είναι πολύ απλή και straight forward, η κωδικοποίηση του. Το μόνο που έχεις να κάνεις είναι να ακολουθήσεις τους κανόνες και να χρησιμοποιήσεις το αποτέλεσμα. Για έτοιμα implementations, δεν βρήκα να σου πω την αλήθεια. Αλλά μπορώ να σου στήσω αν θέλεις, αρκεί να μου το ζητήσεις σε μια λογική γλώσσα!
Directx Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Οπότε hardcoded στη βάση. Πολύ ενδιαφέρον πάντως το Double Metaphone που υπέδειξε ο nspyrou... σίγουρα είναι στο top of my list για περαιτέρω μελέτη όταν χρειαστεί να ασχοληθώ με ονόματα. Συμφωνώ απόλυτα, φαίνεται πολύ ενδιαφέρουσα μέθοδος, δεν την είχα υπόψη μου πλην της SoundEx που υλοποιεί το VCL framework του C++ Builder.
nspyrou Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Στη πραγματικότητα,, ο Double Metaphone, υπέπεσε στην αντίληψή μου 2 φορές: Την μία όταν χρειάστηκα να κάνω normalization σε λίστες ονομάτων που τα ορθογραφικά λάθη ήταν αρκετά, ΑΛΛΑ δεν είχα το δικαίωμα να ενημερώσω τη λίστα (κουλό ακούγεται αλλά πιστέψτε με, υπάρχουν πολλοί "managers" ηλίθιοι εκεί έξω)! Και την δεύτερη όταν ασχολήθηκα λίγο με τα phonetics και χρειάστηκα να κάνω matching σε φωνητικές εντολές μέσω του speech api. Και στις 2 περιπτώσεις δουλεύει μια χαρά και δίνει ένα καλό επίπεδο abstraction στο input. Directx: Σκέψου οτι ο Metaphone & Double Metaphone είναι το next level του SoundEx στον οποίο αναφέρεσαι...
Directx Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 [..]Directx: Σκέψου οτι ο Metaphone & Double Metaphone είναι το next level του SoundEx στον οποίο αναφέρεσαι... Yeap! Ελπίζω κάποια στιγμή να το περάσουν και στην VCL.
migf1 Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Να σου πω την αμαρτία μου,, κι εγώ στην αρχή νόμιζα οτι είναι over skilled και advanced, όταν τον βρήκα και χρειάστηκα να κάνω κάτι τέτοιο. Τελικά όμως είναι πολύ απλή και straight forward, η κωδικοποίηση του. Το μόνο που έχεις να κάνεις είναι να ακολουθήσεις τους κανόνες και να χρησιμοποιήσεις το αποτέλεσμα. Για έτοιμα implementations, δεν βρήκα να σου πω την αλήθεια. Αλλά μπορώ να σου στήσω αν θέλεις, αρκεί να μου το ζητήσεις σε μια λογική γλώσσα! Thanks ρε συ, αλλά δεν υπάρχει πρόβλημα... αν δεν το βρω έτοιμο όταν το χρειαστώ θα το γράψω από scratch EDIT: Με ένα πρόχειρο googling βρήκα ότι παρέχεται έτοιμη Java class: http://commons.apach...eMetaphone.html ενώ στο τέλος της σελίδας της Wikipedia που μας υπέδειξες έχει για διάφορες γλώσσες
nspyrou Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Αφού βρήκες και implementation, Jet!! Με ένα σμπάρο, 2 τριγώνια!!
migf1 Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 Μόνο jet., concorde (αν κι αποσυρμένο ) Μόλις πέτυχα κι ένα link για C++ που δείχνει ενδιαφέρον: http://www.codeproje...e-Searches-with
Moderators Spect~ Δημοσ. 28 Μαΐου 2012 Μέλος Moderators Δημοσ. 28 Μαΐου 2012 θα τα κοιταξω και θα της πω τι μπορει να κανει και πιο απο αυτα θελει επειδη ειναι για πτυχιακη και δεν προοριζεται για να βγει στο κοινο θα παει μαλλον με τον πιο ευκολο τροπο. Απο καποιο σημειο και μετα δεν μπορει αυτος που εφτιαξε την εφαρμογη να εχει προβλεψει ολα τους πιθανους συνδυασμους για καθε ονοα γιατι παιζουν και greeklish, συντομευσις κτλ. απλα να ειναι σε ενα αποδεκτο επιπεδο! ΥΓ: απο περιεργα ονομα ξερω και εγω μη φοβασαι. Μια την λενε Ελλας,την αλλη Φλουρί και αλλα το καλυτερο που εχω ακουσει ειναι (ονοματεπωνυμο) Παρασκευη Μεσημερι. ( οι γονεις της η ηθελα να κοροιδευουν το παιδι τους μια ζωη ή ειχα πολυ χιουμορ )
migf1 Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 ... επειδη ειναι για πτυχιακη και δεν προοριζεται για να βγει στο κοινο θα παει μαλλον με τον πιο ευκολο τροπο. ... Σε αυτή την περίπτωση το πιο εύκολο & χωρίς μειονέκτημα στο normalization είναι είτε αυτό που σου πρότεινα εγώ είτε αυτό που πρότεινε ο nilosgr (να κάνεις δλδ normalize μονάχα τα τονούμενα φωνήεντα σε άτονα). Αν και με την έτοιμη κλάση της Java είναι εξίσου εύκολο και σίγουρα με μεγαλύτερη δυναμική σε βελτιώσεις/αναβαθμίσεις το Double Metaphone που πρότεινε ο nspyrou.
Moderators Spect~ Δημοσ. 28 Μαΐου 2012 Μέλος Moderators Δημοσ. 28 Μαΐου 2012 του nspyroy μου φανηκε πιο καλη λυση γιατι θα βρισκει ανεξαρτητα απο τονους και τις διαφορες στα ονοματα. Δηλαδη θα βρρει και το δημητρης και το δημητριος.. η αληθεια ειναι οτι η Double Metaphone δεν καταλαβα ακριβως τι κανει και πως λειτουργει. και αν δεν το καταλαβω δεν θα μπορεσω να τη χρησιμοποιησω..
nspyrou Δημοσ. 28 Μαΐου 2012 Δημοσ. 28 Μαΐου 2012 του nspyroy μου φανηκε πιο καλη λυση γιατι θα βρισκει ανεξαρτητα απο τονους και τις διαφορες στα ονοματα. Δηλαδη θα βρρει και το δημητρης και το δημητριος.. η αληθεια ειναι οτι η Double Metaphone δεν καταλαβα ακριβως τι κανει και πως λειτουργει. και αν δεν το καταλαβω δεν θα μπορεσω να τη χρησιμοποιησω.. Γιατί δεν κάνεις το κόπο να διαβάσεις το άρθρο του Wikipedia εδώ, για να πάρεις μια ιδέα, και ψάξε στο Google, για το τί είναι τα phonetics. Δεν είναι τραγικό το αποτέλεσμα! Απλώς σου επιστρέφει μια γενικευμένη μορφή ενός λεκτικού βασισμένο στα σύμφωνα, που αποτελούν και τη βάση των λέξεων καθώς σου απαλοίφει πιθανώς εσφαλμένες διατυπώσεις που εγκειται σε δίφθογκους και διπλά γράμματα μεταξύ των λέξεων ή ονομάτων. πχ τα 2 "Ν" στην ΑΝΝΑ, θα γίνουν ένα. (Συμπεριλαμβανομένων φυσικά και των φωνηέντων που τραβάνε το μεγαλύτερο ζόρι) ... Ως συνέπεια, τα ονόματα της λίστας των ονομάτων που έχεις, σε συνάρτηση με τη λίστα αυτών που γιορτάζουν σήμερα (πχ), αν τα φιλτράρεις μέσω του Αλγορίθμου, και τα συγκρίνεις, θα πάρεις ένα όμοιο κωδικοποιημένο αποτέλεσμα, είτε είναι γραμμένα λάθος (ανορθόγραφα), είτε αν έχουν κενά ή παύλες ή σημεία στίξης στο περιεχόμενό τους. Αυτό είναι όλο το θέμα, και αυτό εννοούμε Normalization.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα