Applied Artificial Intelligence Technology for Natural Language Generation Using a Graph Data Structure and Different Choosers
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 executes code corresponding to any of a plurality of different choosers that traverse the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the different choosers comprise different operating rules and/or parameters that implement different strategies for choosing which nodes are used for the content to be expressed in the natural language narratives.
1 . A natural language generation (NLG) system that applies artificial intelligence to structured data to determine content to be expressed in natural language narratives that describe 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 execute code corresponding to any of a plurality of different choosers that traverse the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the different choosers comprise different operating rules and/or parameters that implement different strategies for choosing which nodes are used for the content to be expressed in the natural language narratives.
2 . The system of claim 1 wherein a plurality of the different operating rules and/or parameters for a plurality of the choosers define a plurality of different sizes for the natural language narratives.
3 . The system of claim 1 wherein the operating rules and/or parameters for at least one of the choosers controls which of the nodes are used for the content based on importance values assigned to results from the nodes.
4 . The system of claim 1 wherein the operating rules and/or parameters for at least one of the choosers controls which of the nodes are used for the content based on interestingness values assigned to results from the nodes.
5 . The system of claim 1 wherein the operating rules and/or parameters for at least one of the choosers controls which of the nodes are used for the content based on characterizations assigned to results from the nodes.
6 . The system of claim 5 wherein the characterizations comprise positive characterizations and/or a negative characterizations.
7 . The system of claim 1 wherein the operating rules and/or parameters for at least one of the choosers controls which of the nodes are used for the content based on a user profile associated with a user to whom a natural language narrative is to be presented.
8 . The system of claim 7 wherein the user profile defines a size for the natural language narratives.
9 . The system of claim 7 wherein the user profile defines a weighting to be applied to results produced from a plurality of nodes of the traversed graph data structure.
10 . The system of claim 1 wherein the choosers comprise plug-in code.
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 executed chooser operates on the knowledge graph to determine content for expression in the natural language narratives.
16 . The system of claim 1 wherein the processor is configured to generate a plurality of the natural language narratives in an interactive mode based on conversational inputs from users.
17 . The system of claim 1 wherein the processor is configured to select a chooser for execution from among a plurality of the different choosers.
18 . The system of claim 1 wherein the processor comprises a plurality of processors.
19 . A natural language generation (NLG) method that applies artificial intelligence to structured data to determine content to be expressed in natural language narratives that describe 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; and
the processor executing code corresponding to any of a plurality of different choosers that traverse the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the different choosers comprise different operating rules and/or parameters that implement different strategies for choosing which nodes are used for the content to be expressed in the natural language narratives.
20 . 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; and
execute code corresponding to any of a plurality of different choosers that traverse the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the different choosers comprise different operating rules and/or parameters that implement different strategies for choosing which nodes are used for the content to be expressed in the natural language narratives.