IP Library Granted Patent US 10,380,192
Granted Patent B2
US 10,380,192 · App. 14/962,081 · Granted Aug 13, 2019

Method and system for providing context based query suggestions

Inventors: Amit Goyal (San Francisco, CA); Hongbo Deng (San Jose, CA)
Assignee: OATH INC.
G06F16/9035G06F16/31G06F16/334G06F16/3322G06F16/35
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,380,192
App. No.
14/962,081
Granted
Aug 13, 2019
Kind
B2
Abstract

The present teaching relates to providing a query suggestion. In one example, a request is received for query suggestions with respect to a query prefix input by a user. A plurality of query suggestions is determined based on the query prefix and a preceding query input by the user. A degree of popularity of the preceding query is determined. One or more query suggestions are selected from the plurality of query suggestions based on the degree of popularity of the preceding query. The one or more query suggestions are provided as a response to the request.

Claims (79)

1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network for providing a query suggestion, the method comprising:

receiving a request for query suggestions with respect to a query prefix input by a user;

determining a plurality of query suggestions based on the query prefix and a preceding query input by the user, the preceding query being input during a same search session as the query prefix;

determining a degree of popularity of the preceding query;

selecting one or more query suggestions from the plurality of query suggestions based on the degree of popularity of the preceding query and suggestion integration criteria, wherein a number of the one or more query suggestions selected is adaptively determined based on the degree of the popularity of the preceding query; and

providing the one or more query suggestions as a response to the request.

2. The method of claim 1 , further comprising:

retrieving a plurality of query pairs from query logs associated with a plurality of users, wherein the plurality of query suggestions is determined based on at least one query pair in the plurality of query pairs, and wherein each of the at least one query pair includes the preceding query and another query starting with the query prefix.

3. The method of claim 2 , further comprising:

removing one or more query pairs from the plurality of query pairs to generate filtered query pairs, wherein each of the one or more query pairs has at least one of the following properties:

collocation count of the query pair is less than a threshold;

pair frequency ratio between the two queries in the query pair is greater than a threshold;

at least one of the two queries in the query pair is a domain name;

word edit distance between the two queries in the query pair is less than a threshold; and

at least one of the two queries in the query pair is a predetermined popular query.

4. The method of claim 3 , further comprising:

splitting the filtered query pairs into two groups:

a specialization group of query pairs, wherein one of the two queries in each query pair in the specialization group is a substring of the other query in the query pair in the specialization group; and

a lateral group of query pairs, wherein neither of the two queries in each query pair in the lateral group is a sub string of the other query in the query pair in the lateral group, wherein the suggestion integration criteria indicates that query pairs in the lateral group are preferred over query pairs in the specialization group for determining the plurality of query suggestions.

5. The method of claim 3 , further comprising:

calculating a collocation score associated with each of the filtered query pairs, wherein the collocation score represents a degree of correlation between the two queries in the query pair, and wherein the suggestion integration criteria corresponds to the one or more query suggestions being selected and ranked based on collocation scores associated with query pairs each of which includes the preceding query and one of the plurality of query suggestions.

6. The method of claim 1 , further comprising:

retrieving a plurality of queries from query logs associated with a plurality of users;

determining a most clicked Uniform Resource Locator (URL) associated with each of the plurality of queries; and

splitting the plurality of queries into one or more query clusters based on the most clicked URLs of the plurality of queries, wherein the plurality of query suggestions is determined based on the one or more query clusters.

7. The method of claim 6 , further comprising:

determining a query frequency for each query in each of the one or more query clusters; and

determining a canonical query with greatest query frequency in each query cluster, wherein the plurality of query suggestions is further determined based on a canonical query in a query cluster that includes the preceding query.

8. The method of claim 2 , wherein each of the plurality of query pairs includes two queries from a same search session.

9. The method of claim 2 , wherein each of the at least one query pair is retrieved from a query log associated with the user.

10. A system having at least one processor, storage, and a communication platform connected to a network for providing a query suggestion, comprising:

a query suggestion request analyzer configured for receiving a request for query suggestions with respect to a query prefix input by a user;

a query pair based query suggestion generator configured for determining a plurality of query suggestions based on the query prefix and a preceding query input by the user, the preceding query being input during a same search session as the query prefix;

a query popularity determiner configured for determining a degree of popularity of the preceding query; and

a query suggestion selector configured for selecting one or more query suggestions from the plurality of query suggestions based on the degree of popularity of the preceding query and suggestion integration criteria, wherein a number of the one or more query suggestions selected is adaptively determined based on the degree of the popularity of the preceding query, and

providing the one or more query suggestions as a response to the request.

11. The system of claim 10 , further comprising:

a query pair retriever configured for retrieving a plurality of query pairs from query logs associated with a plurality of users, wherein the plurality of query suggestions is determined based on at least one query pair in the plurality of query pairs, and wherein each of the at least one query pair includes the preceding query and another query starting with the query prefix.

12. The system of claim 11 , further comprising:

a query pair filter configured for removing one or more query pairs from the plurality of query pairs to generate filtered query pairs, wherein each of the one or more query pairs has at least one of the following properties:

collocation count of the query pair is less than a threshold;

pair frequency ratio between the two queries in the query pair is greater than a threshold;

at least one of the two queries in the query pair is a domain name;

word edit distance between the two queries in the query pair is less than a threshold; and

at least one of the two queries in the query pair is a predetermined popular query.

13. The system of claim 12 , further comprising:

a query pair splitter configured for splitting the filtered query pairs into two groups:

a specialization group of query pairs, wherein one of the two queries in each query pair in the specialization group is a substring of the other query in the query pair in the specialization group; and

a lateral group of query pairs, wherein neither of the two queries in each query pair in the lateral group is a substring of the other query in the query pair in the lateral group, wherein the suggestion integration criteria indicates that query pairs in the lateral group are preferred over query pairs in the specialization group for determining the plurality of query suggestions.

14. The system of claim 12 , further comprising:

a collocation score calculator configured for calculating a collocation score associated with each of the filtered query pairs, wherein the collocation score represents a degree of correlation between the two queries in the query pair, and wherein the suggestion integration criteria corresponds to the one or more query suggestions being selected and ranked based on collocation scores associated with query pairs each of which includes the preceding query and one of the plurality of query suggestions.

15. The system of claim 10 , further comprising:

a query retriever configured for retrieving a plurality of queries from query logs associated with a plurality of users;

a most clicked URL determiner configured for determining a most clicked URL associated with each of the plurality of queries; and

a URL based query cluster generator/updater configured for splitting the plurality of queries into one or more query clusters based on the most clicked URLs of the plurality of queries, wherein the plurality of query suggestions is determined based on the one or more query clusters.

16. The system of claim 15 , further comprising:

a query frequency determiner configured for determining a query frequency for each query in each of the one or more query clusters; and

an inverted index generator/updater configured for determining a canonical query with greatest query frequency in each query cluster, wherein the plurality of query suggestions is further determined based on a canonical query in a query cluster that includes the preceding query.

17. A non-transitory machine-readable medium having information recorded thereon for providing a query suggestion, wherein the information, when read by the machine, causes the machine to perform the following:

receiving a request for query suggestions with respect to a query prefix input by a user;

determining a plurality of query suggestions based on the query prefix and a preceding query input by the user, the preceding query being input during a same search session as the query prefix;

determining a degree of popularity of the preceding query;

selecting one or more query suggestions from the plurality of query suggestions based on the degree of popularity of the preceding query and suggestion integration criteria, wherein a number of the one or more query suggestions selected is adaptively determined based on the degree of the popularity of the preceding query; and

providing the one or more query suggestions as a response to the request.

18. The medium of claim 17 , wherein the information, when read by the machine, further causes the machine to perform the following:

retrieving a plurality of query pairs from query logs associated with a plurality of users, wherein the plurality of query suggestions is determined based on at least one query pair in the plurality of query pairs, and wherein each of the at least one query pair includes the preceding query and another query starting with the query prefix.

19. The medium of claim 18 , wherein the information, when read by the machine, further causes the machine to perform the following:

removing one or more query pairs from the plurality of query pairs to generate filtered query pairs, wherein each of the one or more query pairs has at least one of the following properties:

collocation count of the query pair is less than a threshold;

pair frequency ratio between the two queries in the query pair is greater than a threshold;

at least one of the two queries in the query pair is a domain name;

word edit distance between the two queries in the query pair is less than a threshold; and

at least one of the two queries in the query pair is a predetermined popular query.

20. The medium of claim 17 , wherein the information, when read by the machine, further causes the machine to perform the following:

retrieving a plurality of queries from query logs associated with a plurality of users;

determining a most clicked URL associated with each of the plurality of queries;

splitting the plurality of queries into one or more query clusters based on the most clicked URLs of the plurality of queries;

determining a query frequency for each query in each of the one or more query clusters; and

determining a canonical query with greatest query frequency in each query cluster, wherein the plurality of query suggestions is further determined based on a canonical query in a query cluster that includes the preceding query.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2015
From: GOYAL, AMIT; DENG, HONGBO
To: YAHOO! INC.
Reel/Frame 037233/0457 →
Continuity (1)
Related Publication 20170161373A1 · Jun 8, 2017