IP Library Granted Patent US 10,552,432
Granted Patent B2
US 10,552,432 · App. 15/730,660 · Granted Feb 4, 2020

Ranking search results using hierarchically organized machine learning based models

Inventors: Jayesh Govindarajan (Palo Alto, CA); Nicholas Beng Tek Geh (San Carlos, CA); Ammar Haris (Lake Forest Park, WA); Zachary Alexander (Snoqualmie, WA); Scott Thurston Rickard, Jr. (Bellevue, WA); Clifford Z. Huang (Seattle, WA)
Assignee: salesforce.com, inc.
G06F16/24578G06F16/90324G06F16/90348G06N20/00
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,552,432
App. No.
15/730,660
Granted
Feb 4, 2020
Kind
B2
Abstract

A multi-tenant system stores a hierarchy of machine-learned models, wherein each machine-learned model is configured to receive as input a set of search results and generate as output scores for ranking the set of search results. Each machine-learned model is associated with a set of dimensions. The system evaluates search query performance. Performance below a threshold causes a new model to be generated and added to the hierarchy of models. Upon execution of a new search query associated with the same set of dimensions as the newly created model, the new model is used to rank that search query's search results.

Claims (47)

1. A method comprising:

storing, by a multi-tenant system, a hierarchy of machine-learned models, wherein each machine-learned model is configured to receive as input a set of search results and generate as output scores for ranking the set of search results, the hierarchy of machine-learned models comprising a plurality of levels, each level associated with a set of dimensions describing search queries, the dimensions comprising: an organization and an entity type, wherein each machine-learned model at a level is associated with an n-tuple of values corresponding to the set of dimensions for that level;

evaluating, by the multi-tenant system, performance of a particular set of search queries, the set of search queries associated with a particular n-tuple of values of a set of dimensions, the performance indicating a quality of search results ranked by the particular model;

responsive to the performance of the particular set of search queries being below a threshold value, training, by the multi-tenant system, a particular machine-learned model using queries associated with the particular n-tuple of values;

adding, by the multi-tenant system, the particular machine-learned model to the hierarchy of machine-learned models in a level corresponding to the set of dimensions;

receiving, by the multi-tenant system, a new search query associated with an n-tuple of a set of dimensions; and

returning, by the multi-tenant system, results ranked using a matching machine-learned model from the hierarchy of machine-learned models, wherein matching machine-learned model has the closest match with the n-tuple of the new search query.

2. The method of claim 1 , wherein evaluating the performance of a particular model comprises evaluation of user feedback specifying a measure of quality of search result.

3. The method of claim 1 , wherein evaluating the performance of a particular model comprises determining a score for the model based on an aggregate measure of quality of a plurality of searches performed using the model, the measure of quality of a search determined using a rank of the search result accessed by a user from a set of ranked search results provided to the user.

4. The method of claim 1 , further comprising:

training the machine-learned model using previous search queries and a rank of the search result that the user accessed from a set of search results provided to the user.

5. The method of claim 1 , wherein a first level of the hierarchy of machine-learned models comprises a base model, the base model associated with a first set of dimensions representing an empty set, the first level including a base model applicable to a plurality of entities and a plurality of organizations.

6. The method of claim 5 , wherein the hierarchy of machine-learned models comprises a second level associated with a second set of dimensions including an organization dimension, wherein the second level comprises a second set of models, each model for a specific organization.

7. The method of claim 6 , wherein the hierarchy of machine-learned models comprises a third level associated with a third set of dimensions including an entity type dimension, wherein the third level comprises a third set of models, each model for a specific entity type.

8. The method of claim 7 , wherein the hierarchy of machine-learned models comprises a fourth level associated with a fourth set of dimensions including the organization dimension and the entity type dimension, the fourth level comprising a fourth set of models, each model for a specific organization and a specific entity type.

9. A method for ranking search results in a multi-tenant system, the method comprising:

receiving, by a multi-tenant system, a search query from a user, wherein the multi-tenant system stores data for a plurality of organizations, wherein the user is associated with an organization from the plurality of organizations;

identifying a plurality of dimensions of the search query, the dimensions comprising:

an entity type associated with the search query, wherein the search query is for data objects of the entity type, and

an organization associated with the user providing the search query;

providing the search query as input to a search engine;

receiving a plurality of search results from the search engine responsive to the search query;

