← Όλα τα άρθρα

OCR για σαρωμένα PDF πριν από RAG: σωστή προετοιμασία εγγράφων

Πώς μετατρέπονται σαρωμένα PDF σε αξιόπιστη γνώση για εταιρική αναζήτηση και RAG, με layout, πίνακες, confidence scores και ανθρώπινο έλεγχο.

Ένα σαρωμένο PDF μπορεί να ανοίγει κανονικά στην οθόνη και παρ' όλα αυτά να είναι σχεδόν άχρηστο για μια εταιρική μηχανή αναζήτησης ή ένα σύστημα RAG. Για τον άνθρωπο έχει λέξεις, πίνακες και τίτλους. Για το λογισμικό μπορεί να είναι απλώς μια σειρά εικόνων χωρίς αναζητήσιμο κείμενο.

Η λύση δεν είναι να περάσουμε το αρχείο από οποιοδήποτε OCR και να αποθηκεύσουμε ένα μεγάλο κείμενο. Για αξιόπιστες απαντήσεις χρειάζεται pipeline που διατηρεί τη δομή του εγγράφου, εντοπίζει προβλήματα ποιότητας και συνδέει κάθε απόσπασμα με τη σελίδα και την πηγή του.

Γιατί το απλό text extraction δεν αρκεί

Τα ψηφιακά PDF συχνά περιέχουν ήδη layer κειμένου. Τα σαρωμένα PDF αποτελούνται από εικόνες σελίδων και απαιτούν οπτική αναγνώριση χαρακτήρων. Υπάρχουν επίσης υβριδικά αρχεία: μερικές σελίδες έχουν κείμενο, άλλες είναι εικόνες, ενώ σφραγίδες ή χειρόγραφες σημειώσεις εμφανίζονται ως ξεχωριστά οπτικά στοιχεία.

Ακόμη και όταν το OCR αναγνωρίσει σωστά τις λέξεις, μπορεί να χαθεί η σειρά ανάγνωσης. Δύο στήλες ενώνονται, μια κεφαλίδα επαναλαμβάνεται σε κάθε chunk, οι γραμμές ενός πίνακα γίνονται ασύνδετες προτάσεις και μια υποσημείωση συνδέεται με λάθος παράγραφο. Στο RAG, αυτή η απώλεια δομής μετατρέπεται σε κακή ανάκτηση και αδύναμη τεκμηρίωση.

Ένα αξιόπιστο document ingestion pipeline

1. Παραλαβή και έλεγχος αρχείου

Το σύστημα καταγράφει προέλευση, τύπο, μέγεθος, checksum, ημερομηνία και δικαιώματα πρόσβασης. Ελέγχει αν το αρχείο είναι πραγματικό PDF, αν είναι κρυπτογραφημένο, αν έχει υπερβολικά πολλές σελίδες και αν έχει ήδη εισαχθεί. Το checksum βοηθά να αποφεύγονται διπλές επεξεργασίες του ίδιου περιεχομένου.

2. Διάκριση native text και σάρωσης

Δεν χρειάζονται όλες οι σελίδες την ίδια επεξεργασία. Αν υπάρχει αξιόπιστο ενσωματωμένο κείμενο, μπορεί να εξαχθεί απευθείας. Αν η σελίδα είναι εικόνα ή το υπάρχον text layer είναι προβληματικό, ενεργοποιείται OCR. Η απόφαση μπορεί να λαμβάνεται ανά σελίδα και όχι μόνο ανά αρχείο.

3. Προεπεξεργασία εικόνας

Περιστροφή, παραμόρφωση, θόρυβος, χαμηλή αντίθεση, σκιά και κομμένες άκρες μειώνουν την ποιότητα αναγνώρισης. Η προεπεξεργασία μπορεί να περιλαμβάνει deskew, rotation correction, βελτίωση αντίθεσης και κατάλληλη ανάλυση. Δεν πρέπει όμως να αλλοιώνει το πρωτότυπο: το αρχικό αρχείο διατηρείται για έλεγχο και επανεπεξεργασία.

4. OCR με στοιχεία διάταξης

Το χρήσιμο αποτέλεσμα δεν είναι μόνο μια συμβολοσειρά. Χρειαζόμαστε σελίδες, blocks, παραγράφους, γραμμές, bounding boxes και αναγνωρισμένη γλώσσα. Για σύνθετα έγγραφα χρειάζεται αναγνώριση τίτλων, λιστών, πινάκων και σχημάτων.

Η τεκμηρίωση του Google Cloud Document AI εξηγεί ότι ένας layout parser μπορεί να διατηρεί στοιχεία όπως headings, tables, figures και τη σχέση των παραγράφων με τις ενότητές τους. Αυτή η δομή είναι ιδιαίτερα σημαντική όταν το περιεχόμενο προορίζεται για search ή RAG.

5. Ανακατασκευή πινάκων

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

Ένας πρακτικός σχεδιασμός αποθηκεύει παράλληλα τη δομή του πίνακα, μια αναγνώσιμη αναπαράσταση για retrieval και τη θέση του στην αρχική σελίδα. Σε πολυσέλιδους πίνακες χρειάζεται λογική που αναγνωρίζει επαναλαμβανόμενες κεφαλίδες και πιθανές διακοπές.

6. Κανονικοποίηση χωρίς απώλεια αποδεικτικών στοιχείων

Μετά το OCR διορθώνονται ασφαλείς ασυνέπειες, όπως περιττά κενά και σπασμένες λέξεις στο τέλος γραμμής. Δεν πρέπει να «διορθώνονται» σιωπηρά ποσά, κωδικοί, ονόματα ή νομικοί όροι. Κρατάμε τόσο το αρχικό OCR αποτέλεσμα όσο και την κανονικοποιημένη έκδοση, ώστε να υπάρχει δυνατότητα σύγκρισης.

