Input correction enhancement

An embodiment provides a method, including: receiving, at an input device, user input having a string of characters; determining, using a processor, one or more potential errors in the string of characters; identifying, using a processor, a character location of a highest ranked error of the one or more potential errors within the string of characters; and positioning, on a display, a visual indication associated with the location of the highest ranked error within the string of characters. Other aspects are described and claimed.

BACKGROUND

Various user input devices allow users to input data using a variety of modalities, e.g., keyboards used for typing, microphones and speech recognition systems used for voice input, touch screens used for touch input, etc. Users often make mistakes when inputting data or otherwise desire to make changes to the input that is entered.

Making changes to user input, e.g., changing a word spelling derived from touch input to a touch screen, requires the user to touch the location of the letter (or letters) that need to be modified. Very often, letters in close proximity to the actual desired letters are erroneously highlighted when using a touch interface, e.g., when using a finger tip to indicate a location where input is to be modified.

BRIEF SUMMARY

In summary, one aspect provides a method, comprising: receiving, at an input device, user input having a string of characters; determining, using a processor, one or more potential errors in the string of characters; identifying, using a processor, a character location of a highest ranked error of the one or more potential errors within the string of characters; and positioning, on a display, a visual indication associated with the character location of the highest ranked error within the string of characters.

Another aspect provides an apparatus, comprising: a display; an input device; a processor operatively coupled to the at least one input device and the display; and a memory storing instructions that are executable by the processor to: receive, at the input device, user input having a string of characters; determine one or more potential errors in the string of characters; identify a character location of a highest ranked error of the one or more potential errors within the string of characters; and position, on the display, a visual indication associated with the character location of the highest ranked error within the string of characters.

A further aspect provides a product, comprising: a computer readable storage device storing code therewith, the code being executable by a processor and comprising: code that receives user input having a string of characters; code that determines one or more potential errors in the string of characters; code that identifies a character location of a highest ranked error of the one or more potential errors within the string of characters; and code that positions, on a display, a visual indication associated with the character location of the highest ranked error within the string of characters.

DETAILED DESCRIPTION

As described herein, if a user would like to modify or change input provided to a system, particularly when using a touch based interface, additional touches to hit or select the correct location within the word is often required. Often a user will need to use a handle associated with the cursor to move to the location of the desired letter. This can be time consuming and frustrating for a user.

Accordingly, an embodiment provides a method of input correction enhancement whereby character-level feedback is provided, and the character location may be determined via a statistical analysis to provide the most-likely character locations of potential errors. This facilitates a refined positioning of the cursor or indication, which may be useful, e.g., when user is providing touch input to a touch screen with his or her finger.

In an example embodiment, user input having a string of characters, e.g., letters forming words, phrases, acronyms, etc., is received, e.g., at a touch screen display. An embodiment may determine one or more potential errors in the string of characters. For example, a misspelled word may be identified including the particular letter or letters that are incorrect or another type of input formed by the characters may be analyzed to identify potential error(s). For example, in a telephone number, a missing input of an area code may be identified as a potential error. In at least one embodiment, repeated user inputs may be used to identify a potential error and thus provide an updated indication thereof, e.g., repeated user inputs such as cursor repositioning inputs may be used by an embodiment to intelligently reposition the cursor based on an analysis of the initial input.

An embodiment may therefore identify a character location having a highest ranked error of the one or more potential errors within the string of characters, e.g., based on a linguistic analysis or the like. Based on a character level identification of the potential error and statistical identification of the most likely position thereof, an embodiment may position, e.g., on the touch screen display, a visual indication at the character location of the highest ranked error within the string of characters. This may include, for example, initially highlighting a character or placing a cursor at a character location likely to be involved with the error. This may also include, additionally or alternatively, repositioning of an indicator, e.g., a cursor, that was initially placed based on user touch input. For example, a cursor or like indicator may be repositioned based on a user repeatedly providing input, e.g., attempting to reposition the cursor through touch input.

For example, when the user touches a word that is in need of modification, the letter that is highlighted by an embodiment would be the statistically best letter, e.g., based on a linguistic analysis such as consulting a dictionary (personal and general) and/or other data sources. If the user touches the same word again (i.e., repeated or additional input associated with the character string), then the next best statistically used letter may be highlighted. Additional touches of the same word may then move the visual indication sequentially and highlight the next best letter until the letter desired is selected.

In such a scenario where a sequential repositioning is implemented, the location of the visual indication may include a statistical letter weighting that may also take into account proximity of touch, e.g., in combination with consultation of a user dictionary. The location of the visual indication may also include a statistical letter weighting using letters on the keyboard in close proximity to the potentially incorrect letter that would make a valid word/phrase. For example, nearby letters would be used to determine more likely letter positions.

While various other circuits, circuitry or components may be utilized in information handling devices (also referred to herein as apparatuses, electronic devices, or simply devices), with regard to smart phone and/or tablet circuitry100, an example illustrated inFIG. 1includes a system on a circuit design found for example in tablet or other mobile computing platforms. Software and processor(s) are combined in a single circuit110. Processors comprise internal arithmetic units, registers, cache memory, busses, I/O ports, etc., as is well known in the art. Internal busses and the like depend on different vendors, but essentially all the peripheral devices (120) may attach to a single circuit110. The circuitry100combines the processor, memory control, and I/O controller hub all into a single circuit110. Also, systems100of this type do not typically use SATA or PCI or LPC. Common interfaces, for example, include SDIO and I2C.

There are power management chip(s)130, e.g., a battery management unit, BMU, which manage power as supplied, for example, via a rechargeable battery140, which may be recharged by a connection to a power source (not shown). In at least one design, a single circuit, such as110, is used to supply BIOS like functionality and DRAM memory.

