IP Library Granted Patent US 10,565,478
Granted Patent B2
US 10,565,478 · App. 15/625,894 · Granted Feb 18, 2020

Differential classification using multiple neural networks

Inventors: Zhuravlev Aleskey Alekseevich (Yaroslavl, RU); Vladimir Rybkin (Moscow, RU); Anisimovich Konstantin Vladimirovich (Moscow, RU); Davletshin Azat Aydarovich (Republic of Tatarstan, RU)
Assignee: ABBYY PRODUCTION LLC
G06K9/6267G06K9/00442G06N3/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,565,478
App. No.
15/625,894
Granted
Feb 18, 2020
Kind
B2
Abstract

A classification engine stores a plurality of neural networks in memory, where each neural network is trained to recognize a set of confused graphemes from one or more sets of confused graphemes identified in recognition data for a plurality of document images. The classification engine receives an input grapheme image associated with a document image comprising a plurality of graphemes, determines a set of recognition options for the input grapheme image, wherein the set of recognition options comprises a set of target characters that are similar to the input grapheme image, selects a first neural network from the plurality of neural networks, wherein the first neural network is trained to recognize a first set of confused graphemes, and wherein the first set of graphemes comprises at least a portion of the set of recognition options for the input grapheme image, and determines a grapheme class for the input grapheme image using the selected first neural network.

Claims (102)

1. A method comprising:

analyzing a plurality of document images to construct a weighted graph that associates a plurality of pairs of confusing graphemes with a corresponding number of occurrences for each pair;

generating, using the weighted graph, a plurality of sets of confused graphemes based on recognition data for the plurality of document images, wherein each set of confused graphemes from the plurality of sets of confused graphemes comprises a plurality of different graphemes that are graphically similar to each other;

storing a plurality of neural networks in memory, wherein each neural network of the plurality of neural networks is trained to recognize a set of confused graphemes from the plurality of sets of confused graphemes;

receiving an input grapheme image associated with a document image comprising a plurality of grapheme images;

determining a set of recognition options for the input grapheme image, wherein the set of recognition options comprises a set of target characters that are similar to the input grapheme image;

selecting, by a processing device, a first neural network from the plurality of neural networks, wherein the first neural network is trained to recognize a first set of confused graphemes, and wherein the first set of confused graphemes comprises at least a portion of the set of recognition options for the input grapheme image; and

determining a grapheme class for the input grapheme image using the selected first neural network.

2. The method of claim 1 , wherein analyzing the plurality of document images further comprises:

collecting statistical data associated with the recognition data for the plurality of document images;

identifying the plurality of pairs of confusing graphemes using the statistical data, wherein a first pair of confusing graphemes of the plurality of pairs comprises a first grapheme and a second grapheme that are graphically similar; and

selecting a first set of confused graphemes using the weighted graph.

3. The method of claim 2 , wherein selecting the first set of confused graphemes using the weighted graph comprises:

determining a set size for each of the plurality of sets of confused graphemes;

determining a first weighted edge with a greatest weight value;

identifying a first pair of connected nodes that are connected by the first weighted edge;

selecting, for the first set of confused graphemes, the graphemes associated with the first pair of connected nodes; and

responsive to determining that a number of selected graphemes has not met the set size:

identifying an additional node that is connected at least one of the nodes associated with the first pair of connected nodes, and

selecting, for the set of confused graphemes, the grapheme associated with the additional node.

4. The method of claim 1 , further comprising:

training each neural network of the plurality of neural networks to recognize a corresponding set of confused graphemes.

5. The method of claim 1 , wherein determining the set of recognition options for the input grapheme image comprises:

analyzing the input grapheme image using a simple classifier;

determining one or more target characters with characteristics that are similar to the input grapheme image; and

assigning the one or more target characters to the set of recognition options.

6. The method of claim 1 , wherein selecting the first neural network comprises:

comparing the set of recognition options to the plurality of sets of confused graphemes;

determining an intersection between the set of recognition options and each of the plurality of sets of confused graphemes;

