IP Library Granted Patent US 8,706,728
Granted Patent B2
US 8,706,728 · App. 12/894,558 · Granted Apr 22, 2014

Calculating reliability scores from word splitting

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 8,706,728
App. No.
12/894,558
Granted
Apr 22, 2014
Kind
B2
Abstract

Systems and methods of the present invention provide for the word splitting and reliability score for an entered character string. A list of keywords may be extracted from the character string entered into a user interface on a client. These keywords may be compared to potential matches in a dictionary database and a reliability score for word splits and keywords strings may be compiled and displayed to the user. The client may also display the reliability score using a plurality of logical groupings within a reliability score process.

Claims (124)

1. A method, comprising:

A) storing, by one or more server computers communicatively coupled to a network, an electronic dictionary comprising one or more dictionary words;

B) receiving, by said one or more server computers, a text string without spaces;

C) identifying, by said one or more server computers, a plurality of keywords comprising a plurality of substrings of said text string;

D) generating, by said one or more server computers, from said text string, one or more keyword strings, each comprising a combination of said plurality of keywords;

E) for each of said one or more keyword strings:

i) identifying by said one or more server computers, within said plurality of keywords, one or more dictionary keywords comprising one or more of said one or more dictionary words;

ii) calculating, by said one or more server computers, a dictionary keyword percentage variable comprising a quotient dividing a quantity of said one or more dictionary keywords by a quantity of said plurality of keywords;

iii) calculating, by said one or more server computers, a dictionary keyword percentage weighting variable by determining a quantity of said one or more keyword strings wherein said dictionary keyword percentage variable comprises a value of 100%;

iv) calculating, by said one or more server computers, a dictionary character percentage variable comprising a quotient dividing a quantity of characters in said one or more dictionary keywords by a quantity of characters in said text string;

v) calculating, by said one or more server computers, a keyword string rank variable comprising a numerical rank assigned to each of said one or more keyword strings according to a quantity of said plurality of keywords within each of said one or more keyword strings; and

vi) calculating, by said one or more server computers, a keyword count uniqueness variable calculated by identifying said one or more keyword strings with an equal number of said plurality of keywords; and

F) calculating, by said one or more server computers, for each of said one or more keyword strings, a reliability score comprising a sum of said dictionary keyword percentage variable, said dictionary keyword percentage weighting variable, said dictionary character percentage variable, said keyword string rank variable and said keyword count uniqueness variable.

2. The method of claim 1 , wherein said dictionary keyword percentage weighting variable is calculated by:

i) determining whether said dictionary keyword percentage variable for each of said one or more keyword strings is 100%;

ii) responsive to a determination that said dictionary keyword percentage variable for at least one of said one or more keyword strings is 100%:

a) generating, by said one or more server computers, a dictionary keyword quantity comprising a quantity of said at least one of said one or more keyword strings wherein said dictionary keyword percentage variable is 100%; and

b) generating, by said one or more server computers, said dictionary keyword percentage weighting variable comprising a quotient dividing 1 by said dictionary keyword quantity; and

iii) responsive to a determination that said dictionary keyword percentage variable for all of said one or more keyword strings is not 100%, generating said dictionary keyword percentage weighting variable comprising a value of 0.

3. The method of claim 1 , wherein said keyword string rank variable is calculated by:

i) calculating, by said one or more server computers, for each of said one or more keyword strings, a keyword quantity comprising a quantity of said plurality of keywords within each of said one or more keyword strings;

ii) assigning, by said one or more server computers, a rank to each of said one or more keyword strings according to said keyword quantity, a lower keyword quantity having a higher rank than a higher keyword quantity; and

iii) calculating, by said one or more server computers, said keyword string rank variable comprising a quotient dividing 1 by said numerical rank.

4. The method of claim 1 , wherein said keyword count uniqueness variable is calculated by:

i) calculating, by said one or more server computers, for each of said one or more keyword strings, a keyword quantity comprising a quantity of said plurality of keywords within each of said one or more keyword strings;

ii) identifying, by said one or more server computers, for each of said one or more keyword strings, a uniqueness quantity comprising a quantity of said one or more keyword strings comprising an equal keyword quantity; and

iii) calculating, by said one or more server computers, said keyword count uniqueness variable comprising a quotient dividing 1 by said uniqueness quantity.

5. The method of claim 1 , wherein:

i) said dictionary keyword percentage variable is multiplied by a first predetermined multiplicand;

ii) said keyword string rank variable is multiplied by a second predetermined multiplicand; and

iii) said sum is divided by a predetermined divisor.

6. The method of claim 1 further comprising the steps of:

i) determining, by said one or more server computers, whether a plurality of said one or more keyword strings comprise an equal reliability score;

ii) responsive to a determination that said plurality of said one or more keyword strings comprise an equal reliability score:

a) determining, by said one or more server computers, a relative usage of each of said plurality of said one or more keyword strings; and

b) identifying one of said one or more keyword strings comprising a highest relative usage; and

