Patent US5276741A successfully refreshed from Google Patents.
US5276741A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Fuzzy string matcher
Assignee: Computer Sciences Corp
•
Filing: 1991-05-16
•
Granted: 1994-01-04
•
Expires: 2011-05-16
Abstract
Abstract An apparatus and method useful in correcting character strings misread by a character recognition engine. The misread string is compared to character strings contained in a lexicon of valid character strings and the similarity between the strings measured. The valid strings can be ranked by degree of similarity should further selection be required to determine the appropriate value of the misread character string.
Inventors
- 👤 David B. Aragon
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-28 07:39
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/02; G06F40/00; G06F40/20; G06F40/232; G06F2207/00; G06F2207/02; G06F2207/025
Claims Analysis
Total Claims: 54
Claim 1
Independent Claim
226 words
A method for comparing a test character string to a plurality of valid data strings to identify valid data strings which closely match the test character string, comprising the steps of: (a) subdividing the test character string into sets of N adjacent characters; (b) storing in a first count array a frequency of one set of N adjacent characters in the test string; (c) comparing said frequency to an initial frequency value to obtain an initial holographic distance; (d) repeating step (b) and (c) for all sets of N adjacent characters formed in step (a); (e) subdividing a given valid data string into sets of N adjacent characters; (f) storing in a second count array a frequency of one set of N adjacent characters found in said given valid character string; (g) comparing said frequency of said set of N adjacent characters found in the test character string to said frequency of said given set of N adjacent characters found in said valid character string to obtain an updated holographic distance; (h) repeating steps (f) and (g) for all sets of N adjacent characters formed in step (e); (i) clearing said updated holographic distance to said initial holographic distance and clearing said second count array to an initial value; and (j) repeating steps (e) through (i) inclusive for each of said plurality of valid character strings.
Claim 2
Independent Claim
226 words
A method for comparing a test character string to a plurality of valid data strings to identify valid data strings which closely match the test character string, comprising the steps of: (a) subdividing the test character string into sets of N adjacent characters; (b) storing in a first count array a frequency of one set of N adjacent characters in the test string; (c) comparing said frequency to an initial frequency value to obtain an initial holographic distance; (d) repeating step (b) and (c) for all sets of N adjacent characters formed in step (a); (e) subdividing a given valid data string into sets of N adjacent characters; (f) storing in a second count array a frequency of one set of N adjacent characters found in said given valid character string; (g) comparing said frequency of said set of N adjacent characters found in the test character string to said frequency of said given set of N adjacent characters found in said valid character string to obtain an updated holographic distance; (h) repeating steps (f) and (g) for all sets of N adjacent characters formed in step (e); (i) clearing said updated holographic distance to said initial holographic distance and clearing said second count array to an initial value; and (j) repeating steps (e) through (i) inclusive for each of said plurality of valid character strings.
Claim 3
Dependent Claim
28 words
The method for comparing of claim 1 wherein step (a) and step (e) comprise the step of reading a given set of an adjacent characters into a register.
Claim 4
Dependent Claim
96 words
The method for comparing of claim 1 further comprising the step of storing a current holographic distance and wherein step (g) further comprises the steps of: computing a squared Euclidean distance between said frequency of said given set of N adjacent characters found in the test character string and said frequency of said given set of N adjacent characters found in said valid character string to form a distance update; adding said distance update to said current holographic distance to form said updated holographic distance; and storing said updated holographic distance as said current holographic distance.
Claim 5
Dependent Claim
95 words
The method for comparing of claim 1 further comprising the step of storing a current holographic distance and wherein step (g) further comprises the steps of: computing a Manhattan distance between said frequency of said given set of N adjacent characters found in the test character string and said frequency of said given set of N adjacent characters found in said valid character string to form a distance update; adding said distance update to said current holographic distance to form said updated holographic distance; and storing said updated holographic distance as said current holographic distance.
Claim 6
Dependent Claim
31 words
The method for comparing of claim 1 further comprising the step of selecting a subset of valid character strings as a function of the holographic distances from the test character string.
Claim 7
Independent Claim
335 words
A device for comparing a test character string to a plurality of valid data strings of a lexicon to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in the test character string; a second count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; an arithmetic logic unit for comparing said frequency stored in said first array to said frequency stored in said second array to obtain a distance update and having: (i) a first set of inputs coupled to said first array; (ii) a second set of inputs coupled to said second array; and (iii) an output having m sum bits and a single carry bit; and an accumulator for updating a current holographic distance to obtain an updated holographic distance and having: (i) a lowest order input coupled to an asserted signal; (ii) m inputs coupled to said m sum bits of said arithmetic logic unit; (iii) a most significant bit coupled to said carry bit of said arithmetic logic unit; and (iv) an output.
Claim 8
Independent Claim
335 words
A device for comparing a test character string to a plurality of valid data strings of a lexicon to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in the test character string; a second count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; an arithmetic logic unit for comparing said frequency stored in said first array to said frequency stored in said second array to obtain a distance update and having: (i) a first set of inputs coupled to said first array; (ii) a second set of inputs coupled to said second array; and (iii) an output having m sum bits and a single carry bit; and an accumulator for updating a current holographic distance to obtain an updated holographic distance and having: (i) a lowest order input coupled to an asserted signal; (ii) m inputs coupled to said m sum bits of said arithmetic logic unit; (iii) a most significant bit coupled to said carry bit of said arithmetic logic unit; and (iv) an output.
Claim 9
Dependent Claim
24 words
The device of claim 6 further comprising a means, coupled to said means for adding, for selecting a subset of said valid character strings.
Claim 10
Dependent Claim
13 words
The device of claim 7 wherein said means for selecting comprises a comparator.
Claim 11
Dependent Claim
20 words
The device of claim 6 wherein said first and said second count arrays each comprise a static random access memory.
Claim 12
Dependent Claim
33 words
The device of claim 6 wherein said first and second count arrays each comprise: a plurality of storage elements having a first width; and a plurality of storage elements having a second width.
Claim 13
Dependent Claim
13 words
The device of claim 6 wherein said hashing logic comprises a look-up table.
Claim 14
Dependent Claim
15 words
The device of claim 6 wherein said means for adding comprises a two's complement adder.
Claim 15
Dependent Claim
18 words
The device of claim 6 wherein said first and second count arrays store a plurality of Boolean flags.
Claim 16
Independent Claim
304 words
A device for comparing a test character string to a plurality of valid data strings of a lexicon to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in the test character string; a second count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; an arithmetic logic unit for comparing said frequency stored in said first array to said frequency stored in said second array to obtain a distance update and having: (i) a first set of inputs coupled to said first array; (ii) a second set of inputs coupled to said second array; and (iii) an output having m sum bits and a single carry bit; and an accumulator for updating a current holographic distance to obtain an updated holographic distance and having: (i) a lowest order input coupled to an asserted signal; (ii) m inputs coupled to said m sum bits of said arithmetic logic unit; (iii) a most significant bit coupled to said carry bit of said arithmetic logic unit; and (iv) an output.
Claim 17
Independent Claim
304 words
A device for comparing a test character string to a plurality of valid data strings of a lexicon to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in the test character string; a second count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; an arithmetic logic unit for comparing said frequency stored in said first array to said frequency stored in said second array to obtain a distance update and having: (i) a first set of inputs coupled to said first array; (ii) a second set of inputs coupled to said second array; and (iii) an output having m sum bits and a single carry bit; and an accumulator for updating a current holographic distance to obtain an updated holographic distance and having: (i) a lowest order input coupled to an asserted signal; (ii) m inputs coupled to said m sum bits of said arithmetic logic unit; (iii) a most significant bit coupled to said carry bit of said arithmetic logic unit; and (iv) an output.
Claim 18
Dependent Claim
18 words
The device of claim 14 wherein said first and second count arrays each comprise static random access memory.
Claim 19
Dependent Claim
33 words
The device of claim 14 wherein said first and second count arrays each comprise: a plurality of storage elements having a first width; and a plurality of storage elements having a second width.
Claim 20
Dependent Claim
13 words
The device of claim 14 wherein said accumulator comprises a two's complement adder.
Claim 21
Dependent Claim
13 words
The device of claim 14 wherein said hashing logic comprises a look-up table.
Claim 22
Dependent Claim
22 words
The device of claim 14 further comprising a means, coupled to said accumulator, for selecting a subset of said valid character strings.
Claim 23
Dependent Claim
13 words
The device of claim 19 wherein said means for selecting comprises a comparator.
Claim 24
Independent Claim
307 words
A device for comparing a test character string to a plurality of valid data strings to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to a lexicon and to the test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string read from said lexicon; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; an arithmetic logic unit for comparing said frequency stored in said first array to said frequency stored in said second array to obtain a distance update and having: (i) a first set of inputs coupled to said second array; (ii) a second set of inputs coupled to said second array; and (iii) an output having m sum bits and a single carry bit; a multiplexer, having a first input coupled to said m sum bits of said arithmetic logic unit, a second input coupled to said carry bit of said arithmetic logic unit and m outputs; and an accumulator for updating a current holographic distance to obtain an updated holographic distance and having: (i) a lowest order input coupled to an asserted signal; (ii) m inputs coupled to said m outputs of said multiplexer; (iii) a most significant bit input coupled to said carry bit of said arithmetic logic unit; and (iv) an output.
Claim 25
Independent Claim
307 words
A device for comparing a test character string to a plurality of valid data strings to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to a lexicon and to the test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string read from said lexicon; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; an arithmetic logic unit for comparing said frequency stored in said first array to said frequency stored in said second array to obtain a distance update and having: (i) a first set of inputs coupled to said second array; (ii) a second set of inputs coupled to said second array; and (iii) an output having m sum bits and a single carry bit; a multiplexer, having a first input coupled to said m sum bits of said arithmetic logic unit, a second input coupled to said carry bit of said arithmetic logic unit and m outputs; and an accumulator for updating a current holographic distance to obtain an updated holographic distance and having: (i) a lowest order input coupled to an asserted signal; (ii) m inputs coupled to said m outputs of said multiplexer; (iii) a most significant bit input coupled to said carry bit of said arithmetic logic unit; and (iv) an output.
Claim 26
Dependent Claim
18 words
The device of claim 21 wherein said first and second count arrays each comprise static random access memory.
Claim 27
Dependent Claim
33 words
The device of claim 21 wherein said first and second count arrays each comprise: a plurality of storage elements having a first width; and a plurality of storage elements having a second width.
Claim 28
Dependent Claim
13 words
The device of claim 21 wherein said accumulator comprises a two's complement adder.
Claim 29
Dependent Claim
13 words
The device of claim 21 wherein said hashing logic comprises a look-up table.
Claim 30
Dependent Claim
22 words
The device of claim 21 further comprising a means, coupled to said accumulator, for selecting a subset of said valid character strings.
Claim 31
Dependent Claim
13 words
The device of claim 26 wherein said means for selecting comprises a comparator.
Claim 32
Independent Claim
498 words
A device for comparing a test character string to a plurality of valid data strings of a lexicon to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a first hashing logic circuit, coupled to an output of said set of N registers, for asserting a first count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said first hashing logic circuit, for storing a frequency of said given N-gram in the test character string; a second count array, having an input coupled to an output of said first hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string read from said lexicon; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; means, having an input coupled to said output of said first and second count arrays, for comparing said frequency stored in said first count array and said frequency stored in second count array to obtain a first distance update; means, coupled to an output of said means for comparing, for adding said first distance update to a current holographic distance to obtain a first updated holographic distance; a second hashing logic circuit, coupled to M outputs of said set of N registers, for asserting a second count array address corresponding to the M outputs wherein M<N; a third count array, having an input coupled to an output of said second hashing logic circuit, for storing a frequency of a given M-gram in the test character string; a fourth count array, having an input coupled to an output of said second hashing logic circuit, for storing a frequency of said given M-gram in a given valid character string read from said lexicon; means, coupled to said input of said third and fourth count arrays and to an output of said third and fourth count arrays, for incrementing said frequencies stored in said third and fourth count arrays; means, having an input coupled to said output of said third and fourth count arrays, for comparing said frequency stored in said third count array and said frequency stored in said fourth count array to obtain a second distance update; means, coupled to an output of said means for comparing, for adding said second distance update to a second current holographic distance to obtain a second updated holographic distance; and means, coupled to said means for obtaining a first updated holographic distance and to said means for obtaining a second updated holographic distance, for adding said first updated holographic distance to said second updated holographic distance to obtain a total updated holographic distance.
Claim 33
Independent Claim
498 words
A device for comparing a test character string to a plurality of valid data strings of a lexicon to identify valid data strings which closely match the test character string comprising: a set of N registers, having an input coupled to said lexicon and to said test character string, for inputting a set of N adjacent characters to form a given N-gram; a first hashing logic circuit, coupled to an output of said set of N registers, for asserting a first count array address corresponding to the given N-gram; a first count array, having an input coupled to an output of said first hashing logic circuit, for storing a frequency of said given N-gram in the test character string; a second count array, having an input coupled to an output of said first hashing logic circuit, for storing a frequency of said given N-gram in a given valid character string read from said lexicon; means, coupled to said input of said first and second count arrays and to an output of said first and second count arrays, for incrementing said frequencies stored in said first and second count arrays; means, having an input coupled to said output of said first and second count arrays, for comparing said frequency stored in said first count array and said frequency stored in second count array to obtain a first distance update; means, coupled to an output of said means for comparing, for adding said first distance update to a current holographic distance to obtain a first updated holographic distance; a second hashing logic circuit, coupled to M outputs of said set of N registers, for asserting a second count array address corresponding to the M outputs wherein M<N; a third count array, having an input coupled to an output of said second hashing logic circuit, for storing a frequency of a given M-gram in the test character string; a fourth count array, having an input coupled to an output of said second hashing logic circuit, for storing a frequency of said given M-gram in a given valid character string read from said lexicon; means, coupled to said input of said third and fourth count arrays and to an output of said third and fourth count arrays, for incrementing said frequencies stored in said third and fourth count arrays; means, having an input coupled to said output of said third and fourth count arrays, for comparing said frequency stored in said third count array and said frequency stored in said fourth count array to obtain a second distance update; means, coupled to an output of said means for comparing, for adding said second distance update to a second current holographic distance to obtain a second updated holographic distance; and means, coupled to said means for obtaining a first updated holographic distance and to said means for obtaining a second updated holographic distance, for adding said first updated holographic distance to said second updated holographic distance to obtain a total updated holographic distance.
Claim 34
Dependent Claim
29 words
The device of claim 28 further comprising a means, coupled to said means for obtaining a total updated holographic distance, for selecting a subset of said valid character strings.
Claim 35
Dependent Claim
13 words
The device of claim 29 wherein said means for selecting comprises a comparator.
Claim 36
Dependent Claim
33 words
The device of claim 28 wherein said first and second count arrays each comprise: a plurality of storage elements having a first width; and a plurality of storage elements having a second width.
Claim 37
Dependent Claim
33 words
The device of claim 28 wherein said third and fourth count arrays each comprise: a plurality of storage elements having a first width; and a plurality of storage elements having a second width.
Claim 38
Dependent Claim
17 words
The device of claim 28 wherein said first and said second hashing logic comprise a look-up table.
Claim 39
Dependent Claim
19 words
The device of claim 28 wherein said first and said second count arrays store a plurality of Boolean flags.
Claim 40
Dependent Claim
19 words
The device of claim 28 wherein said third and said fourth count arrays store a plurality of Boolean flags.
Claim 41
Dependent Claim
20 words
The device of claim 28 wherein said means for obtaining a first updated holographic distance comprises a two's complement adder.
Claim 42
Dependent Claim
20 words
The device of claim 28 wherein said means for obtaining a second updated holographic distance comprises a two's complement adder.
Claim 43
Independent Claim
243 words
A system for resolving a character recognition error comprising: a set of N registers, having an input coupled to a lexicon and to a test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit, coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first register array, having an input coupled to an output of said hashing logic circuit, for indicating occurrences of said given N-gram in the test character string; a second register array, having an input coupled to an output of said hashing logic circuit, for indicating occurrences of said given N-gram in a given valid character string read from said lexicon; an increment circuit coupled to said input of said first and second register arrays and to an output of said first and second register arrays for incrementing respective values stored in said first and second register arrays, the values corresponding to frequencies of said given N-gram in the respective character strings; means, having an input coupled to said output of said first and second register arrays, for comparing said frequency stored in said first register array and said frequency stored in said second register array to obtain a distance update; and means, coupled to an output of said means for comparing, for adding said distance update to a current holographic distance to obtain an updated holographic distance.
Claim 44
Independent Claim
243 words
A system for resolving a character recognition error comprising: a set of N registers, having an input coupled to a lexicon and to a test character string, for inputting a set of N adjacent characters to form a given N-gram; a hashing logic circuit, coupled to an output of said set of N registers, for asserting a count array address corresponding to the given N-gram; a first register array, having an input coupled to an output of said hashing logic circuit, for indicating occurrences of said given N-gram in the test character string; a second register array, having an input coupled to an output of said hashing logic circuit, for indicating occurrences of said given N-gram in a given valid character string read from said lexicon; an increment circuit coupled to said input of said first and second register arrays and to an output of said first and second register arrays for incrementing respective values stored in said first and second register arrays, the values corresponding to frequencies of said given N-gram in the respective character strings; means, having an input coupled to said output of said first and second register arrays, for comparing said frequency stored in said first register array and said frequency stored in said second register array to obtain a distance update; and means, coupled to an output of said means for comparing, for adding said distance update to a current holographic distance to obtain an updated holographic distance.
Claim 45
Dependent Claim
24 words
The system of claim 38 further comprising a means, coupled to said means for adding, for selecting a subset of said valid character strings.
Claim 46
Dependent Claim
13 words
The system of claim 39 wherein said means for selecting comprises a comparator.
Claim 47
Dependent Claim
20 words
The system of claim 38 wherein said first and said second register arrays each comprise a static random access memory.
Claim 48
Dependent Claim
33 words
The system of claim 38 wherein said first and second register arrays each comprise: a plurality of storage elements having a first width; and a plurality of storage elements having a second width.
Claim 49
Dependent Claim
13 words
The system of claim 38 wherein said hashing logic comprises a look-up table.
Claim 50
Dependent Claim
15 words
The system of claim 38 wherein said means for adding comprises a two's complement adder.
Claim 51
Dependent Claim
18 words
The system of claim 38 wherein said first and second register arrays store a plurality of Boolean flags.
Claim 52
Dependent Claim
25 words
The method for comparing of claim 5 wherein the subset of valid character strings is within a predetermined holographic distance from the test character string.
Claim 53
Dependent Claim
41 words
The method for comparing of claim 5 wherein the subset of valid character strings includes not more than a predetermined number of the valid character strings, all other valid character strings having equal or greater holographic distances from the test string.
Claim 54
Dependent Claim
13 words
The method for comparing of claim 47 wherein the predetermined number is one.
References Cited (Backward Citations)
US4058795A
Cited
GB1602591A
Cited
EP0031493A1
Cited
US4328561A
Cited
US4418423A
Cited
US4654875A
Cited
US4979227A
Cited
US5062143A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-01-03 | 1997-07-05 | 1998-01-04 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-01-03 | 2001-07-05 | 2002-01-04 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-01-03 | 2005-07-05 | 2006-01-04 | $7700.00 | Window Closed / Lapsed |