IP Library Patent Application 14632380
Patent Application
App. No. 14/632,380

Adjusting Result Rankings For Broad Queries

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 None
App. No.
14/632,380
Abstract

Systems, methods, and computer program products are provided for adjusting result rankings for broad queries. In some implementations, a method is provided that includes building a query graph based on submitted queries, each query having one or more query terms, where the query graph contains queries in parent-child relationships. The method further includes for each query in the query graph, determining a respective mass of the query by calculating a total number of submissions of the query and of queries which descend from the query; determining a respective match score of the query based on a correlation between the query and a portion of an electronic document; and computing a respective weight of the query. The method further includes adjusting a ranking of the electronic document as a search result responsive to a current query based on the weight of a matching query in the query graph.

Claims (97)

1 . A computer-implemented method, the method comprising:

receiving a current user query;

building a query graph for an electronic document based on user-submitted queries, each query comprising one or more query terms, wherein the query graph comprises queries in parent-child relationships, wherein each child query in the query graph represents a refinement of a respective parent query in the query graph;

for each of one or more of the queries in the query graph:

determining a respective mass of the query using a count of submissions of the query and a count of submissions of query refinements represented by each child of the query in the query graph;

determining a respective match score of the query based on a correlation between the query and a portion of the electronic document; and

computing a respective weight of the query in reference to the electronic document based on the mass and the match score of the query;

selecting one or more parent-child relationships in the query graph based on the mass or the computed weight of a corresponding query in the query graph and a threshold value;

generating a query map based on the selected parent-child relationships;

identifying one or more child queries that have a corresponding parent query that matches the current user query;

submitting the identified one or more child queries to a search engine; and

providing for display a merged result set that includes search results of each of the submitted child queries.

2 . The method of claim 1 , further comprising:

identifying a plurality of queries in the query graph that contain identical query terms, each of the plurality of queries being a child query of a distinct parent query;

representing the plurality of queries as a single query; and

substituting the identified child query of each distinct parent query in the query graph with the single query.

3 . The method of claim 1 , wherein determining the match score comprises applying a formula as follows:

Sm ( Q,D )=( Ct/Lq+Ct/Ld )/2,

where Sm(Q, D) is the match score that measures the correlation between the query Q and the portion of the electronic document D, Ct is a number of terms that appear in both Q and D, Lq is a length of Q measured by a total number of terms in Q, and Ld is a length of the portion of the electronic document D.

4 . The method of claim 3 , wherein computing the weight W(Q, D) of the query Q in reference to the portion of the electronic document D comprises multiplying the match score Sm(Q, D) of the query Q by the mass of the query Q.

5 . The method of claim 1 , wherein computing the weight of the query in reference to the document further comprises:

multiplying a query count of the query by the match score of the query to produce the weight of the query, the query count comprising a number of times that the query has been submitted; and

for each descendent query of the query in the query graph:

multiplying a query count of the descendent query and a match score of the descendent query to produce a descendent query weight; and

adding the descendent query weight to the weight of the query.

6 . The method of claim 1 , wherein each submission of the query or query refinement that is counted is the submission of the query or query refinement to a search engine causing retrieval of one or more electronic documents.

7 . The method of claim 1 , further comprising:

adjusting a ranking of the electronic document as a search result for one of the submitted child queries based on the computed weight of the corresponding query in the query graph.

8 . A computer program product stored on a non-transitory computer storage medium, operable to cause data processing apparatus to perform operations comprising:

receiving a current user query;

building a query graph for an electronic document based on user-submitted queries, each query comprising one or more query terms, wherein the query graph comprises queries in parent-child relationships, wherein each child query in the query graph represents a refinement of a respective parent query in the query graph;

for each of one or more of the queries in the query graph:

determining a respective mass of the query using a count of submissions of the query and a count of submissions of query refinements represented by each child of the query in the query graph;

determining a respective match score of the query based on a correlation between the query and a portion of the electronic document; and

computing a respective weight of the query in reference to the electronic document based on the mass and the match score of the query;

selecting one or more parent-child relationships in the query graph based on the mass or the computed weight of a corresponding query in the query graph and a threshold value;

generating a query map based on the selected parent-child relationships;

identifying one or more child queries that have a corresponding parent query that matches the current user query;

submitting the identified one or more child queries to a search engine; and

providing for display a merged result set that includes search results of each of the submitted child queries.

9 . The computer program product of claim 8 , wherein the operations further comprise:

identifying a plurality of queries in the query graph that contain identical query terms, each of the plurality of queries being a child query of a distinct parent query;

representing the plurality of queries as a single query; and

substituting the identified child query of each distinct parent query with the single query.

10 . The computer program product of claim 8 , wherein determining the match score comprises applying a formula as follows:

Sm ( Q,D )=( Ct/Lq+Ct/Ld )/2,

wherein Sm(Q, D) is the match score that measures the correlation between the query Q and the portion of the electronic document D, Ct is a number of terms that appear in both Q and D, Lq is a length of Q measured by a total number of terms in Q, and Ld is a length of the portion of the electronic document D.

