Input method editors (“IMEs”) predict words from phonetics or text entered by users into text applications. In Chinese, phonetics—such as pinyin or Bopomofo are entered by users to spell out native characters on a QWERTY keypad. In English, letters are entered to spell out words. IMEs take the initial phonetics or letters entered by a user, attempt to predict what character or word the user is trying to type, and then present the prediction to the user for quick selection. If the IME predicts correctly, the user can simply select the predicted characters or word to be entered instead of having to finish spelling the word or character out. Accurate predictions thus save the user time when entering text.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter. Nor is this summary intended to be used as an aid in determining the scope of the claimed subject matter.
One aspect of the invention is directed to a computing device equipped with one or more processors that execute an IME. The IME predicts characters, text, punctuation, or symbols and suggests such predictions to a user. Memory on the computing device, or money accessible across a network, stores instructions associated with the IME. Predictions are eventually displayed to the user on a screen, and the user can select which (if) any predictions to enter, using a keyboard or other input device (e.g., mouse, trackball, scroll pad, touch screen, or the like).
Another aspect is directed to a computing device executing instructions for predicting text entry in a text field and displaying the characters to a user for selection. User-entered text entries are analyzed, and a stored table mapping text entries to predictive text, characters, symbols, or numbers is accessed. Based on the user-entered text and/or the input scope of the text field, a group of predictive text entries in the table is identified. This group of predictive text entries are then displayed to the user for selection.
The present invention is described in detail below with reference to the attached drawing figures, wherein:
The subject matter described herein is presented with specificity to meet statutory requirements. The description herein is not intended, however, to limit the scope of this patent. Instead, the claimed subject matter may also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. For illustrative purposes, embodiments are described herein with reference to English words and Chinese characters. Embodiments are not limited to those two languages, however, as the embodiments may be applied to other languages.
In general, embodiments described herein are direct towards improving character or text predictions of IMEs on computing devices and mobile phones. Embodiments perform initial predictions, symbol predictions, numeric predictions, default predictions, and combinations thereof. “Predictions,” as referred to herein, are suggestive text, characters, phrases, phonetics (e.g., pinyin), or numbers determined to be likely candidates for what a user is trying or would like to text. For example, the word “baseball” may be suggested to someone who has just typed “b-a-s-e-b,” or “” may be suggested after the user enters “,” predicting that the user is trying to type “” Predictions are displayed, in one embodiment, to a user for selection, or in another embodiment, are automatically entered into a text field the user has in focus. Examples of different predictive combinations number far too many to describe exhaustively, but it should at least be noted that different embodiments predict and suggest various characters, text, punctuation, and symbols in different circumstances.
In one embodiment, an initial prediction is made when no text is entered in a text field or text box. Initial predictions list common characters, text, or phrases used in the beginning of text, such as “The,” “A or An,” “” or “Hello,” or other characters, text, or phrases. In one embodiment, initial predictions account for the context of text fields in focus. For example, a text field for a password may invoke the IME to suggest a common password used on a computing device or by the user. Or, in another example, detecting that the text field is a messaging application may trigger the IME to automatically capitalize the first letter of the message or begin it with a salutation (e.g., “Dear,” “To Whom It May Concern,” “Hello,” or the like). Some embodiments determine text box context from associated input scopes, which are discussed in more detail below.
Another embodiment is directed to predicting symbols or punctuation. In this embodiment, predictions of punctuation are based on particles previously entered by a user that mark the ends of sentences, end of paragraphs, sentence tense, or text commonly entered before punctuation. For example, the Chinese characters “” and “” may indicate emphasis in a sentence, requiring an exclamation point. Additionally, punctuation may be based on words or characters in a sentence—e.g., beginning a sentence with “How,” “What,” or “,” indicating a question and thus resulting in a question mark being predicted.
Still another embodiment is directed to predicting common characters, text, or phrases following a number. Such predictions may be based on the number itself. For example, a two digit number may trigger the IME to predict “minutes” should follow, or a ten digit number may trigger the IME to suggest “phone” afterwards. Alternatively, a particle may be suggested after a number.
Another embodiment is directed to predicting default predictions when the IME cannot come up with anything to suggest. In this embodiment, a user may type something not in a stored table or dictionary used by the IME to find predictive text. Instead of suggesting nothing, the IME suggests commonly used phrases, characters, numbers, symbols, or other text that typically begin a sentence, such as “of,” “is,” or “in.”
Embodiments mentioned herein may take the form of a computer-program product that includes computer-useable instructions embodied on one or more computer-readable media. Computer-readable media include both volatile and nonvolatile media, removable and nonremovable media, and contemplates media readable by a database. The various computing devices, application servers, and database servers described herein each may contain different types of computer-readable media to store instructions and data. Additionally, these devices may also be configured with various applications and operating systems.
By way of example and not limitation, computer-readable media comprise computer-storage media. Computer-storage media, or machine-readable media, include media implemented in any method or technology for storing information. Examples of stored information include computer-useable instructions, data structures, program modules, and other data representations. Computer-storage media include, but are not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory used independently from or in conjunction with different storage media, such as, for example, compact-disc read-only memory (CD-ROM), digital versatile discs (DVD), holographic media or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices. These memory devices can store data momentarily, temporarily, or permanently.
As used herein, “components” refer to a computer-related entity that may include hardware, software, and/or firmware. Components may, in some embodiments, operate in a client-server relationship to carry out various techniques described herein. Such computing is commonly referred to as “in-the-cloud” computing. For example, a component may be a process running on a processor, a library, a subroutine, and/or a computer or a combination of software and hardware. By way of illustration, both an application running on a server and the server may be a component. One or more components can reside within a process, and a component can be localized on a computing device (such as a server) or distributed between two or more computing devices communicating across a network.
Referring initially to
Computing device 100 may be configured to run an operating system (“OS”) or mobile operating system. Examples of OSs include, without limitation, Windows® or Windows® Mobile, developed by the Microsoft Corporation®; Mac OS®, developed by Apple, Incorporated; Android®, developed by Google, Incorporated®; LINUX; UNIX; or the like. In one embodiment, the OS runs an IME 124 stored in memory 112. IME 124 is an input method editor like MS New Piynin, Smart Common Input Method (“SCIM”), or the like that uses different IM techniques (e.g., pinyin, Cangjie, Bopomofo, or the like) for predicting and suggesting text or characters on the computing device 100. Predicted characters and text may be presented on presentation component(s) 116 to the user, such as on a computer or mobile phone display. Particular to mobile phones and computing tablets, the predicted characters may be presented in a hot menu (i.e., listed above certain keys on a physical keyboard), in an on-screen touch-sensitive menu (commonly referred to as a “soft” keyboard or button), audibly, of some combination thereof.
To make certain predictions, IME 124 may access a table 126 of different entries stored in memory 112, or alternatively stored on a remote device accessible via a network connection. Table 126 may include various mappings of characters or text to different user entries. For example, a table like the following, which maps punctuation to common phrases like the, of, and it, for starting new sentences may be entered:
The above table provides a simple illustration of table 126; although, embodiments may obviously incorporate tables with myriad other mappings. Using the above table, when IME 124 detects a period (.), IME 124 consults the above table and determines that , , and should be suggested to a user.
Table 126 may contain various mappings other than punctuation, such as predictions based on previously entered words or group of words. For example, “he told” may be mapped to “me,” “them,” “her,” or some other object that commonly fits afterwards. Or, in Chinese, (“not more than”) may be mapped to (“that”). Numerous other examples abound and need not be discussed at length herein, but what should be clear is that embodiments may include tables that map different words or phrases to predictive words or phrases.
Table 126 is not limited to characters and words, however. Phonetics may also be stored and mapped to predictive words or other phonetics. For example, (“Ni”) may be mapped to (“hao”), because it is likely that the user may be trying to spell out (“hello”). Mappings of phonetics are not limited to 1-1 mappings, as various combinations of phonetics may be mapped to different predictions. Also, instead of merely mapping phonetics together, some embodiments predict characters based on entry of phonetics. So, in that regard, (“ni”) may be mapped directly to (“hello”). Numerous other examples abound and need not be discussed at length herein, but what should be clear is that embodiments may include tables that map different phonetics, or combinations of phonetics, to predictive characters, words, or phrases.
Table 126 may also map particles to predictive characters, punctuation, phonetics, words, or phrases. In other embodiments, table 126 maps parts of speech and/or input scopes of text areas to characters, words, phrases, and/or phonetics. An “input scope,” as referred to herein, is a tag associated with a text box. For example, Windows® Mobile tags text boxes with different input scope tags designating the context of text entered into the text box, such as: default, number, text, chat, URL, names, addresses, short message service (“SMS”) messages, multimedia messaging service (“MMS”) messages, or the like.
Embodiments described herein may be practiced in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, specialty computing devices (e.g., tablets), etc. Embodiments described herein may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With continued reference to
Computing device 100 may include a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices.
Memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, cache, optical-disc drives, etc. Computing device 100 includes one or more processors that read data from various entities such as memory 112 or I/O components 120. Presentation device 116 presents data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
Specifically, memory 112 may be embodied with instructions for a web browser application, such as Microsoft Internet Explorer®. One skilled in the art will understand the functionality of web browsers; therefore, web browsers need not be discussed at length herein. It should be noted, however, that the web browser embodied on memory 112 may be configured with various plug-ins (e.g., Microsoft SilverLight™ or Adobe Flash). Such plug-ins enable web browsers to execute various scripts or mark-up language in communicated web content.
I/O ports 118 allow computing device 100 to be logically coupled to other devices including I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
As shown at 202, an edit control initially receives focus on a computing device. Examples of such focus include a user selecting a particular application, clicking on a text box, using a trackball to move a focus indicator to a particular text box, or the like. If the text box is empty, initial predictions are shown to the user, as shown at 204. In one embodiment, the initial predictions are pulled from a table of the most commonly used predictions. Commonality of the predictions may be determined merely by entry in the table (e.g., top five), based on statistics of use (e.g., user or users typically begin with “Hello,” “,” or “Of”), or a combination thereof. The initial predictions may also take into account geographic regions, dialects, or historical user entries. Moreover, initial predictions may also be based on the input focus of the edit control, resulting in the predicted words entered into default text boxes and predicted numbers entered into number text boxes.
Decision block 206 indicates the user is free to select an initial prediction or disregard the initial prediction, opting instead to begin entering text. If the user selects a prediction, the prediction may be entered on the screen, shown at 208. Also, the IME checks to see if any symbols can be predicted, as shown at 210, by checking whether the edit control's input scope allows symbols and/or checking a table for symbols predicted after entry of the selection prediction. If symbols are allowed, predictive symbols found in a table may be shown to the user, as shown at 212. If symbols are not allowed, however, the input scope and/or table of predictions are checked to see if any phrases, characters, or text can be predicted based on the selected prediction as shown at 216. If not, a default prediction may be displayed to the user, as shown at 218. Yet, if predictions can be made, predicted phrases will be shown to the user, as shown at 214.
Looking again at decision block 206, if a user disregards the initial prediction and begins typing text, a determination is made at 220 whether a number sequence is being entered. A number sequence refers to a particular structure of numbers. Examples include ten digits for phone numbers, eight digits for social security numbers, two digits for minutes, or other types that indicate the context of a number (e.g., birthday, driver's license, etc.). If the IME detects that a number sequence is being entered, the IME, in one embodiment, shows post-numeric predictions, meaning predictions that typically follow such number types, as shown at 222. For example, a two digit number may invoke the IME to suggest that “minutes” should follow.
On the other hand, when the user enters phonetics to spell out characters or text, predictive conversion candidates are displayed, as shown at 224. Conversion candidates refer to characters that are relevant to particular phonetics (e.g., pinyin, Bopomofo, etc.) being entered. In one embodiment, conversion candidates are pulled from a table or dictionary. In other embodiment, conversion candidates are ranked according to the likelihood that the user is trying to spell each candidate, with the more likely candidates listed before less likely candidate. The likelihood may be based on a table entry, history or user selection, history of other users' selections, geographic region, or a combination thereof.
The illustrated steps are not limited to a sequential manner, as some embodiments will perform the steps in parallel or out of the sequence illustrated. Furthermore, although the subject matter has been described in language specific to structural features and methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. For example, sampling rates and sampling periods other than those described herein may also be captured by the breadth of the claims.
Number | Date | Country | Kind |
---|---|---|---|
PCT/CN2011/074405 | May 2011 | CN | national |
This application is a continuation of and claims priority to PCT Application No. CN20011/074405, filed on May 20, 2011 and entitled “ADVANCED PREDICTION.”