Dynamic database reordering system
First Claim
1. A computer-implemented process for reordering items in a database to be retrieved for display to a user, comprising the steps of:
- storing a plurality of words in a linguistic database (LDB), said plurality of words ordered in said LDB according to a predefined linguistics frequency of use model;
accepting with a processor user input from a keyboard, said user input comprising at least one keypress;
retrieving any words from said LDB that matches at least one letter corresponding to said at least one keypress;
displaying a list of said retrieved words as ordered in said LDB;
accepting a user-defined word as input by said user;
storing said user-defined word in a user database (UDB);
assigning a frequency count to said user-defined word;
storing said frequency count for said user-defined word in said UDB;
enabling said user to select a word from said displayed list;
assigning a frequency count to every selected word in a non first order position in said displayed list and a frequency count to a first order word, if a non first order word is selected, said frequency count for said non first order selected word being different than said frequency count for said first order non selected word;
storing said frequency count of each word in association with each word in said UDB;
accepting a subsequent user input from a keyboard, said user input comprising at least one keypress;
retrieving any words from said LDB and any user-defined words from said UDB that match at least one letter corresponding to said at least one keypress;
if more than one word from any of said LDB and said UDB is retrieved and at least one retrieved word is associated with a frequency count, dynamically reordering for display said retrieved words as a function of said predefined linguistics frequency of use model and each frequency count associated with any of said retrieved words;
displaying a list of said reordered matching words if more than one word matches said user'"'"'s subsequent input; and
updating a frequency count associated with a word each time a non first order word is selected from a displayed list of matching words.
11 Assignments
0 Petitions
Accused Products
Abstract
A dynamic database reordering system provides a linguistics database that contains words that are ordered according to a linguistics model that dictates the order in which words are presented to a user. While a user enters keystrokes on a keypad of a communications device is pressing keys, the invention predicts the words, letters, numbers, or word stubs that the user is trying to enter. The invention reorders the linguistics model order based on the user'"'"'s usage of the system by tracking the user'"'"'s word selections. Once a word has been selected as a result of a next key selection (the nexted word), a frequency value is applied to the selected word and the word ordered first by the linguistics model in the linguistics database for that key sequence. The frequency value of the nexted word will become greater than the frequency value of the first displayed word upon repeated nexting to the same word. Subsequent user entries of the key sequence for the nexted word and the first ordered word will result in displaying the nexted word before the word ordered first by the linguistics model.
209 Citations
29 Claims
-
1. A computer-implemented process for reordering items in a database to be retrieved for display to a user, comprising the steps of:
-
storing a plurality of words in a linguistic database (LDB), said plurality of words ordered in said LDB according to a predefined linguistics frequency of use model; accepting with a processor user input from a keyboard, said user input comprising at least one keypress; retrieving any words from said LDB that matches at least one letter corresponding to said at least one keypress; displaying a list of said retrieved words as ordered in said LDB; accepting a user-defined word as input by said user; storing said user-defined word in a user database (UDB); assigning a frequency count to said user-defined word; storing said frequency count for said user-defined word in said UDB; enabling said user to select a word from said displayed list; assigning a frequency count to every selected word in a non first order position in said displayed list and a frequency count to a first order word, if a non first order word is selected, said frequency count for said non first order selected word being different than said frequency count for said first order non selected word; storing said frequency count of each word in association with each word in said UDB; accepting a subsequent user input from a keyboard, said user input comprising at least one keypress; retrieving any words from said LDB and any user-defined words from said UDB that match at least one letter corresponding to said at least one keypress; if more than one word from any of said LDB and said UDB is retrieved and at least one retrieved word is associated with a frequency count, dynamically reordering for display said retrieved words as a function of said predefined linguistics frequency of use model and each frequency count associated with any of said retrieved words; displaying a list of said reordered matching words if more than one word matches said user'"'"'s subsequent input; and updating a frequency count associated with a word each time a non first order word is selected from a displayed list of matching words. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-implemented process for reordering items in a database to be retrieved for display to a user, comprising the steps of:
-
storing a plurality of words in a linguistic database (LDB), said plurality of words ordered in said LDB according to a predefined linguistics frequency of use model; accepting with a processor user input from a keyboard, said user input comprising at least one keypress; retrieving any words from said LDB that match at least one letter corresponding to said at least one keypress; displaying a list of said retrieved words as ordered in said LDB; accepting a user-defined word as input by said user; storing said user-defined word in a user database (UDB); assigning a frequency count to said user-defined word; storing said frequency count for said user-defined word in said UDB; enabling said user to select a word from said displayed list; assigning a frequency count to every selected word in a non first order position in said displayed list and a frequency count to a first order word, if a non first order word is selected, said frequency count for said non first order selected word being different than said frequency count, said frequency count for said first order non selected word; storing said frequency count of each word in association with each word in said UDB; storing a frequency count for a first order word from said displayed list if a non first order word is selected from said displayed list, said frequency count for said non selected first order word being lower than said frequency count for said selected non first order word, said frequency count being stored in association with said first order non selected word in said UDB accepting a subsequent user input from a keyboard, said user input comprising at least one keypress; retrieving any words from said LDB and any user-defined words from said UDB that match at least one letter corresponding to said at least one keypress; if more than one word from any of said LDB and said UDB is retrieved and at least one retrieved word is associated with a frequency count, dynamically reordering for display said retrieved words as a function of said predefined linguistics frequency of use model and each frequency count associated with any of said retrieved words; displaying a list of said reordered matching words if more than one word matches said user'"'"'s subsequent input; updating a frequency count associated with a word each time a non first order word is selected from a displayed list of matching words; and periodically aging said frequency counts in said reorder database by reducing said frequency counts by a predetermined factor.
-
-
14. A computer-implemented process for reordering items in a database to be retrieved for display to a user, comprising the steps of:
-
storing a plurality of words in a linguistic database (LDB), said plurality of words ordered in said LDB according to a predefined linguistics frequency of use model; accepting with a processor user input from a keyboard, said user input comprising at least one keypress; retrieving any words from said LDB that matches at least one letter corresponding to said at least one keypress; displaying a list of said retrieved words as ordered in said LDB; accepting a user-defined word as input by said user; storing said user-defined word in a user database (UDB); assigning a frequency count to said user-defined word; storing said frequency count for said user-defined word in said UDB; enabling said user to select a word from said displayed list; assigning a frequency count to every selected word in a non first order position in said displayed list and a frequency count to a first order word, if a non first order word is selected, said frequency count for said non first order selected word being different than said frequency count for said first order non selected word; storing said frequency count of each word and in association with each word in said UDB; accepting a subsequent user input from a keyboard, said user input comprising at least one keypress; retrieving any words from said LDB and any user-defined words from said UDB that match at least one letter corresponding to said at least one keypress; if more than one word from any of said LDB and said UDB is retrieved and at least one retrieved word is associated with a frequency count, dynamically reordering for display said retrieved as a function of said predefined linguistics frequency of use model and each frequency count associated with any of said retrieved words; displaying a list of said reordered matching words if more than one word matches said user'"'"'s subsequent input; updating a frequency count associated with a word each time a non first order word is selected from a displayed list of matching words; and wherein words selected by said user that do not have a possibility of a collision with other words are not assigned a frequency count.
-
-
15. An apparatus for reordering items in a database to be retrieved for display to a user, comprising:
-
a module for accepting user input from a keyboard, said user input comprising at least one keypress; a linguistic database (LDB) containing a plurality of words ordered according to a predefined linguistic frequency of use model; a module for displaying to said user a list of any words in said LDB and any user-defined words in a user database (UDB) that match at least one letter corresponding to said at least one keypress, said words retrieved from any of said LDB and from said UDB; said UDB for storing any user-defined words entered by said user, a frequency count associated with each user-defined word, and a frequency count associated with each word stored in said LOB that was assigned a frequency count by an assigning module; a module for retrieving from any of said LOB and from said UDB a list of any words that match at least one letter corresponding to said at least one keypress of said user'"'"'s input, said words dynamically reordered for display of said retrieved words as a function of said predefined linguistics frequency of use model and each frequency count associated with any of said retrieved words; and said assigning module for assigning a frequency count to every selected word in a non first order position in a list of said retrieved words and assigning a frequency count to a first order word if a word in a non first order position is selected, said frequency count being different for said first order word than said frequency count for said selected non first order word, said assigning module updating a frequency count each time a non first order word is selected from said retrieved list. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. An apparatus for reordering items in a database to be retrieved for display to a user, comprising:
-
a module for accepting user input from a keyboard, said user input comprising at least one keypress; a linguistic database (LDB) containing a plurality of words ordered according to a predefined linguistic frequency of use model; a module for displaying to said user a list of any words in said LDB and any user-defined words in a user database (UDB) that match at least one letter corresponding to said at least one keypress, said words retrieved from any of said LDB and from said UDB; said UDB for storing any user-defined words entered by said user, a frequency count associated with each user-defined word, and a frequency count associated with each word stored in said LDB that was assigned a frequency count by an assigning module; a module for retrieving from any of said LDB and from said UDB a list of any words that match at least one letter corresponding to said at least one keypress of said user'"'"'s input, said words dynamically reordered for display of said retrieved words as a function of said predefined linguistics frequency of use model and each frequency count associated with any of said retrieved words; said assigning module for assigning said a frequency count to every selected word in a non first order position in a list of said retrieved words and assigning a frequency count to a first order word if a word in a non first order position is selected, said frequency count being different for said first order word than said frequency count for said selected non first order word, said assigning module updating a frequency count each time a non first order word is selected from said retrieved list; and a module for periodically aging said frequency counts in said reorder database by reducing said frequency counts by a predetermined factor.
-
-
29. An apparatus for reordering items in a database to be retrieved for display to a user, comprising:
-
a module for accepting user input from a keyboard, said user input comprising at least one keypress; a linguistic database (LDB) containing a plurality of words ordered according to a predefined linguistic frequency of use model; a module for displaying to said user a list of any words in said LDB and any user-defined words in a user database (UDB) that match at least one letter corresponding to said at least one keypress, said words retrieved from any of said LDB and from said UDB; said UDB for storing any user-defined words entered by said user, a frequency count associated with each user-defined word, and a frequency count associated with each word stored in said LDB that was assigned a frequency count by an assigning module; a module for retrieving from any of said LDB and from said UDB a list of any words that match at least one letter corresponding to said at least one keypress of said user'"'"'s input, said words dynamically reordered for display of said retrieved words as a function of said predefined linguistics frequency of use model and each frequency count associated with any of said retrieved words; and said assigning module for assigning a frequency count to every selected word in a non first order position in a list of said retrieved words and assigning a frequency count to a first order word if a word in a non first order position is selected, said frequency count being different for said first order word than said frequency count for said selected non first order word, said assigning module updating a frequency count each time a non first order word is selected from said retrieved list; wherein said words selected by said user that do not have a possibility of a collision with other words are not assigned said frequency count.
-
Specification