# US 2014/0198048 A1 · Reducing error rates for touch based keyboards

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0198048 A1
- Document ID: US20140198048A1
- Status: Published application
- Kind: A1
- Application number: 13/873,078
- Filed: 2013-04-29
- Published: 2014-07-17
- Earliest claimed: 2013-01-14
- Assignees: Nuance Communications, Inc.
- Applicants: Nuance Communications, Inc.
- Inventors: Erland Unruh; David J. Kay
- Web page: https://patentgrep.com/patent/US20140198048A1

## CPC

- G06F 3/0412: {Digitisers structurally integrated in a display}
- G06F 3/0237: {using prediction or retrieval techniques}
- G06F 3/04886: by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present technology provides systems and methods for reducing error rates to data input to a keyboard, such as a touch screen keyboard. In one example, an input bias model dynamically changes the keyboard functionality such that the keyboard will not necessarily produce the same result for an identical tap coordinate. Rather, the keyboard functionality is adapted to account for key offset bias that occurs when the user has a tendency to select a tap coordinate that would otherwise return an unintended key. Additionally, the present technology provides a language feedback model that may provide a probability for a next tap coordinate and may augment the key corresponding to the most probable next tap coordinate, thereby allowing the user to more easily select the correct key. Further details are provided herein.

## Claims

### Claim 1

A method for adjusting the operation of a virtual keyboard, comprising:
detecting a first input and a second input by the user on a virtual keyboard,
wherein the first and second inputs each include a set of coordinates corresponding to a touch of a user on the virtual keyboard, and
wherein each key on the virtual keyboard is defined by coordinates outlining an area on the keyboard for that key;
determining, in a language model, a predicted next key based on at least the first and second inputs; and
redefining the defined area on the virtual keyboard for the predicted next key,
wherein the redefining alters a probability of associating a third input by the user to the predicted next key, and
wherein altering the probability includes altering the defined area on the virtual keyboard corresponding to the predicted next key.

### Claim 2 (depends on 1)

The method of claim 1, further comprising increasing a displayed size of the predicted next key on the virtual keyboard relative to one or more neighboring keys on the virtual keyboard display, and
wherein altering the probability includes increasing the defined area on the virtual keyboard corresponding to the predicted next key.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
detecting a third input by the user on the virtual keyboard, wherein the third input includes a set of coordinates corresponding to a touch of a user on the virtual keyboard;
determining a selected key by identifying the key that corresponds to the coordinates indicated by the touch of the user on the virtual keyboard;
if the selected key matches the predicted next key:
retrieving a first weighting factor; and
increasing in the language model a weighting of the predicted next key for the detected first and second inputs; and
if the selected key does not match the predicted next key:
retrieving a second weighting factor; and
decreasing in the language model a weighting of the predicted next key for the detected first and second inputs.

### Claim 4 (depends on 1)

The method of claim 1, wherein each key on the virtual keyboard is further defined by center coordinates for a probability distribution, and wherein redefining the defined area on the virtual keyboard for the predicted next key includes moving the center coordinates to a new location with respect to the virtual keyboard.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting the first input or the second input includes determining probabilities of an intended input key based on an input bias model.

### Claim 6 (depends on 1)

The method of claim 1, wherein detecting the first input or the second input includes using a static probability model for each key of the virtual keyboard, wherein each key is represented by coordinates outlining an area on the virtual keyboard that extends radially outward from center coordinates of that key.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
detecting a keyboard type for the virtual keyboard, wherein the keyboard type corresponds to a language of the keys of the virtual keyboard, an alphabetic keyboard, a numeric keyboard, a portrait orientation of the virtual keyboard, or a landscape orientation of the virtual keyboard; and
selecting the language model based on the detected keyboard type.

### Claim 8

At least one tangible computer-readable medium storing instructions, which when executed by at least one processor, adjusts operation of a virtual keyboard, comprising:
detecting a first input and a second input by the user on a virtual keyboard,
wherein the first and second inputs each include a set of coordinates indicated by a touch of a user on the virtual keyboard, and
wherein each key on the virtual keyboard is defined by coordinates defining an area on the keyboard for that key;
determining, in a language model, a predicted next key based on at least the first and second inputs; and
modifying the defined area on the virtual keyboard for the predicted next key,
wherein the modifying adjusts a probability of associating a third input by the user to the predicted next key, and
wherein adjusting the probability includes adjusting the defined area on the virtual keyboard corresponding to the predicted next key.

### Claim 9 (depends on 8)