selecting a first set of the plurality of sets of confused graphemes, wherein the intersection between the set of recognition options and the first set of confused graphemes is greater than the intersection between the set of recognition options and each of a remaining one or more sets of confused graphemes; and

determining that the first neural network is associated with the first set of the plurality of sets of confused graphemes.

7. The method of claim 6 , wherein determining the intersection further comprises:

ranking a set of recognition options, wherein top recognition options have a highest confidence levels; and

determining the intersection between the first set of confused graphemes and the top recognition options from the ranked set of recognition options.

8. A computing apparatus comprising:

a memory to store instructions; and

a processing device, operatively coupled to the memory, to execute the instructions, wherein the processing device is to:

analyze a plurality of document images to construct a weighted graph that associates a plurality of pairs of confusing graphemes with a corresponding number of occurrences for each pair;

generate, using the weighted graph, a plurality of sets of confused graphemes based on recognition data for the plurality of document images, wherein each set of confused graphemes from the plurality of sets of confused graphemes comprises a plurality of different graphemes that are graphically similar to each other;

store a plurality of neural networks in memory, wherein each neural network of the plurality of neural networks is trained to recognize a set of confused graphemes from the plurality of sets of confused graphemes;

receive an input grapheme image associated with a document image comprising a plurality of grapheme images;

determine a set of recognition options for the input grapheme image, wherein the set of recognition options comprises a set of target characters that are similar to the input grapheme image;

select a first neural network from the plurality of neural networks, wherein the first neural network is trained to recognize a first set of confused graphemes, and wherein the first set of confused graphemes comprises at least a portion of the set of recognition options for the input grapheme image; and

determine a grapheme class for the input grapheme image using the selected first neural network.

9. The computing apparatus of claim 8 , wherein to analyze the plurality of document images, the processing device is further to:

collect statistical data associated with the recognition data for the plurality of document images;

identify the plurality of pairs of confusing graphemes using the statistical data, wherein a first pair of confusing graphemes of the plurality of pairs comprises a first grapheme and a second grapheme that are graphically similar; and

select a first set of confused graphemes using the weighted graph.

10. The computing apparatus of claim 9 , wherein to select the first set of confused graphemes using the weighted graph, the processing device is further to:

determine a set size for each of the plurality of sets of confused graphemes;

determine a first weighted edge with a greatest weight value;

identify a first pair of connected nodes that are connected by the first weighted edge;

select, for the first set of confused graphemes, the graphemes associated with the first pair of connected nodes; and

responsive to determining that a number of selected graphemes has not met the set size:

identify an additional node that is connected at least one of the nodes associated with the first pair of connected nodes, and

select, for the set of confused graphemes, the grapheme associated with the additional node.

11. The computing apparatus of claim 8 , wherein the processing device is further to:

train each neural network of the plurality of neural networks to recognize a corresponding set of confused graphemes.

12. The computing apparatus of claim 8 , wherein to determine the set of recognition options for the input grapheme image, the processing device is further to:

analyze the input grapheme image using a simple classifier;

determine one or more target characters with characteristics that are similar to the input grapheme image; and

assign the one or more target characters to the set of recognition options.

13. The computing apparatus of claim 8 , wherein to select the first neural network, the processing device is further to:

compare the set of recognition options to the plurality of sets of confused graphemes;

determine an intersection between the set of recognition options and each of the plurality of sets of confused graphemes;

select a first set of the plurality of sets of confused graphemes, wherein the intersection between the set of recognition options and the first set of confused graphemes is greater than the intersection between the set of recognition options and each of a remaining one or more sets of confused graphemes; and

determine that the first neural network is associated with the first set of the plurality of sets of confused graphemes.

14. The computing apparatus of claim 13 , wherein to determine the intersection, the processing device is further to:

rank a set of recognition options, wherein top recognition options have a highest confidence levels; and

determine the intersection between the first set of confused graphemes and the top recognition options from the ranked set of recognition options.

15. A non-transitory computer readable storage medium, having instructions stored therein, which when executed by a processing device of a computer system, cause the processing device to perform operations comprising:

