Method for identifying entity data in a data set

11790678 · 2023-10-17

Assignee

Inventors

Cpc classification

International classification

Abstract

A data processing system receives a plurality of electronic documents in image format, and extracts text data using an optical character recognition processor. The system determines a plurality of candidate entity data and candidate context data based on the extracted text data using a trained natural language processing closed-domain question answering model. The system accesses n-gram words stored in a knowledge base, and determines similarity scores between each candidate context data and each of the n-gram words. The system determines a weighted average of the similarity scores, and selects an optimum entity data from the plurality of candidate entity data based on the weighted average of the similarity scores.

Claims

1. A computer-implemented method for identifying entity data in a data set, the method comprising the steps of: receiving a data set, extracting text data from the data set using a text extractor, determining a plurality of candidate entity data and candidate context data based on the extracted text data using a trained natural language processing model, accessing one or more n-gram words stored in a knowledge base, determining one or more similarity scores based on the candidate context data and the one or more n-gram words, and selecting an optimum entity data from the plurality of candidate entity data based on the one or more similarity scores, wherein the method comprises the step of training the natural language processing model by: receiving a training data set, extracting training text data from the training data set using the text extractor, determining a plurality of training entity data based on the extracted training text data using an initialisation data set, receiving one or more question data from a user, determining one or more answer data based on the plurality of training entity data and the one or more question data using a second natural language processing model, determining training context data based on the plurality of training entity data and the one or more question data, and training the natural language processing model based on the one or more answer data and the training context data.

2. A method as claimed in claim 1 wherein the text extractor comprises an optical character recognition processor.

3. A method as claimed in claim 1 wherein the trained natural language processing model comprises a closed-domain question answering model.

4. A method as claimed in claim 1 wherein the one or more similarity scores are determined by determining a similarity score between each candidate context data and each of the one or more n-gram words.

5. A method as claimed in claim 1 wherein the method comprises the step of determining a weighted average of the one or more similarity scores, and the optimum entity data is selected based on the weighted average.

6. A method as claimed in claim 1 wherein the method comprises the steps of: modifying the data set based on the optimum entity data, and providing the modified data set to a user.

7. A method as claimed in claim 6 wherein the data set is modified by visual highlighting of the optimum entity data.

8. A method as claimed in claim 1 wherein the method comprises the steps of: receiving feedback data from a user, and modifying at least one of the knowledge base, and the natural language processing model based on the feedback data.

9. A method as claimed in claim 1 wherein the method comprises the steps of: determining a plurality of n-gram words based on the one or more answer data and the training context data using a further natural language processing model, and storing at least some of the n-gram words in the knowledge base.

10. A method as claimed in claim 1 wherein the method comprises the steps of: receiving classification selection data from the user, and identifying a sub-set of the training data set based on the classification selection data.

11. A method as claimed in claim 10 wherein the method comprises the step of determining a classification for each of the sub-set of the training data set based on the extracted training text data using a representation model.

12. A method as claimed in claim 1 wherein the initialisation data set is pre-defined.

13. A method as claimed in claim 1 wherein the second natural language processing model comprises an open-domain question answering model.

14. A method as claimed in claim 1 wherein the method comprises the steps of: providing the one or more answer data to the user, and receiving corrected entity data from the user, wherein the natural language processing model is trained based on the corrected entity data and the training context data.

15. A method as claimed in claim 9 wherein the plurality of n-gram words are determined based on the corrected entity data and the training context data using the further natural language processing model.

16. A method as claimed in claim 1 wherein the data set comprises one or more electronic documents.

17. A method as claimed in claim 16 wherein the one or more electronic documents are received in image format.

18. A data processing system for identifying entity data in a data set, the system comprising a processor configured to: receive a data set, extract text data from the data set using a text extractor, determine a plurality of candidate entity data and candidate context data based on the extracted text data using a trained natural language processing model, access one or more n-gram words stored in a knowledge base, determine one or more similarity scores based on the candidate context data and the one or more n-gram words, and select an optimum entity data from the plurality of candidate entity data based on the one or more similarity scores, wherein the processor is configured to train the natural language processing model, wherein the processor is configured to: receive a training data set, extract training text data from the training data set using the text extractor, determine a plurality of training entity data based on the extracted training text data using an initialisation data set, receive one or more question data from a user, determine one or more answer data based on the plurality of training entity data and the one or more question data using a second natural language processing model, determine training context data based on the plurality of training entity data and the one or more question data, and train the natural language processing model based on the one or more answer data and the training context data.

