GR-NLP-TOOLKIT: Ανοιχτό εργαλείο NLP για τα Νέα Ελληνικά

Γιατί χρειαζόμαστε ένα ελληνικό NLP toolkit;

Τα Νέα Ελληνικά είναι η επίσημη γλώσσα της Ελλάδας, μία από τις δύο επίσημες γλώσσες της Κύπρου και η μητρική γλώσσα περίπου 13 εκατομμυρίων ανθρώπων. Παρ’ όλα αυτά, σε σύγκριση με άλλες «μεγάλες» γλώσσες, τα ελληνικά παραμένουν υποεκπροσωπούμενα στα περισσότερα εργαλεία και μοντέλα επεξεργασίας φυσικής γλώσσας (NLP).

Ο λόγος δεν είναι μόνο ο αριθμός των ομιλητών, αλλά και τα ιδιαίτερα χαρακτηριστικά της γλώσσας: δικό της αλφάβητο, έντονη κλίση, ποικιλία μορφολογικών τύπων, εύκαμπτη σειρά λέξεων, και φυσικά το φαινόμενο των Greeklish. Όλα αυτά καθιστούν τα ελληνικά μια γλώσσα απαιτητική για τα συστήματα NLP, ειδικά όταν αυτά έχουν σχεδιαστεί κυρίως με βάση αγγλικά ή άλλες ευρέως ομιλούμενες γλώσσες.

Σε αυτό το κενό έρχεται να απαντήσει το GR-NLP-TOOLKIT, ένα ανοιχτό, σύγχρονο toolkit ειδικά για Νέα Ελληνικά, βασισμένο σε μετασχηματιστές (Transformers) και σχεδιασμένο να προσφέρει κορυφαία απόδοση σε βασικά γλωσσικά καθήκοντα.

Τι είναι το GR-NLP-TOOLKIT;

Το GR-NLP-TOOLKIT είναι ένα open-source toolkit για επεξεργασία φυσικής γλώσσας, φτιαγμένο αποκλειστικά για τα Νέα Ελληνικά. Αναπτύχθηκε από ερευνητές του Τμήματος Πληροφορικής του Οικονομικού Πανεπιστημίου Αθηνών, σε συνεργασία με το Archimedes/Athena RC και την helvia.ai.

Το toolkit:

  • βασίζεται σε προεκπαιδευμένους Transformers,
  • είναι δωρεάν,
  • διατίθεται ως Python πακέτο με μία γραμμή εγκατάστασης (pip install gr-nlp-toolkit),
  • και συνοδεύεται από διαδικτυακό demo στο HuggingFace και HTTP API (GREEK-NLP-API) για μη εμπορική χρήση.

Στόχος του είναι να αποτελέσει ένα «έτοιμο προς χρήση» εργαλείο για ερευνητές, φοιτητές, οργανισμούς και developers που θέλουν να δουλέψουν σοβαρά με ελληνικά δεδομένα κειμένου.

Οι πέντε βασικές λειτουργίες του GR-NLP-TOOLKIT

Το toolkit προσφέρει state-of-the-art απόδοση σε πέντε βασικά καθήκοντα NLP για Νέα Ελληνικά:

  1. Μορφοσυντακτική αναγνώριση (POS tagging)
    Αναγνώριση μέρους του λόγου (ρήμα, ουσιαστικό, επίθετο κ.ο.κ.) για κάθε λέξη.
  2. Μορφολογική επισήμανση (morphological tagging)
    Πιο λεπτομερής ανάλυση με χαρακτηριστικά όπως χρόνος, φωνή, έγκλιση, πρόσωπο, αριθμός, γένος, πτώση κ.ά.
  3. Εξάρτηση-συντακτική ανάλυση (dependency parsing)
    Ανάδειξη των συντακτικών σχέσεων μεταξύ λέξεων (ποιο είναι το υποκείμενο, ποιο το αντικείμενο, ποιο εξαρτάται από ποιο κ.λπ.).
  4. Αναγνώριση οντοτήτων (Named Entity Recognition – NER)
    Εντοπισμός ονομάτων προσώπων, οργανισμών, τοπωνυμίων, ημερομηνιών, ποσοτήτων κ.ά. σε ελληνικά κείμενα.
  5. Μεταγραφή Greeklish σε Ελληνικά (Greeklish-to-Greek)
    Αυτόματη μεταγραφή κειμένου γραμμένου με λατινικούς χαρακτήρες (Greeklish) στο ελληνικό αλφάβητο.

Το τελευταίο είναι ιδιαίτερα κρίσιμο για ελληνικά δεδομένα πραγματικού κόσμου, όπου forum posts, chat, social media και μηνύματα συχνά αναμειγνύουν ελληνικά, Greeklish και αγγλικά.

Γιατί τα ελληνικά δυσκολεύουν τα πολυγλωσσικά μοντέλα;