analyzing a plurality of document images to construct a weighted graph that associates a plurality of pairs of confusing graphemes with a corresponding number of occurrences for each pair;

generating, using the weighted graph, a plurality of sets of confused graphemes based on recognition data for the plurality of document images, wherein each set of confused graphemes from the plurality of sets of confused graphemes comprises a plurality of different graphemes that are graphically similar to each other;

storing a plurality of neural networks in memory, wherein each neural network of the plurality of neural networks is trained to recognize a set of confused graphemes from the plurality of sets of confused graphemes;

receiving an input grapheme image associated with a document comprising a plurality of graphemes;

determining a set of recognition options for the input grapheme image, wherein the set of recognition options comprises a set of target characters that are similar to the input grapheme image;

selecting, by the processing device, a first neural network from the plurality of neural networks, wherein the first neural network is trained to recognize a first set of confused graphemes, and wherein the first set of confused graphemes comprises at least a portion of the set of recognition options for the input grapheme image; and

determining a grapheme class for the input grapheme image using the selected first neural network.

16. The non-transitory computer readable storage medium of claim 15 , wherein analyzing the plurality of document images further comprises:

collecting statistical data associated with the recognition data for the plurality of document images;

identifying the plurality of pairs of confusing graphemes using the statistical data, wherein a first pair of confusing graphemes of the plurality of pairs comprises a first grapheme and a second grapheme that are graphically similar; and

selecting a first set of confused graphemes using the weighted graph.

17. The non-transitory computer readable storage medium of claim 16 , wherein selecting the first set of confused graphemes using the weighted graph comprises:

determining a set size for each of the plurality of sets of confused graphemes;

determining a first weighted edge with a greatest weight value;

identifying a first pair of connected nodes that are connected by the first weighted edge;

selecting, for the set of confused graphemes, the graphemes associated with the first pair of connected nodes; and

responsive to determining that a number of selected graphemes has not met the set size:

identifying an additional node that is connected at least one of the nodes associated with the first pair of connected nodes, and

selecting, for the set of confused graphemes, the grapheme associated with the additional node.

18. The non-transitory computer readable storage medium of claim 15 , wherein determining the set of recognition options for the input grapheme image comprises:

analyzing the input grapheme image using a simple classifier;

determining one or more target characters with characteristics that are similar to the input grapheme image; and

assigning the one or more target characters to the set of recognition options.

19. The non-transitory computer readable storage medium of claim 15 , wherein selecting the first neural network comprises:

comparing the set of recognition options to the plurality of sets of confused graphemes;

determining an intersection between the set of recognition options and each of the plurality of sets of confused graphemes;

selecting a first set of the plurality of sets of confused graphemes, wherein the intersection between the set of recognition options and the first set of confused graphemes is greater than the intersection between the set of recognition options and each of a remaining one or more sets of confused graphemes; and

determining that the first neural network is associated with the first set of the plurality of sets of confused graphemes.

20. The non-transitory computer readable storage medium of claim 19 , wherein determining the intersection further comprises:

ranking a set of recognition options, wherein top recognition options have a highest confidence levels; and

determining the intersection between the first set of confused graphemes and the top recognition options from the ranked set of recognition options.

Assignments (4)
SECURITY INTEREST Recorded Aug 14, 2023
From: ABBYY INC.; ABBYY USA SOFTWARE HOUSE INC.; ABBYY DEVELOPMENT INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 064730/0964 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2022
From: ABBYY PRODUCTION LLC
To: ABBYY DEVELOPMENT INC.
Reel/Frame 059249/0873 →
MERGER Recorded Dec 31, 2018
From: ABBYY DEVELOPMENT LLC
To: ABBYY PRODUCTION LLC
Reel/Frame 047997/0652 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2017
From: ALEKSEEVICH, ZHURAVLEV ALEKSEY; VLADIMIR, RYBKIN; VLADIMIROVICH, ANISIMOVICH KONSTANTIN; AYDAROVICH, DAVLETSHIN AZAT
To: ABBYY DEVELOPMENT LLC
Reel/Frame 043636/0425 →