Retrieval of prefix completions by way of walking nodes of a trie data structure
First Claim
Patent Images
1. A method executed by a computer processor, the method comprising:
- receiving a prefix that comprises at least one character; and
using the prefix, executing a search over a computer-implemented trie data structure to retrieve a suggested completion for the prefix, the trie data structure comprising;
a root node;
a plurality of leaf nodes that are child nodes of the root node, the leaf nodes corresponding to a respective plurality of completions to potential prefixes, each leaf node in the plurality of leaf nodes having a respective score assigned thereto that is indicative of historic frequency of use of its corresponding completion; and
a plurality of intermediate nodes, wherein each intermediate node is a descendant node of the root node and an ancestor node to at least one leaf node, the intermediate nodes corresponding to a respective plurality of extensions to the potential prefixes, and wherein each intermediate node is assigned a respective score that maps to a highest score assigned to a respective leaf node from amongst all leaf nodes that are child nodes of the respective intermediate node, wherein the suggested completion for the prefix is retrieved by walking nodes of the trie data structure based upon the respective scores assigned thereto.
2 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A method executed by a computer processor, the method comprising:
-
receiving a prefix that comprises at least one character; and using the prefix, executing a search over a computer-implemented trie data structure to retrieve a suggested completion for the prefix, the trie data structure comprising; a root node; a plurality of leaf nodes that are child nodes of the root node, the leaf nodes corresponding to a respective plurality of completions to potential prefixes, each leaf node in the plurality of leaf nodes having a respective score assigned thereto that is indicative of historic frequency of use of its corresponding completion; and a plurality of intermediate nodes, wherein each intermediate node is a descendant node of the root node and an ancestor node to at least one leaf node, the intermediate nodes corresponding to a respective plurality of extensions to the potential prefixes, and wherein each intermediate node is assigned a respective score that maps to a highest score assigned to a respective leaf node from amongst all leaf nodes that are child nodes of the respective intermediate node, wherein the suggested completion for the prefix is retrieved by walking nodes of the trie data structure based upon the respective scores assigned thereto. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
at least one processor; and memory that comprises a plurality of components that are executed by the at least one processor, the plurality of components comprises; a receiver component that receives a prefix set forth by a user; and a returner component that returns a suggested completion for the prefix responsive to receiving the prefix, the returner component selecting the suggested completion from amongst a plurality of potential completions by walking nodes of a trie data structure based upon scores respectively assigned to the nodes that are indicative of probabilities that the completions will be selected, the trie data structure comprising; a plurality of leaf nodes, wherein each of the leaf nodes is representative of a respective potential completion, and wherein each of the leaf nodes is assigned a score that is indicative of a respective probability that the completion will be selected; and at least one intermediate node that is a parent to the plurality of leaf nodes, the at least one intermediate node representative of a potential extension to the prefix and being assigned a score that equals a score assigned to a leaf node in the plurality of leaf nodes, the leaf node in the plurality of leaf nodes being representative of a most probable potential completion from amongst potential completions represented by the plurality of leaf nodes. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer-readable medium comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
-
receiving a prefix set forth by a user, the prefix comprising a plurality of alphanumerical characters; executing a search over a trie data structure responsive to receiving the prefix, wherein the trie data structure comprises; an intermediate node, the intermediate node comprising at least one character that is a potential extension to the prefix and a pointer, the intermediate node having a first score assigned thereto; and a plurality of leaf nodes that are children of the intermediate node, the leaf nodes representing potential completions of the prefix, each of the leaf nodes assigned a respective score that is indicative of probability of a respective potential completion, wherein a first leaf node in the plurality of leaf nodes that is representative of a most probable potential completion is assigned the first score, wherein the pointer in the intermediate node points to the first leaf node, and wherein the plurality of leaf nodes are ordered in memory of a computing device based upon the scores assigned thereto; and returning the most desirable probable completion as a suggested completion to the prefix.
-
Specification