iii) assigning said one of said one or more keyword strings a reliability score higher than one or more remaining keyword strings.

7. The method of claim 1 , wherein said generating step D) further comprises the steps of:

i) determining, by said one or more server computers, whether a substring within said text string matches any of said one or more dictionary words;

ii) responsive to a determination that said substring matches any of said one or more dictionary words:

a) identifying, by said one or more server computers, a substring position comprising a range of character positions of said substring within said text string;

b) appending, by said one or more server computers, said substring to a keyword array on said one or more sever computers; and

c) removing, by said one or more server computers, said substring from said text string;

iii) determining, by said one or more server computers, whether said text string comprises a remaining substring;

iv) responsive to a determination that said text string comprises said remaining substring, determining, by said one or more server computers, whether said remaining substring matches any of said one or more dictionary words;

v) responsive to a determination that said remaining substring matches any of said one or more dictionary words, repeating, by said one or more server computers, steps ii) a)-v) for said remaining substring;

vi) responsive to a determination that said remaining substring does not match any of said one or more dictionary words:

a) identifying, by said one or more server computers, said substring position for said remaining substring; and

b) appending, by said one or more server computers, said remaining substring to said keyword array; and

vii) generating, by said one or more server computers, a keyword string comprising said keyword array ordered and parsed according to said substring position of said substring and said remaining substring.

8. The method of claim 7 further comprising the steps of:

i) receiving, by said one or more server computers, said text string without spaces;

ii) setting, by said one or more server computers, a substring length to a number greater than 0;

iii) identifying, by said one or more server computers, one or more substring-length substrings comprising one or more contiguous substrings with a length of said substring length within said text string;

iv) for each of said one or more substring-length substrings:

a) determining, by said one or more server computers, whether one of said one or more substring-length substrings matches any of said one or more dictionary words; and

b) responsive to a determination that said one of said one or more substring-length substrings matches any of said one or more dictionary words, appending, by said one or more server computers, said substring-length substring to a micro dictionary keyword array;

v) determining, by said one or more server computers, whether said substring length is greater than a length of said text string;

vi) responsive to a determination that said substring length is not greater than said length of said text string;

a) incrementing, by said one or more server computers, said substring length by 1; and

b) repeating, by said one or more server computers, steps iii) - vi) b); and

vii) generating, by said one or more server computers, a micro dictionary comprising one or more keywords comprising said one or more substring-length substrings in said micro dictionary keyword array ordered from a highest substring length to a lowest substring length.

9. The method of claim 8 , wherein, for each of said one or more keywords in said micro dictionary:

i) said substring comprises one of said one or more keywords in said micro dictionary; and

ii) steps i)-vii) of claim 7 are repeated by said one or more server computers for said one of said one or more keywords.

10. The method of claim 8 wherein said electronic dictionary comprises said micro dictionary.

11. A method, comprising:

A) storing, by one or more server computers communicatively coupled to a network, an electronic dictionary comprising one or more dictionary words;

B) receiving, by said one or more server computers, a text string without spaces;

C) determining, by said one or more server computers, whether a substring within said text string matches any of said one or more dictionary words;

D) responsive to a determination that said substring matches any of said one or more dictionary words:

i) identifying, by said one or more server computers, a substring position comprising a range of character positions of said substring within said text string;

ii) appending, by said one or more server computers, said substring to a keyword array on said one or more sever computers; and

iii) removing, by said one or more server computers, said substring from said text string;

E) determining, by said one or more server computers, whether said text string comprises a remaining substring;

F) responsive to a determination that said text string comprises said remaining substring, determining, by said one or more server computers, whether said remaining substring matches any of said one or more dictionary words;

G) responsive to a determination that said remaining substring matches any of said one or more dictionary words, repeating, by said one or more server computers, steps i)-iv) for said remaining substring

i) place the remaining substring in a temporary string;

ii) identifying, by said one or more server computers, a remaining substring position comprising a range of character positions of said remaining substring within said text string;

iii) appending, by said one or more server computers, said remaining substring to said keyword array on said one or more sever computers; and

iv) removing, by said one or more server computers, said remaining substring from said temporary string;

H) responsive to a determination that said remaining substring does not match any of said one or more dictionary words:

i) identifying, by said one or more server computers, said remaining substring position for said remaining substring; and

ii) appending, by said one or more server computers, said remaining substring to said keyword array;

I) generating, by said one or more server computers, a keyword string comprising said keyword array ordered and parsed according to said substring position of said substring and said remaining substring position of said remaining substring; and

J) transmitting, by said one or more server computers, said keyword string to a client computer communicatively coupled to said network.

12. The method of claim 11 further comprising the steps of:

i) receiving, by said one or more server computers, said text string without spaces;

ii) setting, by said one or more server computers, a substring length to a number greater than 0;

iii) identifying, by said one or more server computers, one or more substring-length substrings comprising one or more contiguous substrings with a length of said substring length within said text string;

iv) for each of said one or more substring-length substrings:

a) determining, by said one or more server computers, whether one of said one or more substring-length substrings matches any of said one or more dictionary words; and

b) responsive to a determination that said one of said one or more substring-length substrings matches any of said one or more dictionary words, appending, by said one or more server computers, said substring-length substring to a micro dictionary keyword array;

v) determining, by said one or more server computers, whether said substring length is greater than a length of said text string;

vi) responsive to a determination that said substring length is not greater than said length of said text string;

a) incrementing, by said one or more server computers, said substring length by 1; and

b) repeating, by said one or more server computers, steps iii)-vi) b); and

vii) generating, by said one or more server computers, a micro dictionary comprising one or more keywords comprising said one or more substring-length substrings in said micro dictionary keyword array ordered from a highest substring length to a lowest substring length.

13. The method of claim 12 , wherein, for each of said one or more keywords in said micro dictionary:

i) said substring comprises one of said one or more keywords in said micro dictionary; and

ii) steps A)-J) are repeated by said one or more server computers for said one of said one or more keywords.

14. The method of claim 12 wherein said electronic dictionary comprises said micro dictionary.

15. The method of claim 11 wherein said dictionary comprises a dictionary word database.

16. The method of claim 11 , further comprising the step of, prior to generating said keyword string, removing, by said one or more server computers, one or more duplicate substrings or duplicate remaining substrings from said keyword string.

17. The method of claim 11 , further comprising the step of calculating, by said one or more server computers, for said keyword string, a reliability score comprising a sum of:

i) a dictionary keyword percentage variable comprising a quotient dividing a quantity of said one or more dictionary words in said keyword string by a quantity of keywords in said keyword string;

ii) a dictionary keyword percentage weighting variable calculated by determining whether said dictionary keyword percentage variable for said keyword string comprises a value of 100%;

iii) a dictionary character percentage variable comprising a quotient dividing a quantity of characters in said one or more dictionary words in said keyword string by a quantity of characters in said text string;

iv) a keyword string rank variable comprising a numerical rank assigned to said keyword string according to a quantity of said keywords within said keyword string; and

v) a keyword count uniqueness variable calculated by identifying said keyword string as sharing an equal number of said quantity of keywords with one or more keyword strings.

18. The method of claim 17 , wherein said dictionary keyword percentage weighting variable is calculated by:

i) determining whether said dictionary keyword percentage variable for said one or more keyword strings, including said keyword string, is 100%;

ii) responsive to a determination that said dictionary keyword percentage variable for at least one of said one or more keyword strings is 100%:

a) generating, by said one or more server computers, a dictionary keyword quantity comprising a quantity of said at least one of said one or more keyword strings wherein said dictionary keyword percentage variable is 100%; and

b) generating, by said one or more server computers, said dictionary keyword percentage weighting variable comprising a quotient dividing 1 by said dictionary keyword quantity; and

iii) responsive to a determination that said dictionary keyword percentage variable for all of said one or more keyword strings is not 100%, generating said dictionary keyword percentage weighting variable comprising a value of 0.

19. The method of claim 17 , wherein said keyword string rank variable is calculated by:

i) calculating, by said one or more server computers, for said one or more keyword strings, including said keyword string, a keyword quantity comprising a quantity of a plurality of keywords within each of said one or more keyword strings;

ii) assigning, by said one or more server computers, a rank to each of said one or more keyword strings according to said keyword quantity, a lower keyword quantity having a higher rank than a higher keyword quantity; and

iii) calculating, by said one or more server computers, for said keyword string, said keyword string rank variable comprising a quotient dividing 1 by said numerical rank.

20. The method of claim 17 , wherein said keyword count uniqueness variable is calculated by:

i) calculating, by said one or more server computers, for one or more keyword strings, including said keyword string, a keyword quantity comprising a quantity of a plurality of keywords within each of said one or more keyword strings;

ii) identifying, by said one or more server computers, for each of said one or more keyword strings, a uniqueness quantity comprising a quantity of said one or more keyword strings comprising an equal keyword quantity; and

iii) calculating, by said one or more server computers, for said keyword string, said keyword count uniqueness variable comprising a quotient dividing 1 by said uniqueness quantity.

Assignments (4)
NOTICE OF SUCCESSION FOR SECURITY AGREEMENT RECORDED AT REEL/FRAME 027416/0080 Recorded Feb 17, 2023
From: BARCLAYS BANK PLC
To: ROYAL BANK OF CANADA
Reel/Frame 062780/0514 →
SECURITY AGREEMENT Recorded Dec 20, 2011
From: GO DADDY OPERATING COMPANY, LLC
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 027416/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2011
From: THE GO DADDY GROUP, INC.
To: GO DADDY OPERATING COMPANY, LLC
Reel/Frame 027363/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2010
From: NICKS, PAUL; SCHMUCKER, DOUG; BELINA, JEFF; GLICK, GREGORY; LUTWITZE, PATRICK
To: THE GO DADDY GROUP, INC.
Reel/Frame 025070/0122 →