IP Library Granted Patent US 12,056,117
Granted Patent B2
US 12,056,117 · App. 17/749,596 · Granted Aug 6, 2024

Applied artificial intelligence technology for natural language generation using a story graph and different structurers

Inventors: Nathan Drew Nichols (Chicago, IL); Nathan William Krapf (Chicago, IL); Brendan Robert Gimby (Park City, UT)
Assignee: Salesforce, Inc.
G06F16/243
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 12,056,117
App. No.
17/749,596
Granted
Aug 6, 2024
Kind
B2
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 story graph is employed, where the story graph comprises a plurality of items of content to be expressed in a natural language narrative. A processor executes code corresponding to any of a plurality of structurers that organize the items of content into different story outlines from which the natural language narratives are generated, wherein the different structurers comprise different operating rules and/or parameters that implement different strategies for organizing the items of content into the story outlines.

Claims (43)

1. A method comprising:

receiving via a communication interface a request to generate a natural language narrative of a structured data set;

determining a plurality of result values by executing analytics computations on the structured data set via a processor;

determining via the processor a story graph corresponding with the structured data set, the story graph including a plurality of nodes corresponding with respective items of content determined based on the result values;

determining a story outline based on the story graph via the processor, wherein determining the story outline comprises executing a plurality of code elements on the story graph, the plurality of code elements corresponding with a plurality of structurers defining different operating rules and/or parameters implementing different strategies for organizing the items of content from the story graph into the story outline based at least in part on linkages between the plurality of nodes;

generating a natural language narrative for the structured data set based on the story outline; and

transmitting the natural language narrative via the communication interface in a response to the request.

2. The method recited in claim 1 , wherein the operating rules and/or parameters for at least one of the structurers organizes the items of content into the story outline based on importance values assigned to the items of content.

3. The method recited in claim 1 , wherein the plurality of nodes are related in the story graph via a plurality of links, wherein the links include metadata that describe relationships between the linked nodes, and wherein the operating rules and/or parameters for at least one of the structurers organize the items of content into a story outline based on the links metadata.

4. The method recited in claim 1 , the method further comprising:

selecting the plurality of structurers from among a larger set of structurers.

5. The method recited in claim 1 , wherein the operating rules and/or parameters for at least one of the structurers organizes the items of content into a story outline based on a user profile and/or training data associated with a user to whom a natural language narrative is to be presented.

6. The method recited in claim 1 , wherein the story graph is parameterized based on the structured data to define a knowledge graph, the knowledge graph is traversed to determine content for expression in the natural language narratives.

7. The method recited in claim 1 , the method further comprising:

generating the natural language narrative based on the story graph in an interactive mode based on conversational inputs from users.

8. 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 of a structured data set;

determining a plurality of result values by executing analytics computations on the structured data set via a processor;

determining via the processor a story graph corresponding with the structured data set, the story graph including a plurality of nodes corresponding with respective items of content determined based on the result values;

determining a story outline based on the story graph via the processor, wherein determining the story outline comprises executing a plurality of code elements on the story graph, the plurality of code elements corresponding with a plurality of structurers defining different operating rules and/or parameters implementing different strategies for organizing the items of content from the story graph into the story outline based at least in part on linkages between the plurality of nodes;

generating a natural language narrative for the structured data set based on the story outline; and

transmitting the natural language narrative via the communication interface in a response to the request.

9. The one or more non-transitory computer readable media recited in claim 8 , wherein the operating rules and/or parameters for at least one of the structurers organizes the items of content into the story outline based on importance values assigned to the items of content.

10. The one or more non-transitory computer readable media recited in claim 8 , wherein the plurality of nodes are related in the story graph via a plurality of links, wherein the links include metadata that describe relationships between the linked nodes, and wherein the operating rules and/or parameters for at least one of the structurers organize the items of content into a story outline based on the links metadata.

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

selecting the plurality of structurers from among a larger set of structurers.

12. The one or more non-transitory computer readable media recited in claim 8 , wherein the operating rules and/or parameters for at least one of the structurers organizes the items of content into a story outline based on a user profile and/or training data associated with a user to whom a natural language narrative is to be presented.

13. The one or more non-transitory computer readable media recited in claim 8 , wherein the story graph is parameterized based on the structured data to define a knowledge graph, the knowledge graph is traversed to determine content for expression in the natural language narratives.

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

generating the natural language narrative based on the story graph in an interactive mode based on conversational inputs from users.

15. A system comprising:

a communication interface operable to receive a request to generate a natural language narrative of a structured data set;

a storage system operable to store a plurality of result values determined by executing analytics computations on the structured data set;

a processor operable to:

determine a story graph corresponding with the structured data set, the story graph including a plurality of nodes corresponding with respective items of content determined based on the result values;

determine a story outline based on the story graph, wherein determining the story outline comprises executing a plurality of code elements on the story graph, the plurality of code elements corresponding with a plurality of structurers defining different operating rules and/or parameters implementing different strategies for organizing the items of content from the story graph into the story outline based at least in part on linkages between the plurality of nodes;

generate a natural language narrative for the structured data set based on the story outline, wherein the natural language narrative is transmitted via the communication interface in a response to the request.

16. The system recited in claim 15 , wherein the operating rules and/or parameters for at least one of the structurers organizes the items of content into the story outline based on importance values assigned to the items of content.

17. The system recited in claim 15 , wherein the plurality of nodes are related in the story graph via a plurality of links, wherein the links include metadata that describe relationships between the linked nodes, and wherein the operating rules and/or parameters for at least one of the structurers organize the items of content into a story outline based on the links metadata.

18. The system recited in claim 15 , the method further comprising:

selecting the plurality of structurers from among a larger set of structurers.

19. The system recited in claim 15 , wherein the operating rules and/or parameters for at least one of the structurers organizes the items of content into a story outline based on a user profile and/or training data associated with a user to whom a natural language narrative is to be presented.

20. The system recited in claim 15 , wherein the story graph is parameterized based on the structured data to define a knowledge graph, the knowledge graph is traversed to determine content for expression in the natural language narratives.

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 →
Continuity (2)
Provisional Application 63192396 · May 24, 2021
Related Publication 20240143582A1 · May 2, 2024