CONTEXTUAL INSIGHTS AND EXPLORATION
Techniques and systems are presented for providing “contextual insights,” or information that is tailored to the context of the content a user is consuming or authoring. Given a request for information about a topic, which may be indicated by a user gesture in an application, one or more queries to search services may be formulated without requiring entry of a search query directly by a user. Moreover, techniques and systems may leverage the context of the content the user is consuming or authoring, as well as user, device, and application metadata, to construct the queries and to organize and filter the results into relevant contextual insights.
1 . A method for facilitating contextual insights comprising:
receiving a request for contextual insights with respect to at least some text;
determining from information provided with the request a focus of attention for the contextual insights;
performing context analysis from context provided with the request to determine query terms;
formulating at least one query using one or more of the query terms;
initiating a search by sending the at least one query to at least one search service;
receiving results of the search; and
organizing and filtering the results according to at least some of the context.
2 . The method of claim 1 , wherein the information provided with the request for contextual insights comprises an indication of a selection of text.
3 . The method of claim 1 , wherein the information provided with the request for contextual insights comprises an indication of a selection of a region.
4 . The method of claim 1 , wherein determining the focus of attention from the information provided with the request comprises predicting the focus of attention by:
modifying an initially indicated text section from the information provided with the request with additional text selected from the context provided with the request to form one or more candidate foci of attention;
determining a probability or score for each of the one or more candidate foci of attention; and
selecting at least one of the candidate foci of attention having the highest probability or score.
5 . The method of claim 1 , wherein the context comprises one or more of content surrounding the indication, device metadata, application metadata, and user metadata.
6 . The method of claim 1 , wherein formulating the at least one query further comprises:
determining a mode of operation from one or more of a level of ambiguity in the focus of attention and a user preference; and
modifying the query in response to the mode of operation.
7 . The method of claim 1 , wherein formulating the at least one query further comprises modifying the query in response to user metadata.
8 . The method of claim 1 , wherein organizing and filtering the results further comprises:
detecting a pattern in the results, wherein the pattern is based on a level of similarity of one or more of rankings of the results, content of the results, and origin of the results; and
using the pattern to group, re-sort, or remove results.
9 . A service comprising:
one or more computer readable storage media;
program instructions stored on at least one of the one or more computer readable storage media that, when executed by a processing system, direct the processing system to:
in response to receiving a request for contextual insights with respect to at least some text:
determine a focus of attention from the information provided with the request;
perform context analysis from context provided with the request to determine one or more context terms;
formulate at least one query using one or more of the focus of attention and the context terms;
send the at least one query to at least one search service to initiate a search; and
in response to receiving one or more results from the at least one search service, organize and filter the results according to at least some of the context.
10 . The service of claim 9 , wherein the program instructions that direct the processing system to determine the focus of attention direct the processing system to:
modify an initially indicated text section from the information provided with the request with an additional text selected from the context provided with the request to form one or more candidate foci of attention;
determine a probability or score for each of the one or more candidate foci of attention; and
select at least one of the candidate foci of attention having the highest probability or score.
11 . The service of claim 9 , wherein the context comprises one or more of the content surrounding the indication, device metadata, application metadata, and user metadata.
12 . The service of claim 9 , wherein the program instructions that direct the processing system to formulate the at least one query direct the processing system to:
determine a mode of operation from one or more of a level of ambiguity in the focus of attention and a user preference; and
modify the query in response to the mode of operation.
13 . The service of claim 9 , wherein the program instructions that direct the processing system to perform the context analysis from the context provided with the request to determine the one or more context terms directs the processing system to perform context analysis of one or more of:
content of a file being consumed or created in an application that is a source of the request;
application properties of the application;
device properties of a device on which the application is executed; or
metadata associated with a user's identity, locality, environment, language, privacy settings, search history, interests and/or access to computing resources.
14 . The service of claim 9 , wherein the program instructions that direct the processing system to organize and filter the results direct the processing system to:
detect a pattern in the results, wherein the pattern is based on a level of similarity of one or more of rankings of the results, content of the results, and origin of the results; and
use the pattern to group, re-sort, or remove results.
15 . A system comprising:
a processing system;
one or more computer readable storage media;
program instructions stored on at least one of the one or more storage media that, when executed by the processing system, direct the processing system to:
determine, from information provided with a request for contextual insights with respect to at least some text, a focus of attention for the contextual insights;
perform context analysis of a context provided with the request to determine query terms;
formulate at least one query using one or more of the query terms;
send the at least one query to at least one search service;
organize and filter results received from the at least one search service according to at least some of the context; and
provide the organized and filtered results to a source of the request.
16 . The system of claim 15 , wherein the program instructions that direct the processing system to determine the focus of attention direct the processing system to:
modify an initially indicated text section from the information provided with the request with an additional text selected from the context provided with the request to form one or more candidate foci of attention;
determine a probability or score for each of the one or more candidate foci of attention; and
select at least one of the candidate foci of attention having the highest probability or score.
17 . The system of claim 15 , wherein the request context comprises one or more of the content surrounding the indication, device metadata, application metadata, and user metadata.
18 . The system of claim 15 , wherein the program instructions that direct the processing system to formulate the at least one query direct the processing system to:
determine a mode of operation from one or more of a level of ambiguity in the focus of attention and a user preference; and
modify the query in response to the mode of operation.
19 . The system of claim 15 , wherein the program instructions that direct the processing system to formulate the at least one query direct the processing system to modify the query in response to user metadata.
20 . The system of claim 15 , wherein the program instructions that direct the processing system to organize and filter results received from the at least one search service according to at least some of the context direct the processing system to:
detect a pattern in the results, wherein the pattern is based on a level of similarity of one or more of rankings of the results, content of the results, and origin of the results; and
use the pattern to group, re-sort, or remove results.