
Από το Web Scraping σε ένα Καθαρό Dataset, έτοιμο για έρευνα
Στο GlossAPI, η αποστολή μας είναι να δημιουργούμε ανοιχτά, υψηλής ποιότητας ελληνικά σύνολα δεδομένων που υποστηρίζουν το ελληνικό οικοσύστημα Τεχνητής Νοημοσύνης (AI). Σε αυτό το άρθρο, παρουσιάζουμε το τελευταίο μας dataset: μια συλλογή μεγάλης κλίμακας ελληνικών βιβλίων από το Openbook.gr, η οποία επεξεργάστηκε και καθαρίστηκε χρησιμοποιώντας το pipeline του GlossAPI και προετοιμάστηκε για δημοσίευση μέσω του Mozilla Data Collective.Αυτή η εργασία αποδεικνύει πώς το ανοιχτό πολιτιστικό περιεχόμενο μπορεί να μετατραπεί σε δομημένους, μηχανικά αναγνώσιμους πόρους προς όφελος της ευρύτερης ερευνητικής κοινότητας και της κοινότητας του open-source.
Πηγή Δεδομένων: openbook.gr
Το Openbook.gr είναι μια ελληνική ψηφιακή βιβλιοθήκη που φιλοξενεί χιλιάδες ελεύθερα προσβάσιμα βιβλία σε πολλές κατηγορίες, όπως:
- Λογοτεχνία
- Ιστορία
- Φιλοσοφία
- Εκπαίδευση
- Βιβλία μαγειρικής και πρακτικοί οδηγοί
Το μεγαλύτερο μέρος του περιεχομένου είναι διαθέσιμο ως σκαναρισμένα PDF, πράγμα που σημαίνει ότι το κείμενο δεν είναι εγγενώς μηχανικά αναγνώσιμο. Για να ξεκλειδώσουμε την αξία του για υπολογιστική χρήση, απαιτείται η χρήση OCR (Optical Character Recognition).
Συλλογή Δεδομένων
Αναπτύξαμε ένα προσαρμοσμένο web scraping pipeline για να:
- Πραγματοποιεί crawl στο openbook.gr
- Εντοπίζει τις σελίδες των βιβλίων και τα metadata
- Κατεβάζει όλα τα διαθέσιμα αρχεία PDF
- Τα οργανώνει σε ένα δομημένο dataset
Συνολικά, συλλέξαμε 4.063 ελληνικά βιβλία για επεξεργασία.
Επεξεργασία OCR με το GlossAPI
Για την εξαγωγή κειμένου από τα σκαναρισμένα PDF, χρησιμοποιήσαμε το OCR pipeline του GlossAPI, το οποίο:
- Μετατρέπει τις σελίδες των PDF σε εικόνες
- Εφαρμόζει OCR models βελτιστοποιημένα για τα Ελληνικά
- Παράγει αρχεία ακατέργαστου κειμένου (raw text) για κάθε βιβλίο
Ενώ το OCR επιτρέπει την ψηφιοποίηση σε μεγάλη κλίμακα, εισάγει επίσης συστηματικά σφάλματα. Αυτό κατέστησε τη μετα-επεξεργασία και τον καθαρισμό ένα κρίσιμο βήμα.
👉 https://github.com/eellak/glossAPI
Καθαρισμός και Κανονικοποίηση Κειμένου
Το ακατέργαστο αποτέλεσμα του OCR περιείχε χιλιάδες σφάλματα αναγνώρισης και κωδικοποίησης. Σχεδιάσαμε μια αυτοματοποιημένη ροή εργασιών καθαρισμού για να βελτιώσουμε την ποιότητα του κειμένου διατηρώντας παράλληλα τη γλωσσική ακεραιότητα.
Στατιστικά του Dataset
- Συνολικά βιβλία που επεξεργάστηκαν: 4.063
- Τελικά καθαρά βιβλία: 3.719
- Αρχεία που αφαιρέθηκαν λόγω σοβαρής αλλοίωσης: 344
- Διορθωμένα σφάλματα σίγμα: 224.000+
- Διορθωμένα προβλήματα κωδικοποίησης (Σ → ): ~39.000
- Placeholders που αφαιρέθηκαν: ~97.800
- Τυποποιημένες αναφορές θερμοκρασίας: 129
- Συνηθισμένα τυπογραφικά λάθη OCR: δεκάδες επαναλαμβανόμενα μοτίβα
Αυτά τα νούμερα υπογραμμίζουν την κλίμακα του “θορύβου” που εισάγει το OCR και τη σημασία της συστηματικής μετα-επεξεργασίας.
Προβλήματα που εντοπίστηκαν και επιλύθηκαν
1. Εσφαλμένη Αναγνώριση Χαρακτήρων
Το OCR συχνά μπέρδευε οπτικά παρόμοιους χαρακτήρες, όπως το λατινικό “o” με το ελληνικό “ο”. Τα διορθώσαμε αυτόματα χρησιμοποιώντας ανάλυση συμφραζομένων: εάν ένας λατινικός χαρακτήρας εμφανιζόταν μέσα σε μια ελληνική λέξη, αντικαθιστόταν από το σωστό ελληνικό γράμμα.
2. Διόρθωση του Ελληνικού Σίγμα
Το OCR συχνά μπέρδευε το “σ” (εντός λέξης) με το “ς” (λήγον). Διορθώσαμε πάνω από 224.000 τέτοια σφάλματα.
3. Μορφοποίηση Θερμοκρασίας (Βιβλία Μαγειρικής)
Στις συνταγές, το OCR αλλοίωνε τις θερμοκρασίες (π.χ. 1800C αντί για 180°C). Εντοπίσαμε και τυποποιήσαμε 129 τέτοιες αναφορές στη σωστή μορφή.
4. Κωδικοποίηση Ειδικών Χαρακτήρων
Ορισμένοι χαρακτήρες είχαν αντικατασταθεί από σπάνια σύμβολα Unicode, όπως το απαρχαιωμένο “” αντί για το “Σ”. Διορθώσαμε περίπου 39.000 τέτοια σφάλματα encoding.
5. Προβληματικοί Μη-Κειμενικοί Χαρακτήρες
- Χαρακτήρες Ελέγχου (Control Characters): Παλιές εντολές εκτυπωτών που “σπάνε” την επεξεργασία του κειμένου.
- Placeholders (PUA): Σύμβολα που χρησιμοποιεί το OCR για “άγνωστους” χαρακτήρες (π.χ. ▯ ή ?). Αφαιρέσαμε περίπου 97.800 τέτοια στοιχεία.
6. Κατάλοιπα Μορφοποίησης (Formatting Artifacts)
Αφαιρέσαμε στοιχεία που δεν ανήκαν στο περιεχόμενο, όπως αριθμητές σελίδων (1 / 9) και κατάλοιπα από τη διάταξη των PDF.
7. Ποιοτικός Έλεγχος (Quality Control)
Αφαιρέσαμε 344 αρχεία που ήταν πέρα από κάθε δυνατότητα διόρθωσης για να διασφαλίσουμε την αξιοπιστία του τελικού dataset.
Τελικό Dataset
Το αποτέλεσμα είναι 3.719 ελληνικά βιβλία υψηλής ποιότητας σε καθαρή μορφή UTF-8, έτοιμα για έρευνα. Το dataset είναι κατάλληλο για:
- Εκπαίδευση μοντέλων NLP (Language modeling)
- Ψηφιακές ανθρωπιστικές επιστήμες (Digital humanities)
- Πολιτισμική ανάλυση (Cultural analytics)
- Συστήματα αναζήτησης και ανάκτησης πληροφοριών
Δημοσίευση και Αδειοδότηση
Το dataset θα δημοσιευτεί μέσω του Mozilla Data Collective, διασφαλίζοντας ανοιχτή πρόσβαση, διαφανή αδειοδότηση και μακροπρόθεσμη διαθεσιμότητα. Σεβόμαστε τους όρους των αρχικών πηγών από το Openbook.gr και παρέχουμε πλήρη αναφορά πηγής (source attribution).
👉 datacollective.mozillafoundation.org/datasets
Γιατί αυτό έχει σημασία
Τα Ελληνικά παραμένουν μια γλώσσα με περιορισμένους πόρους (low-resource) στον τομέα του NLP. Με τη διάθεση υψηλής ποιότητας corpora:
- Οι ερευνητές αποκτούν καλύτερα δεδομένα εκπαίδευσης.
- Οι προγραμματιστές μπορούν να δημιουργήσουν ισχυρότερα μοντέλα.
- Η πολιτιστική κληρονομιά γίνεται υπολογιστικά προσβάσιμη.
Αυτό το έργο συμβάλλει στην ελληνική ψηφιακή κυριαρχία και στα ανοιχτά οικοσυστήματα AI.
Εργαλεία και Υποδομή
Χρησιμοποιήθηκαν το GlossAPI pipeline, OCR processing, προσαρμοσμένα Python scripts καθαρισμού και αυτοματοποιημένοι ποιοτικοί έλεγχοι (QA checks).
👉 https://github.com/eellak/glossAPI
Lessons Learned (Τι μάθαμε)
Η εργασία με μεγάλης κλίμακας κείμενα που προέρχονται από OCR ανέδειξε αρκετά σημαντικά συμπεράσματα:
- Η ποιότητα του OCR διαφέρει δραματικά ανάλογα με την ανάλυση της σάρωσης, τη γραμματοσειρά και τη διάταξη της σελίδας. Ακόμη και βιβλία από την ίδια πηγή μπορεί να παρουσιάζουν σημαντικές διαφορές στην ποιότητα του κειμένου.
- Η ελληνική γλώσσα παρουσιάζει ιδιαίτερες προκλήσεις για τα OCR συστήματα, ειδικά με χαρακτήρες που μοιάζουν οπτικά με λατινικά γράμματα (ο/o, α/a) και με τις δύο μορφές του σίγμα (σ/ς). Η γλωσσικά ευαίσθητη μετα-επεξεργασία είναι απαραίτητη.
- Η αυτοματοποίηση είναι ισχυρό εργαλείο αλλά δεν αρκεί από μόνη της. Παρότι τα περισσότερα σφάλματα διορθώθηκαν προγραμματικά, ορισμένα αρχεία ήταν αδύνατο να αποκατασταθούν και απαιτήθηκε αυστηρό φιλτράρισμα ποιότητας.
- Τα συστηματικά σφάλματα επαναλαμβάνονται σε χιλιάδες αρχεία. Μόλις εντοπιστούν, η δημιουργία κανόνων διόρθωσης οδηγεί σε μαζικές βελτιώσεις σε μεγάλη κλίμακα.
- Τα Private Use Area placeholders αποτελούν ένα σοβαρό και κρυφό πρόβλημα. Διαταράσσουν σιωπηλά τα επόμενα στάδια επεξεργασίας των NLP pipelines και πρέπει να αφαιρούνται επιθετικά.
- Το περιεχόμενο συγκεκριμένων θεματικών πεδίων έχει σημασία. Τα βιβλία μαγειρικής εισήγαγαν ιδιαίτερα προβλήματα μορφοποίησης (θερμοκρασίες, μονάδες μέτρησης) που απαιτούσαν ειδική λογική επεξεργασίας.
- Τα ανοιχτά datasets απαιτούν διακυβέρνηση (governance). Ακόμη και όταν το περιεχόμενο είναι ανοιχτά διαθέσιμο, απαιτείται προσεκτική τεκμηρίωση, έλεγχος αδειών και διαφάνεια για υπεύθυνη επαναχρησιμοποίηση.
Αυτά τα συμπεράσματα θα καθοδηγήσουν άμεσα μελλοντικά OCR έργα και βελτιώσεις στο pipeline του GlossAPI.
Επίλογος
Αυτό το έργο δείχνει πώς οι ανοιχτές βιβλιοθήκες και οι υποδομές μπορούν να δημιουργήσουν ισχυρά δημόσια δεδομένα. Προσκαλούμε την κοινότητα να επαναχρησιμοποιήσει και να βελτιώσει αυτό το corpus.