US20170269707A1 - Method for Text Input, Apparatus, and Computer Program - Google Patents
Method for Text Input, Apparatus, and Computer Program Download PDFInfo
- Publication number
- US20170269707A1 US20170269707A1 US15/478,939 US201715478939A US2017269707A1 US 20170269707 A1 US20170269707 A1 US 20170269707A1 US 201715478939 A US201715478939 A US 201715478939A US 2017269707 A1 US2017269707 A1 US 2017269707A1
- Authority
- US
- United States
- Prior art keywords
- input
- character
- textual
- interpretation
- textual interpretation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
Definitions
- the present invention generally relates to an approach for text input.
- the invention relates to a method for text input by ambiguous input sequences entered by a user, to an apparatus comprising an input device, and to a computer program for implementing such text input.
- Text input may be slow or cumbersome, especially when considering small apparatuses.
- Different approaches have been presented for being an aid to the user for making text input.
- the text input is not easy or fast enough, or the apparatus will be too rigid in its aid to the user since an apparatus never can predict all intentions of a user's text.
- An object of the invention is to at least alleviate the above stated problem.
- the present invention is based on the understanding that user intervention in interpretation candidate can enhance text input.
- a method for text input by ambiguous input sequences entered by a user comprises a primary process of receiving a user input on an input device having a plurality of selectable input items being associated with characters, an input sequence being generated in dependence of selection of an input item, wherein the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation that is a textual interpretation that is ambiguous, and displaying on a display a textual interpretation.
- the method also comprises a secondary process, initiated upon receiving an input associated with a delete-character command, deleting an interpreted character. The method is then arranged to return to the primary process where interpretations associated with the deleted character for that position of input text are excluded, wherein the primary and secondary processes are performed until a user input associated with a confirm-text command is received.
- An advantage of this is an input method where the user is enabled to intervene in interpretation in an intuitive way.
- the textual interpretation may be performed by a processor comparing the generated input sequence with textual objects stored in a memory containing a plurality of such textual objects, each of the plurality of textual objects associated with a possible input sequence.
- the method may further comprise selecting one of a plurality of possible interpretations, i.e. after any exclusion, for said step of displaying a textual interpretation.
- the method may further comprise ranking the plurality of possible interpretations, wherein the highest ranked possible interpretation is selected in said step of selecting one of the plurality of possible interpretations.
- the method may further comprise determining a time after reception of the input associated with a delete-character command during which no further user input associated with characters is received, wherein the exclusion of the interpretations associated with the deleted character may be timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command.
- the secondary process may include storing the deleted character and position of the deleted character in a temporary data structure, and the primary process may include accessing the temporary data structure upon performing the textual interpretation, wherein the temporary data structure may be discarded when the confirm-text command is received.
- the confirm-text command may comprise input of a textual object separator or of a dedicated accept-command on the input device.
- the performing of the textual interpretation may comprise interpreting the input as an input associated with a character being closest in position to the user actuation position if for that position of input text not being an excluded character; and interpreting the input as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded.
- Textual interpretation may be ambiguous due to discrepancy in detected user actuation position and position of a selected input item at receiving the user input.
- the textual interpretation may be ambiguous due to the selected input item is associated with a plurality of characters.
- the textual interpretation may be ambiguous due to a character being associated with a plurality of aggregating user input actions.
- an apparatus comprising an input device having a plurality of selectable input items enabling text input by ambiguous input sequences entered by a user, the apparatus further comprising a processor and a display.
- the processor is arranged to control a primary process of receiving a user input on the input device, wherein an input sequence is being generated in dependence of selection of an input item by manipulating the user input device, the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation that is a textual interpretation that is ambiguous, and displaying on the display a textual interpretation; and to control a secondary process, initiated upon receiving an input associated with a delete-character command, of deleting an interpreted character, and returning to the primary process where interpretations associated with the deleted character for that position of input text are excluded, such that the primary and secondary processes are performed until a user input associated with a confirm-text command is received.
- the processor may further be arranged to access a memory, wherein the textual interpretation is performed by the processor by comparing the generated input sequence with textual objects stored in the memory containing a plurality of such textual objects, each of the plurality of textual objects associated with a possible input sequence,
- the processor may further be arranged to select one of a plurality of possible interpretations, i.e. after any exclusion, for the displaying of the textual interpretation on the display.
- the processor may further be arranged to rank the plurality of possible interpretations, wherein the highest ranked possible interpretation is the selected textual interpretation for being displayed on the display.
- the apparatus may further comprise a timer arranged to determine a time after reception of the input associated with a delete-character command during which no further user input associated with characters is received and to provide a time value to the processor, such that the exclusion of the interpretations associated with the deleted character is timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command.
- a timer arranged to determine a time after reception of the input associated with a delete-character command during which no further user input associated with characters is received and to provide a time value to the processor, such that the exclusion of the interpretations associated with the deleted character is timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command.
- the apparatus may further comprise a register, wherein the secondary process includes storing the deleted character and position of the deleted character in a temporary data structure in said register, and the primary process includes accessing the temporary data structure from said register upon performing the textual interpretation, wherein the temporary data structure is discarded when the confirm-text command is received.
- the input device may be a touch sensitive surface on said display and arranged to provide a position of touch action to the processor upon user actuation by touch, the display is controlled by the processor to display selectable input items, and the processor is arranged to perform the textual interpretation by interpreting the input as an input associated with a character being closest in position to the user actuation position if for that position of input text not being an excluded character; and interpreting the input as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded.
- the another character may be associated with another displayed input item being in vicinity of the user actuation position.
- the another character may be associated with the same displayed input item as the character being excluded.
- a computer program comprising computer executable program code, the program code comprising instructions arranged to cause a processor to perform the method according to the first aspect.
- FIG. 1 is a flow chart illustrating a method according to an embodiment.
- FIG. 2 is a process diagram illustrating a method according to an embodiment.
- FIG. 3 schematically illustrates an apparatus according to an embodiment.
- FIG. 4 schematically illustrates a computer program product and a processor arranged to execute a computer program of the computer program product.
- FIG. 1 is a flow chart illustrating a method according to an embodiment.
- a user input is received.
- the user input is received on an input device having a plurality of selectable input items being associated with characters.
- An input item in this context can be a physical key or button, but is preferably a virtual key displayed on a touch sensitive display and which is assigned an association to its function by a program or operating system of the apparatus in question having the input device.
- each input item is associated with one character, such as for example a QWERTY keyboard, or each input item is associated with a plurality of characters, such as widely used for text input on a numeric keypad, i.e. a so called reduced keyboard, or associating a character with multiple input actions to form a character, e.g. keys representing strokes where a number of input strokes form a character.
- An input sequence is generated upon an input item is selected by manipulating the user input device.
- the generated input sequence corresponds to the sequence of input items that have been selected, i.e. the sequence adds up as the user continues to make inputs.
- the generated input sequence has a textual interpretation that is a textual interpretation that is at least to some degree ambiguous.
- the ambiguity may be due to smallness of the input device, which is normally the case for portable apparatuses as for example mobile phones, where it may be cumbersome for the user to hit correctly on small keys, or where the user operates the apparatus while walking or performing other tasks simultaneously. Ambiguity can also be because of discrepancy between where a user expects for example a finger to hit a touch sensitive display and where the actual detected touch position really is. A further reason for ambiguity is of course where several characters are associated with one input item.
- the textual interpretation is performed by a processor comparing the generated input sequence with textual objects stored in a memory containing a plurality of such textual objects.
- the textual objects can be based on words, word stems, expressions or other pieces of written language. Thus, each of the plurality of textual objects are associated with a possible input sequence forming such a word, word stem, expression or other piece of written language.
- the textual objects can be encoded in a plurality of ways, e.g. by ASCII, ISO/IEC 8859-1 or UTF, but also with hash values. Hash values can be used for dictionaries to quickly search in them. For example each word in the dictionary can have a hash value and the input can translated into a hash value that then matches a dictionary word.
- One or more interpretations of the textual intent of the input can thus be determined in a sequence interpretation step 102 . If several interpretations are possible, which is often the case at least for short sequences since not only sequences of equal length as the input sequence is made, an interpretation can be chosen for displaying on a display in a interpretation displaying step 104 based on for example statistical and/or contextual analysis.
- This process can be performed while consecutive user inputs associated with characters are received, or at editing of text.
- apparatuses can never in all situations predict the intentions of a user.
- the user is given more control at the same time as the apparatus is supporting to its best. This is achieved by the user indicating by giving a delete command when satisfactory interpretation is not presented, and a secondary process, initiated 110 upon the reception of an input associated with a delete-character command, is performed before returning to the input process.
- This secondary process comprises deleting an interpreted character in a deletion step 106 , which can be the latest interpreted character or a character indicated by the user in any other way, e.g. by setting a cursor or other graphical user interface object at the non-satisfactory character, wherein the indicated non-satisfactory character and its position in the text is considered upon further interpretation such that such non-satisfactory interpretation is excluded.
- This can be implemented by storing 108 a data structure comprising the deleted character and its position in the text.
- Feedback can be provided to the user by for example showing the deleted character on the input device as inactive, e.g. the virtual key or part of virtual key indicating the deleted character being “greyed out”.
- the user's intention may be to reformulate the text, and not to intervene with the interpretation. This can be detected by analysing input behaviour of delete commands and upon detection that it is probable that the user's intention is reformulation rather than intervention in interpretation, e.g. major part of word being deleted, number of consecutive delete commands exceeds a threshold, or time between delete commands is below a threshold, then no exclusion of interpretations is caused, and the primary process continues without any exclusions due to these deletions.
- FIG. 2 is a process diagram illustrating a method according to an embodiment in a more general way, where transitions due to input of a “delete” command, secondary process causing an “exclusion” of interpretations in the primary process, a “confirm” command causes a settlement of interpretation, or the primary process is caused to “proceed” if no intervention or settlement is the case.
- a “delete” command causes an “exclusion” of interpretations in the primary process
- a “confirm” command causes a settlement of interpretation
- the primary process is caused to “proceed” if no intervention or settlement is the case.
- the process starts with receiving 100 a new input. This is not necessary.
- the process instead makes/selects a new interpretation with the exclusion.
- deletion can here both be interpreted as deletion of the character and as deletion of the interpretation with the displayed character, but without need to make a new input associated with a character for replacing the deletion.
- FIG. 1 it is indicated that the exclusion is performed at interpretation 102 . However, the exclusion can equally be performed at selection and displaying 104 of interpretation candidate among interpretations already made.
- the primary and secondary processes are performed until a user input associated with a confirm-text command is received 112 , wherein the interpreted text is settled 114 in an application in question, e.g. a messaging application.
- the exclusion of the interpretations associated with the deleted character can be timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command.
- the user regrets a delete action, it only takes a while, and the exclusion of interpretations is reset.
- the secondary process can include storing the deleted character and position of the deleted character in a temporary data structure.
- the primary process can then include accessing the temporary data structure upon performing the textual interpretation, or when selecting interpretation candidate for displaying.
- the temporary data structure is preferably discarded when the confirm-text command is received.
- the discarding can be any of deleting the data structure or deleting contents, i.e. character(s) and position(s) of the data structure, or overwriting contents, deleting or overwriting references to data structures, etc.
- the confirm-text command comprises input of a textual object separator or of a dedicated accept-command of the input device, e.g. hitting an OK key, which may be a hard or soft key.
- a textual object separator can be a space symbol or a punctuation symbol.
- a punctuation symbol can for example be any of an apostrophe, brackets, colon, comma, dashes, full stop, question mark, semicolon, slash, etc.
- the textual interpretation can comprise interpreting the input as an input associated with a character being closest in position to the user actuation position. However, if the associated character for that position of the input text is an excluded character, the interpreting of the input is made as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded. The another character is thus associated with another input item being in vicinity of the user actuation position.
- the another character can instead be associated with the same input item as the character being excluded, i.e. another character associated with that input item can be chosen.
- an interpretation approach in this context may use more than the position of the current actuation and look-up in textual objects to decide the character; it may use a previous actuation position and time to decide the current character. For example, by considering that if the finger is likely to move in a certain direction when moving from the previous actuation position for actuating at the new input actuation position, it can be assumed that a larger variability along that direction, e.g. considered as a vector in calculations by the processor, and less variability along an orthogonal direction, which also can be considered as a vector in the calculations.
- the interpretation approach can have many things that makes up its final decision and by deleting a character such that interpretation can be weighted down in calculating the probability of an interpretation in the current case radically, and in upcoming interpretations eventually.
- a timed out delete characters is an example, as described herein, of how this can be implemented, where the probability of the delete character instantly decrease but then gradually/step-wise increase in probability again.
- FIG. 3 schematically illustrates an apparatus 300 according to an embodiment.
- the apparatus 300 comprises an input device 302 having a plurality of selectable input items being associated with characters, a processor 304 , a memory 306 and a display 308 .
- the input device 302 and display 308 can form one element by being a touch sensitive display and the above demonstrated virtual keyboard or keypad can be implemented, but the input device 302 and display 308 may also be separate elements. Text input to the apparatus is arranged to be performed according to any of the embodiments above.
- the processor 304 receives the detected user input sequence from the input device 302 , compares with sequences stored in the memory 306 and makes an interpretation that is sent to the display 308 , etc.
- the input items associated with characters can be virtual keys arranged under control of the processor on the display, in the case of a touch sensitive display, such that user actuation is detected by the touch sensitive display.
- a touch sensitive display such that user actuation is detected by the touch sensitive display.
- FIG. 4 schematically illustrates a computer program product and a processor arranged to execute a computer program of the computer program product.
- the methods according to the embodiments demonstrated above are suitable for implementation with aid of processing means, such as computers and/or processors, especially for the case where the application is a communication apparatus such as a mobile phone or a so called “smartphone”, i.e. a combined mobile telephone and portable computer or portable digital assistant, which apparatuses normally are arranged with non-negligible processing power and also with an operating system for handling one or more applications or computer programs. Therefore, there is provided computer programs, comprising instructions arranged to cause the processing means, processor, or computer to perform the steps of any of the methods according to any of the embodiments described with reference to FIG. 1 or 2 .
- the computer programs preferably comprises program code which is stored on a computer readable medium 400 , as illustrated in FIG. 4 , which can be loaded and executed by a processing means, processor, or computer 402 to cause it to perform the methods, respectively, according to embodiments of the present invention, preferably as any of the embodiments described with reference to FIG. 1 or 2 .
- the computer 402 and computer program product 400 can be arranged to execute the program code sequentially where actions of the any of the methods are performed stepwise.
- the processing means, processor, or computer 402 can be what normally is referred to as an embedded system.
- the depicted computer readable medium 400 and computer 402 in FIG. 4 should be construed to be for illustrative purposes only to provide understanding of the principle, and not to be construed as any direct illustration of the elements.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A method for text input comprises a primary process of receiving a user input on an input device having a plurality of selectable input items being associated with characters, an input sequence being generated in dependence of selection of an input item, wherein the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation that is a textual interpretation that is ambiguous, and displaying on a display a textual interpretation. The method also comprises a secondary process, initiated upon receiving an input associated with a delete-character command, which comprises deleting an interpreted character and returning to the primary process, where interpretations associated with the deleted character for that position of input text are excluded, where the primary and secondary processes are performed until a user input associated with a confirm-text command is received.
Description
- The present invention generally relates to an approach for text input. In particular, the invention relates to a method for text input by ambiguous input sequences entered by a user, to an apparatus comprising an input device, and to a computer program for implementing such text input.
- Text input may be slow or cumbersome, especially when considering small apparatuses. Different approaches have been presented for being an aid to the user for making text input. However, either the text input is not easy or fast enough, or the apparatus will be too rigid in its aid to the user since an apparatus never can predict all intentions of a user's text. Thus, there is a need for improving text input.
- An object of the invention is to at least alleviate the above stated problem. The present invention is based on the understanding that user intervention in interpretation candidate can enhance text input.
- According to a first aspect, there is provided a method for text input by ambiguous input sequences entered by a user. The method comprises a primary process of receiving a user input on an input device having a plurality of selectable input items being associated with characters, an input sequence being generated in dependence of selection of an input item, wherein the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation that is a textual interpretation that is ambiguous, and displaying on a display a textual interpretation. The method also comprises a secondary process, initiated upon receiving an input associated with a delete-character command, deleting an interpreted character. The method is then arranged to return to the primary process where interpretations associated with the deleted character for that position of input text are excluded, wherein the primary and secondary processes are performed until a user input associated with a confirm-text command is received.
- An advantage of this is an input method where the user is enabled to intervene in interpretation in an intuitive way.
- The textual interpretation may be performed by a processor comparing the generated input sequence with textual objects stored in a memory containing a plurality of such textual objects, each of the plurality of textual objects associated with a possible input sequence. An advantage of this is enabling of a fast interpretation such that a user experiences an instantly provided interpretation.
- The method may further comprise selecting one of a plurality of possible interpretations, i.e. after any exclusion, for said step of displaying a textual interpretation. The method may further comprise ranking the plurality of possible interpretations, wherein the highest ranked possible interpretation is selected in said step of selecting one of the plurality of possible interpretations. An advantage of this is that a provided interpretation is likely to match intentions of the user's text input.
- The method may further comprise determining a time after reception of the input associated with a delete-character command during which no further user input associated with characters is received, wherein the exclusion of the interpretations associated with the deleted character may be timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command. An advantage of this is that the user's intention with the intervention in interpretation may no longer be valid, or remembered by the user, and the interpretation may be experienced to better match the user's intentions.
- The secondary process may include storing the deleted character and position of the deleted character in a temporary data structure, and the primary process may include accessing the temporary data structure upon performing the textual interpretation, wherein the temporary data structure may be discarded when the confirm-text command is received. An advantage of this is that the text input procedure maintains low hardware occupation, and thus loads hardware resources less.
- The confirm-text command may comprise input of a textual object separator or of a dedicated accept-command on the input device. An advantage of this is intuitive operation.
- The performing of the textual interpretation may comprise interpreting the input as an input associated with a character being closest in position to the user actuation position if for that position of input text not being an excluded character; and interpreting the input as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded. An advantage of this is enhancement of input where input items are tightly positioned, or when a user is typing fast and maybe not hitting input items that accurately. The another character may be associated with another input item being in vicinity of the user actuation position. The another character may be associated with the same input item as the character being excluded.
- Textual interpretation may be ambiguous due to discrepancy in detected user actuation position and position of a selected input item at receiving the user input. The textual interpretation may be ambiguous due to the selected input item is associated with a plurality of characters. The textual interpretation may be ambiguous due to a character being associated with a plurality of aggregating user input actions.
- According to a second aspect, there is provided an apparatus comprising an input device having a plurality of selectable input items enabling text input by ambiguous input sequences entered by a user, the apparatus further comprising a processor and a display. The processor is arranged to control a primary process of receiving a user input on the input device, wherein an input sequence is being generated in dependence of selection of an input item by manipulating the user input device, the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation that is a textual interpretation that is ambiguous, and displaying on the display a textual interpretation; and to control a secondary process, initiated upon receiving an input associated with a delete-character command, of deleting an interpreted character, and returning to the primary process where interpretations associated with the deleted character for that position of input text are excluded, such that the primary and secondary processes are performed until a user input associated with a confirm-text command is received.
- The processor may further be arranged to access a memory, wherein the textual interpretation is performed by the processor by comparing the generated input sequence with textual objects stored in the memory containing a plurality of such textual objects, each of the plurality of textual objects associated with a possible input sequence,
- The processor may further be arranged to select one of a plurality of possible interpretations, i.e. after any exclusion, for the displaying of the textual interpretation on the display. The processor may further be arranged to rank the plurality of possible interpretations, wherein the highest ranked possible interpretation is the selected textual interpretation for being displayed on the display.
- The apparatus may further comprise a timer arranged to determine a time after reception of the input associated with a delete-character command during which no further user input associated with characters is received and to provide a time value to the processor, such that the exclusion of the interpretations associated with the deleted character is timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command.
- The apparatus may further comprise a register, wherein the secondary process includes storing the deleted character and position of the deleted character in a temporary data structure in said register, and the primary process includes accessing the temporary data structure from said register upon performing the textual interpretation, wherein the temporary data structure is discarded when the confirm-text command is received.
- The input device may be a touch sensitive surface on said display and arranged to provide a position of touch action to the processor upon user actuation by touch, the display is controlled by the processor to display selectable input items, and the processor is arranged to perform the textual interpretation by interpreting the input as an input associated with a character being closest in position to the user actuation position if for that position of input text not being an excluded character; and interpreting the input as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded. The another character may be associated with another displayed input item being in vicinity of the user actuation position. The another character may be associated with the same displayed input item as the character being excluded.
- According to a third aspect, there is provided a computer program comprising computer executable program code, the program code comprising instructions arranged to cause a processor to perform the method according to the first aspect.
- Advantages of the second and third aspects are similar to those demonstrated for the first aspect. Other objectives, features and advantages of the present invention will appear from the following detailed disclosure, from the attached dependent claims as well as from the drawings. Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to “a/an/the [element, device, component, means, step, etc]” are to be interpreted openly as referring to at least one instance of said element, device, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
- The above, as well as additional objects, features and advantages of the present invention, will be better understood through the following illustrative and non-limiting detailed description of preferred embodiments of the present invention, with reference to the appended drawings.
-
FIG. 1 is a flow chart illustrating a method according to an embodiment. -
FIG. 2 is a process diagram illustrating a method according to an embodiment. -
FIG. 3 schematically illustrates an apparatus according to an embodiment. -
FIG. 4 schematically illustrates a computer program product and a processor arranged to execute a computer program of the computer program product. -
FIG. 1 is a flow chart illustrating a method according to an embodiment. In a userinput reception step 100, a user input is received. The user input is received on an input device having a plurality of selectable input items being associated with characters. - An input item in this context can be a physical key or button, but is preferably a virtual key displayed on a touch sensitive display and which is assigned an association to its function by a program or operating system of the apparatus in question having the input device. Either, each input item is associated with one character, such as for example a QWERTY keyboard, or each input item is associated with a plurality of characters, such as widely used for text input on a numeric keypad, i.e. a so called reduced keyboard, or associating a character with multiple input actions to form a character, e.g. keys representing strokes where a number of input strokes form a character.
- An input sequence is generated upon an input item is selected by manipulating the user input device. The generated input sequence corresponds to the sequence of input items that have been selected, i.e. the sequence adds up as the user continues to make inputs.
- The generated input sequence has a textual interpretation that is a textual interpretation that is at least to some degree ambiguous. The ambiguity may be due to smallness of the input device, which is normally the case for portable apparatuses as for example mobile phones, where it may be cumbersome for the user to hit correctly on small keys, or where the user operates the apparatus while walking or performing other tasks simultaneously. Ambiguity can also be because of discrepancy between where a user expects for example a finger to hit a touch sensitive display and where the actual detected touch position really is. A further reason for ambiguity is of course where several characters are associated with one input item.
- The textual interpretation is performed by a processor comparing the generated input sequence with textual objects stored in a memory containing a plurality of such textual objects. The textual objects can be based on words, word stems, expressions or other pieces of written language. Thus, each of the plurality of textual objects are associated with a possible input sequence forming such a word, word stem, expression or other piece of written language. The textual objects can be encoded in a plurality of ways, e.g. by ASCII, ISO/IEC 8859-1 or UTF, but also with hash values. Hash values can be used for dictionaries to quickly search in them. For example each word in the dictionary can have a hash value and the input can translated into a hash value that then matches a dictionary word.
- One or more interpretations of the textual intent of the input can thus be determined in a
sequence interpretation step 102. If several interpretations are possible, which is often the case at least for short sequences since not only sequences of equal length as the input sequence is made, an interpretation can be chosen for displaying on a display in ainterpretation displaying step 104 based on for example statistical and/or contextual analysis. - This process can be performed while consecutive user inputs associated with characters are received, or at editing of text. However, apparatuses can never in all situations predict the intentions of a user. For alleviating this, the user is given more control at the same time as the apparatus is supporting to its best. This is achieved by the user indicating by giving a delete command when satisfactory interpretation is not presented, and a secondary process, initiated 110 upon the reception of an input associated with a delete-character command, is performed before returning to the input process.
- This secondary process comprises deleting an interpreted character in a
deletion step 106, which can be the latest interpreted character or a character indicated by the user in any other way, e.g. by setting a cursor or other graphical user interface object at the non-satisfactory character, wherein the indicated non-satisfactory character and its position in the text is considered upon further interpretation such that such non-satisfactory interpretation is excluded. This can be implemented by storing 108 a data structure comprising the deleted character and its position in the text. - Feedback can be provided to the user by for example showing the deleted character on the input device as inactive, e.g. the virtual key or part of virtual key indicating the deleted character being “greyed out”.
- If the user deletes several characters, e.g. consecutively, the user's intention may be to reformulate the text, and not to intervene with the interpretation. This can be detected by analysing input behaviour of delete commands and upon detection that it is probable that the user's intention is reformulation rather than intervention in interpretation, e.g. major part of word being deleted, number of consecutive delete commands exceeds a threshold, or time between delete commands is below a threshold, then no exclusion of interpretations is caused, and the primary process continues without any exclusions due to these deletions.
- For the understanding of the approach, the terms “primary process” and “secondary process” are used in the drawings and this disclosure, where the primary process is intended to demonstrate main input and interpretation process, and the secondary process is intended to indicate the user's intervention in the interpretation. These processes need not be part of the implementation, and are here used for facilitating understanding of the principles.
FIG. 2 is a process diagram illustrating a method according to an embodiment in a more general way, where transitions due to input of a “delete” command, secondary process causing an “exclusion” of interpretations in the primary process, a “confirm” command causes a settlement of interpretation, or the primary process is caused to “proceed” if no intervention or settlement is the case. InFIG. 1 , it is for example illustrated that after a deletion, the process starts with receiving 100 a new input. This is not necessary. According to an embodiment, the process instead makes/selects a new interpretation with the exclusion. Thus, the term deletion can here both be interpreted as deletion of the character and as deletion of the interpretation with the displayed character, but without need to make a new input associated with a character for replacing the deletion. Further, inFIG. 1 it is indicated that the exclusion is performed atinterpretation 102. However, the exclusion can equally be performed at selection and displaying 104 of interpretation candidate among interpretations already made. - The primary and secondary processes are performed until a user input associated with a confirm-text command is received 112, wherein the interpreted text is settled 114 in an application in question, e.g. a messaging application.
- The exclusion of the interpretations associated with the deleted character can be timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command. Thus, if the user regrets a delete action, it only takes a while, and the exclusion of interpretations is reset.
- The secondary process can include storing the deleted character and position of the deleted character in a temporary data structure. The primary process can then include accessing the temporary data structure upon performing the textual interpretation, or when selecting interpretation candidate for displaying. The temporary data structure is preferably discarded when the confirm-text command is received. The discarding can be any of deleting the data structure or deleting contents, i.e. character(s) and position(s) of the data structure, or overwriting contents, deleting or overwriting references to data structures, etc.
- The confirm-text command comprises input of a textual object separator or of a dedicated accept-command of the input device, e.g. hitting an OK key, which may be a hard or soft key. In this context, a textual object separator can be a space symbol or a punctuation symbol. A punctuation symbol can for example be any of an apostrophe, brackets, colon, comma, dashes, full stop, question mark, semicolon, slash, etc.
- For a one-to-one relation between input items and characters, the textual interpretation can comprise interpreting the input as an input associated with a character being closest in position to the user actuation position. However, if the associated character for that position of the input text is an excluded character, the interpreting of the input is made as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded. The another character is thus associated with another input item being in vicinity of the user actuation position. For a one-to-multiple relation between input item and characters, the another character can instead be associated with the same input item as the character being excluded, i.e. another character associated with that input item can be chosen.
- For example an interpretation approach in this context may use more than the position of the current actuation and look-up in textual objects to decide the character; it may use a previous actuation position and time to decide the current character. For example, by considering that if the finger is likely to move in a certain direction when moving from the previous actuation position for actuating at the new input actuation position, it can be assumed that a larger variability along that direction, e.g. considered as a vector in calculations by the processor, and less variability along an orthogonal direction, which also can be considered as a vector in the calculations. This is an example how the processor can make calculations of likelihood which possibly can be used for example for selecting a candidate interpretation to be displayed, and/or for ranking candidate interpretations based on likelihood, possibly together with further statistical analysis. Similar physical phenomena, such as an assumed angle of finger based on knowledge of preferred left or right hand use by user, portrait or landscape use of display/apparatus, etc., can be used for likelihood calculations. The interpretation approach can have many things that makes up its final decision and by deleting a character such that interpretation can be weighted down in calculating the probability of an interpretation in the current case radically, and in upcoming interpretations eventually. A timed out delete characters is an example, as described herein, of how this can be implemented, where the probability of the delete character instantly decrease but then gradually/step-wise increase in probability again.
-
FIG. 3 schematically illustrates anapparatus 300 according to an embodiment. Theapparatus 300 comprises aninput device 302 having a plurality of selectable input items being associated with characters, aprocessor 304, amemory 306 and adisplay 308. Theinput device 302 and display 308 can form one element by being a touch sensitive display and the above demonstrated virtual keyboard or keypad can be implemented, but theinput device 302 anddisplay 308 may also be separate elements. Text input to the apparatus is arranged to be performed according to any of the embodiments above. Thus, theprocessor 304 receives the detected user input sequence from theinput device 302, compares with sequences stored in thememory 306 and makes an interpretation that is sent to thedisplay 308, etc. - The input items associated with characters can be virtual keys arranged under control of the processor on the display, in the case of a touch sensitive display, such that user actuation is detected by the touch sensitive display. In case of a physical keyboard or keypad, there is preferably a static association with characters to the keys of the physical keypad or keyboard.
-
FIG. 4 schematically illustrates a computer program product and a processor arranged to execute a computer program of the computer program product. The methods according to the embodiments demonstrated above are suitable for implementation with aid of processing means, such as computers and/or processors, especially for the case where the application is a communication apparatus such as a mobile phone or a so called “smartphone”, i.e. a combined mobile telephone and portable computer or portable digital assistant, which apparatuses normally are arranged with non-negligible processing power and also with an operating system for handling one or more applications or computer programs. Therefore, there is provided computer programs, comprising instructions arranged to cause the processing means, processor, or computer to perform the steps of any of the methods according to any of the embodiments described with reference toFIG. 1 or 2 . The computer programs preferably comprises program code which is stored on a computerreadable medium 400, as illustrated inFIG. 4 , which can be loaded and executed by a processing means, processor, orcomputer 402 to cause it to perform the methods, respectively, according to embodiments of the present invention, preferably as any of the embodiments described with reference toFIG. 1 or 2 . Thecomputer 402 andcomputer program product 400 can be arranged to execute the program code sequentially where actions of the any of the methods are performed stepwise. The processing means, processor, orcomputer 402 can be what normally is referred to as an embedded system. Thus, the depicted computerreadable medium 400 andcomputer 402 inFIG. 4 should be construed to be for illustrative purposes only to provide understanding of the principle, and not to be construed as any direct illustration of the elements. - The invention has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.
Claims (15)
1. A method for text input of ambiguous input sequences entered by a device user, the method comprising:
a primary process of
receiving a user input on an input device having a plurality of selectable input items, each input item being associated with at least one character, an input sequence being generated in dependence of selection of input items, wherein the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation of the characters associated with the input sequence, wherein the textual interpretation is ambiguous, and
displaying on a display the textual interpretation; and
a secondary process, initiated upon receiving an input associated with a delete-character command and comprising
deleting a character of the textual interpretation, at a position thereof, wherein the deleted character corresponds to a first input item, and
returning to the primary process where textual interpretations associated with the deleted character for said position are excluded, and
displaying an updated textual interpretation, wherein the updated textual interpretation, at a position corresponding to the deleted character of the textual interpretation, has another character being associated with a second input item of the input device, wherein the second input item is in vicinity of the first input item;
wherein the primary and secondary processes are performed until a user input associated with a confirm-text command is received;
wherein the textual interpretation is performed by a processor comparing the generated input sequence with textual objects stored in a memory containing a plurality of such textual objects, each of the plurality of textual objects being associated with a possible input sequence; and
wherein the method further comprises selecting one of a plurality of possible interpretations, after any exclusion, for said step of displaying the textual interpretation.
2. The method of claim 1 , further comprising ranking the plurality of possible interpretations, wherein the highest ranked possible interpretation is selected in said step of selecting one of the plurality of possible interpretations.
3. The method of claim 1 , further comprising determining a time after reception of the input associated with a delete-character command during which no further user input associated with characters is received, wherein the exclusion of the interpretations associated with the deleted character is timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command.
4. The method of claim 1 , wherein the secondary process includes storing the deleted character and position of the deleted character in a temporary data structure, and the primary process includes accessing the temporary data structure upon performing the textual interpretation, wherein the temporary data structure is discarded when the confirm-text command is received.
5. The method of claim 1 , wherein the confirm-text command comprises input of a textual object separator or of a dedicated accept command on the input device.
6. The method of claim 1 , wherein the performing of the textual interpretation comprises:
interpreting the input as an input associated with a character being closest in position to the user actuation position if for that position of input text not being an excluded character; and
interpreting the input as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded.
7. The method of claim 1 , wherein textual interpretation is ambiguous due to discrepancy in detected user actuation position and position of a selected input item at receiving the user input.
8. The method of claim 1 , wherein textual interpretation is ambiguous because the selected input item is associated with a plurality of characters.
9. The method of claim 1 , wherein textual interpretation is ambiguous because a character is associated with a plurality of aggregating user input actions.
10. An apparatus comprising an input device having a plurality of selectable input items enabling text input by ambiguous input sequences entered by a device user, the apparatus further comprising a processor and a display, wherein the processor is configured to control a primary process of
receiving a user input on the input device, wherein an input sequence is being generated in dependence of selection of an input item by manipulating the user input device, wherein each input item is associated with at least one character, the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation of the characters associated with the input sequence, wherein the textual interpretation is ambiguous, and
displaying on the display a textual interpretation;
and wherein the processor is configured to control a secondary process, initiated upon receiving an input associated with a delete-character command, of:
deleting a character of the textual interpretation, at a position thereof, wherein the deleted character corresponds to a first input item, and
returning to the primary process where textual interpretations associated with the deleted character for said position are excluded, and
displaying an updated textual interpretation, wherein the updated textual interpretation, at a position corresponding to the deleted character of the textual interpretation, has another character being associated with a second input item of the input device, wherein the second input item is in vicinity of the first input item;
such that the primary and secondary processes are performed until a user input associated with a confirm-text command is received;
wherein the processor is further configured to access a memory, wherein the textual interpretation is performed by the processor by comparing the generated input sequence with textual objects stored in the memory containing a plurality of such textual objects, each of the plurality of textual objects being associated with a possible input sequence; and
wherein the processor is further configured to select one of a plurality of possible interpretations, after any exclusion, for the displaying of the textual interpretation on the display.
11. The apparatus of claim 10 , wherein the processor is further configured to rank the plurality of possible interpretations, wherein the highest ranked possible interpretation is the textual interpretation selected for being displayed on the display.
12. The apparatus of claim 10 , further comprising a timer configured to determine a time after reception of the input associated with a delete-character command during which no further user input associated with characters is received and to provide a time value to the processor, such that the exclusion of the interpretations associated with the deleted character is timed out after a predetermined time if no further user input associated with characters is received during the predetermined time after reception of the input associated with a delete-character command.
13. The apparatus of claim 10 , further comprising a register, wherein the secondary process includes storing the deleted character and position of the deleted character in a temporary data structure in said register, and the primary process includes accessing the temporary data structure from said register upon performing the textual interpretation, wherein the temporary data structure is discarded when the confirm-text command is received.
14. The apparatus of claim 10 , wherein the input device is a touch sensitive surface on said display and is configured to provide a position of touch action to the processor upon user actuation by touch, the display is controlled by the processor to display selectable input items, and the processor is configured to perform the textual interpretation by interpreting the input as an input associated with a character being closest in position to the user actuation position if for that position of input text not being an excluded character; and interpreting the input as another input associated with another character of an input item being in vicinity of the user actuation position and being associated with a character not being excluded.
15. A non-transitory computer-readable medium comprising a computer program stored thereon, the computer program comprising computer executable program code, the program code comprising instructions configured to cause a processor to perform:
a primary process of
receiving a user input on an input device having a plurality of selectable input items, each input item being associated with at least one character, an input sequence being generated in dependence of selection of input items, wherein the generated input sequence corresponds to the sequence of input items that have been selected, and wherein the generated input sequence has a textual interpretation of the characters associated with the input sequence, wherein the textual interpretation is ambiguous, and
displaying on a display the textual interpretation; and
a secondary process, initiated upon receiving an input associated with a delete-character command and comprising
deleting a character of the textual interpretation, at a position thereof, wherein the deleted character corresponds to a first input item, and
returning to the primary process where textual interpretations associated with the deleted character for said position are excluded, and
displaying an updated textual interpretation, wherein the updated textual interpretation, at a position corresponding to the deleted character of the textual interpretation, has another character being associated with a second input item of the input device, wherein the second input item is in vicinity of the first input item;
wherein the primary and secondary processes are performed until a user input associated with a confirm-text command is received;
wherein the textual interpretation is performed by comparing the generated input sequence with textual objects stored in a memory containing a plurality of such textual objects, each of the plurality of textual objects being associated with a possible input sequence; and
wherein the primary process further comprises selecting one of a plurality of possible interpretations, after any exclusion, for said step of displaying the textual interpretation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/478,939 US20170269707A1 (en) | 2010-03-15 | 2017-04-04 | Method for Text Input, Apparatus, and Computer Program |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10156555.4A EP2372498B1 (en) | 2010-03-15 | 2010-03-15 | Method for text input, apparatus, and computer program |
EP10156555.4 | 2010-03-15 | ||
US31787010P | 2010-03-26 | 2010-03-26 | |
PCT/EP2011/052893 WO2011113683A1 (en) | 2010-03-15 | 2011-02-28 | Method for text input, apparatus, and computer program |
US201213583671A | 2012-10-10 | 2012-10-10 | |
US15/478,939 US20170269707A1 (en) | 2010-03-15 | 2017-04-04 | Method for Text Input, Apparatus, and Computer Program |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/583,671 Continuation US9645656B2 (en) | 2010-03-15 | 2011-02-28 | Method for text input, apparatus, and computer program |
PCT/EP2011/052893 Continuation WO2011113683A1 (en) | 2010-03-15 | 2011-02-28 | Method for text input, apparatus, and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170269707A1 true US20170269707A1 (en) | 2017-09-21 |
Family
ID=42144894
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/583,671 Active 2034-08-21 US9645656B2 (en) | 2010-03-15 | 2011-02-28 | Method for text input, apparatus, and computer program |
US15/478,939 Abandoned US20170269707A1 (en) | 2010-03-15 | 2017-04-04 | Method for Text Input, Apparatus, and Computer Program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/583,671 Active 2034-08-21 US9645656B2 (en) | 2010-03-15 | 2011-02-28 | Method for text input, apparatus, and computer program |
Country Status (3)
Country | Link |
---|---|
US (2) | US9645656B2 (en) |
EP (1) | EP2372498B1 (en) |
WO (1) | WO2011113683A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077035B (en) * | 2013-03-25 | 2018-06-05 | 北京搜狗科技发展有限公司 | The delet method and device of screen content are treated in a kind of input method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8606562B2 (en) * | 2007-10-25 | 2013-12-10 | Blackberry Limited | Disambiguated text message retype function |
EP2053491A1 (en) | 2007-10-25 | 2009-04-29 | Research In Motion Limited | Disambiguated text message review function |
-
2010
- 2010-03-15 EP EP10156555.4A patent/EP2372498B1/en active Active
-
2011
- 2011-02-28 US US13/583,671 patent/US9645656B2/en active Active
- 2011-02-28 WO PCT/EP2011/052893 patent/WO2011113683A1/en active Application Filing
-
2017
- 2017-04-04 US US15/478,939 patent/US20170269707A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20130055158A1 (en) | 2013-02-28 |
EP2372498A1 (en) | 2011-10-05 |
WO2011113683A1 (en) | 2011-09-22 |
EP2372498B1 (en) | 2018-03-07 |
US9645656B2 (en) | 2017-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11614862B2 (en) | System and method for inputting text into electronic devices | |
CN108710406B (en) | Gesture adaptive selection | |
US9760560B2 (en) | Correction of previous words and other user text input errors | |
EP2987055B1 (en) | Text suggestion output using past interaction data | |
US20180018314A1 (en) | Incremental multi-word recognition | |
US9152323B2 (en) | Virtual keyboard providing an indication of received input | |
US20170076181A1 (en) | Converting text strings into number strings, such as via a touchscreen input | |
US9026428B2 (en) | Text/character input system, such as for use with touch screens on mobile phones | |
EP2987054B1 (en) | Consistent text suggestion output | |
US10838513B2 (en) | Responding to selection of a displayed character string | |
US8542195B2 (en) | Method for optimization of soft keyboards for multiple languages | |
EP2653955B1 (en) | Method and device having touchscreen keyboard with visual cues | |
CN105247446B (en) | The bearing calibration of input error and the device for performing this method | |
KR101484583B1 (en) | Gesture keyboard input of non-dictionary character strings using substitute scoring | |
US20170270092A1 (en) | System and method for predictive text entry using n-gram language model | |
JP6543365B2 (en) | Error correction method and apparatus for input method based on user input speed | |
EP2897055A1 (en) | Information processing device, information processing method, and program | |
US20180314343A1 (en) | Text input system using evidence from corrections | |
WO2013086675A1 (en) | Techniques for input of a multi-character compound consonant or vowel and transliteration to another language using a touch computing device | |
CN104281275B (en) | The input method of a kind of English and device | |
EP3267301B1 (en) | High-efficiency touch screen text input system and method | |
US20160092104A1 (en) | Methods, systems and devices for interacting with a computing device | |
CN107797676B (en) | Single character input method and device | |
CN105589570B (en) | A kind of method and apparatus handling input error | |
US20170269707A1 (en) | Method for Text Input, Apparatus, and Computer Program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), SWEDEN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GUSTAFSSON, HARALD;REEL/FRAME:042709/0762 Effective date: 20100511 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |