IP Library Granted Patent US 10,984,337
Granted Patent B2
US 10,984,337 · App. 13/408,853 · Granted Apr 20, 2021

Context-based search query formation

Inventors: Peng Bai (Beijing, CN); Zheng Chen (Beijing, CN); Xuedong David Huang (Bellevue, WA); Xiaochuan Ni (Beijing, CN); Jian-Tao Sun (Beijing, CN); Zhimin Zhang (Beijing, CN)
Assignee: Microsoft Technology Licensing, LLC
G06N20/00G06F16/3322
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,984,337
App. No.
13/408,853
Granted
Apr 20, 2021
Kind
B2
Abstract

Searching is assisted by recognizing a selection of text from a document as an indication that a user wishes to initiate a search based on the selected text. The user is provided with query suggestions based on the selected text and the query suggestions are ranked based on a context provided by the document. The user may select the text by using a mouse, drawing a circle around the text on a touch screen, or by other input techniques. The query suggestions may be based on query reformulation or query expansion techniques applied to the selected text. Context provided by the document is used by a language model and/or an artificial intelligence system to rank the query suggestions in predicted order of relevance based on the selected text and the context.

Claims (54)

1. An information-processing system comprising:

one or more processing elements;

a search initiation module communicatively coupled to or integrated with the one or more processing elements, the search initiation module configured to:

receive an input indicating text selected in a user interface for presenting a document displayed in a device; and

determine a context of the selected text, the context including a portion of the document that is additional text separate from the selected text;

a candidate query generator coupled to or integrated with the one or more processing elements and configured to identify a plurality of candidate queries based on the selected text, the determined context, and search queries generated by users after viewing the document; and

a query ranking module coupled to or integrated with the one or more processing elements and configured to:

compare each candidate query of the plurality of candidate queries to the selected text and the context;

determine a value associated with each candidate query based on the selected text, and the determined context, the value representing a likelihood that the candidate query corresponds to the selected text and the determined context; and

rank the plurality of candidate queries based at least in part on the value, wherein one or more of the candidate queries are presented on the user interface while the document is being presented based on the determined values.

2. The information-processing system of claim 1 , wherein the candidate query generator is further configured to include, in one or more candidate queries of the plurality of candidate queries, at least one of synonyms of words in the selected text, alternate morphological forms of words in the selected text, correct spellings of misspelled words in the selected text, or alternative spellings of words in the selected text.

3. The information-processing system of claim 1 , wherein the value for each candidate query is determined by an artificial intelligence system, wherein the artificial intelligence system is trained with training data comprising a history of searches originated by users when browsing a corpus of documents, the history of searches being labeled by human labelers indicating a probability that content of a document caused a respective user to submit the corresponding query in the history.

4. A method comprising:

receiving, in a user interface for presenting a document, a selection of text in the document;

determining a context of the selection, the context including additional text from the document that is relative to, and separate from, the selection;

generating a plurality of candidate queries that includes queries generated at least in part by applying one or more query expansion techniques to the text and the context;

comparing each candidate query of the plurality of candidate queries to the text and the context;

determining a value for each candidate query based on the selection of text, and the determined context, the value representing a likelihood that the candidate query corresponds to the selection of text and the determined context;

ranking, by one or more processing elements, the plurality of candidate queries based at least in part on the values;

presenting the plurality of candidate queries in a list ordered at least partly according to the ranking, wherein one or more of the candidate queries are presented on a user interface while the document is being presented based on the determined values;

receiving, in the user interface, a selection of one of the presented candidate queries; and

submitting the selected candidate query to a search engine.

5. The method of claim 4 , wherein the document comprises a mark-up language document.

6. The method of claim 4 , wherein the plurality of candidate queries includes at least one pre-formulated query associated with the document.

