Σελίδες

Τρίτη 22 Νοεμβρίου 2022

Παραγωγή μορφολογικού λεξικού με τη χρήση μιας "αρχαίας" τεχνολογίας

Πριν από λίγο καιρό μια "αντάρτισσα" γλωσσολόγος ρωτούσε αν υπάρχει ήδη έτοιμο ή αν μπορεί να κατασκευαστεί κάποιο λογισμικό πακέτο γενικότερης χρήσης για την κατασκευή μορφολογικού λεξικού.
Τέτοιο λογισμικό θα υπάρχει σίγουρα σε πανεπιστήμια, οργανισμούς και ιδρύματα ή και σε ιδιώτες ακόμα.
Υποψιάζομαι όμως ότι στις περισσότερες περιπτώσεις αυτό είναι προσαρμοσμένο στις ανάγκες κάποιας συγκεκριμένης γλώσσας.
Εγώ στο μεταξύ είχα "μπανίσει" εδώ και λίγο καιρό την υλοποίηση ενός νευρωνικού (https://github.com/mfaruqui/morph-trans) που υπόσχεται αυτό ακριβώς το πράγμα.
Να κατασκευάσει μορφολογικό λεξικό αφού έχει εκπαιδευτεί πρώτα σε μια συγκεκριμένη γλώσσα με το κατάλληλο υλικό.
Εντάξει, η "αντάρτισσα" μιλούσε για κάτι "απλό" στη χρήση που θα μπορούσε να το "κουμαντάρει" κι ένας Κόκκας π.χ. (τώρα που μπορεί να ξεχωρίζει πλέον ένα συνημμένο αρχείο στο ηλ. ταχυδρομείο απ' αυτά που αναρτώνται στο Google Drive).
Το συγκεκριμένο "μαραφέτι" όμως δεν είναι για το "μπόι" του καθενός και χρειάζεται τον μάστορα του.
Από την ίδια τη μεταγλώττιση κι εγκατάσταση του, την πιθανή παρέμβαση στον κώδικα, μέχρι την προετοιμασία του εκπαιδευτικού υλικού και τη χρήση του.
Ο Αντώνης σε μια δημοσίευση του (https://arxiv.org/pdf/1701.03980.pdf) λέει ότι έχει χρησιμοποιηθεί και από άλλους χωρίς να αναφέρει κάτι πιο συγκεκριμένο.
Ο ίδιος μέχρι τώρα δεν έχω αντιληφθεί κάποια δημοσίευση για τη χρήση του συγκεκριμένου εργαλείου, την ακρίβεια του αποτελέσματος που μπορεί να δώσει ή κάποια άλλη πληροφορία.
Προσωπικά για το μορφολογικό λεξικό της Πομακικής έχω αναπτύξει τους δικούς μου (κλασικούς) αλγορίθμους, οι οποίοι όμως είναι και αυτοί προσαρμοσμένοι στις ανάγκες και τους κανόνες της αυτής γλώσσας.
Η περιέργεια μου παρά ταύτα για την αποτελεσματικότητα του συγκεκριμένου εργαλείου μ' έτρωγε και ήταν θέμα χρόνου να καταπιαστώ μαζί του κάπως πιο σοβαρά.
Το "ευτύχημα" είναι πως έχει υλοποιηθεί σε C++.  Αν ήταν σε Πύθωνα, δεν ξέρω αν θα έβρισκα κουράγιο να κάτσω να μάθω μια νέα γλώσσα απ' την αρχή (σχεδόν).
Πάμε στο "ψητό".
Μέσα σε διάστημα κάποιων ημερών πόσα τεστ και πειράματα θα μπορούσε να κάνει κανείς, για να βεβαιωθεί για τη χρησιμότητα ενός τόσο σύνθετου και πολύπλοκου εργαλείου και να αποφασίσει για τη χρήση ή την απόρριψη του;
Όχι και πάρα πολλά νομίζω. Σίγουρα χρειάζονται αρκετές δοκιμές με διάφορα σχήματα και ρυθμίσεις.
Το ίδιο το εργαλείο υποστηρίζει τουλάχιστον καμιά οκταριά διαφορετικούς αλγορίθμους για την ίδια δουλειά.
Και ο καθένας απ' αυτούς μπορεί να δώσει λίγο καλύτερα ή χειρότερα αποτελέσματα ανάλογα με τις παραμέτους και το ίδιο το εκπαιδευτικό υλικό.
Μετά από μια γρήγορη δοκιμή των 6 απ' αυτούς (δυο έβγαζαν κάποιο σφάλμα και δεν είχα χρόνο να τους ψάξω περαιτέρω), το καλύτερο  αποτέλεσμα το έδωσαν οι joint-enc-dec-morph και sep-morph.
Στους εξακολουθητικούς ρηματικούς τύπους του ενεστώτα της οριστικής η ακρίβεια κυμαίνεται γύρω στο 95% ή λίγο παραπάνω σ' ένα σετ 10.000 ρηματικών τύπων με αναλογία 80/10/10 (train/dev/test).
Καθόλου άσχημα θα έλεγα.
Αυτό και μόνο με βάζει στον πειρασμό να συνεχίσω περαιτέρω τις δοκιμές στο σύνολο του κλιτικού συστήματος, για να δω τί άλλο μπορεί να κάνει και πού "σκοντάφτει".
Αν κι εφ' όσον προκύψει κάτι ενδιαφέρον, η ανανέωση της ανάρτησης με τα όποια νέα δεδομένα θα πρέπει να θεωρείται σχεδόν βεβαία.
Μέχρι τότε θα σας ευχηθώ να περνάτε εσείς καλά κι εγώ ακόμα καλύτερα -:)

Δυο οθονιές νομίζω είναι αρκετές για να πάρετε μια πρώτη γεύση.
(Και το κουίζ της χρονιάς: μαντέψτε ποιο πληκτρολόγιο κρύβεται πίσω από τη γαλλική σημαία ;-)