Aggregating personalized suggestions from multiple sources
AssigneeMicrosoft Technology Licensing, LLC
InventorsJon Gordner, Max Morris, Alexander Hills, Xiao Wei, Gaurav Anand, Elbio Abib
Life of this patent
Estimating the term…
Abstract
A computer provides a search interface that accesses multiple search providers, and aggregates their suggestions, providing a single, unified suggestion view across the multiple search providers. Suggestions are received from the multiple sources, such as a search engine on the internet or other public resource, and a search tool on the computer that accesses local or private resources. The suggestions are combined, ranked and displayed as a list to the user, from which the user is able to select.
Claims21
1-20. (canceled)
A computer-implemented process performed by a processor in a computer, comprising:
- receiving an initial search query into memory;
- presenting the initial search query to at least two sources of items, the items comprising computer-readable data, wherein each item is identified by and accessible by the computer from the sources using a resource name for the item;
- receiving into the memory, as suggestions from the at least two sources in response to the initial query, resource names for items from the sources matching the initial search query, wherein at least one of the sources generates the received resource names based on query results including resource names for the items that match the initial search query, wherein the received resource names identify and provide access to the items from the sources matching the initial search query;
- computing a score for each of the received suggestions as a weighted combination of features, wherein a weight is assigned to each feature, and each feature is related to a nature of a match between the initial search query and the item resulting in the suggestion, wherein each of the at least two sources is assigned a set of weights to be applied to a set of features for the suggestions for that source, and at least a first source has different features and different weightings for those features than a second source;
- combining the received suggestions into a list of suggestions in memory, according to the computed scores for the suggestions, including:
- generating an order score for each of the at least two sources based on the scores for the suggestions from the at least two sources,
- ordering the at least two sources based on the generated order scores,
- grouping the suggestions into groups by source, and
- ranking the suggestions within each group by the scores for the suggestions;
- presenting the list of suggestions on an output device, wherein the groups of the suggestions are presented in order according to the ordering of the at least two sources, and wherein the suggestions within each group are presented in order according to the ranking of the suggestions within the group;
- receiving an indication of a selected suggestion from among the presented suggestions, wherein the selected suggestion comprises a resource matching the initial query;
- and
- in response to receiving the indication of the selected suggestion, accessing the resource corresponding to the resource name of the selected suggestion.
An article of manufacture comprising:
- a memory device or a storage device;
- computer program instructions stored on the memory device or the storage device which, when processed by a processing device, instruct the processing device to perform a process comprising:
- receiving an initial search query into memory;
- presenting the initial search query to at least two sources of items, the items comprising computer-readable data, wherein each item is identified by and accessible by the computer from the sources using a resource name for the item;
- receiving into the memory, as suggestions from the at least two sources in response to the initial query, resource names for items from the sources matching the initial search query, wherein at least one of the sources generates the received resource names based on query results including resource names for the items that match the initial search query, wherein the received resource names identify and provide access to the items from the sources matching the initial search query;
- computing a score for each of the received suggestions as a weighted combination of features, wherein a weight is assigned to each feature, and each feature is related to a nature of a match between the initial search query and the item resulting in the suggestion, wherein each of the at least two sources is assigned a set of weights to be applied to a set of features for the suggestions for that source, and at least a first source has different features and different weightings for those features than a second source;
- combining the received suggestions into a list of suggestions in memory, according to the computed scores for the suggestions, including:
- generating an order score for each of the at least two sources based on the scores for the suggestions from the at least two sources,
- ordering the at least two sources based on the generated order scores,
- grouping the suggestions into groups by source, and
- ranking the suggestions within each group by the scores for the suggestions;
- presenting the list of suggestions on an output device, wherein the groups of the suggestions are presented in order according to the ordering of the at least two sources, and wherein the suggestions within each group are presented in order according to the ranking of the suggestions within the group;
- receiving an indication of a selected suggestion from among the presented suggestions, wherein the selected suggestion comprises a resource matching the initial query;
- and
- in response to receiving the indication of the selected suggestion, accessing the resource corresponding to the resource name of the selected suggestion.
A computer comprising:
- a memory,
- a processor connected to the memory and programmed to:
- receive an initial search query into memory;
- present the initial search query to at least two sources of items, the items comprising computer-readable data, wherein each item is identified by and accessible by the computer from the sources using a resource name for the item;
- receive into the memory, as suggestions from the at least two sources in response to the initial query, resource names for items from the sources matching the initial search query, wherein at least one of the sources generates the received resource names based on query results including resource names for the items that match the initial search query, wherein the received resource names identify and provide access to the items from the sources matching the initial search query;
- compute a score for each of the received suggestions as a weighted combination of features, wherein a weight is assigned to each feature, and each feature is related to a nature of a match between the initial search query and the item resulting in the suggestion, wherein each of the at least two sources is assigned a set of weights to be applied to a set of features for the suggestions for that source, and at least a first source has different features and different weightings for those features than a second source;
- combine the received suggestions into a list of suggestions in memory, according to the computed scores for the suggestions, including:
- generate an order score for each of the at least two sources based on the scores for the suggestions from the at least two sources,
- order the at least two sources based on the generated order scores,
- group the suggestions into groups by source, and
- rank the suggestions within each group by the scores for the suggestions;
- present the list of suggestions on an output device, wherein the groups of the suggestions are presented in order according to the ordering of the at least two sources, and wherein the suggestions within each group are presented in order according to the ranking of the suggestions within the group;
- receive an indication of a selected suggestion from among the presented suggestions, wherein the selected suggestion comprises a resource matching the initial query;
- and
- in response to receiving the indication of the selected suggestion, access the resource corresponding to the resource name of the selected suggestion.
Dependencies are inferred from the claim text.