11 . The computer program product of claim 10 , wherein computing the weight W(Q, D) of the query Q in reference to the portion of the electronic document D comprises multiplying the match score Sm(Q, D) of the query Q by the mass of the query Q.

12 . The computer program product of claim 8 , wherein computing the weight of the query in reference to the document further comprises:

multiplying a query count of the query by the match score of the query to produce the weight of the query, the query count comprising a number of times that the query has been submitted; and

for each descendent query of the query in the query graph:

multiplying a query count of the descendent query and a match score of the descendent query to produce a descendent query weight; and

adding the descendent query weight to the weight of the query.

13 . The computer program product of claim 8 , wherein each submission of the query or query refinement that is counted is the submission of the query or query refinement to a search engine causing retrieval of one or more electronic documents.

14 . The computer program product of claim 8 , wherein the operations further comprise:

adjusting a ranking of the electronic document as a search result for one of the submitted child queries based on the computed weight of the corresponding query in the query graph.

15 . The computer program product of claim 8 , wherein adjusting the ranking of the electronic document further comprises:

filtering the query graph by excluding from the query graph queries whose weights do not exceed a threshold; and

increasing or decreasing the ranking of the electronic document according to the computed weight of the corresponding query in the filtered query graph.

16 . The computer program product of claim 8 , wherein filtering the query graph comprises:

calculating a score S(Q2, D) for each query Q2 in the query graph in reference to the portion of the electronic document D using a formula:

S ( Q 2, D )= W ( Q 2, D )/ M ( Q 2)− k/N ( Q 2),

wherein

W(Q2, D) is a weight of the query Q2 in reference to the portion of the electronic document D;

M(Q2) is a mass of the query Q2;

k is the threshold; and

N(Q2) is a number of child queries of the query Q2; and

excluding from the query graph queries whose scores are less than or equal to 0.

17 . A system comprising:

one or more computers configured to perform operations comprising:

receiving a current user query;

building a query graph for an electronic document based on user-submitted queries, each query comprising one or more query terms, wherein the query graph comprises queries in parent-child relationships, wherein each child query in the query graph represents a refinement of a respective parent query in the query graph;

for each of one or more of the queries in the query graph:

determining a respective mass of the query using a count of submissions of the query and a count of submissions of query refinements represented by each child of the query in the query graph;

determining a respective match score of the query based on a correlation between the query and a portion of the electronic document; and

computing a respective weight of the query in reference to the electronic document based on the mass and the match score of the query;

selecting one or more parent-child relationships in the query graph based on the mass or the computed weight of a corresponding query in the query graph and a threshold value;

generating a query map based on the selected parent-child relationships;

identifying one or more child queries that have a corresponding parent query that matches the current user query;

submitting the identified one or more child queries to a search engine; and

providing for display a merged result set that includes search results of each of the submitted child queries.

18 . The system of claim 17 , wherein the operations further comprise:

identifying a plurality of queries in the query graph that contain identical query terms, each of the plurality of queries being a child query of a distinct parent query;

representing the plurality of queries as a single query; and

substituting the identified child query of each distinct parent query in the query graph with the single query.

19 . The system of claim 17 , wherein determining the match score comprises applying a formula as follows:

Sm ( Q,D )=( Ct/Lq+Ct/Ld )/2,

wherein Sm(Q, D) is the match score that measures the correlation between the query Q and the portion of the electronic document D, Ct is a number of terms that appear in both Q and D, Lq is a length of Q measured by a total number of terms in Q, and Ld is a length of the portion of the electronic document D.

20 . The system of claim 19 , wherein computing the weight W(Q, D) of the query Q in reference to the portion of the electronic document D comprises multiplying the match score Sm(Q, D) of the query Q by the mass of the query Q.

21 . The system of claim 17 , wherein computing the weight of the query in reference to the document further comprises:

multiplying a query count of the query by the match score of the query to produce the weight of the query, the query count comprising a number of times that the query has been submitted; and

for each descendent query of the query in the query graph:

multiplying a query count of the descendent query and a match score of the descendent query to produce a descendent query weight; and

adding the descendent query weight to the weight of the query.

22 . The system of claim 17 , wherein each submission of the query or query refinement that is counted is the submission of the query or query refinement to a search engine causing retrieval of one or more electronic documents.

23 . The system of claim 17 , wherein the operations further comprise:

adjusting a ranking of the electronic document as a search result for one of the submitted child queries based on the computed weight of the corresponding query in the query graph.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE REMOVAL OF THE INCORRECTLY RECORDED APPLICATION NUMBERS 14/149802 AND 15/419313 PREVIOUSLY RECORDED AT REEL: 44144 FRAME: 1. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 4, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 068092/0502 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044144/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2015
From: LOPIANO, FABIO
To: GOOGLE INC.
Reel/Frame 035476/0789 →