Text Prediction Using Unique Word Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional auto-complete and text prediction techniques are slow and computationally intensive due to the need to index letter-based representations of words, which consumes substantial time and resources when dealing with large datasets like tens of thousands of words starting with a single letter.

Innovation Solution

Assigning unique identifiers to words in a lexicon, allowing for the identification of a range of words based on a prefix, and using a probability database to determine the most likely word the user intends to input, thereby reducing the number of computations required.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If letter-based indexing is used to organize words in the lexicon, then words can be systematically arranged and searched, but the prediction process becomes slow and computationally intensive when dealing with large datasets

Engineering Contradiction:
Improveprediction speedVSAvoidcomputation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the indexing parameter from letter-based representation to integer-based unique identifiers. Each word is assigned a unique integer ID, and words are organized by their starting letter ranges (e.g., words starting with 'a' have IDs 0-9999, 'b' have 10000-19999). This parameter transformation reduces the computational complexity of prefix matching and enables faster prediction without sacrificing the systematic organization capability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all words in the lexicon are considered for prediction, then comprehensive coverage is achieved, but the computational resources and time required increase substantially

Engineering Contradiction:
Improveprediction accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the lexicon into multiple ranges based on the starting letter of words. Each range contains words with the same prefix character (e.g., range 0-9999 for 'a' words, 10000-19999 for 'b' words). When a prediction is needed, only the relevant range is searched instead of the entire lexicon, dramatically reducing processing time while maintaining prediction accuracy for the intended word.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by searching only a subset of the lexicon (the relevant range) rather than performing a complete search of all words. This partial search approach is sufficient to achieve accurate predictions for the intended word while avoiding the excessive computational resources that would be required to search the entire lexicon.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8914275B2Text prediction
Publication Date: 2014.12.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8914275B2 patent drawing
  • US8914275B2 patent drawing
  • US8914275B2 patent drawing

AI summary

One or more techniques and/or systems are provided for suggesting a word and/or phrase to a user based at least upon a prefix of one or more characters that the user has inputted. Words in a database are respectively assigned a unique identifier. Generally, the unique identifiers are assigned sequentially and contiguously, beginning with a first word alphabetically and ending with a last word alphabetically. When a user inputted prefix is received, a range of unique identifiers corresponding to words respectively having a prefix that matches the user inputted prefix are identified. Typically, the range of unique identifiers corresponds to substantially all of the words that begin with the given prefix and does not correspond to words that do not begin with the given prefix. The unique identifiers may then be compared to a probability database to identify which words have a higher probability of being selected by the user.