IP Library Granted Patent US 10,127,219
Granted Patent B2
US 10,127,219 · App. 15/374,479 · Granted Nov 13, 2018

System and method for organizing and processing feature based data structures

Inventors: Yang Liu (Hong Kong, HK); Chao Feng (Hong Kong, HK); Cheuk Hang Chiu (Hong Kong, HK); Kangheng Wu (Hong Kong, HK); Zhi Bin Lei (Hong Kong, HK)
Assignee: Hong Kong Applied Science and Technoloy Research Institute Company Limited
G06F17/273G06F17/2735G06F17/2863
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,127,219
App. No.
15/374,479
Granted
Nov 13, 2018
Kind
B2
Abstract

A method for organizing and processing feature based data structures that can be used in linguistic spell checking and auto-correction, comprising: splitting an original dictionary into sub-dictionaries based on different values of a common feature such as high frequency words; receiving an input text that contains errors; determining a sub-dictionary selection feature from the input human-readable text; selecting the sub-dictionary based on the determined sub-dictionary selection feature; executing a first matching in the selected sub-dictionary, wherein a match is found if a similarity between the characters, words, or phrases in proximity of the errors in the input text and a character, word, or phrase in the sub-dictionary is above a threshold; if a unique match is found, the result is returned as an output to correct the errors; otherwise, executing a second matching with a raised threshold, and repeating the second matching until a unique match is found.

Claims (33)

1. A system for organizing and processing feature based data structures in linguistic spell checking and auto-correction, comprising:

a computer processor configured to:

split an original dictionary into two or more sub-dictionaries using an explicit split or an implicit split based on a common feature of high frequency words, wherein each of the sub-dictionaries is smaller in size than the original dictionary and overlapping among the sub-dictionaries is allowed, and wherein contents in each of the sub-dictionaries are organized in a hierarchical tree;

receive an input human-readable text that contains one or more errors;

determine a sub-dictionary selection feature or selection criteria from the input human-readable text;

select the sub-dictionary based on the determined sub-dictionary selection feature or selection criteria;

execute a first matching of one or more characters, words, or phrases in proximity of the errors in the input human-readable text against the characters, words, and phrases in the selected sub-dictionary, wherein a match is found if a similarity between the one or more characters, words, or phrases in proximity of the errors in the input human-readable text and a candidate matching character, word, or phrase in the sub-dictionary is above a threshold of degree of similarity;

if a unique match is found, return the uniquely matching character, word, or phrase from the selected sub-dictionary as an output to correct the errors;

otherwise if more than one candidate matches are found, execute a second matching of one or more characters, words, or phrases in proximity of the errors in the input human-readable text against the character, word, and phrase in the selected sub-dictionary with the threshold of degree of similarity raised; and repeat the second matching until a unique match is found and the uniquely matching character, word, or phrase from the selected sub-dictionary is returned as an output to correct the errors.

2. The system of claim 1 , wherein the explicit split comprises:

recognizing the common feature of high frequency words among characters, words, and phrases in the original dictionary; and

splitting the characters, words, and phrases in the original dictionary into the two or more sub-dictionaries according to different values of the recognized common feature of high frequency words.

3. The system of claim 1 , wherein the implicit split comprises:

determining a vector space for each character, word, and phrase in the original dictionary using Unicode values of the character, word, and phrase;

determining a center value of the vector space for the character, word, and phrase in the original dictionary; and

splitting the characters, words, and phrases in the original dictionary into the two or more sub-dictionaries such that each sub-dictionary contains the characters, words, and phrases having their vector-space centers within certain value range.

4. The system of claim 1 , wherein the first matching and the second matching are performed by determining a Unicode difference between the one or more characters, words, or phrases in the proximity of the errors in the input human-readable text and the character, word, and phrase in the selected sub-dictionary under comparison.

5. A method for organizing and processing feature based data structures in linguistic spell checking and auto-correction, comprising:

splitting an original dictionary into two or more sub-dictionaries using an explicit split or an implicit split based on a common feature of high frequency words, wherein each of the sub-dictionaries is smaller in size than the original dictionary and overlapping among the sub-dictionaries is allowed, and wherein contents in each of the sub-dictionaries are organized in a hierarchical tree;

receiving an input human-readable text that contains one or more errors;

determining a sub-dictionary selection feature or selection criteria from the input human-readable text;

selecting the sub-dictionary based on the determined sub-dictionary selection feature or selection criteria;

executing a first matching of one or more characters, words, or phrases in proximity of the errors in the input human-readable text against the characters, words, and phrases in the selected sub-dictionary, wherein a match is found if a similarity between the one or more characters, words, or phrases in proximity of the errors in the input human-readable text and a candidate matching character, word, or phrase in the sub-dictionary is above a threshold of degree of similarity;

if a unique match is found, returning the candidate matching character, word, or phrase from the selected sub-dictionary as an output to correct the errors;

otherwise if more than one candidate matches are found, executing a second matching of one or more characters, words, or phrases in proximity of the errors in the input human-readable text against the character, word, and phrase in the selected sub-dictionary with the threshold of degree of similarity raised; and repeating the second matching until a unique match is found and the uniquely matching character, word, or phrase from the selected sub-dictionary is returned as an output to correct the errors.

6. The method of claim 5 , wherein the explicit split comprises:

recognizing the common feature of high frequency words among characters, words, and phrases in the original dictionary; and

splitting the characters, words, and phrases in the original dictionary into the two or more sub-dictionaries according to different values of the recognized common feature of high frequency words.

7. The method of claim 5 , wherein the implicit split comprises:

determining a vector space for each character, word, and phrase in the original dictionary using Unicode values of the character, word, and phrase;

determining a center value of the vector space for the character, word, and phrase in the original dictionary; and

splitting the characters, words, and phrases in the original dictionary into the two or more sub-dictionaries such that each sub-dictionary contains the characters, words, and phrases having their vector-space centers within certain value range.

8. The method of claim 5 , wherein the first matching and the second matching are performed by determining a Unicode difference between the one or more characters, words, or phrases in the proximity of the errors in the input human-readable text and the character, word, and phrase in the selected sub-dictionary under comparison.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2016
From: LIU, YANG; FENG, CHAO; CHIU, CHEUK HANG; WU, KANGHENG; LEI, ZHI BIN
To: HONG KONG APPLIED SCIENCE AND TECHNOLOGY RESEARCH INSTITUTE COMPANY LIMITED
Reel/Frame 040701/0768 →
Continuity (1)
Related Publication 20180165269A1 · Jun 14, 2018