19. A computer program product stored on a non-transitory computer readable storage medium, the computer program product comprising instructions capable of causing a computer system to perform a method as claimed in claim 1 when the computer program product is executed on the computer system.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Embodiments will be described hereinafter, by way of example only, with reference to the accompanying drawings, in which:

(2) FIG. 1 is a schematic illustration of training of a data processing system according to the described embodiments,

(3) FIG. 2 is a flow chart of steps of a text training pipeline part of training of the data processing system of FIG. 1,

(4) FIG. 3 is a schematic illustration of the text training pipeline of FIG. 2,

(5) FIG. 4 is a flow chart of steps of a segment training pipeline part of training of the data processing system of FIG. 1,

(6) FIG. 5 is a schematic illustration of the segment training pipeline of FIG. 4,

(7) FIG. 6 is a schematic illustration of the data processing system of FIG. 1 in use,

(8) FIG. 7 is a flow chart of steps of a text inference pipeline part of the data processing system of FIG. 6 in use,

(9) FIG. 8 is a schematic illustration of the text inference pipeline of FIG. 7,

(10) FIG. 9 is a flow chart of steps of a segment inference pipeline part of the data processing system of FIG. 6 in use,

(11) FIG. 10 is a schematic illustration of the segment inference pipeline of FIG. 9,

(12) FIG. 11 is a flow chart of steps of an output stage part of the data processing system of FIG. 6 in use,

(13) FIG. 12 is a first page of an example electronic document,

(14) FIG. 13 is a second page of the example electronic document of FIG. 12,

(15) FIG. 14 is a third page of the example electronic document of FIG. 12,

(16) FIG. 15 is the first page of the example electronic document of FIG. 12 with entity data highlighted,

(17) FIG. 16 is the second page of the example electronic document of FIG. 13 with a data segment highlighted, and

(18) FIG. 17 is the third page of the example electronic document of FIG. 14 with entity data and a data segment highlighted.

DETAILED DESCRIPTION

(19) In the drawings like reference numerals refer to like parts.

(20) Referring to the drawings there is illustrated a data processing system 1 according to the described embodiments. Training of the data processing system 1 with a training data set is illustrated in FIGS. 1 to 5, and use of the data processing system 1 with a real-time data set is illustrated in FIGS. 6 to 11.

(21) Training of the data processing system 1 includes a text training pipeline 3 and a segment training pipeline 2 (FIG. 1).

(22) In relation to the text training pipeline 3 illustrated in FIGS. 2 and 3, the system 1 receives a training data set 5 (FIG. 1). In this case the training data set 5 comprises a plurality of electronic documents in image format, such as mortgage documents, legal documents, or accounting documents. The system 1 receives a document classification selection 20 from a user 21, for example by means of a user selecting from a drop-down list displayed on a graphical user interface. The system 1 identifies a sub-set 22 of the electronic documents based on the classification selection. The system 1 extracts text 23 from the sub-set of electronic documents using a text extractor. In this case the text extractor comprises an optical character recognition processor. The system 1 determines a classification 101 for each of the sub-set of electronic documents based on the extracted text using a representation model. In this case the representation model comprises a bag-of-words model.

(23) The system 1 determines a plurality of entity data 24 based on the extracted text and the document classification using an initialisation data set 102. In this case the initialisation data set 102 is pre-defined by an administration user, such as a domain expert. The entities may be for example document title, lender name, loan modification amount, modification date, and the like. The system 1 receives pre-defined question data 25 from the user 21. The system 1 determines pre-annotated answer data 26 based on the entity data and the question data using a second natural language processing model. In this case the second natural language processing model comprises an open-domain question answering model. The system 1 determines context data 27 based on the entity data and the question data.

(24) The system 1 provides the pre-annotated answer data to the user 21, for example by displaying the pre-annotated answer data using a graphical user interface. The system 1 receives corrected entity data 28 from the user 21. The system 1 re-aligns the context data based on the corrected entity data. The system 1 converts the corrected entity data into squad format 29. The system 1 trains a third natural language processing model 30 based on the corrected entity data and the re-aligned context data. In this case the third natural language processing model comprises a closed-domain question answering model. The closed-domain question answering model is trained to subsequently identify entity data in a real-time data set, such as a plurality of electronic documents in image format.

