IP Library Granted Patent US 11,657,044
Granted Patent B2
US 11,657,044 · App. 17/012,319 · Granted May 23, 2023

Semantic parsing engine

Inventors: Kevin Reschke (Mountain View, CA); Ben Peloquin (San Francisco, CA); Christopher Potts (Palo Alto, CA); Tharun Paul (Bangalore, IN)
Assignee: PAREXEL International, LLC
G06F16/243G06F16/2428G06F16/2455G06F16/9024G06F40/30G16H10/60G06F3/0482
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,657,044
App. No.
17/012,319
Granted
May 23, 2023
Kind
B2
Abstract

In various example embodiments, a system and methods are presented for converting query structures for information retrieval from graph-based data structures. The systems and methods receive a natural language query including a set of terms and generate an intermediate semantic relationship of the set of terms of the natural language query. The systems and methods generate a graph query including graph terms corresponding to the set of terms of the natural language query defined by a graph database. The systems and methods search one or more datasets associated with the graph database using the graph query and return a set of results based on the graph query.

Claims (64)

1. A method of graph-backed processing of a natural language query to search a graph database, wherein the graph database comprises nodes and edges having associated attributes, and the graph database is organized as a plurality of sub-graphs each corresponding to a respective knowledge domain from a respective data source, the plurality of sub-graphs are connected via a canonical layer, with edges connecting the sub-graphs with attributes indicative of relationships between nodes of sub-graphs of the plurality of sub-graphs that are based on related attributes of the nodes such that the graph database has a schema indicative of entities, concepts, and relations, the method comprising:

receiving, at one or more hardware processors of a machine, a natural language query including a set of terms;

generating, by the one or more hardware processors, a graph query including graph terms corresponding to the set of terms of the natural language query, the generating the graph query comprising:

parsing the natural language query to identify terms and relationships between the terms, using the schema of the graph database, wherein at least a portion of the identified terms correspond to attributes of nodes in the graph database and at least a portion of the relationships correspond to attributes of edges connecting the plurality of sub-graphs in the graph database;

searching one or more sub-graphs of the plurality of sub-graphs of the graph database using the graph query; and

returning a set of results based on the searching.

2. The method of claim 1 , further comprising generating the canonical layer by using a machine learning technique to generate a model to incorporate the nodes and edges into the canonical layer.

3. The method of claim 1 , wherein parsing the natural language query comprises using a grammar rule, a syntax rule, a lexicon, and/or a language model defined by the graph database.

4. The method of claim 3 , wherein the grammar rule is generated at least in part using the graph schema of the graph database.

5. The method of claim 3 , wherein:

generating the graph query comprises performing an entity detection operation using the language model; and

the language model is trained on name-type attributes of nodes in the graph database.

6. The method of claim 5 , wherein:

generating the graph query comprises performing a look-up operation to generate the graph query using an entity index for the graph database.

7. The method of claim 6 , further comprising automatically generating the entity index from the graph database.

8. The method of claim 3 , wherein the lexicon is generated from nodes and edges of the graph database.

9. A method of graph-backed processing of a natural language query to search a graph database comprising nodes and edges, with the nodes and edges each comprising attributes such that the graph database has a schema indicative of entities, concepts, and relations, the method comprising:

receiving, at one or more hardware processors of a machine, a natural language query including a set of terms;

generating, by the one or more hardware processors, a graph query including graph terms corresponding to the set of terms of the natural language query, the generating the graph query comprising parsing the natural language query to identify terms and relationships between the terms, using the schema of the graph database;

searching the graph database using the graph query to generate a set of results based on the searching;

rendering on a user interface search results of the set of results and a representation of the natural language query with selectable user interface elements representing elements of the graph query;

in response to user input selecting a selectable graphical user interface element, generating, using the graph database, one or more alternative search terms related to one or more graph terms in the graph query; and

in response to user input selecting an alternative search term of the one or more alternative search terms, generating alternative search results based on replacing a graph term in the graph query with the selected alternative search term of the one or more alternative search terms.

10. The method of claim 9 , further comprising:

generating the schema based on a canonical layer connecting a plurality of sub-graphs of the graph database, each of the plurality of sub-graphs corresponding to a respective knowledge domain, the canonical layer comprising edges with attributes indicative of relationships between nodes of sub-graphs of the plurality of sub-graphs that are based on related attributes of the nodes.

11. The method of claim 9 , further comprising:

generating a representation of the graph query by:

segmenting the graph query into a first set of graph query elements corresponding to the set of terms in the natural language query; and

inferring from the natural language query to determine a second set of graph query elements;

displaying the representation of the graph query, wherein the representation of the graph query comprises the first set of graph query elements and the second set of graph query elements; and

receiving user interaction indicative of a replacement of one or more graph terms.

12. The method of claim 11 , wherein:

one or more of the first set of graph query elements represent or interpret at least a portion of the natural language query; and

the second set of graph query elements comprise a set of connective terms linking the set of graph query elements as an approximation of the natural language query.

13. A system comprising:

one or more hardware processors;

a graph database comprising:

a plurality of sub-graphs each representing a respective dataset associated with a respective knowledge domain; and

a canonical layer connecting the plurality of sub-graphs, wherein the canonical layer comprises nodes and edges, wherein the edges are indicative of relationships among the plurality of sub-graphs, wherein the relationships are based in part on related attributes of individual nodes within the plurality of sub-graphs; and

a non-transitory processor-readable storage medium coupled to the one or more hardware processors, the processor-readable storage medium storing processor-executable instructions that, when executed by the one or more processors, cause the one or more processors to:

receive a natural language query including a set of terms;

parse the natural language query using the relationships indicated by the canonical layer of the graph database to generate a graph query, wherein the graph query includes graph terms corresponding to the set of terms of the natural language query;

search one or more sub-graphs of the plurality of sub-graphs using the graph query; and

return a set of results based on the search.

14. The system of claim 13 , wherein the instructions for parsing the natural language query further comprise instructions configured to parse the natural language query using one or more of a grammar rule, a syntax rule, a lexicon, and/or a language model to generate the graph terms in the graph query, wherein the grammar rule, the syntax rule, the lexicon, and/or the language model are defined by the graph database.

15. The system of claim 14 , wherein the grammar rule is generated at least in part using a graph schema of the graph database.

16. The system of claim 14 , wherein the instructions for generating the graph query further comprise instructions configured to perform an entity detection operation using the language model, wherein the language model is trained on name-type attributes of nodes in the graph database.

17. The system of claim 14 , wherein the lexicon is generated from nodes and edges of the graph database.

18. The system of claim 12 , wherein the instructions for generating the graph query further comprise instructions for performing a look-up operation to generate the graph query using an entity index for the graph database.

19. A non-transitory processor-readable storage medium comprising instructions that, when executed by one or more processors of a device, cause the device to implement operations for graph-backed processing of a natural language query to search a graph database, wherein the graph database comprises a plurality of sub-graphs and a canonical layer indicating relationships between related nodes of the sub-graphs, each sub-graph being associated with a respective knowledge domain and comprising nodes, the operations comprising:

receiving a natural language query including a set of terms;

parsing, using at least the relationships indicated in the canonical layer, the natural language query to generate a graph query including graph terms corresponding to the set of terms of the natural language query, wherein the graph database comprises a plurality of sub-graphs each associated with a respective knowledge domain;

searching one or more sub-graphs of the plurality of sub-graphs using the graph query;

returning a set of results based on the search; and

automatically updating the canonical layer of the graph database by using a machine learning model to incorporate new relationships between related nodes of the sub-graphs, whereby the searching automatically adapts.

20. The storage medium of claim 19 , wherein the canonical layer comprises one or more edges generated based on related attributes of individual nodes within the connected sub-graphs.

21. The storage medium of claim 19 , wherein the instructions for parsing the set of terms of the natural language query further comprise instructions configured to:

generate one or more of a language model, a lexicon, and/or a grammar or syntax rule using the graph database; and

parse the set of terms of the natural language query to generate the graph query using the one or more of the language model, the lexicon, and/or the grammar or syntax rule.

22. The storage medium of claim 21 , wherein the grammar or syntax rule is generated at least in part using a graph schema of the graph database.

23. The storage medium of claim 21 , wherein the instructions for generating the graph query further comprises instructions configured to perform an entity detection operation using the language model, wherein the language model is trained on name-type attributes of nodes in the graph database.

24. The storage medium of claim 21 , wherein the lexicon is generated from nodes and edges of the graph database.

25. The storage medium of claim 19 , wherein the instructions for generating the graph query further comprises instructions configured to perform a look-up operation to generate the graph query using an entity index for the graph database.

26. The storage medium of claim 25 , further comprising instructions configured to automatically generate the entity index from the graph database.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Feb 8, 2024
From: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
To: PAREXEL INTERNATIONAL CORPORATION; PAREXEL INTERNATIONAL, LLC
Reel/Frame 066418/0548 →
SECURITY INTEREST Recorded Nov 16, 2021
From: PAREXEL INTERNATIONAL CORPORATION; PAREXEL INTERNATIONAL, LLC
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 058120/0223 →
SECURITY INTEREST Recorded Nov 16, 2021
From: PAREXEL INTERNATIONAL CORPORATION; PAREXEL INTERNATIONAL, LLC
To: OWL ROCK CAPITAL CORPORATION
Reel/Frame 058120/0231 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2021
From: RESCHKE, KEVIN; PELOQUIN, BEN; POTTS, CHRISTOPHER; PAUL, THARUN
To: ROAM ANALYTICS, INC.
Reel/Frame 054873/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: ROAM ANALYTICS, INC.
To: PAREXEL INTERNATIONAL, LLC
Reel/Frame 054208/0827 →
Continuity (3)
Continuation 15796597 · Oct 27, 2017
Provisional Application 62414614 · Oct 28, 2016
Related Publication 20210191924A1 · Jun 24, 2021
Cited By (2)
US 12,561,348 US 12,718,006