Applied Artificial Intelligence Technology for Natural Language Generation Using a Graph Data Structure to Generate Narratives of Dynamically Determined Sizes
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 a plurality of different nodes represent different corresponding intents and (2) is associated with one or more links to one or more of the nodes to define relationships among the intents. A processor (1) dynamically determines a size for a natural language narrative and (2) traverses the graph data structure based on the determined size and a plurality of the links to determine which of the nodes to use for content to be expressed in the natural language narrative having the determined size.
1 . A natural language generation (NLG) system that applies artificial intelligence to structured data to determine content to be expressed in a natural language narrative that describes the structured data, the system comprising:
a processor; and
a memory;
wherein the memory is configured to store a graph data structure, wherein the graph data structure comprises a plurality of nodes, wherein each of a plurality of the nodes (1) represents a corresponding intent so that a plurality of different nodes represent different corresponding intents and (2) is associated with one or more links to one or more of the nodes to define relationships among the intents; and
wherein the processor is configured to (1) dynamically determine a size for a natural language narrative and (2) traverse the graph data structure based on the determined size and a plurality of the links to determine which of the nodes to use for content to be expressed in the natural language narrative having the determined size.
2 . The system of claim 1 wherein the determined size represents (1) a limit of how many results produced from evaluation of the chosen nodes are to be expressed in the natural language narrative, (2) a limit of how many ideas produced from evaluation of the chosen nodes are to be expressed in the natural language narrative, (3) a limit of how many words or characters are to be included in the natural language narrative, and/or (4) an associated complexity or information density for the natural language narrative.
3 . The system of claim 1 wherein the processor is further configured to dynamically determine the size based on user feedback with respect to one or more previously generated natural language narratives.
4 . The system of claim 3 wherein the user feedback comprises explicit user feedback with respect to one or more previously generated natural language narratives.
5 . The system of claim 4 wherein the explicit user feedback comprises user input that one or more previously generated natural language narratives was too short, and wherein the processor is further configured to determine the size based on the user input so that the determined size is larger than a size used for generating the one or more previous natural language narratives.
6 . The system of claim 4 wherein the explicit user feedback comprises user input that one or more previously generated natural language narratives was too long, and wherein the processor is further configured to determine the size based on the user input so that the determined size is smaller than a size used for generating the one or more previous natural language narratives.
7 . The system of claim 3 wherein the user feedback comprises implicit user feedback with respect to one or more previously generated natural language narratives.
8 . The system of claim 7 wherein the implicit user feedback comprises monitor data that indicates a user skimmed through a previously generated natural language narrative, and wherein the processor is further configured to determine the size based on the monitor data so that the determined size is smaller than a size used for generating the previous natural language narrative.
9 . The system of claim 1 wherein the processor is further configured to dynamically determine the size based on one or more features derived from the structured data.
10 . The system of claim 1 wherein the processor is further configured to dynamically determine the size based on a user profile associated with a user who is to receive the natural language narrative.
11 . The system of claim 1 wherein the graph data structure is adjustable to add one or more additional nodes to the graph data structure.
12 . The system of claim 1 wherein the graph data structure is adjustable modify one or more of the nodes.
13 . The system of claim 1 wherein the graph data structure is parameterized based on the structured data.
14 . The system of claim 1 wherein the graph data structure comprises an authoring graph.
15 . The system of claim 14 wherein the authoring graph is parameterized based on the structured data to define a knowledge graph, wherein the processor operates on the knowledge graph to determine content for expression in the natural language narrative.
16 . The system of claim 1 wherein the processor is configured to generate a plurality of natural language narratives based on the graph data structure in an interactive mode based on conversational inputs from users.
17 . The system of claim 1 wherein the processor comprises a plurality of processors.
18 . A natural language generation (NLG) method that applies artificial intelligence to structured data to determine content to be expressed in a natural language narrative that describes the structured data, the method comprising:
a processor accessing a graph data structure in memory, wherein the graph data structure comprises a plurality of nodes, wherein each of a plurality of the nodes (1) represents a corresponding intent so that a plurality of different nodes represent different corresponding intents and (2) is associated with one or more links to one or more of the nodes to define relationships among the intents;
the processor dynamically determine a size for a natural language narrative; and
the processor traversing the graph data structure based on the determined size and a plurality of the links to determine which of the nodes to use for content to be expressed in the natural language narrative having the determined size.
19 . An article of manufacture for natural language generation (NLG) that applies artificial intelligence to structured data to determine content to be expressed in natural language narratives that describe the structured data, the article of manufacture comprising:
machine-readable code that is resident on a non-transitory computer-readable storage medium, wherein the code is executable by a processor to cause the processor to:
access a graph data structure in memory, wherein the graph data structure comprises a plurality of nodes, wherein each of a plurality of the nodes (1) represents a corresponding intent so that a plurality of different nodes represent different corresponding intents and (2) is associated with one or more links to one or more of the nodes to define relationships among the intents;
dynamically determine a size for a natural language narrative; and
traverse the graph data structure based on the determined size and a plurality of the links to determine which of the nodes to use for content to be expressed in the natural language narrative having the determined size.
20 . The article of manufacture of claim 19 wherein the determined size represents (1) a limit of how many results produced from evaluation of the chosen nodes are to be expressed in the natural language narrative, (2) a limit of how many ideas produced from evaluation of the chosen nodes are to be expressed in the natural language narrative, (3) a limit of how many words or characters are to be included in the natural language narrative, and/or (4) an associated complexity or information density for the natural language narrative