accessing a hierarchy of machine-learned models, wherein each machine-learned model is configured to receive a set of search results as input and generate scores for ranking the input set of search results, wherein the hierarchy of machine-learned search result ranking models comprises a plurality of levels of models, each level associated with a set of dimensions describing search queries, the dimensions comprising: an organization and an entity type, wherein each machine-learned model at a level is associated with an n-tuple of values corresponding to the set of dimensions for that level;

identifying a machine-learned model based on a matching of the dimensions of the new search query with dimensions of the machine-learned models of the hierarchy of machine-learned models;

using the correct machine-learned model to rank the search results; and

sending the search results for display.

10. The method of claim 9 , wherein identifying the correct machine-learned model is responsive to the entity associated with the search query or the organization associated with the search query.

11. The method of claim 9 , wherein a first level of the hierarchy of machine-learned models comprises a base model, the base model associated with a first set of dimensions representing an empty set, the first level including a base model applicable to a plurality of entities and a plurality of organizations.

12. The method of claim 11 , wherein the hierarchy of machine-learned models comprises a second level associated with a second set of dimensions including an organization dimension, wherein the second level comprises a second set of models, each model for a specific organization.

13. The method of claim 12 , wherein the hierarchy of machine-learned models comprises a third level associated with a third set of dimensions including an entity type dimension, wherein the third level comprises a third set of models, each model for a specific entity type.

14. The method of claim 13 , wherein the hierarchy of machine-learned models comprises a fourth level associated with a fourth set of dimensions including the organization dimension and the entity type dimension, the fourth level comprising a fourth set of models, each model for a specific organization and a specific entity type.

15. A non-transitory computer readable storage medium, storing instructions for ranking search results in a multi-tenant system, the instructions for:

receiving, by a multi-tenant system, a search query from a user, wherein the multi-tenant system stores data for a plurality of organizations, wherein the user is associated with an organization from the plurality of organizations;

identifying a plurality of dimensions of the search query, the dimensions comprising:

an entity type associated with the search query, wherein the search query is for data objects of the entity type, and

an organization associated with the user providing the search query;

providing the search query as input to a search engine;

receiving a plurality of search results from the search engine responsive to the search query;

accessing a hierarchy of machine-learned models, wherein each machine-learned model is configured to receive a set of search results as input and generate scores for ranking the input set of search results, wherein the hierarchy of machine-learned search result ranking models comprises a plurality of levels of models, each level associated with a set of dimensions describing search queries, the dimensions comprising: an organization and an entity type, wherein each machine-learned model at a level is associated with an n-tuple of values corresponding to the set of dimensions for that level;

identifying a machine-learned model based on a matching of the dimensions of the new search query with dimensions of the machine-learned models of the hierarchy of machine-learned models;

using the correct machine-learned model to rank the search results; and

sending the search results for display.

16. The non-transitory computer readable storage medium of claim 15 , wherein identifying the correct machine-learned model is responsive to the entity associated with the search query or the organization associated with the search query.

17. The non-transitory computer readable storage medium of claim 15 , wherein a first level of the hierarchy of machine-learned models comprises a base model, the base model associated with a first set of dimensions representing an empty set, the first level including a base model applicable to a plurality of entities and a plurality of organizations.

18. The non-transitory computer readable storage medium of claim 17 , wherein the hierarchy of machine-learned models comprises a second level associated with a second set of dimensions including an organization dimension, wherein the second level comprises a second set of models, each model for a specific organization.

19. The non-transitory computer readable storage medium of claim 18 , wherein the hierarchy of machine-learned models comprises a third level associated with a third set of dimensions including an entity type dimension, wherein the third level comprises a third set of models, each model for a specific entity type.

20. The non-transitory computer readable storage medium of claim 19 , wherein the hierarchy of machine-learned models comprises a fourth level associated with a fourth set of dimensions including the organization dimension and the entity type dimension, the fourth level comprising a fourth set of models, each model for a specific organization and a specific entity type.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2018
From: GOVINDARAJAN, JAYESH; TEK GEH, NICHOLAS BENG; ALEXANDER, ZACHARY; HUANG, CLIFFORD Z.; HARIS, AMMAR; RICKARD, SCOTT THURSTON, JR.
To: SALESFORCE.COM, INC.
Reel/Frame 044793/0636 →
Cited By (1)
US 12,288,032