# US 2022/0035802 A1 · Analytics center having a natural language query (nlq) interface

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

- Number: US 2022/0035802 A1
- Document ID: US20220035802A1
- Status: Published application
- Kind: A1
- Application number: 16/941,256
- Filed: 2020-07-28
- Published: 2022-02-03
- Earliest claimed: 2020-07-28
- Assignees: ServiceNow, Inc.
- Applicants: ServiceNow, Inc.
- Inventors: Marta Penzo; Aida Rikovic Tabak; Dimosthenis Mouzouris; Size Ma; Olga Redkina
- Web page: https://patentgrep.com/patent/US20220035802A1

## CPC

- G06F 16/245: Query processing
- G06F 16/3344: {using natural language analysis}
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 16/243: {Natural language query formulation}
- G06F 40/279: Recognition of textual entities
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An analytics server is disclosed that enables natural language queries (NLQs) to be used to access key performance indicator (KPI) data. The analytics server includes a graphical user interface (GUI) that presents a set of KPIs associated with a user. The GUI includes suitable user interface elements to enable the user to provide natural language queries regarding these KPIs. The user interface elements provide the user with suggested NLQs based on, for example, KPIs to which the user has access and/or previous NLQs of the user. In response to the analytics server receiving a suitable NLQ from the user, the analytics server generates an appropriate database query to retrieve the KPI data requested by the NLQ. The GUI is then updated to present a visual representation (e.g., a bar graph, a pie chart, a trend line, a single value) of the retrieved KPI data.

## Claims

### Claim 1

A system, comprising:
at least one memory configured to store a configuration management database (CMDB), wherein the CMDB includes one or more tables storing key performance indicator (KPI) data; and
at least one processor configured to execute stored instructions to perform actions comprising:
providing, to a client device, a graphical user interface (GUI) that is presented on the client device;
receiving, from the client device, a natural language query (NLQ);
processing the NLQ using a natural language processor (NLP) to extract query details from the NLQ;
generating a database query based on the query details extracted from the NLQ;
processing the database query against the one or more tables of the CMDB to retrieve KPI data of a particular KPI; and
providing the KPI data of the particular KPI to the client device in response to the NLQ, wherein the GUI is updated to present a visual representation of the KPI data of the particular KPI on the client device.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to execute the stored instructions to perform actions comprising:
determining, in the CMDB, a role of a user of the client device;
determining, in the at least one memory, other KPI data for one or more KPIs that are associated with the role of the user in the CMDB; and
providing the other KPI data to the client device, wherein the GUI includes a table that is configured to present the KPI data of the one or more KPIs associated with the role of the user.

### Claim 3 (depends on 1)

The system of claim 1, wherein the GUI includes user interface elements configured to receive the NLQ, wherein the user interface elements comprise a text-entry box and a submit button.

### Claim 4 (depends on 3)

The system of claim 3, wherein the user interface elements comprises a drop down list that includes selectable NLQs.

### Claim 5 (depends on 4)

The system of claim 4, wherein the at least one processor is configured to execute the stored instructions to perform actions comprising:
determining, in the at least one memory, one or more NLQs previously received from the client device; and
populating the drop down list of the GUI with the one or more NLQs.

### Claim 6 (depends on 4)

The system of claim 4, wherein the at least one processor is configured to execute the stored instructions to perform actions comprising:
determining, in the CMDB, a role of a user of the client device;
determining, in the at least one memory, one or more KPIs from the KPI data that are associated with the role of the user in the CMDB; and
populating the drop down list of the GUI with names or descriptions of the one or more KPIs.

### Claim 7 (depends on 1)

The system of claim 1, wherein the GUI is updated to present the visual representation of the KPI data of the particular KPI as a single aggregate value.

### Claim 8 (depends on 1)

The system of claim 1, wherein the GUI is updated to present the visual representation of the KPI data of the particular KPI as a bar graph.

### Claim 9 (depends on 1)

The system of claim 1, wherein the GUI is updated to present the visual representation of the KPI data of the particular KPI as a trend line that includes real-time data.

### Claim 10 (depends on 1)

The system of claim 1, wherein the GUI is updated to include a details section that indicates the query details extracted from the NLQ.

### Claim 11 (depends on 1)

The system of claim 1, wherein the query details comprise a particular table of the one or more tables of the CMDB, an aggregation operation, a grouping operation, and a condition.

### Claim 12

A method, comprising:
providing, to a client device, a graphical user interface (GUI) that is presented on the client device, wherein the GUI includes user interface elements configured to receive a natural language query (NLQ) from the client device;
receiving the NLQ from the client device;
processing the NLQ using a natural language processor (NLP) to extract query details;
generating a database query based on the query details extracted from the NLQ;
processing the database query using one or more tables of a configuration management database (CMDB) to retrieve key performance indicator (KPI) data for a particular KPI; and
providing the KPI data of the particular KPI to the client device in response to the NLQ, wherein the GUI is updated to present a visual representation of the KPI data of the particular KPI on the client device.

### Claim 13 (depends on 12)

The method of claim 12, wherein the user interface elements comprise a drop down list that includes selectable options for the NLQ, wherein the drop down list is populated with one or more NLQs previously received from a user of the client device, or with names or descriptions of one or more KPIs that are associated with a role of the user in the CMDB, or a combination thereof.

### Claim 14 (depends on 13)

The method of claim 13, wherein the GUI includes a table that is configured to present KPI data for the one or more KPIs associated with the role of the user in the CMDB.

### Claim 15 (depends on 12)

The method of claim 12, wherein the visual representation is single aggregate value, a pie chart, a bar graph, or a trend line.

### Claim 16 (depends on 12)

The method of claim 12, wherein the query details comprise an aggregation operation or a grouping operation.

### Claim 17 (depends on 12)

The method of claim 12, comprising:
storing the NLQ with a collection of previously received NLQs in the CMDB, wherein the user interface elements are configured to present selectable options for the NLQ from the collection of previously received NLQs.

### Claim 18

A non-transitory, computer-readable medium storing instructions executable by a processor of an analytics server, the instructions comprising instructions to:
determine a role of a user of a client device in a configuration management database (CMDB);
determine a plurality of key performance indicators (KPIs) associated with the role of the user in the CMDB;
provide, to the client device, a graphical user interface (GUI) that includes user interface elements configured to receive a natural language query (NLQ) from the user of the client device, wherein the user interface elements include a list of selectable NLQs populated using names or descriptions of the plurality of KPIs associated with role of the user;
receive the NLQ from the client device and process the NLQ to extract query details;
performing a database query of the CMDB based on the query details to retrieve KPI data for a particular KPI of the plurality of KPIs; and
provide the KPI data of the particular KPI to the client device in response to the NLQ, wherein the GUI is updated to present a visual representation of the KPI data of the particular KPI on the client device.

### Claim 19 (depends on 18)

The medium of claim 18, wherein the instructions comprise instructions to:
determine a plurality of NLQs previously received from the user of the client device, wherein the list of selectable NLQs is also populated using the plurality of NLQs previously received from the user of the client device.

### Claim 20 (depends on 18)

The medium of claim 18, wherein the GUI includes a table that is configured to present the plurality of KPIs associated with the role of the user in the CMDB, wherein the table includes a trend line column that presents a current trend line of each of the plurality of KPIs.
