1. Field
The disclosed and claimed concept relates generally to handheld electronic devices employing a text disambiguation function, and, more particularly, to a method that is executable on a handheld electronic device for obtaining new language objects for a temporary dictionary used by the text disambiguation function.
2. Description of the Related Art
Numerous types of handheld electronic devices are known. Examples of such handheld electronic devices include, for instance, personal data assistants (PDAs), handheld computers, two-way pagers, cellular telephones, and the like. Many handheld electronic devices also feature wireless communication capability, although many such handheld electronic devices are stand-alone devices that are functional without communication with other devices.
Such handheld electronic devices are generally intended to be portable, and thus are of a relatively compact configuration in which keys and other input structures often perform multiple functions under certain circumstances or may otherwise have multiple aspects or features assigned thereto. With advances in technology, handheld electronic devices are built to have progressively smaller form factors yet have progressively greater numbers of applications and features resident thereon. As a practical matter, the keys of a keypad can only be reduced to a certain small size before the keys become relatively unusable. In order to enable text entry, however, a keypad must be capable of entering all alphabetic letters, for instance, twenty-six letters of the Roman alphabet, as well as appropriate punctuation, digits, and other symbols.
One way of providing numerous letters in a handheld electronic device having a small form factor is to provide a “reduced keyboard” in which multiple letters, symbols, and/or digits, and the like, are assigned to any given key. For example, touch-tone telephones typically include a reduced keyboard having twelve keys, of which ten keys have digits thereon, and of these ten keys, eight have Roman letters assigned thereto. For instance, one of the keys includes the digit “2” as well as the letters “A”, “B”, and “C”. Since a single actuation of such a key potentially could be intended by the user to refer to any of the letters “A”, “B”, and “C”, and potentially could also be intended to refer to the digit “2”, the input (by actuation of the key) generally is an ambiguous input and is in need of some type of disambiguation in order to be useful for text entry purposes. Other known reduced keyboards have included other arrangements of keys, letters, symbols, digits, and the like. One example of a reduced keyboard is the keypad 20 forming a part of the handheld electronic device 4 shown in
In order to enable a user to make use of the multiple letters, digits, and the like on any given key in an ambiguous keyboard, numerous keystroke interpretation systems have been provided. For instance, a “multi-tap system” allows a user to substantially unambiguously specify a particular linguistic element, for example, on a key by pressing the same key a number of times equal to the position of the desired linguistic element on the key. Another keystroke interpretation system includes key chording in which keys are pressed in various combinations to achieve particular results. Still another keystroke interpretation system might include a software-based text disambiguation system which seeks to interpret the keystrokes in view of stored dictionary data, linguistic rules, stored algorithms, and/or the like. One example of such a system is disclosed in commonly owned United States Patent Application Publication No. 2006/0058995, entitled “Handheld Electronic Device With Text Disambiguation,” the disclosure of which is incorporated herein by reference.
While such software-based text disambiguation systems have been generally effective for their intended purposes, such disambiguation systems are not without limitation. In certain applications, the function of a software-based text disambiguation system can be cumbersome if a user must expend substantial effort in entering text. One such situation in which this may occur is in the context of a word or other language object that may not already be in the stored dictionary. Another exemplary situation in which this may occur is when a word or other language object is already stored in the dictionary but is considered to have a relatively low frequency. As a result of the relatively low frequency, entering the word or other language object may require significant input effort by the user.
One particular situation in which this is likely to occur is when a user of a handheld electronic device has viewed one or more web pages that include such a word or other language object in the text thereof, and thereafter the user wants to use that word or other language object while, for example, composing an email. For instance, if a user views a web page that includes an article about Tchaikovsky or a treatment for hepatocellular carcinoma (a type of cancer) and then wants to input text, such as in an email, about those subjects, it is likely that the words “Tchaikovsky,” “hepatocellular” and “carcinoma” are not included in the stored dictionary or, if stored, have a relatively low frequency. As a result, the user must expend substantial effort in inputting those words. It thus would be therefore desirable to provide a handheld electronic device having a reduced keyboard wherein the device will make available to a user words which are not in the stored dictionary or, if stored, have a relatively low frequency, when there is a reasonable expectation that the user may want to use those words in the near future when inputting text.
A full understanding of the disclosed and claimed concept can be gained from the following Description when read in conjunction with the accompanying drawings in which:
In one example embodiment, the disclosed and claimed concept provides a method of obtaining data for use on a handheld electronic device that has communications capabilities and that includes a processor and a memory. The memory has stored therein: (i) one or more routines executable by the processor which provide a text disambiguation function, and (ii) a dictionary including a number of first language objects. The dictionary is accessible by the one or more routines for use in disambiguating ambiguous inputs received by the handheld electronic device. The method includes receiving a block of information on the handheld electronic device, displaying a representation of at least a portion of the block of information on the handheld electronic device, and determining whether at least one of one or more predetermined events has occurred, wherein each of the one or more predetermined events have been deemed in advance to indicate that the block of information includes one or more language objects that should be made accessible by the one or more routines for use in disambiguating ambiguous inputs received by the handheld electronic device. If it is determined that at least one of the one or more predetermined events has occurred, the method further includes obtaining a number of second language objects from the block of information and storing the number of second language objects in a temporary dictionary included in the memory. The temporary dictionary, and thus the second language objects, is accessible by the one or more routines for use in disambiguating ambiguous inputs received by the handheld electronic device. In one example embodiment, the block of information is a web page that includes text and/or graphics. For illustrate purposes, such a web page is used herein to describe the disclosed and claimed concept. That, however, is meant to be exemplary only and should not be considered to be limiting. For example, and without limitation, the block of information could include a text message, an instant message or an email message.
The one or more predetermined events may include either or both of: (i) a predetermined period of time passing following the displaying step without the handheld electronic device receiving an additional input from the user, and (ii) the handheld electronic device receiving an input from the user requesting that a second representation of at least a second portion of the block of information be displayed on the handheld electronic device.
In one example embodiment, the storing of the number of second language objects in a temporary dictionary comprises storing the number of second language objects in a record associated with the block of information and deleting the record from the memory after a predetermined period of time has passed since the storing. In addition, the method may further include steps of receiving a first ambiguous input in the handheld electronic device, employing the one or more routines to disambiguate the first ambiguous input and display a number of possible intended inputs on the handheld electronic device, receiving a selection of one of the possible intended inputs, determining whether the selected one of the possible intended inputs is based on one of the second language objects stored in the temporary dictionary, and if the selected one of the possible intended inputs is based on one of the second language objects stored in the temporary dictionary, saving the one of the second language objects in the dictionary. The method may also further include deleting the one of the second language objects from the temporary dictionary.
The disclosed and claimed concept also provides a handheld electronic device that includes a reduced keyboard, a display, a processor, and a memory having stored therein: (i) one or more routines executable by the processor which are adapted to provide a text disambiguation, and (ii) a dictionary including a number of first language objects that is accessible by the one or more routines for use in disambiguating ambiguous inputs received by the handheld electronic device. The one or more routines are further adapted to implement one or more embodiments of the method just described.
An improved handheld electronic device 4 in accordance with the disclosed and claimed concept is indicated generally in
The input apparatus 8 comprises a keypad 20 and a trackball 24. The keypad 20 in the exemplary embodiment depicted herein comprises a plurality of keys 26 that are each actuatable to provide input to the processor apparatus 16. The trackball 24 is rotatable to provide navigational and other input to the processor apparatus 16, and additionally is translatable in a direction inwardly toward the handheld electronic device 4 to provide other inputs, such as selection inputs. The trackball 24 is freely rotatable on the housing 6 and thus is able to provide navigational inputs in the vertical direction, i.e., the up-down direction, in the horizontal direction, i.e., the left-right (side to side) direction, as well as combinations thereof. In addition, the trackball 24 may be adapted to provide navigational inputs in diagonal directions. The keys 26 and the trackball 24 serve as input members which are actuatable to provide input to the processor apparatus 16. Alternative mechanisms for providing similar multi-directional navigation may be used in place of the trackball 24, such as, without limitation, a joystick, a touchpad, a touch-sensitive display, and hard buttons disposed on the housing 6 of the handheld electronic device 4. The exemplary output apparatus 12 comprises a display 32.
Many of the keys 26 each have a plurality of letters, i.e., linguistic elements, assigned thereto. For instance, one of the keys 26 has assigned thereto the letters “A” and “S”. Another of the keys 26 has assigned thereto the letters “Q” and “W”. The letters of the exemplary keypad 20 are in an arrangement of a reduced QWERTY keyboard. In the present example embodiment, the exemplary letters are Roman letters, and the exemplary Roman letters serve as linguistic elements for text input into the handheld electronic device 4. It is understood that while the linguistic elements of the instant example embodiment are depicted as being characters, specifically Roman letters, the linguistic elements could be other elements such as, for example and without limitation, other types of characters, ideograms, portions of ideograms such as strokes, and other elements that can be used in the generation of words in a language. It is noted that the expressions “text” and “word”, and variations thereof, are to be broadly construed herein and are not intended to be limiting in any fashion with regard to a particular language, a particular portion of a language or a means of providing an expression in a language, or to a particular language type or format. Moreover, the expressions “text” or “word” are not limited to words in a vocabulary and also include names, nomenclatures, abbreviations, etc.
The processor apparatus 16 comprises a processor 36 and a memory 40. The processor 36 may be, for example and without limitation, a microprocessor (4P) that interfaces with the memory 40. The memory 40 can be any one or more of a variety of types of internal and/or external storage media such as, without limitation, RAM, ROM, EPROM(s), EEPROM(s), FLASH, and the like that provide a storage register, i.e., a machine readable medium, for data storage in a similar fashion to an internal memory storage of a computer, and can be volatile memory or nonvolatile memory. The memory 40 has stored therein a number of routines 44 (shown in
As seen in
When executed by the processor 36, the software-based text disambiguation system interfaces with the memory 40 and the objects stored therein to provide output in response to input via the input apparatus 8. In accordance with the disclosed and claimed concept, and as described in detail elsewhere herein, certain words or other language objects may be stored in a temporary dictionary 48 (which may comprise a number of storage registers) in the memory 40 and be used by the software-based text disambiguation system to disambiguate ambiguous inputs entered by the user. The words or other language objects in such a temporary dictionary 48 may be accorded a relatively high frequency value in order that such words or other language objects, if appropriate, will be presented in whole or in part to the user at an early opportunity during the text entry process to limit the editing effort and other input that might otherwise be required to enter such words or other language objects.
In a situation where, for example, a user has viewed one or more web pages using a web browser application of the handheld electronic device 4 that have therein words or other language objects that are either not stored in the main dictionary 46 or, if stored, have a relatively low frequency associated therewith, the user may thereafter want to use those words or other language objects in, for example, composing an email using the email text editor of the handheld electronic device 4. In accordance with an aspect of the disclosed and claimed concept, and as described in more detail below, certain words or other language objects are advantageously stored in the temporary dictionary 48 in the memory 40 for ready use by software-based text disambiguation system when inputting text.
Referring to
Next, at step 105, the handheld electronic device 4 will receive the web page information (i.e. downloaded to the handheld electronic device 4 over the network or networks to which the handheld electronic device 4 is operatively connected) and display on the display 32 all or part of the web page information (all of the web page information will be displayed on the display if it can fit on one screen of the display 32, and only part of the web page information will be displayed if the entirety of the web page will not fit on a single screen). Once the web page information is received at the handheld electronic device 4 in this manner, the user has a number of options for providing operational inputs into the handheld electronic device 4 using the input apparatus 8, with each option resulting in a different operation being performed by the handheld electronic device 4. Specifically, a user may use the trackball 24 to scroll up and down (and left and right) on the currently displayed web page information. When a user scrolls down on a web page information using the track ball 24, the “lower end” portions of the web page information that could not previously be displayed will then be displayed on the display 32, and correspondingly, certain “upper portions” of the web page will no longer be displayed on the display 32. Scrolling up web page information causes the opposite to occur. A user may also navigate up and down (and left and right) the web page information in a number of ways using various keys 26 of the keypad 20. For example, and without limitation, a user may move down a single screen on a currently displayed web page information by pressing a particular key, such as the “9” key 26, may move up a single screen on the currently displayed web page by pressing another particular key, such as the “3” key 26, may move to the bottom of the current web page by pressing another particular key, such as the “7” key 26, and may move to the top of the current web page by pressing still another particular key, such as the “1” key 26.
Furthermore, a user may request receiving other web page information specified by a different URL at the handheld electronic device 4 in a number of ways. For example, the user may use the trackball 24 or another navigational input to scroll over and highlight the hyperlink included in the currently displayed web page information and press the trackball 24 to request the web page information associated with that hyperlink. The user may also request a particular web page when the associated hyperlink is highlighted by pressing the space bar key 26 (or some other designated key 26) or by accessing a menu using the input apparatus 8 (which menu is displayed on the display 32) and selecting a “get link” selection from the displayed menu. Again, these inputs are meant to be exemplary only, and it will be appreciated that any number of other navigational options may be utilized without departing from the scope of the disclosed and claimed concept.
Thus, as just described, for purposes of the disclosed and claimed concept, the relevant operational inputs may be generally classified into two categories (i) inputs where the user is requesting that additional portions of the current web page be displayed on the display 32 (which information has already been downloaded to the handheld electronic device 4), and (ii) inputs where the user is requesting that a new web page be received at the handheld electronic device 4.
Returning to
If the answer at step 110 is no, then, at step 115, a determination is made as to whether an operational input has been received from the user which requests that an additional portion of the current web page be displayed on the display 32 (see input category (i) above). Such operational input may take any of a number of forms, examples of which have been described above. If the answer at step 115 is no, then at step 120, a determination is made as to whether an operational input has been received from the user which indicates that the user would like to have a new web page received at the handheld electronic device 4 (see input category (ii) above). Such operational input may take a number of forms, examples of which have been described above. If the answer at step 120 is yes, then the method returns to step 100, wherein the web page information specified by the particular URL is requested by and downloaded to the handheld electronic device 4. If the answer at step 120 is no, then the method proceeds to step 145 (
If the answer at either step 110 or step 115 is yes, meaning that either the specified time period has elapsed without further operational input, or that an operational input requesting an additional portion of the current web page has been received, then the method proceeds to step 125. As described below, positive answers to either of the questions raised at steps 110 and 115 will, according to an aspect of the disclosed and claimed concepts, trigger the addition of one or more language objects from the current web page to the temporary dictionary 48. Specifically, at step 125, the text of the current web page that has been downloaded to the handheld electronic device 4 is parsed in order to identify the individual language objects contained therein. Then, at step 130, each of the language objects that is identified at step 125 is saved in a record in the temporary dictionary 48 that is associated with the current web page (the data may be stored in a cache memory or some other suitable temporary memory register). In addition, each language object that is saved in the temporary dictionary 48 has associated with it a relatively high frequency object (i.e., a frequency object value that would indicate a relatively high frequency within the relevant language of the language object in question). A relatively high frequency value is assigned to the language object while in the temporary dictionary because the disclosed concept assumes that it is likely that the user may want to actually use those language objects in the short term when entering text. Then, at step 135, a days saved variable, the significance of which will become apparent below, that is associated with the record created in step 130 is set equal to zero. Preferably, if a language object that is saved in the temporary dictionary 48 is determined to also be saved in the main dictionary 46, then the frequency object that is associated with that language object in the temporary dictionary 48 will be made higher than the frequency object that is associated with that language object in the main dictionary 46 (this is done because, as noted above, the disclosed and claimed concept assumes that it is likely that the user may want to actually use that language object in the short term when entering text). Thereafter, when the software-based text disambiguation system of the handheld electronic device 4 disambiguates user text input (See step 305 of
Next, at step 140, a determination is made as to whether an input requesting a new web page, described elsewhere herein, has been received. If the answer is yes, then the method returns to step 100. If, however, the answer at step 140 is no, then the method proceeds to step 165 (
Thus, the method described in connection with
According to a further aspect of the disclosed and claimed concept, language objects that are added to the temporary dictionary 48 are preferably only saved for a limited amount of time, after which they are deleted. In particular, each record that is created in step 130 will be saved as part of the temporary dictionary 48 for some predetermined amount of time, after which that record will be deleted.
Referring to
If the answer at step 205 is no, then, at step 210, the days saved variable for the current record is incremented by one unit. If, however, the answer at step 205 is yes, then, at step 215, the current record is deleted from the temporary dictionary 48. Following either step 210 or step 215, as appropriate, the method proceeds to step 220, wherein a determination is made as to whether there are more records remaining in a temporary dictionary 48. If the answer is no, then the method ends. If the answer is yes, then, at step 225, the next record is obtained from the temporary dictionary 48 and the method returns to step 205. Thus, as a result of the method shown in
In an alternative method, when a language object is saved in the temporary dictionary, it has a day/time stamp associated with it that indicates the day and the time at which it was saved (preferably rounded up to the nearest hour (e.g., a record saved at 11:58 pm on one day would have a day/time stamp of 12:00 am of the following day). Then, once a day, the day/time stamp for each saved language object is examined and compared to the current day and time to determined an amount of time (e.g., in hours) that the record has been saved. If the determined amount of time exceeds some preset value, e.g., 36 hours, the language object is deleted from the temporary dictionary 48.
According to still a further aspect of the disclosed and claimed concept, language objects that have been added to the temporary dictionary 48 and that are not included in the main dictionary 46 may be moved to and added to the main dictionary 46 under certain circumstances. In particular, if a language object from the temporary dictionary 48 is actually selected by the user when inputting text using the software-based text disambiguation system, that language object will be moved from the temporary dictionary 48 to the main dictionary 46 so that it will thereafter be permanently available.
Next, at step 310, the software-based text disambiguation system provides the number of possible intended inputs to the user by displaying those possible intended inputs on the display 32. Then, at step 315, a determination is made as to whether the user has selected one of the provided possible intended inputs. If the answer is no, then the method returns to step 300. If, however, the answer is yes, then, at step 320, a determination is made as to whether the selected possible intended input was generated based on a language object that is stored only as part of the temporary dictionary 48 (i.e., it is not also in the main dictionary 46). If the answer is no, then the method ends. If, however, the answer at step 320 is yes, meaning that the user selected a possible intended input for actual textual input that was generated from an entry only found in the temporary dictionary 48, then, at step 325, the language object from which the selected possible intended input was generated is added to the main dictionary 46 and removed from the temporary dictionary 48. When that language object is added to the main dictionary 46, it is assigned a frequency object which is associated with it. The value of this frequency object may be obtained in a number of ways. For example, it may by default be assigned a relatively high frequency value since the language object was not before part of the main dictionary 46. Alternatively, the frequency values may be assigned based on some characteristic of the language object, such as its length (e.g., language objects having less than a given umber of characters, such as five, may be assigned a relatively low frequency value and language objects having more than the given umber of characters may be assigned a relatively low frequency value. Thus, as a result of the method shown in
While preferred embodiments of the invention have been described and illustrated above, it should be understood that these are exemplary of the invention and are not to be considered as limiting. Additions, deletions, substitutions, and other modifications can be made without departing from the spirit or scope of the present invention. Accordingly, the invention is not to be considered as limited by the foregoing description but is only limited by the scope of the appended claims.