# Patent

## Title
Apparatus and method for reordering of multiple language databases for text disambiguation

## Abstract

The invention provides a process for selecting and ordering one or more sets of linguistic objects. The invention orders a current list of items for selection that comprises a first list of one or more items of a first language and a second list of one or more items of a second language, the current list of items being displayed in an order based on the first language having a priority over the second language. In response to a user selection of one item from the second list, the invention changes a priority for ordering a subsequent list of items to order the subsequent list of items based on the second language having a priority over the first language.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application claims benefit of U.S. Provisional Patent Application Ser. No. 60/397,253, filed on Jul. 18, 2002 and is a continuation of U.S. patent application Ser. No. 10/621,864, filed on Jul. 16, 2003.


BACKGROUND OF THE INVENTION
1. Technical Field
The invention relates to text entry on electronic devices. More particularly, the invention relates to selection of desired languages amount multiple language databases on electronic devices.
2. Description of the Prior Art
Technological advances have enabled manufacturers to create various small-format personal electronic devices. Some examples are Personal Data Assistants (PDA), Cellular Phones, small-form-factor data entry units, and other small-form-factor communication units.
In many parts of the world, people regularly communicate in more than one language. Fluency in a native language plus English for business transactions, for instance, is common. Because SMS and e-mail is used regularly for messages between people and companies in different countries, a messaging application needs to support multiple languages. Two messages sent to two different people may use two different languages, and a single message may often mix words and phrases from two or more languages, for example, “I'll meet you at L'Arc de Triomphe at 1700.”
Many mobile devices contain disambiguating and predictive text entry systems, primarily T9® Text Input, installed with multiple languages for the continent for which they are targeted. But few mobile device manufacturers make it easy or obvious to the user how to switch languages during text entry. If there is a text entry language setting that is separate from the display/menu language setting, it is often hidden deep in a menu structure.
It would be advantageous to provide a text entry system that provides the user the ability to simultaneously use two (or more) languages in a single text message or entry field, e.g. SMS, E-mail, Address Book entry without explicit language switching.
SUMMARY OF THE INVENTION
The invention provides a process for selecting and ordering one or more sets of linguistic objects. The invention orders a current list of items for selection that comprises a first list of one or more items of a first language and a second list of one or more items of a second language, the current list of items being displayed in an order based on the first language having a priority over the second language. In responses to a user selection of one item from the second list, the invention changes a priority for ordering a subsequent list of items to order the subsequent list of items based on the second language having a priority over the first language.
One preferred embodiment of the invention further receives a first plurality of keyboard inputs and determines the current list of items according to the first plurality of keyboard inputs.
One preferred embodiment of the invention further receives a second plurality of keyboard inputs and determines the subsequent list of items according to the second plurality of keyboard inputs, the subsequent list of items comprising a first plurality of items from the second language and a second plurality of items from the first language. The first list is displayed before the second list in displaying the current list of items; and the first plurality of items are displayed before the second plurality of items in displaying the subsequent list of items. A third list of items in the first language is displayed after the second list in displaying the current list of items and one or more items of the second language is displayed after the second plurality of items in displaying the subsequent list of items.
Each of the first list and the first plurality of items has up to a first predetermined number of items; and each of the second list and the second plurality of items has up to a second predetermined number of items. The first predetermined number is equal to the second predetermined number. Each of the current list of items for selection is a word determined according to the first plurality of keyboard inputs in one of a plurality of languages including the first and second languages. One or more of the first plurality of keyboard inputs is interpretable as being corresponding to more than one character in determine the current list of items for selection. Each of the first plurality of keyboard inputs is interpretable as being corresponding to a plurality of characters in determining the current list of items for selection. The plurality of languages consists of two languages. Which of the first and second languages has a higher priority in ordering a subsequent list is implicitly selected according to the language of the item selected from a current list.
One preferred embodiment of the invention provides a data processing system for displaying items to a user that includes means for ordering a current list of items for selection, the current list of items comprising a first number of first items of a first language and a second number of second items of a second language, the first items being ordered before the second items in the current list of items; and means for, after a user selection of one item of the second language from the current list of items, ordering a subsequent list of items for selection, the subsequent list of items comprising, for example, the first number of third items of the second language and the second number of fourth items of the first language, the third items being ordered before the fourth items in the subsequent list of items. The current list of items corresponds to a first plurality of inputs for a current word; and the subsequent list of items correspond to a second plurality of keyboard inputs for a subsequent word. Each of the first and second pluralities of inputs is interpretable as being corresponding to more than one character.
Other aspects and advantages of the invention will become apparent from the following detailed description in combination with the accompanying drawings, illustrating, by way of example, the principles of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of a portable communication device with a reduced keyboard according to the invention;
FIG. 2 is a flow diagram illustrating a process of selecting languages in text entry according to the invention;
FIG. 3A-3C show an example of a process of selecting languages for text entry according to the invention; and
FIG. 4 is shows an example of automatic switching of languages according to the invention.



