IP Library Patent Application 17749484
Patent Application
App. No. 17/749,484

Applied Artificial Intelligence Technology for Natural Language Generation that Chooses Content for Expression In Narratives Using a Graph Data Structure

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 None
App. No.
17/749,484
Abstract

Natural language generation technology is disclosed that applies artificial intelligence to structured data to determine content for expression in natural language narratives that describe the structured data. A graph data structure is employed, where the graph data structure comprises a plurality of nodes. Each of a plurality of the nodes (1) represents a corresponding intent so that different nodes represent different corresponding intents, (2) is associated with a result that represents an evaluation of the node's corresponding intent with respect to the structured data, and (3) is associated with one or more links to one or more of the nodes to define relationships among the intents. A processor traverses the graph data structure based on defined criteria and a plurality of the links to choose which of the results are to be expressed in the natural language narratives.

Claims (40)

1 - 20 . (canceled)

21 . A method comprising:

receiving via a communication interface a request to generate a natural language narrative based on a structured data set, the request identifying one or more defined criteria for generating the natural language narrative;

traversing via a processor a graph data structure including a plurality of nodes to select a subset of the plurality of nodes based on the one or more defined criteria, the plurality of nodes representing different informational goals for the structured data set, the plurality of nodes identifying different analytic computations executable on the structured data set to satisfy the informational goals, the plurality of nodes being connected by links defining relationships among the informational goals;

executing a subset of the analytic computations corresponding with the selected subset of the plurality of nodes against the structured data set to determine a corresponding plurality of results;

determining a natural language narrative based on the plurality of results and a subset of the informational goals corresponding with the selected subset of the plurality of nodes; and

transmitting the natural language narrative in a response to the request.

22 . The method recited in claim 21 , the method further comprising:

determining one or more sizes for the natural language narrative, and wherein the one or more defined criteria include the one or more sizes.

23 . The method recited in claim 22 , wherein the one or more sizes indicate how many of the results are to be expressed in the natural language narrative.

24 . The method recited in claim 21 , wherein the one or more defined criteria include values corresponding with a centrality measure identifying a node position relative to a root node of the graph data structure.

25 . The method recited in claim 21 , the method further comprising:

receiving one or more conversational inputs from a user, wherein the natural language narrative is determined based at least in part on the one or more conversational inputs.

26 . The method recited in claim 21 , wherein the graph data structure is an authoring graph, the method further comprising parameterizing the authoring graph to determine a knowledge graph, and wherein the subset of the plurality of nodes is selected based at least in part on a knowledge graph distinct from the authoring graph.

27 . The method recited in claim 26 , wherein the parameterization depends on the structured data set.

28 . One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:

receiving via a communication interface a request to generate a natural language narrative based on a structured data set, the request identifying one or more defined criteria for generating the natural language narrative;

traversing via a processor a graph data structure including a plurality of nodes to select a subset of the plurality of nodes based on the one or more defined criteria, the plurality of nodes representing different informational goals for the structured data set, the plurality of nodes identifying different analytic computations executable on the structured data set to satisfy the informational goals, the plurality of nodes being connected by links defining relationships among the informational goals;

executing a subset of the analytic computations corresponding with the selected subset of the plurality of nodes against the structured data set to determine a corresponding plurality of results;

determining a natural language narrative based on the plurality of results and a subset of the informational goals corresponding with the selected subset of the plurality of nodes; and

transmitting the natural language narrative in a response to the request.

29 . The one or more non-transitory computer readable media recited in claim 28 , the method further comprising:

determining one or more sizes for the natural language narrative, and wherein the one or more defined criteria include the one or more sizes.

30 . The one or more non-transitory computer readable media recited in claim 29 , wherein the one or more sizes indicate how many of the results are to be expressed in the natural language narrative.

31 . The one or more non-transitory computer readable media recited in claim 28 , wherein the one or more defined criteria include values corresponding with a centrality measure identifying a node position relative to a root node of the graph data structure.

32 . The one or more non-transitory computer readable media recited in claim 28 , the method further comprising:

receiving one or more conversational inputs from a user, wherein the natural language narrative is determined based at least in part on the one or more conversational inputs.

33 . The one or more non-transitory computer readable media recited in claim 21 , wherein the graph data structure is an authoring graph, the method further comprising parameterizing the authoring graph to determine a knowledge graph, and wherein the subset of the plurality of nodes is selected based at least in part on a knowledge graph distinct from the authoring graph.

34 . The one or more non-transitory computer readable media recited in claim 21 , wherein the parameterization depends on the structured data set.

35 . A system comprising:

a communication interface operable to receive a request to generate a natural language narrative based on a structured data set, the request identifying one or more defined criteria for generating the natural language narrative;

a memory module storing a graph data structure including a plurality of nodes representing different informational goals for the structured data set, the plurality of nodes identifying different analytic computations executable on the structured data set to satisfy the informational goals, the plurality of nodes being connected by links defining relationships among the informational goals; and

a processor operable to traverse the graph data structure to select a subset of the plurality of nodes based on the one or more defined criteria, to execute a subset of the analytic computations corresponding with the selected subset of the plurality of nodes against the structured data set to determine a corresponding plurality of results, and to determine a natural language narrative based on the plurality of results and a subset of the informational goals corresponding with the selected subset of the plurality of nodes, wherein the communication interface is operable to transmit the natural language narrative in a response to the request.

36 . The system recited in claim 35 , wherein the processor is further operable to:

determine one or more sizes for the natural language narrative, and wherein the one or more defined criteria include the one or more sizes.

37 . The system recited in claim 36 , wherein the one or more sizes indicate how many of the results are to be expressed in the natural language narrative.

38 . The system recited in claim 35 , wherein the one or more defined criteria include values corresponding with a centrality measure identifying a node position relative to a root node of the graph data structure.

39 . The system recited in claim 35 , wherein the processor is further operable to:

receive one or more conversational inputs from a user, wherein the natural language narrative is determined based at least in part on the one or more conversational inputs.

40 . The method recited in claim 35 , wherein the graph data structure is an authoring graph, the method further comprising parameterizing the authoring graph to determine a knowledge graph, and wherein the subset of the plurality of nodes is selected based at least in part on a knowledge graph distinct from the authoring graph.

Assignments (4)
CHANGE OF NAME Recorded Mar 25, 2024
From: NARRATIVE SCIENCE INC.
To: NARRATIVE SCIENCE LLC
Reel/Frame 066884/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2024
From: NARRATIVE SCIENCE LLC
To: SALESFORCE, INC.
Reel/Frame 067218/0449 →
CHANGE OF NAME Recorded Oct 13, 2023
From: NARRATIVE SCIENCE INC.
To: NARRATIVE SCIENCE LLC
Reel/Frame 065237/0929 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2022
From: MUJICA-PARODI, MAURO EDUARDO IGNACIO, III; NICHOLS, NATHAN DREW; KRAPF, NATHAN WILLIAM; GIMBY, BRENDAN ROBERT
To: NARRATIVE SCIENCE INC.
Reel/Frame 059973/0494 →