(25) The system 1 determines a plurality of n-gram words 31 based on the corrected entity data and the context data using a fourth natural language processing model. In this case the fourth natural language processing model comprises a context phrase model. The system 1 determines similarity scores 32 based on the context data and each of the n-gram words. The system 1 selects a sub-set 33 of the n-gram words based on the similarity scores. The sub-set of the n-gram words are stored 34 in a knowledge base 4 (FIG. 1). The knowledge base 4 may have a text knowledge base section for storing the sub-set of the n-gram words.

(26) The system 1 provides the sub-set of the n-gram words to the user 21, for example by displaying the sub-set of the n-gram words using a graphical user interface. It will be appreciated that the sub-set of the n-gram words may be communicated to the user 21 in any suitable format. The system 1 receives user feedback data 35. The system 1 updates 36 the knowledge base 4, the third natural language processing closed-domain question answering model, and the fourth natural language processing context phrase model based on the user feedback data.

(27) In relation to the segment training pipeline 2 illustrated in FIGS. 4 and 5, the system 1 receives the training data set 5 (FIG. 1). In this case the training data set 5 comprises a plurality of electronic documents in image format, such as mortgage documents, legal documents, accounting documents, and the like. The system 1 receives the document classification selection 20 from the user 21, for example by means of the user 21 selecting from a drop-down list displayed on a graphical user interface. The system 1 identifies the sub-set 22 of the electronic documents based on the classification selection.

(28) The system 1 identifies segments 41 in each electronic document in the sub-set using an image model. The identified segments may be for example a table, or a signature, or a stamp in the electronic document.

(29) The system 1 receives annotation label data 44 from the user 21. The user 21 may be a domain expert. The annotation label data provides a classification for each identified segment. The system 1 trains an image segmentation model 111 based on the annotation label data.

(30) The image segmentation model may be trained in relation to a first type of data segment, such as a signature in an electronic document. For example a classification for an identified signature segment may be a ‘borrower signature’, or a ‘notary signature’. In this case the image segmentation model may be a signature segmentation model. For each of the first type of signature segments, the system 1 determines associated surrounding text 45 based on the annotation label data.

(31) For each of the first type of signature segments, the system 1 determines a weighting importance factor 46 for each associated surrounding text using a statistical measure technique 47. For example the statistical measure technique 47 may be a distance metric technique, or a fuzzy matching technique. The statistical measure technique 47 determines how closely the associated surrounding text are correlated and how relevant a word in the associated surrounding text is in relation to an electronic document. For each of the first type of signature segments, the system 1 stores 48 the signature segment, the associated surrounding text, and the weighting importance factors in the knowledge base 4 (FIG. 1). The signature segment, the associated surrounding text, and the weighting importance factors stored in the knowledge base 4 minimise the likelihood of any mis-predictions in a subsequent segment inference pipeline 13. The knowledge base 4 may have a signature knowledge base section for storing the signature segment, the associated surrounding text, and the weighting importance factors.

(32) The image segmentation model may be trained in relation to a second type of data segment, such as a stamp in an electronic document. In this case the image segmentation model may be a stamp segmentation model. For each of the second type of stamp segments, the system 1 stores 48 the stamp segment in the knowledge base 4 (FIG. 1). The knowledge base 4 may have a stamp knowledge base section for storing the stamp segment.

(33) The system 1 provides the signature segment, the associated surrounding text, the weighting importance factors, and the stamp segment to the user 21, for example by displaying using a graphical user interface. In response to displaying the signature segment, the associated surrounding text, the weighting importance factors, and the stamp segment, the system 1 receives user feedback data 49. The system 1 updates 50 the data stored in the signature knowledge base section and the stamp knowledge base section based on the user feedback data. The system 1 updates the image segmentation model based on the user feedback data (FIG. 4).

(34) Use of the data processing system 1 to identify entity data in a real-time data set 11 and to identify data segments in the real-time data set 11 includes a text inference pipeline 12, a segment inference pipeline 13, and an output stage 14 (FIG. 6).

(35) In relation to the text inference pipeline 12 illustrated in FIGS. 7 and 8, the system 1 receives the real-time data set 11. In this case the real-time data set 11 comprises a plurality of electronic documents in image format, such as mortgage documents, legal documents, accounting documents. A first page of an example of an electronic document is illustrated in FIG. 12, a second page of the example electronic document is illustrated in FIG. 13, and a third page of the example electronic document is illustrated in FIG. 14. In this case the example electronic document is a legal release document.