DETAILED DESCRIPTION OF THE INVENTION
Definitions:


    Items: Linguistic objects including (but not limited to) words, partial or root words, word completions, phrases, abbreviations, “chat” slang, emoticons, user IDs, URLs, and/or ideographic character sequences, each of which may be composed of sub-word components including letters, syllables, strokes, radicals/components, jamos, kana, and/or punctuation symbols and digits.
    Leading Language: The language that supplies first-tier ambiguous words.
    Trailing Language: The language that supplies second-tier ambiguous words.
    Principal Language: The language that supplies first-tier multi-tap letters and is the default leading language.
    Supplemental Language: The language that supplies second-tier multi-tap letters.
    AutoSwitch: Bilingual feature that auto-switches the leading and trailing languages if a trailing language word is used.
    Build-around word: A word that contains a punctuation or explicit character that causes the word to be broken into a left-hand word and a right-hand word.


The invention provides a process for ordering the display of items to a user. The invention orders a current list of items for selection that comprises a first list of one or more items of a first language and a second list of one or more items of a second language, the current list of items being displayed in an order based on the first language having a priority over the second language. In responses to a user selection of one item from the second list, the invention changes a priority for ordering a subsequent list of items to order the subsequent list of items based on the second language having a priority over the first language.
One preferred embodiment of the invention further receives a first plurality of keyboard inputs and determines the current list of items according to the first plurality of keyboard inputs.
The bilingual feature of the present invention provides the user the ability to simultaneously use at least two languages in a single text message, e.g. SMS, E-mail, Address Book entry. It introduces the concept of principal and supplemental languages, leading and trailing languages, and leading and trailing candidate lists. Principal and supplemental languages may be implemented to support the configuration of bilingual mode (when using the menus to add supplemental languages) and in the presentation order of multi-tap characters.
Leading and trailing languages are concepts used to control the presentation order of bilingual candidates. In the preferred embodiment, the leading language will be the principal language, but it can be changed to the supplemental language if a supplemental item is selected and the AutoSwitch feature is turned on, or if the host operating system or application elects to change the default. Any change to the principal or supplemental language causes the Leading language to be reset to the principal language.
The AutoSwitch feature automatically switches the leading and trailing languages if an item from a trailing language is selected. The leading language candidate list comprises the list of candidates if only the leading language is available. In the preferred embodiment, the trailing language candidate list comprises the list of candidates if only the trailing language is available and no user-defined items or device-, context-, or application-specific items are allowed (the selection list can include reordered items). A user preference may be provided to allow the user to turn AutoSwitch on and off.
Referring to FIG. 1, a personal communications device 101 with a reduced keyboard is shown. Keyboard disambiguating systems such as described in U.S. Pat. Nos. 5,818,437, 5,953,541, 6,011,554, and 6,286,064 owned by the Applicant solve the text entry problem where input keys 102 are overloaded and a single key may represent several characters. User keystrokes on the keypad 102 are processed and displayed 103. While the user is pressing keys, the system predicts the words 106, 107, letters 108, numbers 109, or word stems (not shown) that the user is trying to enter. Complete words are dynamically displayed 105 to the user that begin with the letters represented by the key presses.
Presenting a list of items associated with the keys pressed allows the user to choose the intended item if more than one interpretation is possible. Also, including word completions on the list saves the user from entering additional keystrokes to spell an entire word and can reduce entry time. The user selects the first item in the list or scrolls down the list and selects the desired item. In this example, the user can press the space key 112 to accept the first item in the list. The selected item appears in the user's text entry position 104. The user can also continue to press keys to further narrow or refine the list of candidates until the desired item is displayed.
The invention's language database (LDB) contains items that are ordered according to a linguistics model that influences the order in which they are presented to a user. To save space storing the LDB, the LDB may be pre-ordered before placement into the product. The frequency values are not stored with the items in the database once it is compiled, thereby requiring less space to store the LDB.
FIG. 2 is a flow diagram illustrating a process of selecting languages in text entry according to a preferred embodiment of the invention. A user can choose “Languages” under the menu to initiate the choice of language mode. A user may choose to use single language, bilingual, or trilingual option 204. If a single language option is selected, a menu of language choices is displayed to allow a selection of a single language as the preferred text entry language 206. For example, English is selected as the preferred language of choice for text entry.
If a multiple language option is selected, a menu of first language choices is displayed to allow a selection of the first language as the principal text entry language 208. For example, English may be selected as the first language.
Subsequently, a menu of second language choices is displayed to allow a selection of the second language as the supplemental text entry language 210. For example, French may be selected as the second language of choice for text entry. This process may continue for users who may wish to choose a third or even a fourth language as language of choice 212, 214, 216 etc.
FIGS. 3A-C illustrate option menus that can be displayed on an electronic device according to an embodiment of the invention that supports two languages. A user may select a “Languages” menu item from a menu 300, to initiate the display of the languages menu 302.
Selecting the “Single” menu item from the languages menu 302 initiates the display of the single language menu 304. If the system is currently set in bilingual mode, then pressing the “Single” menu item (and selecting a language) clears the selection of the second language and sets the system to single-language mode.
FIG. 3B shows an example of a process of selecting languages. For example, a user desires to change the text entry language, which is currently English. Selecting any item from the single language menu 304 initiates the display of a single language sub-menu 306. Selecting any item from a single language sub-menu 306 may return the user to the text entry display 308. When the text entry display is shown, the principal language will reflect the user's choice from single the language sub-menu 306. In this case, “French” was selected.
FIG. 3C shows an example of selecting a second language as a supplemental text entry language. For example, a user has English as the preferred or principal language and wants to add French as the second language. The user selects the “Bilingual” menu item from the languages menu 302 which initiates the display of the bi-lingual option menu 310. Selecting the “Set 2nd” item initiates a set second language menu 312. Selecting an item from the set second language menu 312 initiates a set second language sub-menu 314. Selecting an item from a set language sub-menu 314 may return the user directly to the bilingual text entry display 316.
When the user returns to the text entry display 308 or 316, candidates from the chosen language or languages will be included in the list of candidates.
If two languages are chosen, the selected languages may be indicated in the status line using the associated two-letter language abbreviations separated by a slash mark (/), as in 316; otherwise the full language name may be displayed, as in 308. If two languages are selected, the leading language is indicated by underlining the name or associated two-letter abbreviation in the status line.
A user may later choose the “Clear 2nd” menu item on the bi-lingual option menu 310 to return the system to a single language candidate list.
In the preferred embodiment, the default order and presentation of bilingual candidates are as follows. First, predetermined number of items from the leading language candidate list, to the extent that they exist. The default number of words is two. This first group of items may also include device-, context-, or application-specific items and user-defined items associated with either language.
Second, a predetermined number of items from the trailing language candidate list, to the extent that they exist. The default number of items is two. This group does not include device-, context-, or application-specific items or user-defined items.
Third, the remaining items from the leading language candidate list, to the extent that they exist, including any additional specific and user-defined items, but excluding word completions. They are followed by the remaining items from the trailing language candidate list to the extent that they exist, but also excluding word completions.
Finally, leading and trailing language word completions are presented, in that order, after the items specified above.
In accordance with other aspects of the invention, the language of a build-around word is the language of the word on the right-hand side (RHS). Duplicate items are suppressed after positions have been allocated to each language. Reordering of items due to frequency or recency of use is language-specific, only impacting the order of items within a given principal and supplemental language.
For words with embedded punctuation or embedded explicit characters the order rules of the second half of the word may be as follows: If AutoSwitch is on, the order rules of the second half of the word match those of the language of the first half of the word; If AutoSwitch is off, the order rules of the second half of the word match those of the current principal language. When breaking, if there is a French Rule language and there is a match to the language then that match takes precedence when flushing. For words with trailing punctuation the language of the word is that of the selected word and not the language the punctuation came from, e.g. the language of “houses” is English.
All appropriate terminal punctuation endings from both languages should be available in the word candidate list. The terminal punctuation endings may be ordered as follows:
Terminal punctuation endings from the language of the word on the left-hand side;
Terminal punctuation endings from the remaining language, suppressing for duplicates.
For example, if one of the available languages uses the French rule for punctuation, then the French punctuation rule is available when composing an input sequence. The terminal punctuation sequences from all languages are available. By default, the embedded punctuation comes from the current or applicable language. If an explicit punctuation symbol is set, that symbol overrides the default language embedded punctuation.
FIG. 4 shows an example of automatic switching from one language to another according to the invention. The text entry field 402 displays both languages of English and French as the choices of languages, English being the principal and leading language and French being the supplemental and trailing language.
If AutoSwitch is on, when a user selects an item from the trailing language, the trailing language becomes the leading language, and the formerly leading language becomes the trailing language. In this example, the selection of the French word “bon” instead of one the English words “con” or “ann”, in 404, makes the previous trailing language French the leading language, such that typing the same sequence, as in 408, now lists “bon” and “com” ahead of “con” and “ann”. The language indicator changes to indicate the switch into a new leading language, though the principal and supplemental language choices remain unchanged.
In the preferred embodiment, the configuration of more than one language also affects explicit character input.
The multi-tap assignments to each key include entries from all selected languages. In a multi-tap mode, the presentation of single characters is as follows:
Device-specific ordering of characters from the principal language;
Device-specific ordering of characters from the supplemental language.
Duplicates are suppressed. Using multi-tap mode does not change the principal language. This behavior supports the user's confidence in memorizing their multi-tap sequence, so they can use multi-tap without visual cues, no matter which language is currently leading.
In conditions where a language is selected for bilingual entry that uses a two-key matrix entry method, the matrix entry mode is always reserved for the matrix entry language regardless of whether it is the leading or trailing language.
Although the invention is described herein with reference to the preferred embodiment, one skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. In particular, the concept can be extended to address more than two languages. Accordingly, the invention should only be limited by the Claims included below.