The at least one tangible computer-readable medium of claim 8, further comprising increasing a displayed size of the predicted next key on the virtual keyboard relative to one or more neighboring keys on the virtual keyboard display, and
wherein adjusting the probability includes increasing the defined area on the virtual keyboard corresponding to the predicted next key.

### Claim 10 (depends on 8)

The at least one tangible computer-readable medium of claim 8, further comprising:
detecting a third input by the user on the virtual keyboard, wherein the third input includes a set of coordinates indicated by a touch of a user on the virtual keyboard;
determining a selected key by identifying the key that corresponds to the coordinates indicated by the touch of the user on the virtual keyboard;
if the selected key matches the predicted next key:
retrieving a first weighting factor; and
increasing in the language model a weighting of the predicted next key for the detected first and second inputs; and
if the selected key does not match the predicted next key:
retrieving a second weighting factor; and
decreasing in the language model a weighting of the predicted next key for the detected first and second inputs.

### Claim 11 (depends on 8)

The at least one tangible computer-readable medium of claim 8, wherein each key on the virtual keyboard is further defined by center coordinates for a probability distribution, and wherein modifying the defined area on the virtual keyboard for the predicted next key includes moving the center coordinates to a new location with respect to the virtual keyboard.

### Claim 12 (depends on 8)

The at least one tangible computer-readable medium of claim 8, wherein detecting the first input or the second input includes determining probabilities of an intended input key based on an input bias model.

### Claim 13 (depends on 8)

The at least one tangible computer-readable medium of claim 8, wherein detecting the first input or the second input includes employing a static probability model for each key of the virtual keyboard, wherein each key is represented by coordinates defining an area on the virtual keyboard that extends radially outward from center coordinates of that key.

### Claim 14 (depends on 8)

The at least one tangible computer-readable medium of claim 8, further comprising:
detecting a keyboard type for the virtual keyboard, wherein the keyboard type corresponds to a language of the keys of the virtual keyboard, an alphabetic keyboard, a numeric keyboard, a portrait orientation of the virtual keyboard, or a landscape orientation of the virtual keyboard; and
selecting the language model based on the detected keyboard type.

### Claim 15

A system for adjusting the operation of a virtual keyboard, the system comprising:
at least one processor;
at least one data storage device storing instructions performed by the processor;
a keyboard coupled to the processor;
a first set of instructions for detecting a first input and a second input by the user on a virtual keyboard,
wherein the first and second inputs each include a set of coordinates indicated by a tap of a user on the virtual keyboard, and
wherein each key on the virtual keyboard is defined by coordinates forming an area on the keyboard for that key;
means for determining, in a language model, a predicted next key based on at least the first and second inputs; and
means for updating the defined area on the virtual keyboard for the predicted next key,
wherein the updating changes a probability of associating a third input by the user to the predicted next key, and
wherein changing the probability includes changing the defined area on the virtual keyboard corresponding to the predicted next key.

### Claim 16 (depends on 15)

The system of claim 15, further comprising enlarging a displayed size of the predicted next key on the virtual keyboard relative to one or more neighboring keys on the virtual keyboard display, and
wherein changing the probability includes enlarging the defined area on the virtual keyboard corresponding to the predicted next key.

### Claim 17 (depends on 15)

The system of claim 15, further comprising:
detecting a third input by the user on the virtual keyboard, wherein the third input includes a set of coordinates indicated by a tap of a user on the virtual keyboard;
determining a selected key by identifying the key that corresponds to the coordinates indicated by the tap of the user on the virtual keyboard;
if the selected key matches the predicted next key:
retrieving a first weighting factor; and
increasing in the language model a weighting of the predicted next key for the detected first and second inputs; and
if the selected key does not match the predicted next key:
retrieving a second weighting factor; and
decreasing in the language model a weighting of the predicted next key for the detected first and second inputs.

### Claim 18 (depends on 15)

The system of claim 15, wherein each key on the virtual keyboard is further defined by center coordinates for a probability distribution, and wherein modifying the defined area on the virtual keyboard for the predicted next key includes relocating the center coordinates to a new location with respect to the virtual keyboard.

### Claim 19 (depends on 15)

The system of claim 15, wherein detecting the first input or the second input includes employing a static probability model for each key of the virtual keyboard, wherein each key is represented by coordinates defining an area on the virtual keyboard that extends radially outward from center coordinates of that key.

### Claim 20 (depends on 15)

The system of claim 15, further comprising:
detecting a keyboard category for the virtual keyboard, wherein the keyboard category corresponds to a language of the keys of the virtual keyboard, an alphabetic keyboard, a numeric keyboard, a portrait orientation of the virtual keyboard, or a landscape orientation of the virtual keyboard; and
selecting the language model based on the detected keyboard category.
