# US 10,373,006 B2 · Method and system for extracting alphanumeric content from noisy image data

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

- Number: US 10,373,006 B2
- Document ID: US10373006B2
- Status: Granted
- Kind: B2
- Application number: 15/491,748
- Filed: 2017-04-19
- Published: 2017-08-03
- Granted: 2019-08-06
- Earliest claimed: 2015-03-30
- Assignees: Open Text Corporation
- Applicants: Open Text Corporation
- Inventors: Guillaume B. Koch; Arnaud G. Flament
- Web page: https://patentgrep.com/patent/US10373006B2

## CPC

- G06V 30/1988: {Graph matching (graphical image representation G06V30/18181)}
- G06F 18/2185: {the supervisor being an automated module, e.g. intelligent oracle}
- G06V 30/224: of printed characters having additional code marks or containing code marks
- G06V 30/414: Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
- G06V 30/10: Character recognition
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In general, embodiments of the technology relate to extracting content from documents. More specifically, embodiments of the technology relate to using fuzzy regular expressions to process content results obtained from one or more documents in order to extract content for these documents. Further, embodiments of the technology enable the format modification of the content after the content has been identified and extracted from the documents.

## Claims

### Claim 1

A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to:
obtain a data model for content of a document;
generate a matching graph using a fuzzy regular expression, wherein the matching graph comprises a matching subgraph node for each component of the fuzzy regular expression;
process the data model using the matching graph to obtain matching results; and
provide the matching results to a user computing system,
wherein processing the data model comprises:
generating an observation graph using the data model; and
determining a best path in the matching graph using observation nodes in the observation graph to transition between states of the matching graph,
wherein at least one matching subgraph node comprises an exact match state and a wildcard state,
wherein the matching graph comprises a plurality of transitions, the plurality of transitions associated with a plurality of weights having various values, the plurality of weights comprising a weight associated with a transition between the wildcard state and the exact match state, the weight associated with the transition between the wildcard state and the exact match state determined based on a transition type of the transition between the wildcard state and the exact match state.

### Claim 2 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein:
the data model comprises a data model node for each element of an image portion represented in optical character recognition (OCR) results, the data model node for an element of the image portion comprising one or more hypotheses for the element of the image portion; and
the observation graph includes an observation node for each of the one or more hypotheses for each element of the image portion.

### Claim 3 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein the computer readable program code is executable to:
associate the transition between the wildcard state and the exact match state with a first weight for an insertion transition; and
associate the transition between the wildcard state and the exact match state with a second weight for a substitution transition.

### Claim 4 (depends on 3)

The non-transitory computer readable medium of claim 3, wherein the computer readable program code is executable to:
associate an exact match transition in the matching graph with a third weight; and
associate a trash state transition with a fourth weight.

### Claim 5 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein each of the plurality of weights is determined using a matching threshold.

### Claim 6 (depends on 1)

The non-transitory computer readable medium of claim 1, wherein providing the matching results to the user computing system comprises modifying a partial match of the fuzzy regular expression to obtain a modified matching result and returning the modified matching result to the user computing system.

### Claim 7

A method comprising:
obtaining, by a computer processor, optical character recognition (OCR) results;
processing, by the computer processor, the OCR results using a matching graph to determine matching results, the matching graph comprising:
a plurality of transitions between a plurality of states, the plurality of transitions associated with a plurality of weights having various values, the plurality of weights including a weight associated with a transition between a wildcard state and an exact match state determined based on a transition type of the transition between the wildcard state and the exact match state, wherein processing the OCR results using the matching graph comprises determining a best path in the matching graph; and
providing the matching results to a user computing system.

### Claim 8 (depends on 7)

The method of claim 7, wherein processing the OCR results comprises:
generating, by the computer processor, an observation graph using the OCR results, wherein determining the best path in the matching graph comprises determining the best path using observation nodes in the observation graph to transition between states of the matching graph, wherein the observation graph comprises an observation graph node for each element of an image portion represented in the OCR results.

### Claim 9 (depends on 7)

The method of claim 7, wherein the matching graph comprises a matching subgraph node for each component of a fuzzy regular expression, at least one matching subgraph node comprising the exact match state and the wildcard state.

### Claim 10 (depends on 9)

The method of claim 9, wherein the matching graph comprises a trash state.

### Claim 11 (depends on 7)

The method of claim 7, wherein the weight associated with the transition between the wildcard state and the exact match state is selected from a group consisting of a weight for an insertion transition and a weight for a substitution transition, wherein the weight for the insertion transition and the weight for the substitution transition are different weights.

### Claim 12 (depends on 7)

The method of claim 7, wherein each of the plurality of weights is determined using a matching threshold.

### Claim 13 (depends on 7)

The method of claim 7, wherein providing the matching results to the user computing system comprises modifying a partial match of fuzzy regular expression to obtain a modified matching result, wherein the modified matching result is provided to the user computing system.

### Claim 14

A system comprising:
a computer processor;
a non-transitory computer readable medium coupled to the computer processor, the non-transitory computer readable medium comprising computer readable program code executable by the computer processor to:
obtain optical character recognition (OCR) results;
process the OCR results using a matching graph to obtain matching results, the matching graph comprising a plurality of transitions between a plurality of states, the plurality of transitions associated with a plurality of weights having various values, the plurality of weights including a weight associated with a transition between a wildcard state and an exact match state determined based on a transition type of the transition between the wildcard state and the exact match state, wherein processing the OCR results using the matching graph comprises determining a best path in the matching graph; and
provide the matching results to a user computing system.

### Claim 15 (depends on 14)

The system of claim 14, wherein the computer readable program code is executable to:
generate an observation graph using the OCR results; and
determine the best path in the matching graph using observation nodes in the observation graph to transition between states of the matching graph, wherein the observation graph comprises an observation graph node for each element of an image portion represented in the OCR results.

### Claim 16 (depends on 14)

The system of claim 14, wherein the matching graph comprises a matching subgraph node for each component of a fuzzy regular expression, at least one matching subgraph node comprising the exact match state and the wildcard state.

### Claim 17 (depends on 14)

The system of claim 14, wherein the matching graph comprises a trash state.

### Claim 18 (depends on 14)

The system of claim 14, wherein the computer readable program code is executable to:
associate an insertion transition in the matching graph with a first weight; and
associate a substitution transition in the matching graph with a second weight.

### Claim 19 (depends on 18)

The system of claim 18, wherein the computer readable program code is executable to:
associate an exact match transition in the matching graph with a third weight; and
associate a trash state transition with a fourth weight.

### Claim 20 (depends on 14)

The system of claim 14, wherein each of the plurality of weights is determined using a matching threshold.

### Claim 21 (depends on 14)

The system of claim 14, wherein the computer readable program code is executable to modify a partial match of a fuzzy regular expression to obtain a modified matching result and return the modified matching result to the user computing system.
