IP Library Granted Patent US 11,734,325
Granted Patent B2
US 11,734,325 · App. 16/399,760 · Granted Aug 22, 2023

Detecting and processing conceptual queries

Inventors: Guillaume Jean Mathieu Kempf (Grenoble, FR); Francisco Borges (Voorburg, NL); Marc Brette (Montbonnot-Saint-Martin, FR)
Assignee: Salesforce, Inc.
G06F16/3344G06F16/328G06F16/3329G06F16/367G06F40/205G06N3/02G06Q30/0201G06Q30/0202
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 11,734,325
App. No.
16/399,760
Granted
Aug 22, 2023
Kind
B2
Abstract

Methods, systems, and devices supporting detecting and processing conceptual queries are described. A device (e.g., an application server) may receive a search query from a user device. The search query may include one or more parameters. The device may tag the search query using one or more tags associated with the one or more parameters. In some examples, the one or more tags may be determined based on a neural network. The device may determine that the search query is supported as a conceptual query based on a tag of the one or more tags corresponding to a data object stored in a database. The device may then generate a database query in a query language based on the search query, retrieve a set of results for the search query using the database query in the query language, and transmit the set of results to the user device.

Claims (73)

1. A method for query handling at a server, comprising:

receiving, from a user device, a search query associated with a user, the search query comprising one or more parameters;

parsing the search query to generate a first array comprising a first set of numerical values corresponding to one or more words from the one or more parameters and to generate a second array comprising a second set of numerical values corresponding to one or more characters from the one or more words;

inputting the first array and the second array into a machine learned neural network to generate one or more tags, wherein the machine learned neural network is trained on information stored in a database supported by the server;

filtering a first subset of data objects from the one or more data objects using a first parameter of the one or more parameters according to a first filter;

filtering a second subset of data objects from the first subset of data objects using a second parameter of the one or more of the parameters according to a second filter;

determining that the search query is supported as a conceptual query based at least in part on a tag of the one or more tags corresponding to the one or more data objects stored in the database, wherein the conceptual query comprises a natural language query including information for filtering the one or more data objects in the database;

generating a database query in a query language based at least in part on the search query, wherein the generating is based at least in part on the one or more tags and determining that the search query is supported as the conceptual query;

retrieving, from the database, a set of results for the search query using the database query in the query language; and

causing for display, at the user device, the set of results for the search query.

2. The method of claim 1 , further comprising:

obtaining an output of the machine learned neural network based at least in part on inputting the first array and the second array; and

determining the one or more tags based at least in part on the output of the machine learned neural network.

3. The method of claim 1 , wherein parsing the search query further comprises:

parsing the search query to identify the one or more words; and

determining the first array of one or more numerical values corresponding to the one or more words.

4. The method of claim 1 , wherein parsing the search query further comprises:

parsing the search query to identify the one or more characters; and

determining the second array of one or more numerical values corresponding to the one or more characters.

5. The method of claim 1 , further comprising:

determining that a first tag and a second tag are associated with a parameter included in the search query; and

combining the first tag and the second tag associated with the parameter.

6. The method of claim 1 , further comprising:

determining that at least one parameter from the one or more parameters includes at least one of a name of a person, a name of an organization, or a combination thereof; and

resolving the at least one parameter to a unique identifier associated with at least one of the person, the organization, or a combination thereof.

7. The method of claim 6 , wherein resolving the at least one parameter further comprises:

querying a search index database based at least in part on the at least one parameter; and

receiving, from the search index database, the unique identifier based at least in part on the querying.

8. The method of claim 1 , further comprising:

identifying a plurality of data object types stored in the database based at least in part on a configured list of data object types supported by the database; and

determining the tag of the one or more tags corresponding to the one or more data objects stored in the database based at least in part on identifying the plurality of data object types.

9. The method of claim 8 , further comprising:

retrieving, from the database, information indicating the plurality of data object types supported by the database; and

configuring the configured list of data object types based at least in part on the retrieved information indicating the plurality of data object types supported by the database.

10. The method of claim 1 , further comprising:

determining metadata based at least in part on the one or more tags associated with the one or more parameters; and

generating at least one of the database query in the query language, the set of results for the search query, or a combination thereof based at least in part on the metadata.

