# US 2018/0024978 A1 · Approach For Processing Electronic Documents Using Parsing Templates

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

- Number: US 2018/0024978 A1
- Document ID: US20180024978A1
- Status: Published application
- Kind: A1
- Application number: 15/217,676
- Filed: 2016-07-22
- Published: 2018-01-25
- Earliest claimed: 2016-07-22
- Assignees: Ricoh Company, Ltd.
- Inventors: Kaoru Watanabe
- Web page: https://patentgrep.com/patent/US20180024978A1

## CPC

- G06F 40/174: Form filling; Merging
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 40/143: Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
- G06F 40/186: Templates
- G06F 40/205: Parsing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An approach is provided for processing structured printed documents using parsing templates. A parsing template defines a plurality of data fields and attributes for the data fields. As described in more detail hereinafter, examples of data field attributes include, without limitation, name, type, location, logical entities, constraints, and additional data. Electronic document data is processed using a parsing template to generate processed electronic document data by, for each data field from a plurality of data fields in the parsing template, identifying, in the electronic document data, data that corresponds to the data field, and processing the identified data in the electronic document data based upon the data field attributes for the data field.

## Claims

### Claim 1

An apparatus comprising:
one or more processors, and
one or more memories storing instructions which, when processed by the one or more processors, cause a parsing template manager to:
retrieve source data that includes a plurality of text,
analyze the plurality of text included in the source data to identify a plurality of candidate data fields,
cause the plurality of candidate data fields to be displayed on a graphical user interface,
receive, via the graphical user interface, user input that specifies one or more attributes for one or more candidate data fields from the plurality of candidate data fields,
in response to the user input that specifies one or more attributes for one or more candidate data fields, from the plurality of candidate data fields, generate attribute data that specifies the one or more attributes for one or more candidate data fields from the plurality of candidate data fields,
generate a parsing template that includes data that represents the plurality of candidate data fields and the attribute data that specifies the one or more attributes for one or more candidate data fields from the plurality of candidate data fields.

### Claim 2 (depends on 1)

The apparatus as recited in claim 1, wherein the one or more attributes for one or more candidate data fields include a constraint on a value for a particular candidate data field.

### Claim 3 (depends on 2)

The apparatus as recited in claim 2, wherein the constraint on a value for the particular candidate data field is one or more of: one or more allowed values, one or more prohibited values, or that the value must be a unique value.

### Claim 4 (depends on 1)

The apparatus as recited in claim 1, wherein the one or more attributes for one or more candidate data fields specify that a particular candidate data field is required.

### Claim 5 (depends on 1)

The apparatus as recited in claim 1, wherein the one or more attributes for one or more candidate data fields specify a particular logical group for a particular candidate data field.

### Claim 6 (depends on 1)

The apparatus as recited in claim 1, wherein the one or more attributes for one or more candidate data fields specify a type for a particular candidate data field.

### Claim 7 (depends on 1)

The apparatus as recited in claim 1, wherein the one or more memories store additional instructions which, when processed by the one or more processors, cause the parsing template manager to:
in response to user input that requests a new candidate data field, display on the graphical user interface, a graphical user interface object that represents the new candidate data field,
in response to user input that specifies one or more attributes for the new candidate data field, generate new attribute data that specifies the one or more attributes for the new candidate data field, and adding the new attribute data to the parsing template.

### Claim 8

An apparatus comprising:
one or more processors, and
one or more memories storing instructions which, when processed by the one or more processors, cause:
retrieving electronic document data that represents a printed document;
retrieving parsing template data that:
defines a plurality of data fields, and
defines, for each data field from the plurality of data fields, one or more data field attributes;
generating processed electronic document data by, for each data field from the plurality of data fields in the parsing template data, identifying, in the electronic document data, data that corresponds to the data field, and processing the identified data in the electronic document data based upon the data field attributes for the data field.

### Claim 9 (depends on 8)

The apparatus as recited in claim 8, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify a constraint on a value for the particular data field, and
processing the identified data in the electronic document data based upon the data field attributes for the data field includes ensuring that the identified data in the electronic document data satisfies the constraint on a value for the particular data field.

### Claim 10 (depends on 9)

The apparatus as recited in claim 9, wherein the constraint on a value for the particular data field is one or more of: one or more allowed values, one or more prohibited values, or that the value must be a unique value.

### Claim 11 (depends on 8)

The apparatus as recited in claim 8, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify that the particular data field is required, and
processing the identified data in the electronic document data based upon the data field attributes for the data field includes ensuring that the electronic document data includes data that corresponds to the particular data field.

### Claim 12 (depends on 8)

The apparatus as recited in claim 8, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify a particular logical group for the particular data field, and
generating processed electronic document data includes adding, for data in the electronic document data that corresponds to the particular data field, data that specifies the particular logical group.

### Claim 13 (depends on 8)

The apparatus as recited in claim 8, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify a type for the particular data field, and
generating processed electronic document data includes adding, for data in the electronic document data that corresponds to the particular data field, data that specifies the type.

### Claim 14 (depends on 8)

The apparatus as recited in claim 8, wherein identifying, in the electronic document data, data that corresponds to the data field includes comparing a name for a particular data field to the electronic document data and determining one or more of:
the name for the particular data field matches text contained in the electronic document data, or
a calculated distance between the name for the particular data field and text contained in the electronic document data is within a threshold amount.

### Claim 15

One or more non-transitory computer-readable media storing instructions which, when processed by one or more processors, cause a content parsing engine to:
retrieve electronic document data that represents a printed document;
retrieve parsing template data that:
defines a plurality of data fields, and
defines, for each data field from the plurality of data fields, one or more data field attributes;
generate processed electronic document data by, for each data field from the plurality of data fields in the parsing template data, identifying, in the electronic document data, data that corresponds to the data field, and processing the identified data in the electronic document data based upon the data field attributes for the data field.

### Claim 16 (depends on 15)

The one or more non-transitory computer-readable media as recited in claim 15, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify a constraint on a value for the particular data field, and
processing the identified data in the electronic document data based upon the data field attributes for the data field includes ensuring that the identified data in the electronic document data satisfies the constraint on a value for the particular data field.

### Claim 17 (depends on 16)

The one or more non-transitory computer-readable media as recited in claim 16, wherein the constraint on a value for the particular data field is one or more of: one or more allowed values, one or more prohibited values, or that the value must be a unique value.

### Claim 18 (depends on 15)

The one or more non-transitory computer-readable media as recited in claim 15, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify that the particular data field is required, and
processing the identified data in the electronic document data based upon the data field attributes for the data field includes ensuring that the electronic document data includes data that corresponds to the particular data field.

### Claim 19 (depends on 15)

The one or more non-transitory computer-readable media as recited in claim 15, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify a particular logical group for the particular data field, and
generating processed electronic document data includes adding, for data in the electronic document data that corresponds to the particular data field, data that specifies the particular logical group.

### Claim 20 (depends on 15)

The one or more non-transitory computer-readable media as recited in claim 15, wherein:
the data field attributes for a particular data field, from the plurality of data fields defined by the parsing template data, specify a type for the particular data field, and
generating processed electronic document data includes adding, for data in the electronic document data that corresponds to the particular data field, data that specifies the type.
