# US 12,111,857 B2 · Computerized assistance using artificial intelligence knowledge base

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

- Number: US 12,111,857 B2
- Document ID: US12111857B2
- Status: Granted
- Kind: B2
- Application number: 18/154,551
- Filed: 2023-01-13
- Published: 2023-05-25
- Granted: 2024-10-08
- Earliest claimed: 2018-04-12
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Vipindeep Vangala; Sundararajan Srinivasan; Rajesh Gunda
- Web page: https://patentgrep.com/patent/US12111857B2

## CPC

- G06F 16/3329: Natural language query formulation
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 3/04: Architecture, e.g. interconnection topology
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A computerized personal assistant includes a natural language user interface, a natural language processing machine, an identity machine, and a knowledge-base updating machine. The knowledge-base updating machine is configured to update a user-centric artificial intelligence knowledge base associated with the particular user to include a new or updated user-centric fact based on the computer-readable representation of the user input, wherein the knowledge-base updating machine updates the user-centric artificial intelligence knowledge base via an update protocol useable by a plurality of different computer services.

## Claims

### Claim 1

A computer system comprising:
one or more computer processors; and
computer memory storing computer-useable instructions that, when used by the one or more computer processors, cause the one or more computer processors to perform operations comprising:
receiving a query;
querying a user-centric artificial intelligence knowledge base comprising a graph data structure that stores a plurality of user-centric facts, the user-centric artificial intelligence knowledge base further comprising an application-agnostic data format that is associated with a node record format that supports a facet pointer to auxiliary application-specific data associated with application-specific facts of application-specific contexts where users interact with a plurality of different computer services;
selecting a subset of user-centric facts that satisfy the set of constraints defined by the query, wherein the user-centric facts comprise one or more application-specific facts, the one or more application-specific facts are associated with corresponding auxiliary application-specific data having facet pointers that support retrieving and storing the auxiliary application-specific data; and
caching the subset of user-centric facts responsive to the query as a cached response.

### Claim 2 (depends on 1)

The system of claim 1, wherein the query is a slice query indicating a start node and a distance parameter, and wherein the subset of user-centric facts includes user-centric facts reached by starting at the start node and traversing a number of edges equal to at most the distance parameter away from the start node.

### Claim 3 (depends on 1)

The system of claim 1, wherein the query is a rank query to rank the plurality of user-centric facts based at least on a confidence value associated with each user-centric fact, and the subset of user-centric facts is ranked in order according to the confidence value of each user-centric fact.

### Claim 4 (depends on 1)

The system of claim 1, the operations further comprising caching the query as a cached query.

### Claim 5 (depends on 4)

The system of claim 4, the operations further comprising:
receiving a second query;
determining that the second query corresponds to the cached query; and
based on the cached query, outputting the cached response.

### Claim 6 (depends on 1)

The system of claim 1, wherein a user-centric fact stored in the graph data structure is an application-specific fact, and the graph data structure stores for the application-specific fact an enrichment that includes an application-agnostic fact associated with the application-specific fact.

### Claim 7 (depends on 1)

The system of claim 1, wherein the facet pointer supports multiple file types for storing different kinds of auxiliary application-specific data associated with the auxiliary application-specific facts of the application-specific contexts.

### Claim 8

One or more hardware computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:
receiving a query;
querying a user-centric artificial intelligence knowledge base comprising a graph data structure that stores a plurality of user-centric facts, the user-centric artificial intelligence knowledge base further comprising an application-agnostic data format that is associated with a node record format that supports a facet pointer to auxiliary application-specific data associated with application-specific facts of application-specific contexts where users interact with a plurality of different computer services;
selecting a subset of user-centric facts that satisfy the set of constraints defined by the query, wherein the user-centric facts comprise one or more application-specific facts, the one or more application-specific facts are associated with corresponding auxiliary application-specific data having facet pointers that support retrieving and storing the auxiliary application-specific data; and
caching the subset of user-centric facts responsive to the query as a cached response.

### Claim 9 (depends on 8)

The media of claim 8, wherein the query is a slice query indicating a start node and a distance parameter, and wherein the subset of user-centric facts includes user-centric facts reached by starting at the start node and traversing a number of edges equal to at most the distance parameter away from the start node.

### Claim 10 (depends on 8)

The media of claim 8, wherein the query is a rank query to rank the plurality of user-centric facts based at least on a confidence value associated with each user-centric fact, and the subset of user-centric facts is ranked in order according to the confidence value of each user-centric fact.

### Claim 11 (depends on 8)

The media of claim 8, the operations further comprising caching the query as a cached query.

### Claim 12 (depends on 11)

The media of claim 11, the operations further comprising:
receiving a second query;
determining that the second query corresponds to the cached query; and
based on the cached query, outputting the cached response.

### Claim 13 (depends on 8)

The media of claim 8, wherein a user-centric fact stored in the graph data structure is an application-specific fact, and the graph data structure stores for the application-specific fact an enrichment that includes an application-agnostic fact associated with the application-specific fact.

### Claim 14 (depends on 8)

The media of claim 8, wherein the facet pointer supports multiple file types for storing different kinds of auxiliary application-specific data associated with the auxiliary application-specific facts of the application-specific contexts.

### Claim 15

A method comprising:
receiving a query;
querying a user-centric artificial intelligence knowledge base comprising a graph data structure that stores a plurality of user-centric facts, the user-centric artificial intelligence knowledge base further comprising an application-agnostic data format that is associated with a node record format that supports a facet pointer to auxiliary application-specific data associated with application-specific facts of application-specific contexts where users interact with a plurality of different computer services;
selecting a subset of user-centric facts that satisfy the set of constraints defined by the query, wherein the user-centric facts comprise one or more application-specific facts, the one or more application-specific facts are associated with corresponding auxiliary application-specific data having facet pointers that support retrieving and storing the auxiliary application-specific data; and
caching the subset of user-centric facts responsive to the query as a cached response.

### Claim 16 (depends on 15)

The method of claim 15, wherein the query is a slice query indicating a start node and a distance parameter, and wherein the subset of user-centric facts includes user-centric facts reached by starting at the start node and traversing a number of edges equal to at most the distance parameter away from the start node.

### Claim 17 (depends on 15)

The method of claim 15, wherein the query is a rank query to rank the plurality of user-centric facts based at least on a confidence value associated with each user-centric fact, and the subset of user-centric facts is ranked in order according to the confidence value of each user-centric fact.

### Claim 18 (depends on 15)

The method of claim 15, the method further comprising caching the query as a cached query.

### Claim 19 (depends on 15)

The method of claim 15, the method further comprising:
receiving a second query;
determining that the second query corresponds to the cached query; and
based on the cached query, outputting the cached response.

### Claim 20 (depends on 15)

The method of claim 15, wherein a user-centric fact stored in the graph data structure is an application-specific fact, and the graph data structure stores for the application-specific fact an enrichment that includes an application-agnostic fact associated with the application-specific fact; and
wherein the facet pointer supports multiple file types for storing different kinds of auxiliary application-specific data associated with the auxiliary application-specific facts of the application-specific contexts.