Παρότι υπάρχουν ισχυρά πολυγλωσσικά μοντέλα (π.χ. XLM-R), τα ελληνικά συχνά δεν καλύπτονται επαρκώς στα corpora προεκπαίδευσής τους. Αυτό έχει δύο πρακτικές συνέπειες:

  • Υποεκπροσώπηση λεξιλογίου: πολλές ελληνικές λέξεις δεν εμφανίζονται αρκετά συχνά, με αποτέλεσμα οι tokenizers να τείνουν να τις «σπάνε» υπερβολικά, ακόμη και σε μεμονωμένους χαρακτήρες.
  • Περίπλοκη μορφολογία και ελεύθερη σειρά λέξεων: κάνουν πιο απαιτητικά τα tasks όπως POS tagging, morphological tagging και syntactic parsing.

Το GR-NLP-TOOLKIT βασίζεται σε GREEK-BERT, ένα μοντέλο ειδικά εκπαιδευμένο για ελληνικά, το οποίο έχει δείξει επανειλημμένα ότι ξεπερνά τα γενικά πολυγλωσσικά μοντέλα σε καθήκοντα όπως NER, dependency parsing κ.ά.

Greeklish: όταν η γλώσσα αλλάζει πληκτρολόγιο

Ένα ιδιαίτερο φαινόμενο για τα ελληνικά είναι τα Greeklish: ελληνικά γραμμένα με λατινικούς χαρακτήρες, π.χ.
h athina kai h thessaloniki einai poleis.

Το πρόβλημα είναι ότι:

  • δεν υπάρχει ενιαίο σύστημα αντιστοίχισης χαρακτήρων,
  • η ίδια λέξη μπορεί να εμφανίζεται με πολλές παραλλαγές,
  • τα περισσότερα datasets και μοντέλα έχουν εκπαιδευτεί μόνο σε κείμενα με ελληνικό αλφάβητο.

Το GR-NLP-TOOLKIT ενσωματώνει έναν state-of-the-art μετατροπέα Greeklish→Greek, βασισμένο στο μοντέλο BYT5, που λειτουργεί σε επίπεδο bytes και είναι ιδανικό για κείμενα με μικτές γραφές.

Έτσι, μπορείς:

  • πρώτα να μεταγράψεις Greeklish σε ελληνικά,
  • και μετά να εφαρμόσεις POS tagging, NER ή parsing πάνω στο «κανονικοποιημένο» κείμενο, ακόμη και μέσα σε μία ενιαία pipeline.

Τι προσφέρει σε σχέση με άλλα εργαλεία;

Υπάρχουν ήδη γνωστά εργαλεία όπως το spaCy, το Stanza και το NLTK. Όμως, για τα Νέα Ελληνικά:

  • το NLTK ουσιαστικά δεν προσφέρει σύγχρονες λειτουργίες πέρα από tokenizer/stopwords,
  • το spaCy και το Stanza βασίζονται σε στατικά FASTTEXT embeddings για τα ελληνικά, χωρίς Transformers,
  • κανένα από αυτά δεν υποστηρίζει Greeklish-to-Greek.

Σύμφωνα με τα πειραματικά αποτελέσματα των δημιουργών του GR-NLP-TOOLKIT, το εργαλείο:

  • πετυχαίνει state-of-the-art επιδόσεις σε POS tagging, morphological tagging, dependency parsing και NER,
  • ξεπερνά το spaCy και είναι τουλάχιστον ισάξιο, συχνά καλύτερο, από το Stanza,
  • είναι το μόνο που ενσωματώνει Greeklish→Greek μεταγραφή ως έτοιμο component.

Πώς μπορώ να χρησιμοποιήσω το GR-NLP-TOOLKIT;

Η χρήση του toolkit έχει σχεδιαστεί να είναι όσο το δυνατόν πιο απλή:

  • Εγκατάσταση σε Python: pip install gr-nlp-toolkit
  • Χρήση μέσω pipelines, π.χ. για POS, NER και dependency parsing σε μια πρόταση.
  • Greeklish-to-Greek: φόρτωση ειδικού pipeline και μετατροπή με μία κλήση.
  • Διαδικτυακό demo στο HuggingFace: για όσους θέλουν να πειραματιστούν χωρίς κώδικα.
  • GREEK-NLP-API: πλήρως τεκμηριωμένο HTTP API (OpenAPI), κατάλληλο για εφαρμογές σε οποιαδήποτε γλώσσα προγραμματισμού, υπό μη εμπορική άδεια.

Το codebase είναι διαθέσιμο στο GitHub και καλεί σε συνεισφορά από την κοινότητα.

Συμπεράσματα και επόμενα βήματα

Το GR-NLP-TOOLKIT αποτελεί ένα σημαντικό βήμα για την ενίσχυση του ελληνόφωνου οικοσυστήματος NLP:

  • παρέχει ανοιχτά, σύγχρονα εργαλεία για βασικά γλωσσικά tasks,
  • ενσωματώνει ειδικά μοντέλα για τις ανάγκες της ελληνικής,
  • γεφυρώνει το χάσμα ανάμεσα στα «γενικά» πολυγλωσσικά μοντέλα και στις πραγματικές ανάγκες των ελληνικών δεδομένων.

Οι δημιουργοί του εργαλείου σχεδιάζουν να προσθέσουν επιπλέον λειτουργίες, όπως ανίχνευση τοξικότητας και ανάλυση συναισθήματος, και καλούν σε ανοιχτή συνεργασία ερευνητές, οργανισμούς και developers.

Πηγή άρθρου: arxiv.org