Patent US5276741A successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag