# US 11,908,587 B2 · Machine reasoning as a service

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,908,587 B2
- Document ID: US11908587B2
- Status: Granted
- Kind: B2
- Application number: 18/180,209
- Filed: 2023-03-08
- Published: 2023-09-07
- Granted: 2024-02-20
- Earliest claimed: 2021-07-13
- Assignees: IQVIA Inc.
- Applicants: IQVIA Inc.
- Inventors: Scott Josephson; Gary Shorter
- Web page: https://patentgrep.com/patent/US11908587B2

## CPC

- G06F 40/216: using statistical methods
- G16H 50/70: for mining of medical data, e.g. analysing previous cases of other patients
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 16/90344: {by using string matching techniques}
- G06F 40/247: Thesauruses; Synonyms
- G06F 40/295: Named entity recognition
- G06F 40/30: Semantic analysis
- G06F 40/35: Discourse or dialogue representation
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 5/04: Inference or reasoning models
- G06N 5/045: Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
- G16H 10/60: for patient-specific data, e.g. for electronic patient records
- G16H 20/00: ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
- G16H 10/20: for electronic clinical trials or questionnaires
- G16H 20/10: relating to drugs or medications, e.g. for ensuring correct administration to patients
- Y02A 90/10: Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- Y02A: TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE

## Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for responding to a query. In some implementations, a computer obtains a query. The computer determines a meaning for each term in the query. The computer determines user data for the user that submitted the query. The computer identifies one or more ontologies based on the meanings for at least some of the terms. The computer identifies a knowledge graph based on the identified ontologies and the user data. The computer generates a response to the query by traversing a path of the identified knowledge graph to identify items in the knowledge graph based on the determined meaning for each of the terms. The computer generates path data that represents the path taken by the computer through the identified knowledge graph. The computer provides the generated response and the path data to the client device.

## Claims

### Claim 1

A computer-implemented method performed by one or more computers, the method comprising:
receiving, by the one or more computers, a query from a client device associated with a user;
identifying, by the one or more computers, a knowledge graph based on data indicative of the user that submitted the query;
traversing, by the one or more computers, a path through the identified knowledge graph using data extracted from the received query;
generating, by the one or more computers, path data that represents the traversed path taken by the one or more computers through the identified knowledge graph, the generating comprising:
generating, by the one or more computers, a graphical illustration that illustrates the traversed path taken by the one or more computers through one or more connecting nodes of the identified knowledge graph according to the data extracted from the received query to at least some connected entities and corresponding relationships between entities of the identified knowledge graph, wherein the graphical illustration represents a path that is readable and understandable by the user; and
generating, by the one or more computers, results of the generated path data, wherein the results comprise (i) one or more nodes in the identified knowledge graph where the traversal ended, (ii) statistical data illustrating confidences of matches between the data extracted from the received query to at least some of the connected entities and the corresponding relationships between the connected entities in the identified knowledge graph; and
providing, by the one or more computers and to the client device, the generated path data responsive to the query.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the query requests information for a medical topic and comprises the data indicative of the user.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining, by the one or more computers, the data indicative of the user from the received query, wherein the data indicative of the user comprises at least one of (i) a current location of the client device of the user, (ii) a current job location of the user, and (iii) a current job position of the user.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, further comprising:
storing, by the one or more computers, a plurality of ontologies in an ontology knowledge base, each ontology in the plurality of ontologies created from historical medical data that comprises at least one of previous clinical trial data, clinical journals, biology data, life sciences data, genetic data, disease data, and pharmacological data, and the historical medical data is stored in each of the ontologies in a structured manner;
identifying, by the one or more computers from the ontology knowledge base, one or more ontologies using the determined data indicative of the user from the received query; and
selecting, by the one or more computers, a subset of ontologies from the one or more identified ontologies using a match between historical data in the subset of ontologies to at least some of the information for the medical topic included in the query.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein identifying the knowledge graph based on data indicative of the user that submitted the query comprises:
storing, by the one or more computers, a plurality of knowledge graphs, each knowledge graph of the plurality of stored knowledge graphs connecting entities and corresponding relationships between the entities;
identifying, by the one or more computers and from among the plurality of knowledge graphs, the knowledge graph that matches to data identified in a subset of ontologies; and
providing, by the one or more computers, the identified knowledge graph to an inference engine for traversing the path.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein traversing the path through the identified knowledge graph using the data extracted from the received query comprises matching, by the one or more computers, one or more terms extracted from the received query to at least some of the connected entities and the corresponding relationships between the entities in the identified knowledge graph, wherein the matching is performed according to the path taken by the one or more computers through one or more connecting nodes of the identified knowledge graph.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein providing the generated path data to the client device responsive to the query comprises providing, by the one or more computers and to the client device, (i) the graphical illustration and (ii) the results of the generated path data.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising:
in response to providing the generated path data responsive to the query, receiving, by the one or more computers, one or more modifications to the generated path data, wherein the one or more modifications comprise (i) modifications to the query, (ii) parameters for identifying one or more ontologies, (iii) parameters for identifying the knowledge graph, and (iv) parameters for instructing an inference engine to traverse the path through the identified knowledge graph.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the query from the client device comprises a plurality of terms related to a topic.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
in response to receiving the query from the client device associated with the user, determining, by the one or more computers, data from the query matches data of a previously submitted query.

### Claim 11

A system comprising:
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
receiving, by the one or more computers, a query from a client device associated with a user;
identifying, by the one or more computers, a knowledge graph based on data indicative of the user that submitted the query;
traversing, by the one or more computers, a path through the identified knowledge graph using data extracted from the received query;
generating, by the one or more computers, path data that represents the traversed path taken by the one or more computers through the identified knowledge graph, the generating comprising:
generating, by the one or more computers, a graphical illustration that illustrates the traversed path taken by the one or more computers through one or more connecting nodes of the identified knowledge graph according to the data extracted from the received query to at least some connected entities and corresponding relationships between entities of the identified knowledge graph, wherein the graphical illustration represents a path that is readable and understandable by the user; and
generating, by the one or more computers, results of the generated path data, wherein the results comprise (i) one or more nodes in the identified knowledge graph where the traversal ended, (ii) statistical data illustrating confidences of matches between the data extracted from the received query to at least some of the connected entities and the corresponding relationships between the connected entities in the identified knowledge graph; and
providing, by the one or more computers and to the client device, the generated path data responsive to the query.

### Claim 12 (depends on 11)

The system of claim 11, wherein the query requests information for a medical topic and comprises the data indicative of the user.

### Claim 13 (depends on 12)

The system of claim 12, further comprising:
determining, by the one or more computers, the data indicative of the user from the received query, wherein the data indicative of the user comprises at least one of (i) a current location of the client device of the user, (ii) a current job location of the user, and (iii) a current job position of the user.

### Claim 14 (depends on 13)

The system of claim 13, further comprising:
storing, by the one or more computers, a plurality of ontologies in an ontology knowledge base, each ontology in the plurality of ontologies created from historical medical data that comprises at least one of previous clinical trial data, clinical journals, biology data, life sciences data, genetic data, disease data, and pharmacological data, and the historical medical data is stored in each of the ontologies in a structured manner;
identifying, by the one or more computers from the ontology knowledge base, one or more ontologies using the determined data indicative of the user that represents the user from the received query; and
selecting, by the one or more computers, a subset of ontologies from the one or more identified ontologies using a match between historical data in the subset of ontologies to at least some of the information for the medical topic included in the query.

### Claim 15 (depends on 11)

The system of claim 11, wherein identifying the knowledge graph based on data indicative of the user that submitted the query comprises:
storing, by the one or more computers, a plurality of knowledge graphs, each knowledge graph of the plurality of stored knowledge graphs connecting entities and corresponding relationships between the entities;
identifying, by the one or more computers and from among the plurality of knowledge graphs, the knowledge graph that matches to data identified in a subset of ontologies; and
providing, by the one or more computers, the identified knowledge graph to an inference engine for traversing the path.

### Claim 16 (depends on 15)

The system of claim 15, wherein traversing the path through the identified knowledge graph using the data extracted from the received query comprises matching, by the one or more computers, one or more terms extracted from the received query to at least some of the connected entities and the corresponding relationships between the entities in the identified knowledge graph, wherein the matching is performed according to the path taken by the one or more computers through one or more connecting nodes of the identified knowledge graph.

### Claim 17 (depends on 11)

The system of claim 11, wherein providing the generated path data to the client device responsive to the query comprises providing, by the one or more computers and to the client device, (i) the graphical illustration and (ii) the results of the generated path data.

### Claim 18

A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
receiving, by the one or more computers, a query from a client device associated with a user;
identifying, by the one or more computers, a knowledge graph based on data indicative of the user that submitted the query;
traversing, by the one or more computers, a path through the identified knowledge graph using data extracted from the received query;
generating, by the one or more computers, path data that represents the traversed path taken by the one or more computers through the identified knowledge graph, the generating comprising:
generating, by the one or more computers, a graphical illustration that illustrates the traversed path taken by the one or more computers through one or more connecting nodes of the identified knowledge graph according to the data extracted from the received query to at least some connected entities and corresponding relationships between entities of the identified knowledge graph, wherein the graphical illustration represents a path that is readable and understandable by the user; and
generating, by the one or more computers, results of the generated path data, wherein the results comprise (i) one or more nodes in the identified knowledge graph where the traversal ended, (ii) statistical data illustrating confidences of matches between the data extracted from the received query to at least some of the connected entities and the corresponding relationships between the connected entities in the identified knowledge graph; and
providing, by the one or more computers and to the client device, the generated path data responsive to the query.
