IP Library Granted Patent US 12,248,461
Granted Patent B2
US 12,248,461 · App. 17/749,532 · Granted Mar 11, 2025

Applied artificial intelligence technology for natural language generation using a graph data structure and configurable chooser code

Inventors: Mauro Eduardo Ignacio Mujica-Parodi, III (Chicago, IL); Nathan Drew Nichols (Chicago, IL); Nathan William Krapf (Chicago, IL); Brendan Robert Gimby (Park City, UT)
Assignee: Salesforce, Inc.
G06F16/243G06F16/2428G06F16/9024G06F40/20G06F40/35G06F40/40G06N5/02G06N5/022G06N5/025
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,248,461
App. No.
17/749,532
Granted
Mar 11, 2025
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 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 chooser code based on a plurality of operating rules and/or parameters that control how the chooser code traverses the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the operating rules and/or parameters are configurable to change strategies for choosing which nodes are used for the content to be expressed in the natural language narratives.

Claims (27)

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 comprising a plurality of nodes, wherein each of some or all of the nodes (1) represents a corresponding intent of a plurality of intents, (2) is associated with one or more links to one or more of the nodes to define relationships among the plurality intents, and (3) is associated with one or more analytic computations executable on a structured data set to determine quantitative information to satisfy the corresponding intent, wherein the processor is configured to execute chooser code based on a plurality of operating rules and/or parameters that control how the chooser code traverses the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the operating rules and/or parameters are configurable to change 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 the operating rules and/or parameters are configurable to adjust a size for the natural language narratives.

3. The system of claim 1 wherein the operating rules and/or parameters are configurable to adjust 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 are configurable to adjust 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 are configurable to adjust 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 negative characterizations.

7. The system of claim 1 wherein the operating rules and/or parameters are configurable to define which of the links are to be used when traversing the knowledge graph.

8. The system of claim 1 wherein the operating rules and/or parameters are configurable based on a user profile and/or training data associated with a user to whom a natural language narrative is to be presented.

9. The system of claim 8 wherein the user profile and/or training data defines a size for the natural language narratives.

10. The system of claim 8 wherein the user profile and/or training data defines a weighting to be applied to results produced from a plurality of nodes of the traversed graph data structure.

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 chooser code 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 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 natural language narratives that describe the structured data, the method comprising:

accessing in memory, via a processor, a graph data structure comprising a plurality of nodes, wherein each of some or all of the nodes (1) represents a corresponding intent of a plurality of intents, (2) is associated with one or more links to one or more of the nodes to define relationships among the plurality intents, and (3) is associated with one or more analytic computations executable on a structured data set to determine quantitative information to satisfy the corresponding intent; and

executing chooser code via the processor based on a plurality of operating rules and/or parameters that control how the chooser code traverses the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the operating rules and/or parameters are configurable to change strategies for choosing which nodes are used for the content to be expressed in the natural language narratives.

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 in memory a graph data structure comprising a plurality of nodes, wherein each of some or all of the nodes (1) represents a corresponding intent of a plurality of intents, (2) is associated with one or more links to one or more of the nodes to define relationships among the plurality intents, and (3) is associated with one or more analytic computations executable on a structured data set to determine quantitative information to satisfy the corresponding intent; and

execute chooser code based on a plurality of operating rules and/or parameters that control how the chooser code traverses the graph data structure to determine which of the nodes to use for content to be expressed in the natural language narratives, wherein the operating rules and/or parameters are configurable to change strategies for choosing which nodes are used for the content to be expressed in the natural language narratives.

