A parsing technique suitable for use in electronic commerce that avoids the
disadvantages of known monolithic parsers. The parsing system generates
code specific to each input document and data stream type, which may then
be updated as needed to handle document-specific idiosyncrasies without
requiring modifications to the core parser code. As a user (10) defines
parsing rules for extracting data from a representative sample document
(15), a visual trainer (16) automatically generates code in the
background, referred to as a filer (17), that is specific to that document
and that embodies the rules for extracting data from that particular
document. The generated code may be modified manually (18) as needed to
account for any idiosyncratic conditions associated with the document.
Each representative document has associated with it its own filer. A
parsing engine (20, 21) comprises a collection of such individual filers
appropriate for the types of documents that arise in any given
organization. A mapping or other association is maintained between
representative document types and their filers. In regular operation, a
user selects a data set to be extracted from certain documents. When the
parsing engine receives a document in an input data stream, the associated
filer is loaded and parses that document for the selected data set. Then
another filer is loaded in response to another input document, and so on.
The filers may be especially efficiently generated using an
object-oriented approach and then dynamically instantiated at run time as
may be conveniently achieved, for example, in the Java programming
language.
Μια τεχνική ανάλυσης κατάλληλη για τη χρήση στο ηλεκτρονικό εμπόριο που αποφεύγει τα μειονεκτήματα των γνωστών μονολιθικών κατατμητών. Το σύστημα ανάλυσης παράγει τον κώδικα συγκεκριμένο για κάθε τύπο ρευμάτων εγγράφων και στοιχείων εισαγωγής, ο οποίος μπορεί έπειτα να ενημερωθεί όπως απαιτείται για να χειριστεί την έγγραφο-συγκεκριμένη ιδιοσυγκρασία χωρίς απαίτηση των τροποποιήσεων στον κώδικα κατατμητών πυρήνων. Δεδομένου ότι ένας χρήστης (10) καθορίζει τους κανόνες ανάλυσης για τα στοιχεία από ένα αντιπροσωπευτικό έγγραφο δειγμάτων (15), ένας οπτικός εκπαιδευτής (16) αυτόματα παράγει τον κώδικα στο υπόβαθρο, καλούμενο ένας ταξινομητής (17), ο οποίος είναι συγκεκριμένος για εκείνο το έγγραφο και που ενσωματώνει τους κανόνες για τα στοιχεία από εκείνο το ιδιαίτερο έγγραφο. Ο παραγμένος κώδικας μπορεί να τροποποιηθεί με το χέρι (18) όπως απαιτείται για να αποτελέσει οποιουσδήποτε ιδιοσυγκρασιακούς όρους που συνδέονται με το έγγραφο. Κάθε αντιπροσωπευτικό έγγραφο έχει συνδέσει με τον τον ταξινομητή του. Μια μηχανή ανάλυσης (20, 21) περιλαμβάνουν μια συλλογή τέτοιων μεμονωμένων ταξινομητών κατάλληλων για τους τύπους εγγράφων που προκύπτουν σε οποιαδήποτε δεδομένη οργάνωση. Μια χαρτογράφηση ή άλλη ένωση διατηρείται μεταξύ των αντιπροσωπευτικών τύπων εγγράφων και των ταξινομητών τους. Σε κανονική λειτουργία, ένας χρήστης επιλέγει ένα στοιχείο έθεσε για να εξαχθεί από ορισμένα έγγραφα. Όταν η μηχανή ανάλυσης λαμβάνει ένα έγγραφο σε ένα ρεύμα δεδομένων εισόδου, ο σχετικός ταξινομητής φορτώνεται και αναλύει εκείνο το έγγραφο για το επιλεγμένο σύνολο στοιχείων. Κατόπιν ένας άλλος ταξινομητής φορτώνεται σε απάντηση σε ένα άλλο έγγραφο εισαγωγής, και τα λοιπά. Οι ταξινομητές μπορούν ειδικά αποτελεσματικά να παραχθούν χρησιμοποιώντας μια αντικειμενοστρεφή προσέγγιση και έπειτα δυναμικά instantiated στο χρόνο τρεξίματος όπως μπορεί να επιτευχθεί βολικά, παραδείγματος χάριν, στη γλώσσα προγραμματισμού της Ιάβας.