Μετατροπέας από Greeklish σε Ελληνικά

Περίληψη: Δημιουργία αυτόματου μετατροπέα από Greeklish σε ελληνικά, με τέσσερα παραδοτέα: μια βιβλιοθήκη και τρία plug-ins για Pidgin, Thunderbird και Firefox.

Ιστορικό

Greeklish ονομάζεται η γραφή της ελληνικής γλώσσας με λατινικούς χαρακτήρες. Το πρόβλημα των Greeklish έχει τις ρίζες του στην προτυποποίηση του σετ χαρακτήρων των υπολογιστών, καθώς το κοινά αποδεκτό standard ASCII περιείχε μόνο λατινικούς χαρακτήρες. Δημοφιλείς γλώσσες όπως τα γαλλικά και τα γερμανικά μπορούσανε να γραφούν μόνο απλοποιώντας χαρακτήρες, ενώ άλλες γλώσσες, όπως τα ελληνικά, ρωσικά ή νορβηγικά είχανε πολύ μικρή επικάλυψη με το ASCII standard (πχ. στα ελληνικά επικάλυψη έχουν μόνο ορισμένοι κεφαλαίοι χαρακτήρες).

Η λύση που δόθηκε ήταν να χρησιμοποιηθούν διαφορετικές κωδικοσελίδες (codepages) για κάθε γλώσσα. Τα ελληνικά είχαν δυστυχώς την ατυχία να καλύπτονται από δύο κωδικοσελίδες (CP737 και CP869), οι οποίες δεν ήταν συμβατές μεταξύ τους. Επίσης, καθώς δεν υπήρχε κάποιο ενιαίο standard για την μεταφορά μέτα-δεδομένων, που περιλαμβάνει και την μετάδοση πληροφοριών κωδικοσελίδας, συχνά οι χρήστες έπρεπε να μαντέψουν τη σωστή κωδικοποίηση για να διαβάσουν ένα ελληνικό κείμενο. Τέλος η προβληματική υποστήριξη μη-αγγλικών αλφαβήτων στις συνηθισμένες εγκαταστάσεις Microsoft Windows σήμαινε ότι ενδεχομένως να μην υπήρχαν καν ελληνικές γραμματοσειρές σε κοινόχρηστους υπολογιστές σε πανεπιστήμια ή internet cafe.

Για όλους αυτούς τους λόγους οι χρήστες οδηγήθηκαν στο να γράφουν ελληνικά με αγγλικούς χαρακτήρες για να αποφύγουν τα προβλήματα συμβατότητας. Σήμερα πια, ενώ η υποστήριξη έχει βελτιωθεί τρομερά, το πρόβλημα -εν μέρει λόγω της δύναμης της συνήθειας- έχει πάρει διαστάσεις επιδημίας. Φόρουμ που παλιότερα απαγόρευαν άρθρα γραμμένα στα αγγλικά αναγκάστηκαν εκ των πραγμάτων να αναθεωρήσουν τη στάση τους λόγω του μεγάλου όγκου των άρθρων που γραφόταν σε greeklish. Στα δίκτυα IRC και IM οι έλληνες χρήστες επικοινωνούν σχεδόν αποκλειστικά σε greeklish. Τα περισσότερα ελληνικά βίντεο στο youtube έχουν σχόλια μόνο σε greeklish. Στις μηχανές αναζήτησης, πολλές ελληνικές φράσεις φέρνουν λιγότερα αποτελέσματα από τις ίδιες φράσεις γραμμένες σε greeklish!

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

Στόχοι

Πιστεύω ότι η πάταξη των greeklish “δια ροπάλου” δεν μπορεί να δώσει αποτελέσματα. Εναλλακτικά προτείνω τη δημιουργία μιας βιβλιοθήκης η οποία θα μπορεί να μετατρέπει τα greeklish σε ελληνικά αυτόματα, χωρίς την παρέμβαση του χρήστη. Ιδανικά, αυτό θα σήμαινε ότι όλα τα greeklish θα φαινόταν σε όλους τους χρήστες σαν κανονικά ελληνικά, ωθώντας τους να απαντήσουν σε κανονικά ελληνικά.

Ο καλύτερος τρόπος να δείξω στη πράξη την ευελιξία και ελευθερία διακίνησης της βιβλιοθήκης, είναι να κατασκευάσω plug-ins για γνωστά προγράμματα. Καθώς πιστεύω ότι η μεγαλύτερος όγκος greeklish κειμένου διακινείται μέσω ηλεκτρονικών μηνυμάτων (e-mail ή IM) και ιστοσελίδων, στοχεύω στην δημιουργία τριών πολύ απλών plug-ins για Pidgin (IM πελάτης), Thunderbird (πελάτης ηλεκτρονικού ταχυδρομίου) και Firefox (περιηγητής ιστοσελίδων).

Η μετατροπή θα στηριχτεί σε ένα finite state transducer, o οποίος θα έχει προϋπολογισμένες πιθανότητες μετατροπής κάθε αγγλικού χαρακτήρα σε ελληνικό. Ο transducer θα κατασκευαστεί ως εξής: Αρχικά ο transducer θα περιέχει μια λίστα από απλούς κανόνες (όπως: το “ks” είναι “ξ”). Μετά, θα δημιουργήσω μια λίστα με όλες τις έγκυρες μετατροπές στην ελληνική γλώσσα. Στη συνέχεια θα υπολογίσω τις πιθανότητες μετάβασης αυτών των μετατροπών πάνω σε ένα σύνολο προμεταφρασμένου κειμένου, χρησιμοποιώντας ένα απλό unigram γλωσσικό μοντέλο της Ελληνικής γλώσσας και εκμάθηση Bayes. H συγκεκριμένη διαδικασία είναι τυπική για την κατασκευή αυτοματοποιημένων μεταφραστών, μόνο που ορισμένα βήματα είναι περιττά, λόγω μετατροπής μεταξύ δύο γραφών της ίδιας γλώσσας.

