Text entry and conversion of phrase-level abbreviations
By implementing the reduced text processing module on a mobile electronic device, analyzing the reduced text input by the user and generating full-text phrases, the problem of automatic text entry in the prior art is solved, and text correction at the phrase level is realized, and text entry efficiency is improved.
Patent Information
- Application Number
- CN201980033957.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-05-22
- Filing Date
- 2019-05-07
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2039-05-07
AI Technical Summary
The existing automatic text entry tool is only run at the word level and cannot be corrected at the phrase, sentence or paragraph level, resulting in users needing to frequently view prediction results when entering, affecting efficiency.
By implementing the reduced text processing module on the mobile electronic device, it accepts the reduced text input by the user, parses the reduced text according to the predefined mode, generates a sequence of parsed text elements, and determines the full text phrase corresponding to these elements, and displays it on the display component of the device.
This realizes text correction at the phrase, sentence or paragraph level, improves the user's text entry efficiency on mobile devices, reduces the number of characters entered by users, and reduces the error rate.
Smart Images

Figure CN112154442B_ABST
Abstract
Description
BACKGROUND OF THE INVENTION
[0001] Predictive auto-complete text entry is a feature implemented in some text processing tools that automatically completes word text (in some cases with as few as 1 to 3 keystrokes) after only a limited number of text entries. Predictive auto-complete text entry tools save the user time by allowing the user to enter complete words with fewer keystrokes. Such tools are particularly valuable on mobile devices used for sending text messages (e.g., Short Message Service (SMS) messages, etc.), emails, or other text-intensive applications, especially considering the relatively small keyboards on mobile devices. Predictive auto-complete text entry may also be referred to as "word completion". Predictive auto-complete text entry improves text entry efficiency (i.e., increases speed and reduces errors) by reducing the number of characters that must be entered. SUMMARY OF THE INVENTION
[0002] This "Summary of the Invention" is provided to introduce a few concepts in a simplified form that will be further described below in the "Detailed Description". This "Summary of the Invention" is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
[0003] Methods, apparatuses, and computer program products are provided that can address limitations of word-level autocorrection, thereby enabling correction at the phrase, sentence, or paragraph level. In various aspects, an abbreviated text is input by a user, and the abbreviated text can correspond to a full-text phrase, such as a sentence or paragraph. One or more full-text phrases are generated based on the abbreviated text, and the full-text phrases are displayed according to the probability that the abbreviated text corresponds to the full-text phrases.
[0004] In one implementation, a reduced text processing module is enabled to receive the abbreviated text, parse the abbreviated text according to a predefined pattern to generate a sequence of parsed text elements, and determine one or more full-text phrases, where the words are most likely to correspond to the parsed text elements, and display the one or more full-text phrases on a display component of a computing device. In an example, each parsed text element of the sequence of parsed text elements is analyzed to determine a set of word probabilities, where each probability is the probability that a particular parsed text element corresponds to a particular word. Additionally, the set of word probabilities is analyzed to determine a plurality of phrase probabilities, where each phrase probability is the probability that the abbreviated text corresponds to a particular full-text phrase, sentence, or paragraph.
[0005] In another aspect, the abbreviated text is displayed on a display component of an electronic device, and the displayed text may also include an indication marking the sequence of parsed text elements.
[0006] The following describes in detail other features and advantages of the present invention, as well as the structures and operations of various embodiments, with reference to the accompanying drawings. Note that the embodiments are not limited to the specific embodiments described herein. Such embodiments are presented herein for illustrative purposes only. Based on the teachings contained herein, other embodiments will be apparent to those skilled in the relevant art(s). BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings, which are incorporated herein and constitute a part of this specification, illustrate embodiments of the present application and, together with the description, further serve to explain the principles of the embodiments and enable those skilled in the relevant art(s) to make and use the embodiments.
[0008] Figure 1 A block diagram of a mobile electronic device configured to receive and process reduced text input is shown in accordance with an example embodiment.
[0009] Figure 2 A flowchart of a method for receiving and processing reduced text to generate and display a phrase based on the probability that a phrase corresponds to the reduced text input is shown in accordance with an example embodiment.
[0010] Figure 3 An example reduced text processing module is shown in accordance with an example embodiment.
[0011] Figure 4 A process for providing an indication of a parsed text element parsed from reduced text input on a display component is shown in accordance with an embodiment.
[0012] Figure 5 A display component is shown in accordance with an embodiment, which shows an example indication of a parsed text element parsed from reduced text input.
[0013] Figure 6 A process for providing a phrase having the highest probability corresponding to the reduced text input on a display component is shown in accordance with an example embodiment.
[0014] Figure 7 A process for providing multiple phrases having the highest corresponding probability corresponding to the reduced text input on a display component is shown in accordance with an embodiment.
[0015] Figure 8 A block diagram of an exemplary processor-based computer system that can be used to implement various embodiments is shown.
[0016] The features and advantages of the present invention will become more apparent from the following detailed description in conjunction with the accompanying drawings, in which like reference numerals always identify corresponding elements. In the drawings, like reference numerals generally denote identical, functionally similar, and / or structurally similar elements. The figure in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference numeral. Detailed Description
[0017] I. Introduction
[0018] This specification and the drawings disclose one or more embodiments incorporating features of the present invention. The scope of the present invention is not limited to the disclosed embodiments. The disclosed embodiments merely illustrate the present invention, and modified versions of the disclosed embodiments are also covered by the present invention. Embodiments of the present invention are defined by the appended claims.
[0019] References in the specification to "one embodiment", "an embodiment", "example embodiment", etc., indicate that the described embodiment may include a particular feature, structure, or characteristic, but each embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Further, when a feature, structure, or characteristic is described in connection with an embodiment, it is considered within the knowledge of those skilled in the art to implement such feature, structure, or characteristic in connection with other embodiments (whether or not explicitly described).
[0020] Many exemplary embodiments of the present invention are described below. Note that any section / subsection headings provided herein are not intended to be limiting. Embodiments are described throughout this document, and any type of embodiment may be included under any section / subsection. Additionally, the embodiments disclosed in any section / subsection may be combined with any other embodiments described in the same section / subsection and / or different section / subsections in any manner.
[0021] II. Example Embodiments.
[0022] Predictive autocompletion text entry is a function implemented in some text processing tools for automatically completing word text (in some cases with as few as 1 to 3 keystrokes) after only a limited number of text entries. Predictive autocompletion text entry tools save users time by allowing them to enter complete words with fewer keystrokes. Such tools are particularly valuable on mobile devices used for sending text messages (e.g., Short Message Service (SMS) messages, etc.), emails, or other text-intensive applications, especially considering the relatively small keyboards on mobile devices. Predictive autocompletion text entry may also be referred to as "word completion".
[0023] Predictive auto - complete text entry improves the efficiency of text entry (i.e., increases speed and reduces errors) by reducing the number of characters that must be entered. However, current auto - complete text entry tools are configured to operate only at the word level. That is, text entry is used to predictively auto - complete individual words, rather than allowing the user to continue entering text that is predictively auto - completed at the phrase, sentence, or paragraph level. By potentially correcting each entered word rather than at the phrase level, the user is forced to slow down their overall text entry speed and interrupt their train of thought to see if the predictive auto - complete text entry has correctly auto - completed the last word.
[0024] Embodiments described herein enable an electronic device, including a mobile device such as a smart phone or a tablet computer, to accept abbreviated text according to a predefined reduction pattern, determine probabilities corresponding to the abbreviated text with respect to a plurality of full - text phrases (which may include phrases, sentences, and / or paragraphs), and display one or more full - text phrases on a display component of the electronic device based on such probabilities. According to one embodiment, determining such probabilities can be accomplished in various ways.
[0025] Hereinafter, when the described embodiments refer to "abbreviated sentence - level text entry", "abbreviated sentence - level text", "abbreviated text", "reduced text", etc., it should be understood that the embodiments are not limited to sentences, but rather these terms encompass phrases, sentences, and paragraphs.
[0026] In an embodiment, such abbreviated text entry and conversion can be implemented in a device in various ways. For example, Figure 1 A block diagram of a mobile electronic device 102 configured to perform abbreviated text entry and conversion according to an example embodiment is shown. As Figure 1 shown, the mobile electronic device 102 includes a display component 104, a text input module 110, and a reduced - text processing module 112. The display component 104 includes a display screen that displays a user interface 106. The mobile electronic device 102 and its features are described below.
[0027] The mobile electronic device 102 can be any type of mobile computer or computing device, such as a handheld device (e.g., device, RIM device, a personal digital assistant (PDA)), a laptop computer, a notebook computer, a tablet computer (e.g., Apple iPad TM 、Microsoft Surface TM etc.), a netbook, a mobile phone (e.g., a smart phone, such as an Apple iPhone, a Google Android TM phone, a Microsoft a telephone, etc.), wearable devices (e.g., virtual reality glasses, helmets and goggles, watches (e.g., )) and other types of mobile devices. In addition, although the mobile electronic device 102 is indicated as a mobile device, embodiments may also be implemented in fixed devices including personal computers.
[0028] The display component 104 is a display of the mobile electronic device 102, which is used to display text (text characters, including alphanumeric characters, arithmetic symbols, etc.) and optionally graphics to the user of the mobile electronic device 102. For example, the display component 104 may include a display screen that is part or all of the surface of the mobile electronic device 102. The display screen may or may not be touch-sensitive. The display component 104 may be an LED (light emitting diode) type display, an OLED (organic light emitting diode) type display, an LCD (liquid crystal display) type display, a plasma display, or other types of displays that may or may not have backlighting.
[0029] The text input module 110 is configured to receive the reduced text 114 provided to the mobile electronic device 102 by the user. The mobile electronic device 102 may be configured to accept the reduced text 114 from one or more user interface devices, such as a keyboard (e.g., the user can type text), a thumbwheel, a pointing device, a trackball, a stick indicator, a touch-sensitive display, any number of virtual interface elements (e.g., a virtual keyboard or other user interface elements displayed in the user interface 106 by the display component 104), and / or other user interface elements described elsewhere herein or in other known ways. In another embodiment, the mobile electronic device 102 includes a haptic interface that is configured to interface the mobile electronic device 102 with the user through touch sensation by applying force, vibration, and / or movement to the user. For example, the user of the mobile electronic device 102 may wear gloves or other prosthetics to provide haptic contact.
[0030] In one embodiment, the text input module 110 may store the reduced text 114 (e.g., in a memory or other storage device), and pass the reduced text 114 to the display component 104 for display, as Figure 1 shown. The text input module 110 may provide the reduced text 114 to the display component 104 in any form (e.g., as character data, display pixel data, rasterized graphics, etc.). According to one or more embodiments, the text input module 110 may also provide the reduced text 114 to the reduced text processing module 112 for processing and conversion, as described in further detail below.
[0031] In one embodiment, the user interface 106 is a graphical user interface (GUI) that includes a display area in which the displayed text 108 can be shown. For example, the user interface 106 can be a graphical window of a word processing tool or a messaging tool in which text can be displayed, and can optionally be generated by the text input module 110 for display by the display component 104.
[0032] In one embodiment, and as described above, the reduced text processing module 112 can receive the reduced text 114 from the text input module 110. In an embodiment, the reduced text processing module 112 can be included within the text input module 110, or can be separate from the text input module 110 but still be included within the mobile electronic device 102 (as Figure 1 shown). In another embodiment, the reduced text processing module 112 can be separate from the mobile electronic device 102 and can be accessed by the mobile electronic device 102 via a network, such as a personal area network (PAN), a local area network (LAN), a wide area network (WAN), or a combination of networks such as the Internet. For example, the reduced text processing module 112 can be accessed by the mobile electronic device 102 via a network at a server (such as in a network service, cloud service, etc.).
[0033] In one embodiment, and as described in more detail below, the reduced text processing module 112 can be configured to automatically parse the reduced text 114 and probabilistically determine one or more phrases / sentences / paragraphs that may correspond to the reduced text 114. For example, in one embodiment, the reduced text processing module 112 can automatically parse the reduced text 114 into a sequence of parsed elements and determine a word probability for each element corresponding to any of a plurality of words.
[0034] In one embodiment, when providing the reduced text 114 to the display component 104 for display, the text input module 110 can also provide an indication or other information that identifies each parsed element of the sequence of parsed elements in the reduced text 114, thereby allowing the display component 104 to display them separately and differently. For example, when the reduced text 114 is shown as the displayed text 108 in the user interface 106, the text characters corresponding to each parsed element of the sequence of parsed elements can be displayed in contrasting boldface, different colors, and / or otherwise rendered to allow visual differentiation of the parsed elements.
[0035] In one embodiment, the reduced text processing module 112 may further determine phrase probabilities, at least in part, based on the word probabilities described above, where each phrase probability is the probability that the reduced text corresponds to a particular sequence of words (i.e., a phrase, sentence, or paragraph). In one embodiment, when determining phrase probabilities, the reduced text processing module 112 may provide one or more corresponding predicted phrases 118 to the display component 104 for display in the user interface 106.
[0036] As Figure 1 shown, the reduced text processing module 108 generates the predicted phrase(s) 118, which are full text versions of the reduced text 114 received from the user via the text input module 110. In one embodiment, the user may input the reduced text according to a predefined reduction pattern. For example, the user may input the first two letters of each word in a sentence, phrase, or paragraph that they wish to input. If the word is a single letter word, only the single letter is input. For example, the user may input "mahaalila", and the text processing module 108 may output "mary had a little lamb" as the predicted phrase 118 for display on the display component 104. In another embodiment, single letter words may be input as two characters by padding the input with a space to simplify parsing. In such an embodiment, "mary had a little lamb" corresponds to the input reduced text "mahaa lila".
[0037] In an embodiment, the text processing module 108 of the mobile electronic device 102 may generate "mary had a little lamb" from "mahaalila" in a variety of ways. For example, Figure 2 FIG. 200 is a flow diagram of an example method for probabilistically generating and displaying full text phrases from reduced text entry, in accordance with an example embodiment. In one embodiment, each stage of the flow diagram 200 may be performed by the reduced text processing module 112 of the mobile electronic device 102. However, note that in other embodiments, the steps of the flow diagram 200 may be performed by other modules or components of the electronic mobile device 102. For example, any operations described hereinafter as being performed by the reduced text processing module 112 may be integrated into one or more other modules, such as, for example, the text input module 110. Based on the following discussion of the flow diagram 200, other structural and operational embodiments will be apparent to those of skill in the relevant art(s).
[0038] The flow diagram 200 begins at step 202. In step 202 of the flow diagram 200, reduced text is received from the user at the electronic device. For example, as Figure 1As shown, the text input module 110 of the mobile electronic device 102 receives the abbreviated text 114. The abbreviated text 114 is text input by the user according to a predefined abbreviation pattern. The abbreviation pattern is a rule that specifies which characters of the words in a phrase are to be entered during text entry. One such abbreviation pattern was just described above, where the abbreviated text consists of the first two letters of each word, with single-letter words padded with a space. Of course, in embodiments, other abbreviation patterns are possible. For example, another abbreviation pattern could consist of the first and last letters of each word, with single-letter words again padded with a space. In this abbreviation pattern, "mary had a little lamb" corresponds to the abbreviated text "myhda lelb". Other example abbreviation patterns and the resulting abbreviated text are:
[0039] · First letter plus the first vowel:
[0040] ο “the dinosaur was furious” → “tediwafu”
[0041] · First letter plus the last letter plus the vowel of the intonation syllable:
[0042] ο “slow speaking can help” → “sowsegcanhep”
[0043] · First 2 letters plus the last letter:
[0044] ο “important papers should not get lost” → “imtpasshdnotgetlot”
[0045] In addition to the selection of letters, the abbreviation patterns of other embodiments can allow ambiguity in text entry to resolve uncertain spellings. Uncertain spellings can occur if the user does not know how to spell a word and guesses some parts, or if they misspell it. For example, the vowels "i" and "y" and "e" can be phonetically ambiguous. Applying this concept and the last abbreviation pattern shown above (i.e., first 2 letters + last letter) to the phrase "the eclipseyields glee" might result in the abbreviated text "theyceyesgli".
[0046] In an embodiment, a user may select a preferred reduction mode to be recognized by, for example, the mobile electronic device 102. If both the user and the device 102 know which reduction mode is being used at any given time, the conversion from the reduced text to the full text by the mobile electronic device 102 may be easier. This is because the reduction mode indicates how the embodiment parses the received reduced text in step 202. The parsing of the reduced text is the first step in disambiguating the reduced text and determining the possible full text phrases that may correspond to the reduced text. However, in one embodiment, the mobile electronic device 102 may be configured to determine the specific reduction mode applied by the user to the reduced text 114 by analyzing the reduced text 114 according to the embodiments described herein and ranking it against a list of various acceptable reduction modes.
[0047] Continuing with step 204 of flowchart 200, the reduced text is parsed according to a predefined reduction mode to generate a sequence of parsed text elements. For example, as Figure 1 shown, the text input module 110 may provide the reduced text 114 to the reduced text processing module 112, and the reduced text processing module 112 may be configured to perform the parsing.
[0048] For example, referring again to the reduction pattern that includes the first two letters of each word, the phrase "mary had a little lamb" maps to the reduced text "mahaa lila". The reduced text processing module 112 can be configured to parse the reduced text "mahaa lila" into a sequence of parsed text elements based on the knowledge that each word of the phrase is precisely mapped to two text characters. Thus, the sequence of parsed text elements parsed from "mahaa lila" consists of two-character text elements for each word: "ma", "ha", "a", "li", and "la". Each reduction pattern (including the one shown above) results in a constant number of characters of each full-text word being input as the reduced text. Thus, the reduced text processing module 112 can unambiguously parse such reduced text into a sequence of parsed text elements based on the corresponding constant number. Each parsed text element of the sequence of parsed text elements corresponds to a specific word of the full-text phrase. However, it is not always possible to perfectly determine which specific full-text word corresponds to a specific parsed text element. For example, the parsed text element "ma" can correspond to any word starting with the letters "ma" (e.g., mary, made, mad, man, mars, etc.). Thus, "mahaa lila" could be "Mary had a little lamb" or "manacles handle a likely larcenist". Compared to conventional word autocorrection techniques, the embodiments use full-phrase transformation to enable better prediction of such words.
[0049] Referring again Figure 2 , in step 206, a set of word probabilities corresponding to the sequence is determined by determining a set of corresponding word probabilities for each parsed text element of the sequence, where each word probability in the set of word probabilities is the probability that the corresponding parsed text element is a reduced text representation of the corresponding word. For example, Figure 1 the reduced text processing module 112 can be configured to determine a set of word probabilities corresponding to the sequence of parsed text elements determined in step 204. The reduced text processing module 112 can be configured to attempt to resolve any ambiguity in word determination by determining in step 206 the probabilities corresponding to one or more words for a given parsed text element and determining the probability that the sequence of parsed text elements corresponds to a specific full-text phrase as described in further detail below.
[0050] For each parsed text element of the sequence of parsed text elements generated in step 204, for example, the reduced text processing module 112 can be configured to generate a set of word probabilities corresponding to the parsed text element in question and a corresponding set of words. For example, based on the above example, the reduced text parsing of "Mary had a little lamb" into text elements: "ma", "ha", "a", "li", and "la". Using this example, the reduced text processing module 112 can generate a set of probabilities corresponding to the parsed text element "ma" and a specific word. In an example embodiment, the set can consist of a predetermined number of tuples, each tuple having the form (word, word_probability), where word is the full text word and word_probability is the probability that the given parsed text element corresponds to word. Assuming that each set contains the five most likely words, in one embodiment, the set corresponding to the parsed text element "ma" can be: [("many", p1), ("make", p2), ("may", p3), ("made", p4), ("man", p5)], where p1 - p5 are the probabilities corresponding to each word.
[0051] To determine the word_probability of each tuple in the set, the reduced text processing module 112 can use a word list and a word-based language model that provides the probability of encountering a word, and use methods known in the art (such as table lookup, hash mapping, tries, etc.) to find an exact or fuzzy match for the given parsed text element. In an embodiment, the language model and algorithm work with words or parts of words and can encode the likelihood of seeing another word or part of a word appear in succession based on a specific word, word class (such as "sports"), part of speech (such as "noun"), or a more complex sequence of such parts, such as in a grammar model or a neural network model (such as a recurrent neural network or a convolutional neural network).
[0052] In one embodiment, and continuing with the previous example, the reduced text processing module 112 continues by calculating an additional set of probabilities for the remaining parsed text elements. In the current example, the parsed text elements are "ha", "a", "li", and "la". The reduced text processing module 112 generates a set of word probabilities (one set for each sequence of parsed text elements generated in step 204), where each set includes probabilities regarding certain words corresponding to each parsed text element. Ultimately, the reduced text processing module 112 generates full text phrases from the reduced text input. Just as parsed text elements can be mapped to multiple possible words, different sets of words of a set of parsed text elements can be mapped to multiple possible phrases. Of course, not all such phrases are equally likely. Referring again to the example of "Mary had a little lamb", and the ambiguity between "Mary had a little lamb" and "manacles handle a likely larcenist", it is understandable that the latter phrase must be substantially less likely than the former phrase because, in fact, the words "manacles" and "larcenist" are rarely used in everyday writing. Thus, the reduced text processing module 112 can use the set of word probabilities to probabilistically determine one or more possible phrases that can be mapped to the reduced text 114.
[0053] Step 206 of flowchart 600 proceeds to step 208. In step 208, a set of phrase probabilities corresponding to multiple phrases is determined based on the set of word probabilities, where each phrase probability in the set of phrase probabilities is the probability that the reduced text is a reduced text representation of the corresponding phrase in the phrase. In one embodiment, the reduced text processing module 112 determines a set of phrase probabilities corresponding to multiple phrases. Each phrase probability in the set represents the probability that the reduced text received at step 202 of flowchart 200 is a reduced text representation of the corresponding phrase. Similar to the set of word probabilities described above, the set of phrase probabilities can be composed of multiple tuples, each tuple having the form (phase, phase_probability), where phase is the full text phrase and phase_probability is the probability that the reduced text received at step 202 corresponds to that phase.
[0054] In an embodiment, at step 208, the reduced text processing module 112 partially determines phrase probabilities using a set of word probabilities determined by the reduced text processing module 112. In particular, the reduced text processing module 112 may use word probabilities and algorithms (such as the Viterbi algorithm in one embodiment), or phrase-based language models to find possible matches for a sequence of words based on the likelihood of transitioning from one word to another. Such likelihoods may be based on a phrase list and a language model that provide the probability of encountering a particular sequence of words. For example, n-gram knowledge may be used, which reflects the probability that the word "ha" follows the word "ma". In the case where the word "ma" under consideration is "Mary", the reduced text processing module 112 may also consider instances of the word "ha" after a noun, proper noun, and / or female proper noun. That is, the word probabilities and / or language models may encode the likelihood of seeing another word not only based on specific adjacent words, but also consider word classes (such as "sports"), parts of speech (such as "noun"), or more complex sequences of such parts, such as in a grammar model or neural network model (such as a recurrent neural network or convolutional neural network) implemented by the reduced text processing module 112.
[0055] When determining phrase probabilities at step 208, and further referring to the example of "mary had a little lamb", the reduced text processing module 112 may consider the parsed text element "a" in the context of surrounding word candidates. Here, "a" is undoubtedly the word "a", and when the reduced text processing module 112 walks back up in the sequence of parsed text elements, the reduced text processing module 112 may also continue backward by considering which words are most likely to be before "a" and most likely to be before each n-gram.
[0056] It should be noted that the sets and tuples of word and phrase descriptions in connection with steps 206 and 208 respectively are merely exemplary and should not be construed to infer a particular data structure or other data format or processing. In fact, other embodiments described below herein deal with words and phrases and the probabilities associated therewith. As Figure 1 shown, the reduced text processing module 112 generates one or more predicted phrases 118 (which include a set of phrase probabilities to include the probabilities of the most likely phrases), as well as some means of associating such probabilities with specific phrases.
[0057] In the foregoing discussion of steps 204-208 of flowchart 200, it should also be understood that sometimes such steps may be performed in a different order or even simultaneously with other steps. For example, in an embodiment, receiving the abbreviated text at the electronic device as shown in step 202 may occur continuously, and as each character of the abbreviated text is entered, processing associated with parsing such abbreviated text in step 204 may occur to generate parsed text elements. That is, even during the execution of step 202 in which the abbreviated text is received, some or all of steps 204-208 may still occur because word and / or phrase probabilities can be evaluated and updated in real time. Similarly, while the set of phrase probabilities is still determined based on previously entered input in step 208, the set of word probabilities can be determined or updated in step 204 based on the characters of the most recently entered abbreviated text.
[0058] After determining the set of phrase probabilities in step 208, flowchart 200 proceeds to step 210. In step 210, at least one phrase from the phrases is provided on the display component based at least on the set of phrase probabilities. In one embodiment, as Figure 1 shown, the abbreviated text processing module 112 may provide the predicted phrase(s) 118 to be displayed as the displayed text 108 in the user interface 106 of the display component 104. In one embodiment, a single phrase associated with the highest probability may be provided in the predicted phrase(s) 118 to be displayed as the displayed text 108. In one embodiment, such display may be performed by automatically replacing the abbreviated text 114 with the phrase. In another embodiment, the user may be given the option to replace the most likely phrase with the abbreviated text 114. Alternatively, multiple phrases (with the highest probabilities) may be provided in the predicted phrase(s) 118 to be displayed as the displayed text 108, and the user may interact with the user interface 106 to select a phrase for replacement.
[0059] As described above, in one embodiment, each stage of flowchart 200 may be performed by the abbreviated text processing module 112 of the mobile electronic device 102. The abbreviated text processing module 112 may be configured to perform these functions in various ways. For example, Figure 3 shows an example of the abbreviated text processing module 112 according to an embodiment. Figure 3The reduced text processing module 112 includes a text parser 302, a word probability generator 304, a phrase probability generator 306, a phrase selector 308, and a word / phrase library 310. The reduced text processing module 112 is configured to receive the reduced text 312 and output an indication of the parsed text elements 320 to a display component, output one or more phrases 326 to the display component, or both. The following description of the reduced text processing module 112 begins with the text parser 302 receiving the reduced text 312.
[0060] The reduced text processing module 112 is configured to receive the reduced text 312 (e.g., according to Figure 2 step 202 of), and forward it to the text parser 302. As described above, the reduced text 312 is Figure 1 an example of the reduced text 114 of, and is an electronic representation of text entered by a user at a user interface according to a predefined reduction pattern, where the reduction pattern is a rule that specifies which characters of the words in a phrase are to be entered during text entry. An exemplary predefined reduction pattern requires the user to enter the first two letters of each word in a phrase. Again, as described above, such a reduction pattern would cause the user to enter "mahaa lila" for "Mary had a little lamb", where "mahaa lila" is the reduced text 312.
[0061] The text parser 302 can be configured to parse the reduced text 312 according to a predefined reduction pattern (e.g., according to Figure 2 step 204 of) to generate the parsed text 314. In one embodiment, the parsed text 314 corresponds to the sequence of parsed text elements described above with respect to the flowchart 200. Taking "mary had a little lamb" as an example, where the reduced text 312 is in the form of "mahaa lila" and the predefined reduction pattern includes the first two letters of each word, the parsed text 314 is generated as "Ma", "ha", "a", "li", and "la". In one embodiment, after the text parser 302 parses the reduced text 312 to generate the parsed text 314, information on how the reduced text 312 is parsed into the parsed text 314 can be used to display the reduced text 312 on a display device in a manner that can indicate how the parsed text 314 is parsed. As described in further detail below, such an indication is, for example, by using colors or by emphasizing each parsed text element with underlining, italicization, or bolding to distinguish it from any adjacent parsed text elements. In one embodiment, the parsed text 314 is received by Figure 3 the word probability generator 304 of to determine the likelihood of each element of the parsed text 314 corresponding to a particular word.
[0062] In one embodiment, the word probability generator 304 is configured to determine word probabilities and words (e.g., according to step 206 of Figure 2 ), as Figure 3 shown. In addition to receiving the parsed text 314 from the text parser 302, the word probability generator 304 may also be configured to look up and receive word and word probability pairs based on the parsed text 314 from the word / phrase library 310. In one embodiment, the word / phrase library 310 contains or provides n-gram probability statistics for various types of n-grams. For example, the word / phrase library 310 may contain or provide probability statistics for words starting with the letter "Ma". More specifically, the word / phrase library 310 may be configured to provide, for example, the top 10 most common words starting with the letter "Ma", and the probability or frequency statistics for each word.
[0063] In one embodiment, the word probability generator 304 may be configured to retrieve, for example, the top 10 most common words starting with the letter of each element and the parsed text 314. Referring again to the above example, after the word probability generator 304 receives the top 10 most common words "Ma" and their corresponding probabilities from the word / phrase library 310, the word probability generator 304 queries the word / phrase library 310 for the top 10 most common words with their corresponding probabilities for each of "ha", "li", and "la" (note that the element "a" of the parsed text 314 is a special case because "a" is an unambiguous word and thus does not need to be determined probabilistically). That is, embodiments of the word probability generator 304 are configured to determine the full-text words that can be mapped to each element of the parsed text 314, and the corresponding probabilities that each such mapping is correct. However, it should be understood that the foregoing description of the word probability generator 304 retrieving the top 10 most common word / probabilities is merely exemplary. In an embodiment, the word probability generator 304 may be configured to retrieve or receive more or fewer than 10 word / probabilities. In an alternative embodiment, the word probability generator 304 may be configured to receive or query words and their corresponding probabilities only if such probabilities exceed a specified threshold.
[0064] After collecting candidate words and their corresponding probabilities based on the parsed text 314, the word probability generator 304 is configured to provide the word probabilities 316 and words 322 to the phrase probability generator 306. Based on the word probabilities 316 and words 322, the phrase probability generator 306 is configured to generate phrases 324 and their corresponding phrase probabilities 318 (e.g., according to Figure 2Step 208). The phrase probability generator 306 is configured to interact with the word / phrase library 310 to determine the phrase 324 and the phrase probability 318 by evaluating the likelihood of seeing a particular word 322 after another word 322. In some cases, where the word is well-known (e.g., "a"), the phrase probability generator can determine the phrase 324 and the phrase probability 318 by working backward through the word sequence. That is, the embodiment can evaluate the likelihood of seeing a particular word 322 in the phrase before a known word 322. As described above, this determination can be based on the n-gram knowledge contained in the word / phrase library 310, as well as on a phrase-based language model that can find possible matches for a word sequence based on the likelihood of transitioning from one word to another. After determining the phrase 324 and the phrase probability 318, the phrase probability generator 306 is configured to pass them to the phrase selector 308.
[0065] The phrase selector 308 of the reduced text processing module 112 is configured to select one or more phrases 326 from the phrases 324 for display (e.g., according to Figure 2 Step 208). As described in more detail below, the phrase selector 308 can be configured to select a single phrase 324 for output to the display. In one embodiment, the phrase selector 308 selects a single phrase 326 for output to the display, where the phrase 326 corresponds to the phrase 324 having the highest phrase probability in the phrase probability 318. In another embodiment, the phrase selector 308 can be configured to select a predetermined number of phrases from the phrases 324 and output them as phrases 326 for display. In one embodiment, the phrase selector 308. In one embodiment, the multiple phrases 326 selected for output to the display are the phrases 324 having the highest corresponding probabilities in the phrase probability 318. In an alternative embodiment, the multiple phrases 326 selected for output to the display are the phrases 324 having probabilities exceeding a predetermined threshold in the phrase probability 318.
[0066] Although the word probability generator 304, the phrase probability generator 306, and the word / phrase library 310 are described as being separate from each other, it will be clear to those skilled in the art that the operations of each of the above can be wholly or partially combined into the same component. For example, in some embodiments, the word probability generator 304, the phrase probability generator 306, and the word / phrase library 310 can be combined into the same component because the output of the word probability generator 304 is only provided to the phrase probability generator 306, and the word / phrase library 310 serves these components. Based on the foregoing description, other structural embodiments will be clear to those skilled in the relevant art.
[0067] The reduced text processing module 112 can operate in various ways to select the (multiple) phrases 326 for display, as well as indications of the parsed text elements 320 output by the phrase selector 308 and the text parser 302, respectively. For example, in one embodiment, the phrase selector 308 can operate according to step 210 of the flowchart 200 and optionally perform additional steps. For example, after performing the method steps of the flowchart 200 as shown in Figure 2 the embodiment can be performed according to Figure 4 . In particular, Figure 4 shows a flowchart 400 of steps for providing additional information for display on a display component 104 such as Figure 1 . The flowchart 400 is described as follows.
[0068] In step 402, an indication of a sequence of parsed text elements is provided on the display component. In one embodiment, the text parser 302 ( Figure 3 ) can provide an indication of the parsed text elements of the parsed text 302 to the user interface 106 ( Figure 1 ) for displaying an indication of the sequence of parsed text elements in the reduced text 114 displayed in the user interface 106.
[0069] For example, Figure 5 shows a display component 104 according to an embodiment, which shows an example indication of parsed text elements parsed from the reduced text entry 504. In Figure 5 , the display component 104 displays the user interface 106, which includes a text entry box in which the user enters "Mahaa lila" as the reduced text 504, and the reduced text 504 is the reduced text of the described "mary had a little lamb" example. At step 402 of Figure 4 , as shown in Figure 5 , the reduced text 504 is displayed. However, in addition, each element of the sequence of parsed text elements 506A - 506E (corresponding to "Ma", "ha", "a", "li", and "la") of the reduced text 504 has been decorated with an indication for highlighting the boundaries between each parsed text element. In one embodiment, the text parser 302 provides an indication of the parsed text to the user interface 106 such that different displays can be made for each parsed text element. In particular, Figure 5 the elements 506A - 506E correspond to the parsed text elements just represented above. In one embodiment, each parsed text element is displayed in a different way, for example, as shown in Figure 5As shown, each parsed text element is rendered in a different font characteristic in turn. That is, in one embodiment, the alternating parsed text elements 506A, 506C, and 506E are displayed in a bold and underlined font style. The intermediate elements 506B and 506D are displayed in an italic font style. The received reduced text is rendered in such a way that each parsed text element is clear to the user, providing useful feedback to the user who is aware of the active reduced mode and can more easily notice if a typo has been entered and can take corrective measures.
[0070] Note that bold, underlined, and italic font styles are merely one example way of displaying each of the sequence of parsed text elements in a different manner. Any other way can be used alone or in any combination, including different colors, grayscale, font sizes, spacing, etc., in order to indicate the parsed text elements in a distinguishable manner.
[0071] As described above in step 210 of flowchart 200, an embodiment can provide at least one phrase on a display component that is associated with the set of phrase probabilities determined in step 208 of flowchart 200. For example, Figure 6 Flowchart 600 is shown. Flowchart 600 provides step 602 for selecting a phrase to be displayed. Specifically, in step 602, a phrase among a plurality of phrases having the highest probability in the set of phrase probabilities is provided on the display component. In one embodiment, phrase selector 308 is configured to select a phrase determined to have the highest probability in the set of phrase probabilities among the plurality of phrases for display in user interface 106.
[0072] However, the probability associated with the most likely phrase among the plurality of phrases may not always be sufficiently different to make the highest probability meaningfully different. Or, it may be desirable to display a plurality of phrases for the user to select. For example, Figure 7 Flowchart 700 is shown. Flowchart 700 includes step 702, which provides an alternative embodiment for such a situation. Specifically, in step 702, a predetermined number of phrases among the plurality of phrases corresponding to the phrase having the highest probability in the set of phrase probabilities are provided on the display component of the electronic device. In one embodiment, phrase selector 308 is configured to select a plurality of phrases determined to have the highest probability in the set of phrase probabilities for display in user interface 106. For example, in one embodiment, a predetermined number of phrases having the highest probability may be selected, or the number selected may be based on a probability threshold (i.e., only phrases with a phrase probability exceeding a certain threshold are selected). In yet another embodiment, the predetermined number may be specified by other criteria, such as the available screen area on the display component of the electronic device (e.g., a fixed number such as 3 may be selected because only 3 display lines are available).
[0073] III. Exemplary Computer System Implementations
[0074] The mobile electronic device 102, text input module 110, reduced text processing module 112, text parser 302, word probability generator 304, phrase probability generator 306, phrase selector 308, and flowcharts 200, 400, 600, and 700 can be implemented as hardware, or hardware in combination with software and / or firmware. For example, the text input module 110, reduced text processing module 112, text parser 302, word probability generator 304, phrase probability generator 306, phrase selector 308, and / or flowcharts 200, 400, 600, and / or 700 can be implemented as computer program code / instructions configured to execute in one or more processors and stored in a computer-readable storage medium. Alternatively, the text input module 110, reduced text processing module 112, text parser 302, word probability generator 304, phrase probability generator 306, phrase selector 308, and / or flowcharts 200, 400, 600, and / or 700 can be implemented as hardware logic circuitry (e.g., a circuit composed of transistors, logic gates, operational amplifiers, one or more application-specific integrated circuits (ASICs), one or more field-programmable gate arrays (FPGAs), etc.).
[0075] For example, in one embodiment, one or more of the text processing module 112, text parser 302, word probability generator 304, phrase probability generator 306, phrase selector 308, and / or flowcharts 200, 400, 600, and / or 700 (in any combination) can be implemented together in a SoC. The SoC can include an integrated circuit chip that includes a processor (e.g., a central processing unit (CPU), microcontroller, microprocessor, digital signal processor (DSP), etc.), a memory, one or more communication interfaces, and / or one or more other circuits, and can optionally execute the received program code and / or include embedded firmware to perform functions.
[0076] Figure 8 An exemplary implementation of a computing device 800 in which embodiments can be implemented is depicted. For example, the mobile electronic device 102 can be implemented in one or more computing devices similar to the computing device 800 in fixed or mobile computer embodiments, including one or more features and / or alternative features of the computing device 800. The description of the computing device 800 provided herein is for illustrative purposes and is not intended to be restrictive. As is known to those skilled in the relevant art(s), embodiments can be implemented in other types of computer systems.
[0077] As Figure 8As shown, computing device 800 includes one or more processors (referred to as processor circuitry 802), system memory 804, and a bus 806 that couples various system components including system memory 804 to processor circuitry 802. Processor circuitry 802 is implemented as an electrical and / or optical circuit in one or more physical hardware circuit device elements and / or integrated circuit devices (semiconductor material chips or dies) as a central processing unit (CPU), microcontroller, microprocessor, and / or other physical hardware processor circuitry. Processor circuitry 802 can execute program code stored in a computer-readable medium, such as program code for operating system 830, application programs 832, other programs 834, and so on. Bus 806 represents any one or more of several types of bus structures using any of various bus architectures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus. System memory 804 includes read-only memory (ROM) 808 and random access memory (RAM) 810. Basic input / output system 812 (BIOS) is stored in ROM 808.
[0078] Computing device 800 also has one or more of the following drives: a hard disk drive 814 for reading from and writing to a hard disk, a disk drive 816 for reading from or writing to a removable disk 818, and an optical disk drive 820 for reading from or writing to a removable optical disk 822 (such as a CD ROM, DVD ROM, or other optical medium). Hard disk drive 814, disk drive 816, and optical disk drive 820 are connected to bus 806 via a hard disk drive interface 824, a disk drive interface 826, and an optical disk drive interface 828, respectively. The drives and their associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, program modules, and other data for the computer. Although hard disks, removable disks, and removable optical disks have been described, other types of hardware-based computer-readable storage media can be used to store data, such as flash memory cards, digital video disks, RAM, ROM, and other hardware storage media.
[0079] Multiple program modules can be stored on the hard disk, disk, optical disk, ROM, or RAM. These programs include an operating system 830, one or more application programs 832, other programs 834, and program data 836. Application programs 832 or other programs 834 can include, for example, computer program logic (such as computer program code or instructions) for implementing the following: text processing module 112, text parser 302, word probability generator 304, phrase probability generator 306, phrase selector 308, and / or flowcharts 200, 400, 600, and / or 700 (including any suitable steps of flowcharts 200, 400, 600, and 700), and / or other implementations described herein.
[0080] A user may input commands and information into the computing device 800 through input devices such as a keyboard 838 and a pointing device 840. Other input devices (not shown) may include a microphone, a joystick, a gamepad, a dish satellite antenna, a scanner, a touch screen and / or a touchpad, a voice recognition system for receiving voice input, a gesture recognition system for receiving gesture input, etc. These and other input devices are generally connected to the processor circuit 802 through a serial port interface 842 coupled to the bus 806, but may be connected through other interfaces such as a parallel port, a game port, or a Universal Serial Bus (USB).
[0081] The display screen 844 is also connected to the bus 806 through an interface such as a video adapter 846. The display screen 844 may be external to the computing device 800 or incorporated into the computing device 800. The display screen 844 may display information and is a user interface for receiving user commands and / or other information (e.g., through touch, finger gestures, a virtual keyboard, etc.). In addition to the display screen 844, the computing device 800 may also include other peripheral output devices (not shown), such as speakers and printers.
[0082] The computing device 800 is connected to a network 848 (e.g., the Internet) through an adapter or a network interface 850, a modem 852, or other means for establishing communication through a network. As Figure 8 shown, the modem 852, which may be internal or external, may be connected to the bus 806 through the serial port interface 842, as Figure 8 shown, or may be connected to the bus 806 using another interface type including a parallel interface.
[0083] As used herein, the terms "computer program medium", "computer-readable medium", and "computer-readable storage medium" are used to refer to physical hardware media, such as a hard disk associated with a hard disk drive 814, a removable disk 818, a removable optical disk 822, other physical hardware media, such as RAM, ROM, flash memory cards, digital video disks, zip disks, MEM, nanotechnology-based storage devices, and other types of physical / tangible hardware storage media. Such computer-readable storage media are distinguished from and do not overlap with (excluding communication media) communication media. Communication media embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave. The term "modulated data signal" refers to a signal having one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example and not limitation, communication media include wireless media (such as acoustic, RF, infrared, and other wireless media) and wired media. Embodiments also relate to such communication media, which are separate from and do not overlap with embodiments involving computer-readable storage media.
[0084] As described above, computer programs and modules (including application program 832 and other programs 834) can be stored on a hard disk, magnetic disk, optical disk, ROM, RAM, or other hardware storage media. Such computer programs can also be received via network interface 850, serial port interface 842, or any other interface type. When executed or loaded by an application, such computer programs enable computing device 800 to implement the features of the embodiments described herein. Thus, such computer programs represent the controller of computing device 800.
[0085] The embodiments also relate to a computer program product including computer code or instructions stored on any computer-readable medium. Such computer program products include hard disk drives, optical disk drives, storage device packages, portable storage sticks, memory cards, and other types of physical storage hardware.
[0086] IV. Additional Example Embodiments
[0087] A computer-implemented method for generating text phrases from a reduced input text entry is described herein. The method includes: receiving a reduced text at an electronic device; parsing the reduced text according to a predefined reduction pattern to generate a sequence of parsed text elements; determining a set of word probabilities corresponding to the sequence by determining a set of corresponding word probabilities for each parsed text element of the sequence, where each word probability in the set of word probabilities is the probability that the corresponding parsed text element is a reduced text representation of a corresponding word; determining a set of phrase probabilities corresponding to a plurality of phrases based on the set of word probabilities, where each phrase probability in the set of phrase probabilities is the probability that the reduced text is a reduced text representation of a corresponding phrase in the phrases; and providing at least one of the phrases in a user interface of the electronic device.
[0088] In one embodiment of the foregoing method, the predefined reduction pattern defines each parsed text element as including at least one of a predefined number of leading letters of a corresponding word or a predefined number of final letters of a corresponding word.
[0089] In one embodiment of the foregoing method, the predefined reduction pattern further defines each parsed text element as including the first vowel of a corresponding word or the vowel of an intonation syllable of a corresponding word.
[0090] Another embodiment of the foregoing method further includes providing an indication of the parsed text elements of the sequence on a user interface of the electronic device.
[0091] In one embodiment of the foregoing method, the indication of the parsed text elements of the sequence includes a color of a color coding scheme.
[0092] In another embodiment of the foregoing method, a color coding scheme assigns colors to parsed text elements, and each parsed text element is assigned a color of the color coding scheme corresponding to the determined probability that the parsed text element corresponds to a word.
[0093] Another embodiment of the foregoing method further includes providing, on a user interface of an electronic device, a single phrase among a plurality of phrases having the highest probability among a second plurality of probabilities.
[0094] One embodiment of the foregoing method further includes providing, on a user interface of an electronic device, a predetermined number of phrases among a plurality of phrases corresponding to a phrase having the highest probability among a second plurality of probabilities.
[0095] A mobile electronic device is described herein. The mobile electronic device includes: a display component capable of displaying at least text characters; a text input module that receives reduced text provided by a user to the mobile electronic device; and a reduced text processing module including: a text parser configured to parse the reduced text according to a predefined reduction pattern to generate a sequence of parsed text elements; a word probability generator configured to determine a set of word probabilities corresponding to the sequence by determining, for each parsed text element of the sequence, a corresponding set of word probabilities, where each word probability in the set of word probabilities is the probability that the corresponding parsed text element is a reduced text representation of the corresponding word; a phrase probability generator configured to determine a set of phrase probabilities corresponding to a plurality of phrases based on the set of word probabilities, where each phrase probability in the set of phrase probabilities is the probability that the reduced text is a reduced text representation of the corresponding phrase in the phrases; and a phrase selector configured to provide at least one phrase among the phrases on the display component.
[0096] In one embodiment of the foregoing mobile electronic device, the predefined reduction pattern defines each parsed text element as including at least one of a predetermined number of initial letters of the corresponding word or a predetermined number of final letters of the corresponding word.
[0097] In one embodiment of the foregoing mobile electronic device, the predefined reduction pattern further defines each parsed text element as including the first vowel of the corresponding word or the vowel of the intonation syllable of the corresponding word.
[0098] In another embodiment of the foregoing mobile electronic device, the text parser is further configured to provide an indication of the sequence of parsed text elements to the display component.
[0099] In one embodiment of the foregoing mobile electronic device, the indication of the sequence of parsed text elements includes a color of a color coding scheme.
[0100] In another embodiment of the aforementioned mobile electronic device, a color-coding scheme assigns colors to parsed text elements, and each parsed text element is assigned a color of the color-coding scheme corresponding to the determined probability that the parsed text element corresponds to a word.
[0101] In another embodiment of the aforementioned mobile electronic device, a phrase selector is configured to provide a display component with a single phrase among a plurality of phrases having the highest probability among a second plurality of probabilities.
[0102] In another embodiment of the aforementioned mobile electronic device, a phrase selector is configured to provide a display component with a predetermined number of phrases among a plurality of phrases corresponding to a phrase having the highest probability among a second plurality of probabilities.
[0103] A computer program product is described herein, including a computer-readable memory device having computer program logic recorded thereon, the computer program logic causing at least one processor to perform operations when executed by at least one processor of a computing device. These operations include: receiving reduced text at an electronic device; a predetermined number of phrases among a plurality of phrases corresponding to a phrase having the highest probability among a second plurality of probabilities; determining a set of word probabilities corresponding to a sequence by determining a set of corresponding word probabilities for each parsed text element of the sequence, each word probability in the set of word probabilities being the probability that the corresponding parsed text element is a reduced text representation of the corresponding word; determining a set of phrase probabilities corresponding to the plurality of phrases based on the set of word probabilities, each phrase probability in the set of phrase probabilities being the probability that the reduced text is a reduced text representation of the corresponding phrase among the phrases; and providing at least one of the phrases at a user interface of the electronic device.
[0104] In one embodiment of the aforementioned computer program product, a predefined reduction pattern defines each parsed text element as including at least one of a predetermined number of initial letters of the corresponding word or a predetermined number of final letters of the corresponding word.
[0105] In another embodiment of the aforementioned computer program product, the predefined reduction pattern further defines each parsed text element as including the first vowel of the corresponding word or the vowel of the intonation syllable of the corresponding word.
[0106] In one embodiment of the aforementioned computer program product, the above operations further include providing an indication of the parsed text elements of the sequence on a user interface of the electronic device.
[0107] V. Conclusion
[0108] Although various embodiments of the present invention have been described above, it should be understood that they are given by way of example only and not by way of limitation. Those skilled in the relevant art(s) will understand that various changes may be made in form and detail without departing from the spirit and scope of the present invention as defined in the appended claims. Accordingly, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the appended claims and their equivalents.
Claims
1. A computer-implemented method for generating text phrases from a reduced input text entry, comprising: receiving, at an electronic device, a reduced text, the reduced text including a plurality of reduced text elements; parsing the reduced text according to a predefined reduction pattern to generate a sequence of parsed text elements, each parsed text element corresponding to a respective reduced text element among the plurality of reduced text elements; determining a set of word probabilities corresponding to the sequence by determining, for each parsed text element of the sequence, a corresponding set of word probabilities, wherein each word probability in the set of word probabilities is the probability that the corresponding parsed text element is a reduced text representation of a respective word; determining a set of phrase probabilities corresponding to a plurality of phrases based on the set of word probabilities, wherein each phrase probability in the set of phrase probabilities is the probability that the reduced text is a reduced text representation of a respective phrase among the phrases; and providing, at a user interface of the electronic device, at least one of the phrases.
2. The computer-implemented method according to claim 1, wherein the predefined reduction pattern defines each parsed text element as including at least one of a predetermined number of initial letters of a corresponding word or a predetermined number of final letters of the corresponding word.
3. The computer-implemented method according to claim 2, wherein the predefined reduction pattern further defines each parsed text element as including a first vowel of the corresponding word or a vowel of an intonation syllable of the corresponding word.
4. The computer-implemented method according to claim 1, further comprising: providing an indication of the parsed text elements of the sequence at a user interface of the electronic device.
5. The computer-implemented method according to claim 4, wherein the indication of the parsed text elements of the sequence includes a color of a color-coding scheme.
6. The computer-implemented method according to claim 5, wherein the color-coding scheme assigns colors to the parsed text elements, and each parsed text element is assigned a color of the color-coding scheme corresponding to the determined probability that the parsed text element corresponds to the word.
7. The computer-implemented method according to claim 1, further comprising: providing, at the user interface of the electronic device, a single phrase among the plurality of phrases having the highest probability in the set of phrase probabilities.
8. The computer-implemented method according to claim 7, further comprising: providing, at the user interface of the electronic device, a predetermined number of phrases among the plurality of phrases corresponding to the phrase having the highest probability in the set of phrase probabilities.
9. A mobile electronic device, comprising: a display component capable of displaying at least text characters; a text input module that receives a reduced text provided by a user to the mobile electronic device, the reduced text including a plurality of reduced text elements; and a reduced text processing module including: A text parser configured to parse the reduced text according to a predefined reduction pattern to generate a sequence of parsed text elements, each parsed text element corresponding to a respective one of the plurality of reduced text elements; A word probability generator configured to determine a set of word probabilities corresponding to the sequence by determining a set of corresponding word probabilities for each parsed text element of the sequence, each word probability in the set of word probabilities being the probability that the corresponding parsed text element is a reduced text representation of a respective word; A phrase probability generator configured to determine a set of phrase probabilities corresponding to a plurality of phrases based on the set of word probabilities, each phrase probability in the set of phrase probabilities being the probability that the reduced text is a reduced text representation of the respective phrase in the plurality of phrases; and A phrase selector configured to provide at least one of the phrases on the display component.
10. The mobile electronic device according to claim 9, wherein the predefined reduction pattern defines each parsed text element as including at least one of a predetermined number of initial letters of the corresponding word or a predetermined number of final letters of the corresponding word.
11. The mobile electronic device according to claim 10, wherein the predefined reduction pattern further defines each parsed text element as including the first vowel of the corresponding word or the vowel of the intonation syllable of the corresponding word.
12. The mobile electronic device according to claim 9, wherein the text parser is further configured to provide an indication of the parsed text elements of the sequence to the display component.
13. The mobile electronic device according to claim 12, wherein the indication of the parsed text elements of the sequence includes a color of a color coding scheme.
14. The mobile electronic device according to claim 13, wherein the color coding scheme assigns a color to the parsed text elements, each parsed text element being assigned the color of the color coding scheme corresponding to the determined probability that the parsed text element corresponds to the word.
15. The mobile electronic device according to claim 9, wherein the phrase selector is configured to provide a single phrase of the plurality of phrases having the highest probability in the set of phrase probabilities to the display component.
16. The mobile electronic device according to claim 15, wherein the phrase selector is configured to provide a predetermined number of phrases of the plurality of phrases corresponding to the phrase having the highest probability in the set of phrase probabilities to the display component.
17. A computer program product comprising a computer-readable memory device having computer program logic recorded thereon, the computer program logic, when executed by at least one processor of a computing device, causes the at least one processor to perform operations that include: receiving reduced text at an electronic device, the reduced text including a plurality of reduced text elements; Parse the reduced text according to a predefined reduction pattern to generate a sequence of parsed text elements, each parsed text element corresponding to a respective reduced text element among the plurality of reduced text elements; Determine a set of word probabilities corresponding to the sequence by determining a set of corresponding word probabilities for each parsed text element of the sequence, each word probability in the set of word probabilities being the probability that the corresponding parsed text element is a reduced text representation of a respective word; Determine a set of phrase probabilities corresponding to a plurality of phrases based on the set of word probabilities, each phrase probability in the set of phrase probabilities being the probability that the reduced text is a reduced text representation of the respective phrase among the phrases; and Provide at least one of the phrases at a user interface of the electronic device.
18. The computer program product according to claim 17, wherein the predefined reduction pattern defines each parsed text element as including at least one of a predetermined number of initial letters of a corresponding word or a predetermined number of final letters of the corresponding word.
19. The computer program product according to claim 18, wherein the predefined reduction pattern further defines each parsed text element as including a first vowel of the corresponding word or a vowel of an intonation syllable of the corresponding word.
20. The computer program product according to claim 17, further comprising: Providing, on the user interface of the electronic device, a single phrase among the plurality of phrases having the highest probability in the set of phrase probabilities.
Citation Information
Patent Citations
Dynamic phrase expansion of language input
US20170357633A1