System100typically includes one or more of a WWAN transceiver150and a WLAN transceiver160for connecting to various networks, such as telecommunications networks and wireless Internet devices, e.g., access points. Additional devices120are commonly included. System100often includes a touch screen170for data input and display/rendering. System100also typically includes various memory devices, for example flash memory180and SDRAM190.

Circuitry, as for example outlined inFIG. 1orFIG. 2, may be used in devices that provide a user interface such as a touch input interface. For example, devices including some or all of the circuitry illustrated inFIG. 1and/orFIG. 2may include a touch screen and controlling logic that takes user input and renders the same on the touch screen display.

Referring toFIG. 3, an embodiment may receive301, at an input device such as touch screen, user input having a string of characters. For example, a string of characters may include a series of numbers, letters or other symbols forming a unit. Thus, a string of characters may include letters forming one or more words, with words being defined broadly to include words, phrases, acronyms, abbreviations, slang terms, colloquialisms, and the like, such as may be stored in a personalized dictionary. Likewise, a series of numbers may form a telephone number, a house number, etc. Other symbols may be included, for example “@” symbols used in email addresses, punctuation and other symbols, e.g., emoticons.

An embodiment may, after a user inputs a string of characters at301, determine one or more potential errors in the string of characters at302. The potential error(s) may be determined at302in a variety of ways and at a variety of times. For example, an embodiment may analyze the string of characters initially, i.e., prior to any further user input, e.g., akin to a spell checking function or a grammar checking function. Alternatively, or in addition to this initial checking, an embodiment may analyze the string of characters following or in connection with additional user inputs, e.g., repeated user touch inputs associated with the string of characters, as may occur when the user attempts to reposition a cursor to correct an error or otherwise modify the string of characters. It is worth noting here that a potential error may or may not include a literal error, but may include more generally any modification to the character string.

An embodiment may thus identify a character location associated with the potential error(s) at304, e.g., a highest ranked error. If no errors are present, the process may end at303.

In an embodiment, an error indicated as primary or having a highest rank may be visually indicated at305, e.g., highlighted specifically within the string of characters, or visually indicated by placing the cursor at this location. This positioning at305, e.g., on the touch screen display, of a visual indication at the character location of the highest ranked error within the string of characters may take place at a variety of times and may be based on a ranking that takes into account a variety of variables.

For example, an initial positioning of the visual indication may take place based on an analysis of the initial character input, e.g., a linguistic analysis of the letters forming the character sting. As another example, the positioning may be a repositioning, e.g., triggered by additional or repeated touch inputs provided by the user in an attempt to refine the position or highlighting of a cursor within the string of characters. This repositioning may be based on a sequential repositioning or ordering based on another analysis, e.g., a linguistic analysis and/or a field based analysis.

Thus, for example, an embodiment may choose a location for the visual indication, e.g., based on a ranking of potential locations, responsive to a user's touch input. This may be preferable to simply attempting to reposition the visual indication based on the touch input alone, as the user is signifying dissatisfaction with the location by virtue of providing the repeated input, i.e., the repeated input itself aids in the determination that there is a potential error and the identification of another location for the repositioning. Thus, the determining of one or more potential errors at302in the string of characters may occur after a user provides input associated with the string of characters.

For example, referring toFIG. 4, an embodiment may detect an initial input provided by the user and associated with the string of characters at401, such as a touch input to a word that needs to be modified. An embodiment may provide an initial visual indication responsive to user input without determining one or more potential errors in the string of characters at402, e.g., on the basis of touch location alone. An embodiment may thereafter detect an additional input at403, e.g., provided by the user and associated with the string of characters, such as an additional touch input to a word that needs to be modified. This signifies that the user is not satisfied with the original location chosen based on touch input. If no additional user input is detected at403, then the process may end at404.

An embodiment may determine at405the potential error, e.g., on the basis of the additional user input alone and/or in combination with a more detailed analysis, e.g., linguistic analysis or field based analysis, such that a character location associated with the error may be identified at406. By way of example, in an embodiment, a character location may be identified that is different from the touch based location used for positioning at402, where this different location may be based on some analysis with respect to the character string, e.g., its contents, and/or the field or context in which it is provided. Thus, for a character string such as a telephone number which lacks an area code input, an embodiment may determine at405that a potential error is the omission of the area code input, which would be the leading character(s) of the string. Thus the character location identified at406may be based on a field analysis, i.e., the field of character input is a telephone number field, such that a location identified at406may be appropriately chosen.

Accordingly, the visual indication positioned at the location of the highest ranked error within the string of characters comprises a re-positioned initial visual indication, which is provided at407, such as one based on taking into account the initial user input, a field in which the characters have been input, the string of characters themselves (e.g., linguistic analysis), etc.

In an embodiment, identifying a character location of a highest ranked error of one or more potential errors, whether determined initially or responsive to repeated or additional user input, may include identifying one or more words and analyzing these one or more words using a linguistic analysis tool to determine one or more potential errors, as well as identifying a character location in the string of characters associated with the location of the highest ranked error of these one or more potential errors. The highest ranked error of these one or more potential errors may be identified using a variety of methods such as a user history of errant input, and repeated user input associated with the string of characters. As described here, the identifying of a character location of a highest ranked error of one or more potential errors may proceed sequentially through potential error character locations, which may itself proceed responsive to repeated user input associated with the string of characters. Thus, the cursor or highlighted character may sequentially progress through a ranked order of positions determined to be relevant to one or more potential errors or modifications of the user input.