IP Library Granted Patent US 11,188,588
Granted Patent B1
US 11,188,588 · App. 16/235,696 · Granted Nov 30, 2021

Applied artificial intelligence technology for using narrative analytics to interactively generate narratives from visualization data

Inventors: Daniel Joseph Platt (Chicago, IL); Mauro Eduardo Ignacio Mujica-Parodi, III (Chicago, IL); Lawrence A. Birnbaum (Evanston, IL); Alexander Rudolf Sippel (Chicago, IL); Jonathan Alden Drake (Chicago, IL); Peter Horace Sherman (Chicago, IL)
Assignee: NARRATIVE SCIENCE INC.
G06F16/51G06F16/9024G06T11/206
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 11,188,588
App. No.
16/235,696
Granted
Nov 30, 2021
Kind
B1
Abstract

Narrative generation techniques can be used in connection with data visualization tools to automatically generate narratives that explain the information conveyed by a visualization of a data set. In example embodiments, new data structures and artificial intelligence (AI) logic can be used by narrative generation software to map different types of visualizations to different types of story configurations that will drive how narrative text is generated by the narrative generation software.

Claims (64)

1. A method comprising:

a processor responding to a user interaction that causes a transition from a previous visualization to a current visualization, wherein the responding step comprises:

accessing, in a memory, (i) first data corresponding to the current visualization, (ii) second data corresponding to the previous visualization, and (iii) third data that represents a relationship between the first data and the second data with respect to the current and the previous visualizations;

selecting and parameterizing a set of narrative analytics based on the accessed first, second, and third data; and

automatically generating a narrative corresponding to the current visualization based on the selected and parameterized narrative analytics, wherein the generated narrative expresses the relationship.

2. The method of claim 1 further comprising:

the processor defining the third data based on the user interaction.

3. The method of claim 1 wherein the previous visualization is a line chart visualization of a time series of data values, wherein the user interaction corresponds to a request to focus the current visualization on a region of the time series that was presented by the previous visualization, and wherein the selecting and parameterizing step comprises the processor selecting and parameterizing narrative analytics that are configured to compare and characterize a behavior of the data values within the time series region defined by the user interaction.

4. The method of claim 1 wherein the previous visualization is a bar chart visualization of a plurality of data values with respect to an entity drawn from a data set comprising a plurality of data values for a plurality of entities, wherein the user interaction corresponds to a request to focus the current visualization on a different entity within the data set than the entity of the previous visualization, and wherein the selecting and parameterizing step comprises the processor selecting and parameterizing narrative analytics that are configured to compare the data values corresponding to the entities of the current and previous visualizations.

5. The method of claim 1 wherein the previous visualization is a clustered bar chart visualization of a plurality of data values with respect to a plurality of entities drawn from a data set comprising a plurality of data values for a plurality of entities, wherein a plurality of the entities are components of a larger entity, wherein the user interaction corresponds to a request to focus on at least one of the data values, and wherein the selecting and parameterizing step comprises the processor selecting and parameterizing narrative analytics that are configured to (i) identify at least one entity in the data set that is a driver of the at least one data value corresponding to the user interaction and (ii) quantify how the at least one identified driver entity impacted the at least data value corresponding to the user interaction.

6. The method of claim 1 wherein each visualization has an associated visualization type, the method further comprising:

storing in memory (1) a plurality of story configurations, each story configuration being associated with a plurality of parameterized narrative analytics and (2) a data structure that associates each of a plurality of the story configurations with a visualization type; and

the processor selecting a story configuration from the memory for use in generating a narrative corresponding to a visualization based on the visualization type associated with that visualization.

7. The method of claim 6 wherein each of a plurality of the story configurations comprises (1) a specification of a derived feature and (2) a specification of an angle data structure.

8. The method of claim 6 wherein the visualizations are associated with a plurality of parameters, and wherein the story configurations are associated with a plurality of parameters, the method further comprising:

the memory storing a data structure that associates the visualization parameters with the story configuration parameters; and

wherein parameterizing step comprises the processor parameterizing the selected narrative analytics based on the data structure that associates the visualization parameters with the story configuration parameters.

