IP Library Granted Patent US 10,789,425
Granted Patent B2
US 10,789,425 · App. 15/614,348 · Granted Sep 29, 2020

Generating a response to a natural language command based on a concatenated graph

Inventors: Ming Qian (Cary, NC); Jatinder Kumar (Cary, NC); John Weldon Nicholson (Cary, NC); David Alexander Schwarz (Morrisville, NC); Song Wang (Cary, NC)
Assignee: Lenovo (Singapore) PTE. LTD.
G06F40/216G06F40/268G06F40/284G06T11/206G06T11/60
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 10,789,425
App. No.
15/614,348
Granted
Sep 29, 2020
Kind
B2
Abstract

For generating a response to a natural language command based on a concatenated graph, a processor identifies one or more relevant data sets in response to a natural language command received from an input device. Each relevant data set includes one of a subject of the natural language command and a subject of another relevant data set. The processor further generates a graph for each of the one or more relevant data sets and concatenates the graphs into a concatenated graph. In addition, the processor generates a response to the natural language command based on the concatenated graph.

Claims (45)

1. An apparatus comprising:

an input device;

a processor;

a memory that stores code executable by the processor to:

identify two or more relevant data sets in response to a natural language command received from the input device, wherein a first relevant data set comprises a first subject of the natural language command and a second relevant data set comprises a second subject of the first relevant data set;

generate a graph for each of the two or more relevant data sets;

concatenate the graphs into a concatenated graph by merging the second subject of a first graph for the first relevant data set and the second subject of a second graph for the second relevant data set;

in response to the concatenated graph exceeding a complexity threshold, determine that user feedback is required;

display the concatenated graph;

receive edits to the graph;

determine one or more solution sets from the edited concatenated graph;

calculate a solution score for each solution set a sum of a weighted number of subjects in the solution set divided by a sum of a weighted number of subjects in the natural language command;

modify each solution score as the solution score divided by a square root of a solution cost for the solution score;

select a solution set with a highest modified solution score for the response; and

generate a response to the natural language command based on the selected solution set of the concatenated graph.

2. The apparatus of claim 1 , wherein each graph comprises two or more of the subjects and one or more relationships between the two or more subjects.

3. The apparatus of claim 2 , wherein the code is further executable by the processor to prune irrelevant subjects.

4. A method comprising:

identifying, by use of a processor, two or more relevant data sets in response to a natural language command, wherein a first relevant data set comprises a first subject of the natural language command and a second relevant data set comprises a second subject of the first relevant data set;

generating a graph for each of the two or more relevant data sets;

concatenating the graphs into a concatenated graph by merging the second subject of a first graph for the first relevant data set and the second subject of a second graph for the second relevant data set;

in response to the concatenated graph exceeding a complexity threshold, determining that user feedback is required;

displaying the concatenated graph;

receiving edits to the graph;

determining one or more solution sets from the edited concatenated graph;

calculating a solution score for each solution set a sum of a weighted number of subjects in the solution set divided by a sum of a weighted number of subjects in the natural language command;

modifying each solution score as the solution score divided by a square root of a solution cost for the solution score;

selecting a solution set with a highest modified solution score for the response; and

generating a response to the natural language command based on the selected solution set of the concatenated graph.

5. The method of claim 4 , wherein each graph comprises two or more of the subjects and one or more relationships between the two or more subjects.

6. The method of claim 5 , the method further comprising pruning irrelevant subjects.

7. A program product comprising a non-transitory computer readable storage medium that stores code executable by a processor to perform:

identifying two or more relevant data sets in response to a natural language command, wherein a first relevant data set comprises a first subject of the natural language command and a second relevant data set comprises a second subject of the first relevant data set;

generating a graph for each of the two or more relevant data sets;

concatenating the graphs into a concatenated graph by merging the second subject of a first graph for the first relevant data set and the second subject of a second graph for the second relevant data set;

in response to the concatenated graph exceeding a complexity threshold, determining that user feedback is required;

displaying the concatenated graph;

receiving edits to the graph;

determining one or more solution sets from the edited concatenated graph;

calculate a solution score for each solution set a sum of a weighted number of subjects in the solution set divided by a sum of a weighted number of subjects in the natural language command;

modify each solution score as the solution score divided by a square root of a solution cost for the solution score;

select a solution set with a highest modified solution score for the response; and

generating a response to the natural language command based on the selected solution set of the concatenated graph.

8. The program product of claim 7 , wherein each graph comprises two or more of the subjects and one or more relationships between the two or more subjects.

9. The program product of claim 8 , the processor further pruning irrelevant subjects.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2022
From: LENOVO (SINGAPORE) PTE LTD
To: LENOVO PC INTERNATIONAL LIMITED
Reel/Frame 060651/0634 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2017
From: QIAN, MING; KUMAR, JATINDER; NICHOLSON, JOHN WELDON; SCHWARZ, DAVID ALEXANDER; WANG, SONG
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 042613/0539 →