7. The method of claim 4 , wherein the one or more query expansion techniques comprise at least one of applying a K-means algorithm to a query log, conducting a random walk on a bipartite query-document graph generated by parsing a query log, running a PageRank algorithm on a query-flow graph generated from a query log, or mining term association patterns from a query log.

8. The method of claim 4 , wherein the additional text comprises at least part of a paragraph of the document, at least part of a column of the document, at least part of a sentence of the document, at least part of a cell of the document, or at least part of a frame of the document.

9. The method of claim 4 , wherein:

ranking the plurality of candidate queries is further based on a language model; and

the language model is based at least in part on a number of words in the candidate query, a number of words in the text, and a number of words in the context.

10. The method of claim 4 , wherein:

ranking the plurality of candidate queries is further based on a language model; and

the language model comprises a bi-gram language model in which a word in the candidate query depends on an immediately preceding word in the candidate query.

11. The method of claim 4 , wherein:

ranking the plurality of candidate queries is further based on an artificial intelligence system; and

the artificial intelligence system learns a function that predicts a level of confidence in one or more candidate queries of the plurality of candidate queries given the candidate query, the selection of text, and the context.

12. The information-processing system of claim 1 , wherein the portion of the document spans at least one sentence, one paragraph, or one column of the document.

13. The information-processing system of claim 1 , wherein the portion of the document includes the selected text.

14. One or more computer storage media, wherein the one or more computer storage media is at least one device, having computer-executable instructions which, when executed by a processor, cause a computing system to:

receive, in a user interface for presenting a document, a selection of text in the document;

determine a context of the selection, the context including additional text from the document that is relative to, and separate from, the selection;

interpret the selection of the text as a command to provide one or more search queries based at least in part on the text;

generate a plurality of candidate queries based at least in part on the text;

compare each candidate query of the plurality of candidate queries to the text and the context;

determine a value for each candidate query based on the selection of text, and the determined context, the value representing a likelihood that the candidate query corresponds to the selection of text and the determined context;

rank the plurality of candidate queries based at least in part on the values to determine a ranking of the plurality of candidate queries;

present, on a user interface while the document is being presented, a subset of the plurality of candidate queries in a list ordered at least partly according to the ranking;

receive, in the user interface, a selection of a candidate query of the subset of the plurality of candidate queries; and

submit the selected candidate query to a search engine.

15. The one or more computer storage media of claim 14 , wherein the computer-executable instructions, when executed by the processor, further cause the computing system to receive the selection of the text based at least in part on a user dragging a pointing implement across the text that is displayed on a touch-screen display.

16. The one or more computer storage media of claim 14 , wherein the computer-executable instructions, when executed by the processor, further cause the computing system to receive the selection of the text based at least in part on a user moving a pointing implement in a circular or oval shape around the text that is displayed on a touch-screen display.

17. The one or more computer storage media of claim 14 , wherein at least part of the plurality of candidate queries obtained comprise one or more pre-formulated queries associated with the document that have been determined prior to the selection of the text.

18. The one or more computer storage media of claim 17 , wherein the one or more pre-formulated queries are associated with the additional text.

19. The one or more computer storage media of claim 14 , wherein ranking the plurality of candidate queries is further based at least in part on using a bi-gram language model that ranks the plurality of candidate queries based at least in part on a number of words in candidate queries of the plurality of candidate queries and a query corpus.

20. The one or more computer storage media of claim 14 , wherein ranking the plurality of candidate queries is further based at least in part on using an artificial intelligence system that uses a data set of document/query tuples, a correspondence between a document and a query in a respective one of the document/query tuples having been verified by a human reviewer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2012
From: BAI, PENG; CHEN, ZHENG; HUANG, XUEDONG DAVID; NI, XIAOCHUAN; SUN, JIAN-TAO; ZHANG, ZHIMIN
To: MICROSOFT CORPORATION
Reel/Frame 027785/0889 →
Continuity (1)
Related Publication 20130226935A1 · Aug 29, 2013
Cited By (2)
US 12,321,401 US 12,645,389