## Claims

1. A process for displaying items to a user, comprising the steps of:
ordering a current list of items for selection, the current list of items comprising a first list of one or more items of a first language and a second list of one or more items of a second language, the current list of items being displayed in an order based on the first language having a priority over the second language; and
responsive to a user selection of one item from the second list, changing a priority for ordering a subsequent list of items to order the subsequent list of items based on the second language having a priority over the first language.

2. The process of claim 1, further comprising the steps of:
receiving a first plurality of keyboard inputs; and
determining the current list of items according to the first plurality of keyboard inputs.

3. The process of claim 2, further comprising the steps of:
receiving a second plurality of keyboard inputs; and
determining the subsequent list of items according to the second plurality of keyboard inputs, the subsequent list of items comprising a first plurality of items from the second language and a second plurality of items from the first language.

4. The process of claim 3, wherein the first list is displayed before the second list in displaying the current list of items; and the first plurality of items is displayed before the second plurality of items in displaying the subsequent list of items.

5. The process of claim 4, wherein a third list of items in the first language is displayed after the second list in displaying the current list of items; and one or more items of the second language is displayed after the second plurality of items in displaying the subsequent list of items.

6. The process of claim 4, wherein each of the first list and the first plurality of items is allowed up to a first predetermined number of items; and each of the second list and the second plurality of items is allowed up to a second predetermined number of items.