9. The method of claim 1 wherein the previous visualization comprises a plurality of previous visualizations.

10. The method of claim 1 wherein the processor comprises a plurality of processors.

11. The method of claim 1 wherein the selecting and parameterizing step comprises:

the processor selecting a story specification for the narrative based on a mapping of the selected story specification to the current visualization and the relationship, wherein the selected story specification specifies the narrative analytics set; and

the processor parameterizing the narrative analytics set based on a mapping of a plurality of parameters for the narrative analytics set to a plurality of parameters of the current visualization; and

wherein the automatically generating step includes the processor executing the parameterized narrative analytics set with respect to the first data to determine content for expression in the narrative.

12. The method of claim 11 wherein the determined content comprises a content outline, and wherein the automatically generating step further comprises performing natural language generation (NLG) on the content outline to generate natural language text for the narrative.

13. The method of claim 11 wherein the relationship comprises a subset relationship.

14. The method of claim 11 wherein the relationship comprises a sibling relationship.

15. The method of claim 1 wherein the first data and the second data are different portions of a common data set.

16. A computer program product comprising:

a plurality of processor-executable instructions that are resident on a non-transitory computer-readable storage medium, wherein the instructions are configured, upon execution by a processor, to cause the processor to:

in response to a user interaction that causes a transition from a previous visualization to a current visualization (1) access, in a memory, (i) first data corresponding to the current visualization, (ii) second data corresponding to the previous visualization, and (iii) third data that represents a relationship between the first data and the second data with respect to the current and the previous visualizations, (2) select and parameterize a set of narrative analytics based on the accessed first, second, and third data, and (3) automatically generate a narrative corresponding to the current visualization based on the selected and parameterized narrative analytics, wherein the generated narrative expresses the relationship.

17. An apparatus comprising:

a computer system comprising at least one processor and a memory, the at least one processor configured to generate a plurality of related visualizations from a plurality of portions of a data set based on an interactive process, the plurality of related visualizations including a current visualization and a previous visualization;

wherein the computer system is configured to receive a user input that causes a transition from the previous visualization to the current visualization; and

wherein the at least one processor is further configured to, in response to the received user input, (1) select and parameterize a set of narrative analytics based on data that comprises (i) first data corresponding to the current visualization, (ii) second data corresponding to the previous visualization, and (iii) third data that represents a relationship between the first data and the second data with respect to the current and the previous visualizations, and (2) generate a plurality of narratives based on the data set, wherein the generated narratives include a narrative about the current visualization that is based on the selected and parameterized narrative analytics and expresses the relationship.

18. The apparatus of claim 17 wherein the at least one processor is further configured to interactively generate the current visualization in response to the user input.

19. The apparatus of claim 18 wherein the at least one processor is further configured to define the third data based on the user input.

20. The apparatus of claim 18 wherein the data set comprises a time series of data values, and wherein the previous visualization is a line chart visualization of the time series data values;

wherein the user input corresponds to a request to focus the current visualization on a region of the time series that was presented by the previous visualization; and

wherein the at least one processor is further configured to, in response to the received user input, select and parameterize narrative analytics that are configured to compare and characterize a behavior of the data values within the time series region defined by the user input.

21. The apparatus of claim 18 wherein the data set comprises a plurality of data values for a plurality of entities, and wherein the previous visualization is a bar chart visualization of a plurality of the data values with respect to an entity from among the plurality of entities;

wherein the user input corresponds to a request to focus the current visualization on a different entity within the data set than the entity of the previous visualization; and

wherein the at least one processor is further configured to, in response to the received user input, select and parameterize narrative analytics that are configured to compare the data values corresponding to the entities of the current and previous visualizations.

22. The apparatus of claim 18 wherein the data set comprises a plurality of data values for a plurality of entities, wherein a plurality of the entities are components of a larger entity, and wherein the previous visualization is a clustered bar chart visualization of a plurality of the data values with respect to a plurality of the entities;

wherein the user input corresponds to a request to focus the current visualization on a different entity within the data set than the entity of the previous visualization; and