(36) The system 1 extracts text data 61 from the real-time data set 11 using a text extractor. In this case the text extractor comprises an optical character recognition processor. The system 1 determines a plurality of candidate entity data and candidate context data 62 based on the extracted text data using the trained third natural language processing closed-domain question answering model 65.

(37) The system 1 accesses the n-gram words stored in the text knowledge base section of the knowledge base 4. The system 1 determines similarity scores 63 between each candidate context data and each of the n-gram words. The system 1 determines a weighted average 66 of the similarity scores. The system 1 selects 67 an optimum entity data from the plurality of candidate entity data based on the weighted average of the similarity scores.

(38) In relation to the segment inference pipeline 13 illustrated in FIGS. 9 and 10, the system 1 receives 70 the real-time data set 11. In this case the real-time data set 11 comprises a plurality of electronic documents in image format, such as mortgage documents, legal documents, accounting documents. The system 1 identifies a plurality of data segments 71 in the real-time data set 11 using the trained image segmentation model 111. The identified data segments may include a first type of data segment such as a signature in an electronic document, and a second type of data segment such as a stamp in an electronic document. The system 1 identifies a sub-set 81 of the data segments based on a pre-defined threshold 72.

(39) The threshold 72 represents the degree of machine confidence.

(40) For each of the signature segments, the system 1 determines associated surrounding text 73 using a text extractor. In this case the text extractor comprises an optical character recognition processor. The associated surrounding text is the text data in proximity in terms of distance to each signature segment. The system 1 accesses first data stored in the signature knowledge base section of the knowledge base 4. The system 1 determines first similarity scores 75 based on the associated surrounding text and the first data accessed from the signature knowledge base section using a natural language processing model. In this case the natural language processing model comprises a statistical measure technique 74. For example the statistical measure technique 74 may be a distance metric technique, or a fuzzy matching technique. The statistical measure technique 74 determines how closely the associated surrounding text are correlated and how relevant a word in the associated surrounding text is in relation to an electronic document.

(41) The system 1 identifies a sub-set of the associated surrounding text based on the first similarity scores. The system 1 selects an optimum signature segment 77 based on a distance metric between each signature segment and each associated surrounding text in the sub-set of associated surrounding text.

(42) For each of the stamp segments, the system 1 extracts text 78 from the stamp segment using a text extractor. The text within the stamp segment is data mined. In this case the text extractor comprises an optical character recognition processor. The system 1 accesses second data stored in the stamp knowledge base section of the knowledge base 4. The system 1 determines second similarity scores 79 based on the extracted text and the second data accessed from the stamp knowledge base section using the statistical measure technique 74. The system 1 selects an optimum stamp segment 80 based on the second similarity scores.

(43) In relation to the output stage 14 illustrated in FIG. 11, the system 1 modifies 90 the electronic document in the real-time data set 11 based on the optimum entity data from the text inference pipeline 12, and based on the optimum signature segment and the optimum stamp segment from the segment inference pipeline 13. For example the electronic document may be modified by visual highlighting of the optimum entity data, the optimum signature segment, and the optimum stamp segment. The system 1 provides the modified electronic document to the user 21, for example by displaying the modified electronic document using a graphical user interface.

(44) An example of a first page of a modified electronic document with three highlighted entity data is illustrated in FIG. 15. The first highlighted entity data is the person ‘Charles Sharma’, the second highlighted entity data is the organisation ‘Altada Technology Solutions Limited’, and the third highlighted entity data is the event ‘Altada Annual Event’.

(45) An example of a second page of the modified electronic document with one highlighted signature segment is illustrated in FIG. 16. The highlighted signature segment is the signature of the person ‘Alison Bob’.

(46) An example of a third page of the modified electronic document with one highlighted signature segment and seven highlighted entity data is illustrated in FIG. 17. The highlighted signature segment is the signature of the person ‘Charles Sharma’. The first highlighted entity data is the date ‘10/03/2022’, the second highlighted entity data is the street address ‘129 Upland Avenue’, the third highlighted entity data is the city address ‘Polk’, the fourth highlighted entity data is the state address ‘Kentucky’, the fifth highlighted entity data is the zip code address ‘49503’, the sixth highlighted entity data is the e-mail address ‘charles@kopiker.com’, and the seventh highlighted entity data is the telephone number ‘098045118’.