7. The process of claim 6, wherein the first predetermined number is equal to the second predetermined number.

8. The process of claim 2, wherein each of the current items for selection is a linguistic object determined according to the first plurality of keyboard inputs in one of a plurality of languages including the first and second languages.

9. The process of claim 8, wherein one or more of the first plurality of keyboard inputs is interpretable as being corresponding to more than one character in determining the current list of items for selection.

10. The process of claim 8, wherein each of the first plurality of keyboard inputs is interpretable as being corresponding to a plurality of characters in determine the current list of items for selection.

11. The process of claim 8, wherein the plurality of languages consist of two languages.

12. The process of claim 1, wherein which of the first and second languages has a higher priority in ordering a subsequent list is implicitly selected according to a language of the item selected from a current list.

13. A data processing system for displaying items to a user, comprising:
means for ordering a current list of items for selection, the current list of items comprising a first number of first items of a first language and a second number of second items of a second language, the first items being ordered before the second items in the current list of items; and
means for, after a user selection of one item of the second language from the current list of items, ordering a subsequent list of items for selection, the subsequent list of items comprising the first number of third items of the second language and the second number of fourth items of the first language, the third items being ordered before the fourth items in the subsequent list of items.

14. The data processing system of claim 13, wherein the current list of items correspond to a first plurality of inputs for a current word; and the subsequent list of items correspond to a second plurality of keyboard inputs for a subsequent word.

15. The data processing system of claim 14, wherein each of the first and second pluralities of inputs is interpretable as being corresponding to more than one characters.