Παρόμοια προγράμματα υπάρχουν ήδη, όπως το “Greeklish converter” και το “All Greek to me!” (βλ. Αναφορές). Το πρώτο είναι μια δικτυακή υπηρεσία η οποία μεταφράζει συνοπτικά αποσπάσματα κείμενου σε ελληνικά. Το δεύτερο είναι ένα κλειστό πρόγραμμα που μάλλον ταιριάζει περισσότερο σε εταιρικά περιβάλλοντα που λαμβάνουν ή στέλνουν μεγάλο όγκο κειμένου σε greeklish. Δυστυχώς όμως και οι δύο λύσεις έχουν το μειονέκτημα της μειωμένης ευελιξίας λόγω των περιορισμών χρήσης. Αντίθετα η βιβλιοθήκη που θα αναπτύξω δεν θα έχει τέτοιους περιορισμούς.

Παραδοτέα

  • Κώδικας για τη βιβλιοθήκη και plug-ins.
  • Repository στο sourceforge.
  • Πλήρη training data και unigram γλωσσικό μοντέλο της ελληνικής γλώσσας.
  • Τεκμηρίωση.
  • Binary plug-ins για απευθείας εγκατάσταση.

Χρονοδιάγραμμα

  • 9/3: Δημιουργία repository, ανάγνωση βιβλιογραφίας για αυτόματη μετάφραση, εξοικίωση με υπάρχοντα εργαλεία επεξεργασίας λόγου.
  • 16/3: Συλλογή κειμένων σε greeklish από το internet.
  • 23/3: Μετατροπή των παραπάνω αποσπασμάτων σε ελληνικά.
  • 13/4: Γλωσσικό μοντέλο και transducer έτοιμα σύμφωνα με την ανωτέρω διαδικασία.
  • 20/4: Δημιουργία απλής βιβλιοθήκης με ένα API call για να μετατρέπει greeklish σε ελληνικά χρησιμοποιώντας τον transducer.
  • 27/4: Δημιουργία plug-in για Pidgin.
  • 11/5: Δημιουργία plug-in για Thunderbird.
  • 18/5: Δημιουργία plug-in για Firefox.
  • 25/5: Ολοκλήρωση της συγγραφής τεκμηρίωσης, public release των plug-ins σε binary μορφή.

Βιογραφικό

Είμαι διπλωματούχος μηχανικός από το Πολυτεχνείο Κρήτης από το 2006. Συνεχίζω τις σπουδές μου με στόχο την απόκτηση διδακτορικού διπλώματος στις βάσεις δεδομένων στο τμήμα Επιστήμης Υπολογιστών στο University of Wisconsin - Madison στις ΗΠΑ.

Σαν προπτυχιακός φοιτητής στο Πολυτεχνείο Κρήτης στα Χανιά υπήρξα ένα από τα ιδρυτικά μέλη της ομάδας ΕΛ/ΛΑΚ του Πολυτεχνείου. Μαζί με τον Στέφανο Καρασαββίδη κάναμε μια εκτεταμένη έρευνα για το πόσο είναι εφικτό να αντικατασταθούν τα υπάρχοντα συστήματα με ανοιχτές λύσεις, η οποία ανέδειξε τρία σημαντικά εμπόδια στην πλήρη υιοθέτηση λύσεων ΕΛ/ΛΑΚ στο Πολυτεχνείο:

  • Αποκλειστική χρήση κλειστών συστημάτων σε νευραλγικά διοικητικά τμήματα, όπως το φοιτητολόγιο, η βιβλιοθήκη και η μισθοδοσία. Αυτές οι επιλογές οδήγησαν σε μια σχέση εξάρτησης του Πολυτενχείου από συγκεκριμένες εταιρίες (vendor lock-in).
  • Η μαθησιακή διαδικασία απαιτούσε την χρήση κλειστών πακέτων λογισμικού, ακόμη και όταν υπήρχαν λύσεις ανοιχτού λογισμικού (πχ. Οctave αντί Matlab).
  • Η απουσία προσωπικού με αντικείμενο την λύση καθημερινών τεχνικών προβλημάτων (IT support staff), η οποία δημιουργούσε εξάρτηση στο δημοφιλές λειτουργικό σύστημα της Microsoft το οποίο θεωρούνταν και ως προαπαιτούμενο για τις περισσότερες διοικητικές θέσεις.

Έχω συμμετάσχει στον (ημιτελή) εξελληνισμό του Inkscape, προγράμματος διανυσματικών γραφικών. Έχω επίσης βοηθήσει την κοινότητα ανάπτυξης του Inkscape με patches καθώς και με αποσφαλμάτωση στην εκάστοτε τρέχουσα έκδοση (trunk). Έχω επίσης βοηθήσει στην ανάπτυξη του συστήματος Hadoop, μιας ανοιχτής υλοποίησης της υπολογιστικής πλατφόρμας MapReduce, συνεισφέροντας κώδικα μέσω patches. Τέλος, έχω εργαστεί ένα καλοκαίρι στην IBM, όπου ήμουνα μέλος της ομάδας που ανέπτυξε και οδήγησε την γλώσσα JAQL_ στο πρώτο open-source release της.

Αναφορές

Παραδοτέα

 
ellak/gr2el.txt (2835 views) · Τελευταία τροποποίηση: 2014/04/03 17:26
 
Recent changes RSS feed Creative Commons License Donate Valid XHTML 1.0 Valid CSS Driven by DokuWiki