IP Library Granted Patent US 10,614,061
Granted Patent B2
US 10,614,061 · App. 15/636,199 · Granted Apr 7, 2020

Predicting user intent based on entity-type search indexes

Inventors: Guillaume Kempf (Grenoble, FR); Marc Brette (Montbonnot-Saint-Martin, FR); Naren M. Chittar (Saratoga, CA); Anuprit Kale (Oakland, CA); Yasaman Mohsenin (San Francisco, CA); Pranshu Sharma (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F16/2425G06F16/248
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,614,061
App. No.
15/636,199
Granted
Apr 7, 2020
Kind
B2
Abstract

An online system stores objects that may be accessed by users. The online system also stores indexes of terms related to different entity types of objects. When a user provides a search query, the online system compares the search terms with terms stored in the indexes. Based on the comparisons, the online system determines term features for entity types associated with an index. The online system provides the term features as inputs to a machine learning model. The machine learning model outputs a score for each entity type indicating a likelihood that the search query is for an object associated with the entity type. The machine learning model output is used by the online system to select one or more entity types that the user is likely searching for. The online system offers objects of the likely entity types to the user as results of the search query.

Claims (53)

1. A computer implemented method for processing search queries, the method comprising:

storing, by an online system, a plurality of indexes, each of the plurality of indexes including terms for objects associated with an entity type from a plurality of entity types, wherein an entity type corresponds to a category of objects;

receiving, by an online system, a search query provided by a user;

searching, by the online system, the plurality of indexes for terms of the search query;

determining, by the online system for each of the plurality of entity types, a feature value based on terms of the search query found in the index from the plurality of indexes associated with the entity type according to the searching, wherein determining the feature value comprises determining a value related to a total number of times at least one term from the search query is present in the index and dividing the value by the number of terms stored in the index;

providing, by the online system to a machine learning model as an input, the feature value determined for each entity type;

predicting, by the online system, one or more entity types searched for by the user from the plurality of entity types based on an output generated by the machine learning model according to the input;

searching, by the online system, for objects related to the search query;

generating, by the online system, search results based on the searching for objects and the predicted one or more entity types; and

transmitting, by the online system to a client device, the search results.

2. The computer-implemented method of claim 1 , wherein the online system is a multi-tenant system and wherein searching the plurality of indexes for terms of the search query comprises searching indexes that are specific to a tenant with which the user is associated.

3. The computer-implemented method of claim 1 , wherein an index from the plurality of indexes associated with an entity type includes a name or title for each stored object associated with the entity type.

4. The computer-implemented method of claim 1 , wherein an index from the plurality of indexes associated with an entity type includes keywords of each stored object associated with the entity type.

5. The computer-implemented method of claim 1 , wherein determining a feature value based on terms of the search query found in the index comprises:

determining which term appears most in the index from the terms of the query.

6. The computer-implemented method of claim 1 , wherein generating search results based on the searching for objects and the predicted one or more entity types comprises:

ordering objects included in the search results based on the likelihood scores output by the machine learning model for the entity type associated with each of the objects.

7. A non-transitory computer-readable storage medium storing computer executable code that when executed by one or more processors causes the one or more processors to perform operations comprising:

storing, by an online system, a plurality of indexes, each of the plurality of indexes including terms for objects associated with an entity type from a plurality of entity types, wherein an entity type corresponds to a category of objects;

receiving, by an online system, a search query provided by a user;

searching, by the online system, the plurality of indexes for terms of the search query;

determining, by the online system for each of the plurality of entity types, a feature value based on terms of the search query found in the index from the plurality of indexes associated with the entity type according to the searching, wherein determining the feature value comprises determining a value related to a total number of times at least one term from the search query is present in the index and dividing the value by the number of terms stored in the index;

providing, by the online system to a machine learning model as an input, the feature value determined for each entity type;

predicting, by the online system, one or more entity types searched for by the user from the plurality of entity types based on an output generated by the machine learning model according to the input;

searching, by the online system, for objects related to the search query;

generating, by the online system, search results based on the searching for objects and the predicted one or more entity types; and

transmitting, by the online system to a client device, the search results.

8. The non-transitory computer-readable storage medium of claim 7 , wherein the online system is a multi-tenant system and wherein searching the plurality of indexes for terms of the search query comprises searching indexes that are specific to a tenant with which the user is associated.

9. The non-transitory computer-readable storage medium of claim 7 , wherein an index from the plurality of indexes associated with an entity type includes a name or title for each stored object associated with the entity type.

10. The non-transitory computer-readable storage medium of claim 7 , wherein an index from the plurality of indexes associated with an entity type includes keywords of each stored object associated with the entity type.

11. The non-transitory computer-readable storage medium of claim 7 , wherein determining a feature value based on terms of the search query found in the index comprises:

determining which term appears most in the index from the terms of the query.

12. The non-transitory computer-readable storage medium of claim 7 , wherein generating search results based on the searching for objects and the predicted one or more entity types comprises:

ordering objects included in the search results based on the likelihood scores output by the machine learning model for the entity type associated with each of the objects.

13. A system comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising computer executable code that when executed by the one or more processors causes the one or more processors to perform operations comprising:

storing, by an online system, a plurality of indexes, each of the plurality of indexes including terms for objects associated with an entity type from a plurality of entity types, wherein an entity type corresponds to a category of objects;

receiving, by an online system, a search query provided by a user;

searching, by the online system, the plurality of indexes for terms of the search query;

determining, by the online system for each of the plurality of entity types, a feature value based on terms of the search query found in the index from the plurality of indexes associated with the entity type according to the searching, wherein determining the feature value comprises determining a value related to a total number of times at least one term from the search query is present in the index and dividing the value by the number of terms stored in the index;

providing, by the online system to a machine learning model as an input, the feature value determined for each entity type;

predicting, by the online system, one or more entity types searched for by the user from the plurality of entity types based on an output generated by the machine learning model according to the input;

searching, by the online system, for objects related to the search query;

generating, by the online system, search results based on the searching for objects and the predicted one or more entity types; and

transmitting, by the online system to a client device, the search results.

14. The system of claim 13 , wherein the online system is a multi-tenant system and wherein searching the plurality of indexes for terms of the search query comprises searching indexes that are specific to a tenant with which the user is associated.

15. The system of claim 13 , wherein an index from the plurality of indexes associated with an entity type includes a name or title for each stored object associated with the entity type.

16. The system of claim 13 , wherein an index from the plurality of indexes associated with an entity type includes keywords of each stored object associated with the entity type.

17. The system of claim 13 , wherein determining a feature value based on terms of the search query found in the index comprises:

determining which term appears most in the index from the terms of the query.

18. The system of claim 13 , wherein generating search results based on the searching for objects and the predicted one or more entity types comprises:

ordering objects included in the search results based on the likelihood scores output by the machine learning model for the entity type associated with each of the objects.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0203 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2017
From: KEMPF, GUILLAUME; BRETTE, MARC; KALE, ANUPRIT; MOHSENIN, YASAMAN; CHITTAR, NAREN M.; SHARMA, PRANSHU
To: SALESFORCE.COM, INC.
Reel/Frame 042854/0683 →
Continuity (1)
Related Publication 20190005089A1 · Jan 3, 2019
Cited By (2)
US 12,288,032 US 12,373,229