# US 12,118,813 B2 · Continuous learning for document processing and analysis

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,118,813 B2
- Document ID: US12118813B2
- Status: Granted
- Kind: B2
- Application number: 17/518,191
- Filed: 2021-11-03
- Published: 2023-05-04
- Granted: 2024-10-15
- Earliest claimed: 2021-11-03
- Assignees: ABBYY Development LLC
- Applicants: ABBYY Development Inc.
- Inventors: Stanislav Semenov
- Web page: https://patentgrep.com/patent/US12118813B2

## CPC

- G06V 30/41: Analysis of document content (recognition of printed characters based on code marks G06V30/224)
- G06F 40/103: Formatting, i.e. changing of presentation of documents (automatic justification G06F40/189; automatic line break hyphenation G06F40/191)
- G06F 40/174: Form filling; Merging
- G06N 3/045: Combinations of networks
- G06N 3/048: Activation functions
- G06N 3/08: Learning methods
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06V 30/153: {using recognition of characters or words}
- G06V 30/19107: {Clustering techniques}
- G06V 30/416: Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
- G06V 30/19127: {Extracting features by transforming the feature space, e.g. multidimensional scaling; Mappings, e.g. subspace methods}
- G06V 30/19173: {Classification techniques}
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A document processing method includes receiving one or more documents, performing optical character recognition on the one or more documents to detect words comprising symbols in the one or more documents, and determining a encoding value for each of the symbols. It further includes applying a first hash function to each encoding value to generate a first set of hashed symbol values, applying a second hash function to each hashed symbol value to generate a vector array including a second set of hashed symbol values, and applying a linear transformation to each value of the second set of hashed symbol values of the vector array. The method also includes applying an irreversible non-linear activation function to the vector array to obtain abstract values associated with the symbols and saving the abstract values to train a neural network to detect fields in an input document.

## Claims

### Claim 1

A method comprising:
receiving, by a processing device, one or more documents;
performing optical character recognition on the one or more documents to detect words comprising symbols in the one or more documents;
determining an encoding value for each of the symbols;
applying a first hash function to each encoding value to generate a first set of hashed symbol values;
applying a second hash function to each hashed symbol value of the first set of hashed symbol values to generate a vector array comprising a second set of hashed symbol values;
applying a linear transformation to each value of the second set of hashed symbol values of the vector array;
applying an irreversible non-linear activation function to the vector array to obtain abstract values associated with the symbols; and
saving the abstract values to train a neural network to detect fields in an input document.

### Claim 2 (depends on 1)

The method of claim 1, further comprising training a neural network to detect fields in the input document using the saved abstract values.

### Claim 3 (depends on 1)

The method of claim 1, wherein the encoding value is a Unicode value.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first hash function is a summation of a whole number and a remainder of a division of the encoding value and the whole number.

### Claim 5 (depends on 1)

The method of claim 1, wherein the vector array encodes information associated with features of the words.

### Claim 6 (depends on 1)

The method of claim 1, wherein the second hash function is different from the first hash function.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first hash function is a universal hash function.

### Claim 8

A system comprising:
a memory;
a processor coupled to the memory, the processor configured to:
receive one or more documents;
perform optical character recognition on the one or more documents to detect words comprising symbols in the one or more documents;
determine a encoding value for each of the symbols;
apply a first hash function to each encoding value to generate a first set of hashed symbol values;
apply a second hash function to each hashed symbol value of the first set of hashed symbol values to generate a vector array comprising a second set of hashed symbol values;
apply a linear transformation to each value of the second set of hashed symbol values of the vector array;
apply an irreversible non-linear activation function to the vector array to obtain abstract values associated with the symbols; and
save, to the memory, the abstract values to train a neural network to detect fields in an input document.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processor is further configured to train a neural network to detect fields in the input document using the saved abstract values.

### Claim 10 (depends on 8)

The system of claim 8, wherein the encoding value is a Unicode value.

### Claim 11 (depends on 8)

The system of claim 8, wherein the first hash function is a summation of a whole number and a remainder of a division of the encoding value and the whole number.

### Claim 12 (depends on 8)

The system of claim 8, wherein the vector array encodes information associated with features of the words.

### Claim 13 (depends on 8)

The system of claim 8, wherein the second hash function is different from the first hash function.

### Claim 14 (depends on 8)

The system of claim 8, wherein the first hash function is a universal hash function.

### Claim 15

A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to:
receive one or more documents;
perform optical character recognition on the one or more documents to detect words comprising symbols in the one or more documents;
determine a encoding value for each of the symbols;
apply a first hash function to each encoding value to generate a first set of hashed symbol values;
apply a second hash function to each hashed symbol value of the first set of hashed symbol values to generate a vector array comprising a second set of hashed symbol values;
apply a linear transformation to each value of the second set of hashed symbol values of the vector array;
apply an irreversible non-linear activation function to the vector array to obtain abstract values associated with the symbols; and
save, to a memory, the abstract values to train a neural network to detect fields in an input document.

### Claim 16 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the instructions further cause the processing device to train a neural network to detect fields in the input document using the saved abstract values.

### Claim 17 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the encoding value is a Unicode value.

### Claim 18 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the first hash function is a summation of a whole number and a remainder of a division of the encoding value and the whole number.

### Claim 19 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the vector array encodes information associated with features of the words.

### Claim 20 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein the second hash function is different from the first hash function.