20. The article of manufacture of claim 19 wherein the operating rules and/or parameters are configurable to adjust which of the nodes are used for the content based on (1) importance values assigned to results from the nodes and/or (2) interestingness values assigned to results from the nodes.

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 (3)
Provisional Application 63192396 · May 24, 2021
Related Publication 20240135110A1 · Apr 25, 2024
Related Publication 20240232182A9 · Jul 11, 2024
References Cited (100)
US 8355903B1 · Birnbaum et al. · 2013 [cited by applicant]
US 8374848B1 · Birnbaum et al. · 2013 [cited by applicant]
US 8630844B1 · Nichols et al. · 2014 [cited by applicant]
US 8688434B1 · Birnbaum et al. · 2014 [cited by applicant]
US 8775161B1 · Nichols et al. · 2014 [cited by applicant]
US 8843363B2 · Birnbaum et al. · 2014 [cited by applicant]
US 8886520B1 · Nichols et al. · 2014 [cited by applicant]
US 8892417B1 · Nichols et al. · 2014 [cited by applicant]
US 9208147B1 · Nichols et al. · 2015 [cited by applicant]
US 9251134B2 · Birnbaum et al. · 2016 [cited by applicant]
US 9396168B2 · Birnbaum et al. · 2016 [cited by applicant]
US 9576009B1 · Hammond et al. · 2017 [cited by applicant]
US 9697178B1 · Nichols et al. · 2017 [cited by applicant]
US 9697197B1 · Birnbaum et al. · 2017 [cited by applicant]
US 9697492B1 · Birnbaum et al. · 2017 [cited by applicant]
US 9720884B2 · Birnbaum et al. · 2017 [cited by applicant]
US 9720899B1 · Birnbaum et al. · 2017 [cited by applicant]
US 9977773B1 · Birnbaum et al. · 2018 [cited by applicant]
US 9990337B2 · Birnbaum et al. · 2018 [cited by applicant]
US 10185477B1 · Paley et al. · 2019 [cited by applicant]
US 10482381B2 · Nichols et al. · 2019 [cited by applicant]
US 10489488B2 · Birnbaum et al. · 2019 [cited by applicant]
US 10572606B1 · Paley et al. · 2020 [cited by applicant]
US 10585983B1 · Paley et al. · 2020 [cited by applicant]
US 10657201B1 · Nichols et al. · 2020 [cited by applicant]
US 10699079B1 · Paley et al. · 2020 [cited by applicant]
US 10706236B1 · Platt et al. · 2020 [cited by applicant]
US 10713442B1 · Paley et al. · 2020 [cited by applicant]
US 10719542B1 · Paley et al. · 2020 [cited by applicant]
US 10747823B1 · Birnbaum et al. · 2020 [cited by applicant]
US 10755042B2 · Birnbaum et al. · 2020 [cited by applicant]
US 10755046B1 · Lewis Meza et al. · 2020 [cited by applicant]
US 10755053B1 · Paley et al. · 2020 [cited by applicant]
US 10762304B1 · Paley et al. · 2020 [cited by applicant]
US 10853583B1 · Platt et al. · 2020 [cited by applicant]
US 10943069B1 · Paley et al. · 2021 [cited by applicant]
US 10956656B2 · Birnbaum et al. · 2021 [cited by applicant]
US 10963649B1 · Sippel et al. · 2021 [cited by applicant]
US 10990767B1 · Smathers et al. · 2021 [cited by applicant]
US 11003866B1 · Sippel et al. · 2021 [cited by applicant]
US 11023689B1 · Sippel et al. · 2021 [cited by applicant]
US 11030408B1 · Lewis Meza et al. · 2021 [cited by applicant]
US 11042708B1 · Pham et al. · 2021 [cited by applicant]
US 11042709B1 · Pham et al. · 2021 [cited by applicant]
US 11042713B1 · Platt et al. · 2021 [cited by applicant]
US 11068661B1 · Nichols et al. · 2021 [cited by applicant]
US 11126798B1 · Lewis Meza et al. · 2021 [cited by applicant]
US 11144838B1 · Platt et al. · 2021 [cited by applicant]
US 11170038B1 · Platt et al. · 2021 [cited by applicant]
US 11182556B1 · Lewis Meza et al. · 2021 [cited by applicant]
US 11188588B1 · Platt et al. · 2021 [cited by applicant]
US 11222184B1 · Platt et al. · 2022 [cited by applicant]
US 11232268B1 · Platt et al. · 2022 [cited by applicant]
US 11232270B1 · Platt et al. · 2022 [cited by applicant]
US 11238090B1 · Platt et al. · 2022 [cited by applicant]
US 11288328B2 · Bimbaum et al. · 2022 [cited by applicant]
US 11334726B1 · Platt et al. · 2022 [cited by applicant]
US 11341330B1 · Smathers et al. · 2022 [cited by applicant]
US 11341338B1 · Platt et al. · 2022 [cited by applicant]
US 11392773B1 · Gangadharaiah · 2022 [cited by examiner]
US 11475076B2 · Bimbaum et al. · 2022 [cited by applicant]
US 11501220B2 · Birnbaum et al. · 2022 [cited by applicant]
US 11521079B2 · Nichols et al. · 2022 [cited by applicant]
US 11561684B1 · Paley et al. · 2023 [cited by applicant]
US 11561986B1 · Sippel et al. · 2023 [cited by applicant]
US 11562146B2 · Paley et al. · 2023 [cited by applicant]
US 11568148B1 · Nichols et al. · 2023 [cited by applicant]
US 11670288B1 · Das · 2023 [cited by examiner]
US 20130144606A1 · Birnbaum et al. · 2013 [cited by applicant]
US 20130145242A1 · Birnbaum et al. · 2013 [cited by applicant]
US 20140200891A1 · Larcheveque · 2014 [cited by examiner]
US 20160086084A1 · Nichols et al. · 2016 [cited by applicant]
US 20160162445A1 · Birnbaum et al. · 2016 [cited by applicant]
US 20160328365A1 · Birnbaum et al. · 2016 [cited by applicant]
US 20170344518A1 · Birnbaum et al. · 2017 [cited by applicant]
US 20180260380A1 · Birnbaum et al. · 2018 [cited by applicant]
US 20180285324A1 · Birnbaum et al. · 2018 [cited by applicant]
US 20190317994A1 · Singh · 2019 [cited by examiner]
US 20190377790A1 · Redmond · 2019 [cited by examiner]
US 20200081939A1 · Subramaniam · 2020 [cited by examiner]
US 20200082276A1 · Nichols et al. · 2020 [cited by applicant]
US 20200089735A1 · Birnbaum et al. · 2020 [cited by applicant]
US 20200279072A1 · Nichols et al. · 2020 [cited by applicant]
US 20200334299A1 · Birnbaum et al. · 2020 [cited by applicant]
US 20200334300A1 · Birnbaum et al. · 2020 [cited by applicant]
US 20200334418A1 · Platt et al. · 2020 [cited by applicant]
US 20200387666A1 · Birnbaum et al. · 2020 [cited by applicant]
US 20200401770A1 · Paley et al. · 2020 [cited by applicant]
US 20210192132A1 · Birnbaum et al. · 2021 [cited by applicant]
US 20210192144A1 · Paley et al. · 2021 [cited by applicant]
US 20210209168A1 · Oswald · 2021 [cited by examiner]
US 20210271824A1 · Pham et al. · 2021 [cited by applicant]
US 20220114206A1 · Platt et al. · 2022 [cited by applicant]
US 20220223146A1 · Aili · 2022 [cited by examiner]
US 20220284195A1 · Platt et al. · 2022 [cited by applicant]
US 20220321511A1 · Hansmann · 2022 [cited by examiner]
US 20220414228A1 · Difonzo · 2022 [cited by examiner]
US 20230027421A1 · Birnbaum et al. · 2023 [cited by applicant]
US 20230053724A1 · Birnbaum et al. · 2023 [cited by applicant]
Gamma et al., “Design Patterns: Elements of Reusable Object-Oriented Software”, Addison Wesley, 1994. (Year: 1994). [cited by examiner]