On Παρασκευή 25 Νοέμβριος 2005 19:57, Konstantinos Margaritis wrote: > (Καταρχάς, ξαναβάζω το CC στην open-source, δε μπορώ να καταλάβω τί > μανία είναι αυτή να μου χαλάν τα CC...) > > On Παρασκευή 25 Νοέμβριος 2005 17:50, Thanos Kyritsis wrote: > > Ον Φριδαυ 25 Νοωεμβερ 2005 17:37, Κονσταντιοσ Μαργαριτισ ςροτε: > > [σνιπ ....] > > > > Εγώ θα σε ρωτήσω ένα απλό πράγμα ..... > > > > Πώς θα καταλαβαίνεις σε ένα μήνυμα ποιούς αγγλικούς χαρακτήρες να > > μετατρέπεις και ποιούς όχι ?? ε ??? > > Η διαδικασία είναι απλή, αν και φοβάμαι πως είναι λίγο χρονοβόρα, > κάθησα και το σκέφτηκα λιγάκι και βρήκα μια αρκετά καλή > μέθοδολογία: Διάλεξα και ένα μικρό τμήμα από email του zvr > -κλασσικός γράφων σε greeklish γαρ ;-) - από το συνέδριο του > O'Reilly, ήταν εντελώς τυχαία επιλογή. > > "Prwth entypwsh: polla lefta, re paidaki moy! > Se kyrile ksenodoxeio sto Amsterdam, megalh conference (milane > gia 500+ atoma), organwmenh kata O'Reilly me ta Amerikanika > protypa. Symperasma: tha mpoyne mesa agria, apokleietai na bgaloyn > ta lefa toys. > Oxi oti den to kserane, bebaia." > > Για να δείξω ότι η μέθοδος μπορεί να δουλέψει και με διαφορετικό > στυλ γραφής, γράφω το ίδιο κείμενο σύμφωνα με τον τρόπο που γράφω > συνήθως greeklish (την αναφέρω απλώς ως παράδειγμα): > > "Prwtn evtupwsn: polla lefta, re paidaki mou! > Se kurile 3evodoxeio sto Amsterdam, megaln conference (milave gia > 500+ atoma), orgavwmevn kata O'Reilly me ta Amerikavika protupa. > Sumperasma: 8a mpouve mesa agria, apokleietai va bgalouv ta lefta > tous. Oxi oti de to 3erave, bebaia." > > Με μια απλή ματιά, οι κανόνες μετατροπείς για τις δύο μεθόδους > είναι οι εξής: > > zvr: η-> h, θ->th, ν->n, ξ->ks, υ->y, ω->w > mine: η->n, θ->8, ν->v, ξ->3, υ->u, ω->w > > και είμαι σίγουρος ότι με λίγο ψάξιμο μπορούμε να βρούμε αρκετούς > κανόνες ακόμη. > > Βήμα 1ο: Διαχωρισμός παραγράφων. οκ έστω ότι έχει γίνει αυτό, δεν > είναι το θέμα. > > Βήμα 2ο: Έλεγχος αγγλικής ορθογραφίας στην παράγραφο, μάλιστα > δημιουργία ενός associative array (map στην STL, HashMap στη Java, > whatever) με τα αποτελέσματα για κάθε λέξη μας ενδιαφέρει ένα > boolean αποτέλεσμα, FOUND/NOTFOUND. Αυτό για να αποκλείσουμε τις > πραγματικά αγγλικές λέξεις από τις greeklish. Αν τα FOUND είναι > συντριπτικά περισσότερα από τα NOTFOUND τότε μάλλον το κείμενο > είναι αγγλικό ίσως με ορθογραφικά λάθη και δεν χρειάζεται να > προβούμε στη μετατροπή από greeklish. Αν τα FOUND είναι αρκετά > -κάποιο κατώφλι/ποσοστό ίσως;- τότε μπορούμε να προχωρήσουμε στο > βήμα 3. > > Βήμα 3ο: Για τις λέξεις που ΔΕΝ βρεθήκαν από τον αγγλικό ορθογράφο > -δηλαδή αυτές με NOTFOUND στο map- κάνουμε μετατροπή από greeklish > σε ελληνικά με κάθε μέθοδο, και κάνουμε έλεγχο με ελληνικό > ορθογράφο στις λέξεις αυτές. Για κάθε λέξη που ανιχνεύεται από τον > ορθογράφο, η κάθε μέθοδος παίρνει έναν πόντο. > > Βήμα 4ο: Αν κάποια μέθοδος φτάσει ένα συγκεκριμένο κατώφλι -π.χ. > 30% των λέξεων ή ένα προκαθορισμένο αριθμό- τότε μπορούμε να > είμαστε αρκετά βέβαιοι ότι ο χρήστης θα έχει ακολουθήσει τη > συγκεκριμένη μέθοδο για να γράψει σε greeklish και μπορούμε να > προχωρήσουμε στη μετατροπή των υπολοίπων λέξεων με τη συγκεκριμένη > μέθοδο μόνο χωρίς να χρησιμοποιήσουμε επιπλέον το σύστημα με τους > πόντους. > > Για το συγκεκριμένο παράδειγμα, το αρχικό κείμενο του zvr, όπως το > έχει γράψει: > > "Prwth entypwsh: polla lefta, re paidaki moy! > Se kyrile ksenodoxeio sto Amsterdam, megalh conference (milane > gia 500+ atoma), organwmenh kata O'Reilly me ta Amerikanika > protypa. Symperasma: tha mpoyne mesa agria, apokleietai na bgaloyn > ta lefa toys. > Oxi oti den to kserane, bebaia." > > Βήμα 2ο: ο αγγλικός ορθογράφος προφανώς θα χτυπήσει κόκκινο, αφού > θα βρεί ελάχιστες λέξεις: Amsterdam, conference, O'Reilly, me, to. > Για τις υπόλοιπες θα προχωρήσει στο βήμα 3. > > Βήμα 3: μετατρέπουμε κάθε λέξη με κάθε μέθοδο για μετατροπή από > greeklish και δίνουμε +1 πόντο στη μέθοδο αν η τελική λέξη > αναγνωρίζεται από τον ορθογράφο, ΜΕΧΡΙ κάποια μέθοδος να φτάσει > π.χ. σε πόντους που να αντιστοιχούν στο 30% των λέξεων της > παραγράφου, δηλ. ~13). > Λέξη zvr mine zvr pts mine pts > Prwth Πρωτη Πρωτh 1 0 > entypwsh εντυπωση εντyπωσh 2 0 > polla πολλα πολλα 3 1 > lefta λεφτα λεφτα 4 2 > re ρε ρε 5 3 > paidaki παιδακι παιδακι 6 4 > moy μου μοy 7 5 > Se Σε Σε 8 6 > kyrile κυριλε κyριλε 9 7 > ksenodoxeio ξενοδοχειο ksεηοδοχειο 10 7 > sto στο στο 11 8 > megalh μεγαλη μεγαλh 12 8 > milane μιλανε μιλαηε 13 8 > gia για για 14 9 > > Περάσαμε το κατώφλι 13 (βρήκα κι εγώ νούμερο...), προχωράμε στο > βήμα 4: > > atoma ατομα > organwmenh οργανωμενη > kata κατα > ta τα > Amerikanika Αμερικανικα > protypa προτυπα > Symperasma Συμπερασμα > tha θα > mpoyne μπουνε > mesa μεσα > agria αγρια > apokleietai αποκλειεται > na να > bgaloyn βγαλουν > ta τα > lefa λεφα > toys τους > Oxi Οχι > oti οτι > den δεν > kserane ξερανε > bebaia βεβαια > > Το τελικό κείμενο θα έχει την εξής μορφή: > > "Πρωτη εντυπωση: πολλα λεφτα, ρε παιδακι μου! > Σε κυριλε ξενοδοχειο στο Amsterdam, μεγαλη conference (μιλανε > για 500+ ατομα), οργανωμενη κατα O'Reilly me τα Αμερικανικα > προτυπα. Συμπερασμα: θα μπουνε μεσα αγρια, αποκλειεται να βγαλουν > τα λεφα τους. Οχι οτι δεν to ξερανε, βεβαια." > > Όπως θα προσεξατε η μεθοδος δεν είναι τελεια. Π.χ. δεν μετετρεψε > τις λεξεις "με" και "το" και δεν παρέχει τονισμό. Πιστεύω ότι το 1ο > μπορεί να γίνει με έλεγχο των διπλανών λέξεων ενώ το 2ο με χρήση > του ορθογράφου. > > Πάντως για μια μέθοδο που μου κατέβηκε μέσα σε 1 ώρα, καλά τα πήγε > πρέπει να το παραδεχτείς :-) > > Κώστας