Applied Artificial Intelligence Technology for Natural Language Generation that Chooses Content for Expression In Narratives Using a Graph Data Structure
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.
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.