7. Chunking με βάση τη δομή

Το σταθερό κόψιμο ανά συγκεκριμένο αριθμό χαρακτήρων αγνοεί τη σημασιολογική δομή. Προτιμότερο είναι τα chunks να ακολουθούν ενότητες, υποενότητες, παραγράφους και πίνακες, με ελεγχόμενο overlap όπου χρειάζεται.

Κάθε chunk πρέπει να μεταφέρει metadata: αναγνωριστικό εγγράφου, τίτλο ενότητας, αριθμό σελίδας, ημερομηνία έκδοσης, έκδοση, δικαιώματα και σύνδεσμο προς την πηγή. Έτσι η απάντηση μπορεί να παραπέμπει στο πραγματικό σημείο του αρχείου.

Confidence scores και ανθρώπινος έλεγχος

Το OCR είναι πιθανοτική διαδικασία. Η ποιότητα δεν πρέπει να αντιμετωπίζεται ως δυαδικό «πέτυχε ή απέτυχε». Τα confidence scores, τα quality scores και οι ανιχνευμένες ατέλειες μπορούν να οδηγήσουν τη ροή.

Για παράδειγμα, σελίδες με θόλωση, αντανάκλαση, πολύ μικρό κείμενο ή κομμένες άκρες μπορούν να επισημανθούν για νέα σάρωση. Οντότητες χαμηλής βεβαιότητας, όπως ποσά, ΑΦΜ ή αριθμοί σύμβασης, μπορούν να σταλούν σε άνθρωπο πριν περάσουν σε κρίσιμη αυτοματοποίηση.

Το threshold δεν είναι καθολικό. Για εσωτερική αναζήτηση μπορεί να ανεχόμαστε μεγαλύτερη αβεβαιότητα, εφόσον εμφανίζεται η πηγή. Για αυτόματη ενημέρωση ERP ή λογιστική ενέργεια, ο έλεγχος πρέπει να είναι πολύ αυστηρότερος.

Ασφάλεια και δικαιώματα στο RAG

Η εξαγωγή κειμένου δεν καταργεί τα δικαιώματα του αρχικού εγγράφου. Αν ένας χρήστης δεν επιτρέπεται να δει ένα συμβόλαιο, δεν πρέπει να μπορεί να ανακτήσει ούτε chunk ούτε περίληψή του. Τα access controls πρέπει να εφαρμόζονται κατά την εισαγωγή και ξανά κατά την αναζήτηση.

Χρειάζονται επίσης πολιτικές διατήρησης, encryption, καταγραφή πρόσβασης και ασφαλής διαγραφή παραγώγων δεδομένων. Αν αντικατασταθεί ένα έγγραφο με νέα έκδοση, το index πρέπει να ενημερωθεί χωρίς να συνεχίζει να απαντά από παλιό περιεχόμενο.

Πώς αξιολογείται η ποιότητα

Η αξιολόγηση πρέπει να χωρίζεται σε επίπεδα:

  • OCR accuracy σε αντιπροσωπευτικές σελίδες,
  • σωστή σειρά ανάγνωσης και ανακατασκευή πινάκων,
  • ανάκτηση του σωστού chunk για πραγματικές ερωτήσεις,
  • πιστότητα της απάντησης προς τις πηγές,
  • ορθότητα citations και αριθμών σελίδας,
  • τήρηση δικαιωμάτων πρόσβασης,
  • χρόνος και κόστος επεξεργασίας.

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

Πώς το υλοποιεί η Ai Foundry

Στην Ai Foundry αντιμετωπίζουμε την εισαγωγή εγγράφων ως ολοκληρωμένο σύστημα και όχι ως μία κλήση OCR. Σχεδιάζουμε ingestion pipeline με deduplication, επεξεργασία ανά σελίδα, διατήρηση layout, metadata, versioning και δικαιώματα που ακολουθούν το περιεχόμενο μέχρι την ανάκτηση.

Ορίζουμε thresholds και διαδρομές ανθρώπινου ελέγχου ανάλογα με το επιχειρηματικό ρίσκο. Συνδέουμε τα chunks με τη σελίδα προέλευσης, αξιολογούμε το retrieval με πραγματικά ερωτήματα και παρακολουθούμε αποτυχίες ή αρχεία χαμηλής ποιότητας. Η Ai Foundry είναι κατάλληλος συνεργάτης όταν η επιχείρηση χρειάζεται RAG που μπορεί να ελεγχθεί και να συντηρηθεί, όχι απλώς ένα εντυπωσιακό demo πάνω σε λίγα καθαρά PDF.

Πρακτικό checklist

  • Ξεχωρίστε ψηφιακά, σαρωμένα και υβριδικά PDF.
  • Κρατήστε το πρωτότυπο και όλα τα metadata προέλευσης.
  • Αξιολογήστε layout, πίνακες και σειρά ανάγνωσης, όχι μόνο λέξεις.
  • Ορίστε thresholds και ουρά manual review για κρίσιμα πεδία.
  • Κάντε chunking ανά δομή και αποθηκεύστε page references.
  • Εφαρμόστε permissions πριν από κάθε retrieval.
  • Διαχειριστείτε εκδόσεις, διαγραφή και επανεπεξεργασία.
  • Μετρήστε retrieval και citations με πραγματικές ερωτήσεις χρηστών.

Το OCR είναι η είσοδος, όχι το τελικό προϊόν. Η πραγματική αξία προκύπτει όταν ένα ακατάστατο αρχείο μετατρέπεται σε δομημένη, ελέγξιμη και ασφαλή γνώση που το σύστημα μπορεί να ανακτήσει χωρίς να χάνει το πλαίσιο της πηγής.

Πηγές