11. The method of claim 1 , further comprising:

receiving, from the user device, a second search query comprising one or more additional parameters;

tagging the second search query using one or more additional tags associated with the one or more additional parameters, wherein the one or more additional tags are determined based at least in part on the machine learned neural network;

determining that the second search query is not supported as a second conceptual query based at least in part on the one or more additional tags;

performing a keyword search using the one or more additional parameters included in the second search query based at least in part on the second search query not supporting the second conceptual query;

retrieving a second set of results for the second search query based at least in part on the keyword search; and

transmitting, to the user device, the second set of results for the second search query.

12. The method of claim 1 , further comprising:

updating the machine learned neural network based at least in part on identifying one or more pre-tagged queries, receiving an update to the database, or both, wherein the one or more tags are determined based at least in part on updating the machine learned neural network.

13. The method of claim 1 , further comprising:

tagging the search query using the one or more tags according to an Inside Outside Beginning (JOB) format.

14. The method of claim 1 , further comprising:

identifying at least one of an entity, a scope, a time period, a field value, or a combination thereof based at least in part on the one or more tags, wherein generating the database query in the query language is based at least in part on the identifying.

15. The method of claim 1 , wherein the machine learned neural network comprises a Named Entity Recognition system.

16. The method of claim 1 , further comprising:

formatting the set of results for the search query for display in a user interface of the user device.

17. An apparatus for query handling at a server, comprising: a processor; memory in electronic communication with the processor; and instructions stored in the memory and executable by the processor to cause the apparatus to:

receive, from a user device, a search query associated with a user, the search query comprising one or more parameters;

parse the search query to generate a first array comprising a first set of numerical values corresponding to one or more words from the one or more parameters and to generate a second array comprising a second set of numerical values corresponding to one or more characters from the one or more words;

input the first array and the second array into a machine learned neural network to generate one or more tags, wherein the machine learned neural network is trained on information stored in a database supported by the server;

filter a first subset of data objects from the one or more data objects using a first parameter of the one or more parameters according to a first filter;

filter a second subset of data objects from the first subset of data objects using a second parameter of the one or more of the parameters according to a second filter;

determine that the search query is supported as a conceptual query based at least in part on a tag of the one or more tags corresponding to the one or more data objects stored in the database, wherein the conceptual query comprises a natural language query including information for filtering the one or more data objects in the database;

generate a database query in a query language based at least in part on the search query, wherein the generating is based at least in part on the one or more tags and determining that the search query is supported as the conceptual query;

retrieve, from the database, a set of results for the search query using the database query in the query language; and

cause for display, at the user device, the set of results for the search query.

18. A non-transitory computer-readable medium storing code for query handling at a server, the code comprising instructions executable by a processor to:

receive, from a user device, a search query associated with a user, the search query comprising one or more parameters;

parse the search query to generate a first array comprising a first set of numerical values corresponding to one or more words from the one or more parameters and to generate a second array comprising a second set of numerical values corresponding to one or more characters from the one or more words;

input the first array and the second array into a machine learned neural network to generate one or more tags, wherein the machine learned neural network is trained on information stored in a database supported by the server;

filter a first subset of data objects from the one or more data objects using a first parameter of the one or more parameters according to a first filter;

filter a second subset of data objects from the first subset of data objects using a second parameter of the one or more of the parameters according to a second filter;

determine that the search query is supported as a conceptual query based at least in part on a tag of the one or more tags corresponding to the one or more data objects stored in the database, wherein the conceptual query comprises a natural language query including information for filtering the one or more data objects in the database;

generate a database query in a query language based at least in part on the search query, wherein the generating is based at least in part on the one or more tags and determining that the search query is supported as the conceptual query;

retrieve, from the database, a set of results for the search query using the database query in the query language; and

cause for display, at the user device, the set of results for the search query.

Assignments (2)
CHANGE OF NAME Recorded Apr 26, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 063457/0519 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2019
From: KEMPF, GUILLAUME JEAN MATHIEU; BORGES, FRANCISCO; BRETTE, MARC
To: SALESFORCE.COM, INC.
Reel/Frame 049091/0685 →
Continuity (1)
Related Publication 20200349180A1 · Nov 5, 2020