wherein the at least one processor is further configured to, in response to the received user input, select and parameterize narrative analytics that are configured to (i) identify at least one entity in the data set that is a driver of the at least one data value corresponding to the user input and (ii) quantify how the at least one identified driver entity impacted the at least data value corresponding to the user input.

23. The apparatus of claim 17 wherein each visualization has an associated visualization type;

wherein the computer system further comprises a memory configured to store (1) a plurality of story configurations, each story configuration being associated with a plurality of parameterized narrative analytics and (2) a data structure that associates each of a plurality of the story configurations with a visualization type; and

wherein the at least one processor is further configured to select a story configuration from the memory for use in generating a narrative corresponding to a visualization based on the visualization type associated with that visualization.

24. The apparatus of claim 23 wherein each of a plurality of the story configurations comprises (1) a specification of a derived feature and (2) a specification of an angle data structure.

25. The apparatus of claim 23 wherein the visualizations are associated with a plurality of parameters, and wherein the story configurations are associated with a plurality of parameters;

wherein the memory is further configured to store a data structure that associates the visualization parameters with the story configuration parameters; and

wherein the at least one processor is further configured to parameterize the selected narrative analytics based on the data structure that associates the visualization parameters with the story configuration parameters.

26. The apparatus of claim 17 wherein the computer system is configured to render the narratives for display as a sequence of narratives over time.

27. The apparatus of claim 17 wherein the computer system is configured to render the narratives for display as a single document.

28. The apparatus of claim 17 wherein the previous visualization comprises a plurality of previous visualizations.

29. The apparatus of claim 17 wherein the at least one processor comprises a first processor configured to generate the related visualizations and a second processor configured to generate the narratives.

30. The apparatus of claim 17 wherein the at least one processor, as part of the selection and parameterization, is further configured to:

select a story specification for the narrative based on a mapping of the selected story specification to the current visualization and the relationship, wherein the selected story specification specifies the narrative analytics set; and

parameterize the narrative analytics set based on a mapping of a plurality of parameters for the narrative analytics set to a plurality of parameters of the current visualization; and

wherein the at least one processor, as part of the narrative generation, is further configured to execute the parameterized narrative analytics set with respect to the first data to determine content for expression in the narrative about the current visualization.

31. The apparatus of claim 30 wherein the determined content comprises a content outline, and wherein the at least one processor, as part of the narrative generation, is further configured to perform natural language generation (NLG) on the content outline to generate natural language text for the narrative about the current visualization.

32. The apparatus of claim 30 wherein the relationship comprises a subset relationship.

33. The apparatus of claim 30 wherein the relationship comprises a sibling relationship.

34. The apparatus of claim 17 wherein the first data and the second data are different portions of a common data set.

Assignments (5)
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 →
RELEASE OF SECURITY INTEREST Recorded Mar 1, 2022
From: CIBC BANK USA
To: NARRATIVE SCIENCE INC
Reel/Frame 059640/0008 →
SECURITY INTEREST Recorded Aug 30, 2019
From: NARRATIVE SCIENCE INC.
To: CIBC BANK USA
Reel/Frame 050237/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2018
From: PLATT, DANIEL JOSEPH; MUJICA-PARODI, MAURO EDUARDO IGNACIO, III; BIRNBAUM, LAWRENCE A.; SIPPEL, ALEXANDER RUDOLF; DRAKE, JONATHAN ALDEN; SHERMAN, PETER HORACE
To: NARRATIVE SCIENCE INC.
Reel/Frame 047870/0439 →
Continuity (6)
Continuation 15253385 · Aug 31, 2016
Continuation 15414027 · Jan 24, 2017
Continuation 15253385 · Aug 31, 2016
Continuation 15414089 · Jan 24, 2017
Continuation 15253385 · Aug 31, 2016
Provisional Application 62249813 · Nov 2, 2015
Cited By (11)
US 12,248,461 US 12,288,039 US 12,314,674 US 12,423,525 US 12,462,114 US 12,468,694 US 12,505,093 US 12,608,416 US 12,614,042 US 12,632,445 US 12,681,997