Virtual Keyboard Autocorrection via Word Lattice Pruning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing autocorrect systems for virtual keyboards, particularly in languages like Japanese and Chinese, face challenges in accurately correcting keystroke errors due to the complexity of these languages and the lack of word boundaries, leading to reduced recognition accuracy.

Innovation Solution

A system that combines a virtual keyboard error model with a language model to construct a word lattice, using dynamic programming and pruning techniques to weight paths and reduce search time, thereby improving autocorrecting accuracy by determining candidate sentences based on path weights and discarding less likely paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a language model alone is used for autocorrection, then the system is simple to implement, but the autocorrection accuracy is insufficient for complex languages like Japanese and Chinese

Engineering Contradiction:
Improveautocorrection accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent combines a language model with a virtual keyboard error model into an integrated autocorrection system. The language model provides contextual understanding while the keyboard error model captures specific typing error patterns, together resolving ambiguities in complex languages without excessive complexity

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The autocorrection system uses a composite approach by integrating multiple modeling components (language model, keyboard error model, word lattice) that work together synergistically, similar to how composite materials combine different substances to achieve superior properties that individual components cannot provide alone

Inventive Principle:
Principle #40Composite materials

2Measurement precision

If all paths in the word lattice are searched to ensure accurate autocorrection, then the accuracy is improved, but the search time and computational resources increase significantly

Engineering Contradiction:
Improvecandidate sentence accuracyVSAvoidsearch time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts and removes low-probability paths from the word lattice search space using pruning techniques. By eliminating paths that are unlikely to lead to correct autocorrections, the system maintains accuracy for viable candidates while significantly reducing search time and computational overhead

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial search by focusing computational resources on the most promising paths in the word lattice rather than exhaustively searching all possible paths. This selective approach achieves sufficient accuracy for practical autocorrection while avoiding the excessive time cost of complete enumeration

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9471560B2Autocorrecting language input for virtual keyboards
Publication Date: 2016.10.18 APPLE INC
  • US9471560B2 patent drawing
  • US9471560B2 patent drawing
  • US9471560B2 patent drawing

AI summary

Various techniques for autocorrecting virtual keyboard input for various languages (e.g., Japanese, Chinese) are disclosed. In one aspect, a system or process receives a sequence of keyboard events representing keystrokes on a virtual keyboard. A hierarchical data structure is traversed according to the sequence of keyboard events to determine candidate words for the sequence of keyboard events. A word lattice is constructed using a language model, including deriving weights or paths in the word lattice based on candidate word statistics and data from a keyboard error model. The word lattice is searched to determine one or more candidate sentences comprising candidate words based on the path weights. Paths through the word lattice can be pruned (e.g., discarded) to reduce the size and search time of the word lattice.