Πώς λειτουργεί η ανάλυση αποδείξεων: Μέσα στον αγωγό OCR του Yomio (AWS + Azure)
Μια τεχνική βαθιά κατάδυση στον αγωγό OCR αποδείξεων του Yomio — πώς το AWS Textract και το Azure Document Intelligence εξάγουν, κανονικοποιούν και κατηγοριοποιούν δεδομένα αποδείξεων σε κλίμακα.
Alex Chen
Product Manager & Personal Finance Advocate
Πώς λειτουργεί η ανάλυση αποδείξεων: Μέσα στον αγωγό OCR του Yomio (AWS + Azure)
Όταν σαρώνετε μια απόδειξη στο Yomio, συμβαίνουν πολλά μεταξύ του πατήματος του κουμπιού κλείστρου και της προβολής της κατηγοριοποιημένης συναλλαγής στον πίνακα εργαλείων σας. Η φωτογραφία της απόδειξής σας ταξιδεύει μέσω ενός πολυσταδιακού αγωγού OCR που εξάγει, κανονικοποιεί και εμπλουτίζει το ακατέργαστο κείμενο σε δομημένα οικονομικά δεδομένα.
Αυτό το άρθρο περιγράφει τι συμβαίνει μέσα σε αυτόν τον αγωγό. Είναι τεχνικό — αλλά είναι επίσης χρήσιμο για την κατανόηση του γιατί ορισμένες αποδείξεις σαρώνονται τέλεια και άλλες χρειάζονται διορθώσεις, και πώς εργαζόμαστε για να κλείσουμε αυτό το κενό.
Βασικά συμπεράσματα
- Το Yomio χρησιμοποιεί τόσο το AWS Textract όσο και το Azure Document Intelligence — αρχιτεκτονική διπλού παρόχου για πλεονασμό και ακρίβεια
- Ο αγωγός έχει 5 στάδια: εισαγωγή, εξαγωγή OCR, κανονικοποίηση, κατηγοριοποίηση, εμπλουτισμός
- Η εξαγωγή γραμμικών στοιχείων είναι το πιο δύσκολο πρόβλημα — οι αποδείξεις δεν έχουν τυπική μορφή
- Η βαθμολογία εμπιστοσύνης επισημαίνει πεδία χαμηλής εμπιστοσύνης για ανθρώπινη αναθεώρηση
- Πολυτροπική υποστήριξη — λαμβάνει εικόνες, PDF και δομημένα δεδομένα
- Τρέχουσα ακρίβεια: 94,7 % εξαγωγή γραμμικών στοιχείων, 99,3 % συνολική καταγραφή
- Χρόνος επεξεργασίας: 2–6 δευτερόλεπτα ανά απόδειξη από τη σάρωση έως την κατηγοριοποιημένη εγγραφή
Επισκόπηση αγωγού
Ο αγωγός OCR έχει πέντε στάδια:
- Εισαγωγή — προεπεξεργασία εικόνας και επικύρωση μορφής
- Εξαγωγή OCR — εξαγωγή κειμένου και δομής μέσω AWS Textract / Azure Document Intelligence
- Κανονικοποίηση — αντιστοίχιση ονόματος εμπόρου, μορφοποίηση ημερομηνίας, ανίχνευση νομίσματος
- Κατηγοριοποίηση — αντιστοίχιση κατηγορίας σε επίπεδο γραμμής και συνολικού ποσού
- Εμπλουτισμός — αναζήτηση γραμμωτού κώδικα, δεδομένα προϊόντος, σύνδεση λογαριασμού χρήστη
Κάθε στάδιο έχει ενσωματωμένες εναλλακτικές. Εάν ένα στάδιο παράγει έξοδο χαμηλής εμπιστοσύνης, ο αγωγός το επισημαίνει αντί να προωθεί κακά δεδομένα.
Στάδιο 1: Εισαγωγή — Προεπεξεργασία εικόνας
Πριν οι μηχανές OCR αγγίξουν την απόδειξη, η εικόνα περνά από προεπεξεργασία:
Κανονικοποίηση μορφής:
- Οι φωτογραφίες αλλάζουν μέγεθος σε μέγιστο 2048px στη μακρύτερη άκρη
- Εφαρμόζεται συμπίεση JPEG (ποιότητα 85 %) για αποδοτικότητα αποθήκευσης
- Οι σελίδες PDF αποδίδονται ως εικόνες στα 300 DPI
Έλεγχοι ποιότητας:
- Ανίχνευση θολότητας — εάν η εικόνα είναι πολύ θολή (διακύμανση Laplacian κάτω από το όριο), ο χρήστης καλείται να την ξανατραβήξει
- Ανίχνευση λοξότητας — αποδείξεις που τραβήχτηκαν σε ακραίες γωνίες διορθώνονται μέσω μετασχηματισμού προοπτικής
- Κανονικοποίηση αντίθεσης — αποδείξεις χαμηλής αντίθεσης (ξεθωριασμένο θερμικό χαρτί) λαμβάνουν προσαρμοστική εξίσωση ιστογράμματος
Υποστήριξη πολλών σελίδων:
- Οι αποδείξεις που είναι μεγαλύτερες από μία σελίδα ανιχνεύονται αυτόματα (δείκτες αλλαγής σελίδας, διπλωμένες άκρες)
- Οι πολυσέλιδες αποδείξεις συρράπτονται σε ένα ενιαίο έγγραφο για επεξεργασία
callout.info
Οι ακατέργαστες φωτογραφίες τηλεφώνου των αποδείξεων είναι εκπληκτικά μεταβλητές. Ο σκοτεινός φωτισμός εστιατορίου, οι τσαλακωμένες αποδείξεις θερμικού χαρτιού από παντοπωλεία και οι αποδείξεις με γραμμές αναδίπλωσης είναι συχνές. Η προεπεξεργασία τα κανονικοποιεί σε μια συνεπή μορφή που και οι δύο μηχανές OCR χειρίζονται καλά. Οι έλεγχοι ποιότητας σε αυτό το στάδιο αποτρέπουν το 3–5 % των σαρώσεων που διαφορετικά θα παρήγαγαν άχρηστα αποτελέσματα.
Στάδιο 2: Εξαγωγή OCR — AWS Textract και Azure Document Intelligence
Αυτός είναι ο πυρήνας του αγωγού. Το Yomio χρησιμοποιεί δύο παρόχους OCR:
AWS Textract:
- Κύριος πάροχος για τυπικές αποδείξεις
- Κορυφαίος στην κατηγορία για εξαγωγή εκτυπωμένου κειμένου
- Receipt API (Expense) ειδικά εκπαιδευμένο σε διατάξεις αποδείξεων
- Ανιχνεύει: όνομα εμπόρου, ημερομηνία συναλλαγής, σύνολο, υποσύνολο, φόρος, γραμμικά στοιχεία, τρόπος πληρωμής
Azure Document Intelligence (Form Recognizer):
- Δευτερεύων πάροχος για αποδείξεις με σύνθετες διατάξεις
- Καλύτερος στην ανίχνευση δομών πινάκων εντός αποδείξεων
- Χρησιμοποιείται ως εναλλακτική όταν οι βαθμολογίες εμπιστοσύνης του Textract είναι κάτω από το όριο
- Καλύτερη ανίχνευση χειρογράφου για χειρόγραφες αποδείξεις
Λογική επιλογής παρόχου:
- Πρωτεύουσα προσπάθεια: AWS Textract
- Εάν η εμπιστοσύνη Textract < 70 % σε βασικά πεδία: εκτελέστε επίσης το Azure Document Intelligence
- Συγκρίνετε εξόδους — επιλέξτε το αποτέλεσμα με την υψηλότερη εμπιστοσύνη για κάθε πεδίο
- Εάν και τα δύο είναι κάτω από το όριο: επισημάνετε την απόδειξη για μη αυτόματη αναθεώρηση
Αυτή η αρχιτεκτονική διπλού παρόχου σημαίνει ότι εάν ένας πάροχος έχει τυφλό σημείο για μια συγκεκριμένη μορφή απόδειξης (σύνηθες με μη αγγλικές αποδείξεις ή ασυνήθιστες διατάξεις), ο άλλος πάροχος μπορεί να αντισταθμίσει.
Τι εξάγει κάθε πάροχος
Και οι δύο πάροχοι εξάγουν παρόμοια πεδία, αλλά με διαφορετικά πλεονεκτήματα:
| Field | Textract Strength | Azure Doc Intel Strength |
|---|---|---|
| Merchant name | High (standard) | High (standard) |
| Transaction date | High | High |
| Total amount | Very high | Very high |
| Line items | High (simple layouts) | High (table layouts) |
| Tax amount | Medium | High |
| Discounts | Medium | High (item-level) |
| Currency detection | High | High |
| Handwriting | Low | Medium |
Στάδιο 3: Κανονικοποίηση — Δημιουργία συνεπών δεδομένων
Η ακατέργαστη έξοδος OCR είναι ακριβής αλλά ακατάστατη. "Starbucks Coffee #4521" και "Starbucks" πρέπει να αναγνωρίζονται ως ο ίδιος έμπορος. "05/08/2026" και "8 Μαΐου 2026" πρέπει να είναι η ίδια ημερομηνία. Αυτό το στάδιο χειρίζεται αυτούς τους μετασχηματισμούς.
Κανονικοποίηση εμπόρου:
- Ασαφής αντιστοίχιση συμβολοσειρών έναντι βάσης δεδομένων εμπόρων (πάνω από 50.000 έμποροι)
- Ομαδοποίηση σε επίπεδο επωνυμίας: "Starbucks Coffee #4521" → "Starbucks"
- Αναγνώριση αλυσίδας: τοπικά franchises αντιστοιχισμένα στη μητρική τους επωνυμία
- Ψευδώνυμα που ορίζονται από τον χρήστη: εάν μετονομάσετε έναν έμπορο μία φορά, το σύστημα το μαθαίνει
Κανονικοποίηση ημερομηνίας:
- Ανιχνεύει τη μορφή ημερομηνίας από την απόδειξη (ΗΠΑ: ΜΜ/ΗΗ/ΕΕΕΕ, ΕΕ: ΗΗ/ΜΜ/ΕΕΕΕ, ISO: ΕΕΕΕ-ΜΜ-ΗΗ)
- Επιλύει την ασάφεια χρησιμοποιώντας το πλαίσιο (μια απόδειξη από Βρετανό έμπορο στις 03/04/2026 → 3 Απριλίου 2026)
- Ανίχνευση ζώνης ώρας από την τοποθεσία του εμπόρου
Κανονικοποίηση νομίσματος:
- Ανίχνευση συμβόλων νομίσματος ($, €, £, ¥, κ.λπ.)
- Ανίχνευση τριγράμματου κωδικού (USD, EUR, GBP)
- Επίλυση ασάφειας ($ μπορεί να είναι USD, CAD, AUD, MXN — επιλύεται μέσω τοποθεσίας εμπόρου)
Επικύρωση ποσού:
- Διασταυρώσεις: υποσύνολο + φόρος = σύνολο; Επαληθεύεται έναντι του αθροίσματος γραμμικών στοιχείων
- Ανίχνευση έκπτωσης: εάν το άθροισμα γραμμικών στοιχείων μείον σύνολο > όριο, εφαρμόστηκε έκπτωση
- Ανίχνευση φιλοδωρήματος (αποδείξεις εστιατορίου): διαφορά μεταξύ υποσυνόλου και συνόλου όταν υπάρχει γραμμή φιλοδωρήματος
Στάδιο 4: Κατηγοριοποίηση — Έξυπνη επισήμανση
Τα εξαγόμενα γραμμικά στοιχεία πρέπει να αντιστοιχιστούν σε κατηγορίες προϋπολογισμού. Αυτό γίνεται μέσω ενός συστήματος δύο επιπέδων:
Επίπεδο 1: Κανόνες βάσει εμπόρου
- Γνωστοί έμποροι έχουν προεπιλεγμένες αντιστοιχίσεις κατηγοριών
- "Kroger" → Παντοπωλεία (προεπιλογή), "Shell" → Μεταφορές (προεπιλογή), "Netflix" → Ψυχαγωγία (προεπιλογή)
- Οι χρήστες μπορούν να παρακάμψουν ανά έμπορο: "Θέλω το Shell να κατηγοριοποιείται ως Μεταφορές"
Επίπεδο 2: Κατηγοριοποίηση τεχνητής νοημοσύνης σε επίπεδο στοιχείου
- Για άγνωστους εμπόρους ή αποδείξεις μικτών κατηγοριών (Target με παντοπωλεία και ηλεκτρονικά)
- Κάθε γραμμικό στοιχείο κατηγοριοποιείται ξεχωριστά βάσει ονόματος προϊόντος, τιμής και ιστορικών δεδομένων
- Οι κατηγορίες περιλαμβάνουν: Παντοπωλεία, Φαγητό, Μεταφορές, Ψώνια, Ψυχαγωγία, Υγεία, Υπηρεσίες κοινής ωφέλειας, Στέγαση, Εκπαίδευση, Προσωπική φροντίδα και 12+ υποκατηγορίες
Η βαθμολογία εμπιστοσύνης κατηγοριοποίησης καθορίζει εάν η αντιστοίχιση είναι αυτόματη ή προτείνεται για αναθεώρηση. Σε εμπιστοσύνη 90 %+, η κατηγορία εφαρμόζεται σιωπηρά. Κάτω από αυτό, επισημαίνεται για επιβεβαίωση από τον χρήστη.
Στάδιο 5: Εμπλουτισμός — Σύνδεση με τον λογαριασμό σας
Το τελικό στάδιο συνδέει την επεξεργασμένη απόδειξη με τον λογαριασμό σας στο Yomio:
- Αντιστοίχιση χρήστη — η απόδειξη συνδέεται με τον λογαριασμό σας (ή οικογενειακή ομάδα εάν η κοινή χρήση είναι ενεργοποιημένη)
- Ενημέρωση αποθέματος — γραμμικά στοιχεία που ταιριάζουν με γνωστά είδη αποθέματος ενεργοποιούν ενημερώσεις ποσότητας (δείτε τη βαθιά κατάδυση αποθέματός μας)
- Ανίχνευση συνδρομής — επαναλαμβανόμενοι έμποροι με τακτικά ποσά επισημαίνονται ως πιθανές συνδρομές
- Επίλυση γραμμωτού κώδικα — οι σαρωμένοι γραμμωτοί κώδικες αντιστοιχίζονται με το Open Food Facts και βάσεις δεδομένων προϊόντων για εμπλουτισμό
- Ενημέρωση σερί — ο καθημερινός μετρητής σερί αυξάνεται
- Ανταμοιβή XP — τα XP σάρωσης πιστώνονται στον λογαριασμό σας
Χρόνος επεξεργασίας και επεκτασιμότητα
- Μέσος χρόνος επεξεργασίας: 2–6 δευτερόλεπτα ανά απόδειξη
- Μέγιστη απόδοση: χιλιάδες αποδείξεις ανά λεπτό (αυτόματη κλιμάκωση βάσει Lambda)
- Αποθήκευση: εικόνες αποδείξεων σε S3, δομημένα δεδομένα σε PostgreSQL
- CDN: εικόνες αποδείξεων εξυπηρετούνται μέσω CDN για γρήγορη ανάκτηση
callout.tip
Οι ίδιοι οι πάροχοι OCR χρειάζονται 1–3 δευτερόλεπτα για την επεξεργασία της απόδειξης. Ο υπόλοιπος χρόνος κατανέμεται μεταξύ προεπεξεργασίας (0,5 δευτ.), κανονικοποίησης (0,3 δευτ.), κατηγοριοποίησης (0,2 δευτ.) και εμπλουτισμού (0,5 δευτ.). Οι πολυσέλιδες αποδείξεις διαρκούν περισσότερο λόγω της επεξεργασίας σελίδα προς σελίδα.
Σημεία αναφοράς ακρίβειας
Μετράμε συνεχώς την ακρίβεια του αγωγού έναντι μιας χειροκίνητα επιμελημένης δοκιμαστικής σειράς 10.000 αποδείξεων:
| Metric | Current Accuracy |
|---|---|
| Total amount capture | 99,3 % |
| Line-item extraction | 94,7 % |
| Merchant detection | 98,1 % |
| Date detection | 99,5 % |
| Category assignment | 92,4 % |
| Currency detection | 99,7 % |
Όπου εξακολουθούν να εμφανίζονται σφάλματα:
- Χειρόγραφες αποδείξεις (30 % χαμηλότερη ακρίβεια από τις εκτυπωμένες)
- Σοβαρά κατεστραμμένο θερμικό χαρτί (ξεθωριασμένο, κατσαρωμένο, σχισμένο)
- Αποδείξεις με μη τυπικές δομές εκπτώσεων (BOGO, εξαργυρώσεις πόντων πιστότητας)
- Μικροτυπωμένοι όροι και προϋποθέσεις (το OCR τα αγνοεί σκόπιμα)
ocrAccuracyEstimator.badge
ocrAccuracyEstimator.title
ocrAccuracyEstimator.subtitle
Μελλοντικές βελτιώσεις
Ο αγωγός βελτιώνεται ενεργά σε τρεις τομείς:
1. Αναγνώριση χειρογράφου. Η τρέχουσα ακρίβεια χειρογράφου είναι το μεγαλύτερο κενό. Εκπαιδεύουμε προσαρμοσμένα μοντέλα σε χειρόγραφο ειδικό για αποδείξεις (ποσά φιλοδωρήματος, χειρόγραφα ονόματα εμπόρων, προσωπικές σημειώσεις σε αποδείξεις).
2. Κάλυψη μορφής αποδείξεων. Οι διεθνείς αποδείξεις έχουν διαφορετικές διατάξεις, φορολογικές δομές και γλώσσες. Επεκτείνουμε τα δεδομένα εκπαίδευσης των παρόχων για να καλύψουμε περισσότερες περιφερειακές μορφές.
3. Προτάσεις διόρθωσης σε πραγματικό χρόνο. Αντί να απαιτείται μη αυτόματη διόρθωση μετά τη σάρωση, η επόμενη έκδοση του αγωγού θα προτείνει διορθώσεις κατά τη ροή σάρωσης — πριν οριστικοποιηθεί η απόδειξη.
Συχνές ερωτήσεις
Δοκιμάστε τον αγωγό OCR
Σαρώστε οποιαδήποτε απόδειξη τώρα και δείτε τον αγωγό σε δράση. Από το κλείστρο έως την κατηγοριοποιημένη εγγραφή σε λιγότερο από 10 δευτερόλεπτα.
Σαρώστε μια απόδειξη δωρεάν