(47) The system 1 receives feedback data 91 from the user 21. The system 1 may update 92 the text knowledge base section of the knowledge base 4, and/or the signature knowledge base section of the knowledge base 4, and/or the stamp knowledge base section of the knowledge base 4 based on the user feedback data. The system 1 may update 93 the third natural language processing closed-domain question answering model, and/or the image recognition model, and/or the natural language processing model based on the user feedback data.

(48) In relation to the example modified electronic document illustrated in FIGS. 15 to 17, the text knowledge base section of the knowledge base 4 may be updated with the following:

(49) entity of ‘Assignor’ with the n-gram words and scores:

(50) assignor 0.8

(51) agree 0.7

(52) terms 0.5

(53) entity of ‘Assignee’ with the n-gram words and scores:

(54) allow 0.7

(55) purpose 0.7

(56) entity of ‘Event Name’ with the n-gram words and scores:

(57) participation 0.8

(58) content 0.8

(59) entity of ‘Assignor's Email’ with the n-gram words and scores:

(60) email 0.9

(61) entity of ‘Assignor's Telephone’ with the n-gram words and scores:

(62) telephone 0.9

(63) entity of ‘Assignor's Address’ with the n-gram words and scores:

(64) Address 0.9

(65) entity of ‘Assignor's City’ with the n-gram words and scores:

(66) Address 0.8

(67) entity of ‘Assignor's State’ with the n-gram words and scores:

(68) Address 0.7

(69) entity of ‘Assignor's Zip’ with the n-gram words and scores:

(70) Address 0.6

(71) The signature knowledge base section of the knowledge base 4 may be updated with the

(72) following:

(73) entity of ‘Assignor's signature’ with the n-gram words and scores:

(74) accepted 0.7

(75) agreed 0.8

(76) entity of ‘Assignee's signature’ with the n-gram words and scores:

(77) Yours 0.7

(78) Sincerely 0.8

(79) The data processing system 1 includes the artificial intelligence technologies described above, such as the optical character recognition processor, the natural language processing models, and the image recognition models. The optical character recognition processor has improved object position recognition.

(80) The data processing system 1 is suitable for operation with a plurality of electronic documents in the real-time data set 11, for example up to 20 documents or more, with each electronic document ranging from a hundred to a thousand pages. The data processing system 1 is suitable for operation with a range of types of electronic documents, for example financial services documents such as a mix of commercial loan and mortgage documents, and legal documents such as powers of attorney, declarations, and the like. The data processing system 1 is capable of reviewing complex documents which include blocks of text mixed with tables, signature blocks, stamp blocks, variations of text blocks in different form, and the like. With the data processing system 1, the models are trained to read tables, segments of tables, and the like using the document classifiers described in detail above.

(81) The data processing system 1 may operate with a communications network, such as a cloud-based storage and communication of data.

(82) The embodiments described previously with reference to the accompanying drawings comprise a computer system and/or processes performed by the computer system. However the described embodiments also extend to computer programs, particularly computer programs stored on or in a carrier adapted to bring the described embodiments into practice. The program may be in the form of source code, object code, or a code intermediate source and object code, such as in partially compiled form or in any other form suitable for use in the implementation of the method according to the described embodiments. The carrier may comprise a storage medium such as ROM, such as a CD-ROM, or magnetic recording medium, such as a floppy disk or hard disk. The carrier may be an electrical or optical signal which may be transmitted via an electrical or an optical cable or by radio or other means.

(83) Throughout the description and claims of this specification, the words “comprise” and “contain” and variations of them mean “including but not limited to” and they are not intended to (and do not) exclude other moieties, additives, components, integers or steps. Throughout the description and claims of this specification, the singular encompasses the plural unless the context otherwise requires. In particular, where the indefinite article is used, the specification is to be understood as contemplating plurality as well as singularity, unless the context requires otherwise.

(84) Features, integers, characteristics or groups described in conjunction with a particular aspect, embodiment or example of the described embodiments are to be understood to be applicable to any other aspect, embodiment or example described herein unless incompatible therewith.

(85) All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of the features and/or steps are mutually exclusive. The described embodiments are not restricted to any details of any foregoing embodiments. The described embodiments extend to any novel one, or novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.

(86) The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.