Hybrid Emoji Prediction Engine Balancing Speed and Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Predictive emoji keyboards face delays due to the large size of prediction models, which are RAM-intensive and require network communication, leading to noticeable lag on personal computing devices with limited resources.

Innovation Solution

A computing device employs both a local prediction engine with a smaller, faster model and a remote prediction engine with a larger model, combining predictions based on a time interval to provide timely and accurate emoji suggestions, ensuring a balance between speed and user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the prediction model is stored on a server and predictions are requested over a communications network, then the prediction accuracy is improved, but the response time deteriorates due to network communication lag

Engineering Contradiction:
Improveprediction accuracyVSAvoidresponse time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system divides the prediction functionality into two segments: a remote prediction engine on the server that provides accurate predictions, and a local prediction engine on the computing device that provides fast predictions. The local engine handles immediate prediction needs while the remote engine provides periodic updates, resolving the contradiction between accuracy and response time by separating these functions spatially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The local prediction engine is pre-configured with a smaller prediction model that can operate independently and immediately. This preliminary setup allows the device to provide predictions without waiting for remote server communication, eliminating the network lag while maintaining the option to update from the more accurate remote model later.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If a large prediction model is used to improve prediction accuracy, then the prediction quality is improved, but the device complexity and RAM requirements worsen

Engineering Contradiction:
Improveprediction qualityVSAvoidRAM requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The prediction model is segmented into two versions: a large, accurate model stored remotely on the server, and a smaller, simplified model stored locally on the computing device. This segmentation allows the system to maintain high prediction quality through the remote model while keeping local device requirements manageable through the condensed local model.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A simplified copy of the prediction model is created for local use. This local copy contains the essential prediction capabilities in a compressed form that fits within device constraints, while the full-resolution model remains on the server for periodic updates and reference.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11115463B2Remote and local predictions
Publication Date: 2021.09.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11115463B2 patent drawing
  • US11115463B2 patent drawing
  • US11115463B2 patent drawing

AI summary

The description relates to predicting terms based on text inputted by a user. One example includes a computing device comprising a processor configured to send, over a communications network, the text to a remote prediction engine. The processor is configured to send the text to a local prediction engine stored at the computing device, and to monitor for a local predicted term from the local prediction engine and a remote predicted term from the remote prediction engine, in response to the sent text. The computing device includes a user interface configured to present a final predicted term to the user such that the user is able to select the final term. The processor is configured to form the final predicted term using either the remote predicted term or the local predicted term on the basis of a time interval running from the time at which the user input the text.