Trie Data Structure for Space-Efficient Query Completions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional search engines are not space efficient in providing query completions, especially on mobile devices where textual input is time-consuming due to the absence of physical keyboards, and existing solutions do not effectively optimize storage and retrieval of completion suggestions.

Innovation Solution

A space-efficient trie data structure is employed to generate completions, where nodes are hierarchically arranged with scores indicating desirability, sorted for efficient searching, and differential encoding reduces storage needs, allowing for quick retrieval of suggested completions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional search engines store all query completion data, then query completion accuracy is improved, but memory usage increases

Engineering Contradiction:
Improvequery completion accuracyVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The query completion data is segmented into a trie data structure where the search space is divided into hierarchical nodes. Each node represents a prefix and contains only the completions relevant to that prefix, rather than storing all completions in a single monolithic structure. This segmentation allows the system to maintain high completion accuracy while using less memory by only loading relevant portions of the data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making each node in the trie structure self-contained with its own scoring and filtering capabilities. Each node can independently evaluate and rank completions based on local scoring criteria, eliminating the need to load and process the entire completion dataset in memory. This local evaluation approach maintains high accuracy while reducing overall memory requirements.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If the trie data structure stores detailed scoring information for all nodes, then completion desirability accuracy is improved, but storage requirements increase

Engineering Contradiction:
Improvecompletion desirability accuracyVSAvoidstorage requirements
Core Design Contradiction:
Measurement precisionVSVolume of stationary object

Solution Approach 1:

The patent implements partial action by only computing and storing scoring information for nodes that are actually visited during query completion. Instead of pre-computing and storing scores for all possible nodes in the trie structure, the system calculates scores on-demand during the walking process, maintaining accuracy while reducing storage requirements.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the parameter representation by using differential encoding for scores instead of storing absolute values. This parameter transformation reduces the storage space required for scoring information while maintaining the precision needed for accurate completion ranking. The differential encoding stores only the differences between consecutive scores, which requires fewer bits while preserving the relative ordering information.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9158758B2Retrieval of prefix completions by way of walking nodes of a trie data structure
Publication Date: 2015.10.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9158758B2 patent drawing
  • US9158758B2 patent drawing
  • US9158758B2 patent drawing

AI summary

Technologies pertaining to providing completions to proffered prefixes are disclosed herein. A suggested completion to a proffered prefix is retrieved by walking nodes of a trie data structure, wherein a node includes one or more characters that are used to extend a character sequence represented by its parent. Each node in the trie data structure is assigned a score, wherein the score maps to a best score assigned to its descendants. The nodes of the trie data structure are sorted based upon score, and the nodes are walked based upon scores assigned thereto.