IP Library Granted Patent US 9,697,197
Granted Patent B1
US 9,697,197 · App. 14/626,980 · Granted Jul 4, 2017

Automatic generation of narratives from data using communication goals and narrative analytics

Inventors: Lawrence Birnbaum (Evanston, IL); Kristian J. Hammond (Chicago, IL); Nathan Drew Nichols (Chicago, IL); Andrew R. Paley (Chicago, IL); Shingo Murata (Chicago, IL); Pia Opulencia (Chicago, IL)
Assignee: NARRATIVE SCIENCE INC.
G06F17/2785G06F17/2705G06F17/277G06F17/28
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 9,697,197
App. No.
14/626,980
Granted
Jul 4, 2017
Kind
B1
Abstract

The exemplary embodiments described herein are related to techniques for automatically generating narratives about data based on communication goal data structures that are associated with configurable content blocks. The use of such communication goal data structures facilitates modes of operation whereby narratives can be generated in real-time and/or interactive manners.

Claims (69)

1. A method comprising:

a processor processing input relating to a request for a narrative about a set of data;

the processor determining a communication goal for the narrative based on the processed input;

the processor explicitly representing the determined communication goal via a communication goal data structure, wherein the communication goal data structure comprises a plurality of parameters, and wherein the explicitly representing step comprises the processor specifying a plurality of values for the parameters of the communication goal data structure;

the processor accessing a parameterized narrative analytics model that is associated in a memory with the communication goal data structure, the parameterized narrative analytics model comprising (1) a parameterized model for a plurality of data components that need to be analyzed to generate a narrative and (2) a parameterized model for a plurality of computational components for analyzing the data components to generate a narrative;

the processor selecting a subset of data within a database based on the communication goal data structure that explicitly represents the determined communication goal;

the processor instantiating the parameterized narrative analytics model based on the communication goal data structure that explicitly represents the determined communication goal; and

the processor applying the instantiated narrative analytics model to the selected data subset to automatically generate a narrative that is responsive to the request; and

wherein the instantiating step comprises the processor instantiating the parameterized narrative analytics model using a parameter value supplied by a user.

2. The method of claim 1 wherein the instantiating step further comprises the processor instantiating the parameterized narrative analytics model using specified parameter values of the communication goal data structure.

3. The method of claim 1 wherein the instantiating step further comprises the processor instantiating the parameterized narrative analytics model using a parameter value of a content block.

4. The method of claim 1 wherein the parameterized narrative analytics model comprises a specification of a plurality of angles, each angle providing a characterization of data and having an associated applicability condition for testing against data to determine whether the associated angle accurately characterizes data; and

wherein the instantiating step further comprises the processor selecting a subset of the angles within the parameterized narrative analytics model based on the communication goal data structure that explicitly represents the determined communication goal; and

wherein the applying step comprises the processor (1) testing the selected data subset against the selected angles subset to determine whether any angle within the selected angle subset accurately characterizes the selected data subset, and (2) in response to a determination that an angle within the selected angle subset accurately characterizes the data subset, automatically generating the responsive narrative using the determined angle.

5. The method of claim 1 wherein the selecting step comprises the processor selecting the data subset such that the data subset includes a plurality of data values for a specified parameter value.

6. The method of claim 5 wherein the specified parameter values include a specification of a metric for the narrative, and wherein the selecting step comprises the processor selecting the data subset such that the data subset includes a plurality of data values for the specified metric.

7. The method of claim 6 wherein the specified parameter value includes a specification of a time frame over which the metric is to be analyzed, and wherein the selecting step comprises the processor selecting the data subset such that the data subset includes a plurality of data values for the specified metric over the specified time frame.

8. The method of claim 7 wherein the parameter value supplied by the user comprises the specification of the time frame.

9. The method of claim 6 wherein the parameter value supplied by the user comprises the specification of the metric.

10. The method of claim 6 wherein the specified parameter values further include a specification of a subject for the metric, and wherein the selecting step further comprises the processor selecting the data subset such that the data subset includes a plurality of data values associated with the specified subject for the specified metric.

11. The method of claim 10 wherein the specified parameter values further include a specification of a reference for comparison with the subject regarding the metric, and wherein the selecting step comprises the processor selecting the data subset such that the data subset further includes a plurality of data values associated with the specified reference for the specified metric.

12. The method of claim 11 wherein the specified reference is a peer of the subject.

13. The method of claim 12 wherein the subject comprises a business entity.

14. The method of claim 11 wherein the parameter value supplied by the user comprises the specification of the reference.

15. The method of claim 10 wherein the specified parameter values further include a specification of a driver regarding the metric, and wherein the selecting step comprises the processor selecting the data subset such that the data subset further includes a plurality of data values associated with the specified subject for the specified driver.

16. The method of claim 15 wherein the parameter value supplied by the user comprises the specification of the driver.

17. The method of claim 15 wherein the specified driver comprises a plurality of drivers regarding the metric, and wherein the selecting step comprises the processor selecting the data subset such that the data subset further includes a plurality of data values associated with the specified subject for the specified drivers.

18. The method of claim 17 wherein the specified drivers comprise a contributing driver and an inhibiting driver.

19. The method of claim 5 wherein the specified parameter values further include a specification of a subject, and the specification of the subject determines the specification of a metric, and wherein the selecting step further comprises the processor selecting the data subset such that the data subset includes a plurality of data values associated with the specified subject and the specified metric.

20. An apparatus comprising:

a processor configured to:

process input relating to a request for a narrative about a set of data;

determine a communication goal for the narrative based on the processed input;

explicitly represent the determined communication goal via a communication goal data structure, wherein the communication goal data structure comprises a plurality of parameters, and wherein the explicitly representing operation comprises the processor being further configured to specify a plurality of values for the parameters of the communication goal data structure;

select a subset of data within a database based on the communication goal data structure that explicitly represents the determined communication goal;

access a parameterized narrative analytics model that is associated in a memory with the communication goal data structure, the parameterized narrative analytics model comprising a parameterized model for a plurality of data components that need to be analyzed to generate a narrative and a parameterized model for a plurality of computational components for analyzing the data components to generate a narrative;

instantiate the parameterized narrative analytics model based on the communication goal data structure that explicitly represents the determined communication goal; and

apply the instantiated narrative analytics model to the selected data subset to automatically generate a narrative that is responsive to the request; and

wherein the processor is further configured to instantiate the parameterized narrative analytics model using a parameter value supplied by a user.

21. The apparatus of claim 20 wherein the processor is further configured to instantiate the parameterized narrative analytics model using specified parameter values of the communication goal data structure.

22. The apparatus of claim 20 wherein the processor is further configured to instantiate the parameterized narrative analytics model using a parameter value of a content block.

23. The apparatus of claim 20 wherein the parameterized narrative analytics model comprises a specification of a plurality of angles, each angle providing a characterization of data and having an associated applicability condition for testing against data to determine whether the associated angle accurately characterizes data; and

wherein the processor is further configured to select a subset of the angles within the parameterized narrative analytics model based on the communication goal data structure that explicitly represents the determined communication goal, the selected subset of angles for use in the instantiated narrative analytics model; and

wherein the processor being further configured to, as part of the apply operation, (1) test the selected data subset against the selected angles subset to determine whether any angle within the selected angle subset accurately characterizes the selected data subset, and (2) in response to a determination that an angle within the selected angle subset accurately characterizes the data subset, automatically generate the responsive narrative using the determined angle.

24. The apparatus of claim 20 wherein the processor is further configured to select the data subset such that the data subset includes a plurality of data values for a specified parameter value.

25. The apparatus of claim 24 wherein the specified parameter values include a specification of a metric for the narrative, and wherein the processor is further configured to select the data subset such that the data subset includes a plurality of data values for the specified metric.

26. The apparatus of claim 25 wherein the specified parameter value includes a specification of a time frame over which the metric is to be analyzed, and wherein the processor is further configured to select the data subset such that the data subset includes a plurality of data values for the specified metric over the specified time frame.

27. The apparatus of claim 26 wherein the parameter value supplied by the user comprises the specification of the time frame.

28. The apparatus of claim 26 wherein the specified parameter values further include a specification of a subject for the metric, and wherein the processor is further configured to select the data subset such that the data subset includes a plurality of data values associated with the specified subject for the specified metric over the specified time frame.

29. The apparatus of claim 28 wherein the specified parameter values further include a specification of a reference for comparison with the subject regarding the metric, and wherein the processor is further configured to select the data subset such that the data subset further includes a plurality of data values associated with the specified reference for the specified metric over the specified time frame.

30. The apparatus of claim 29 wherein the specified reference is a peer of the subject.

31. The apparatus of claim 30 wherein the subject comprises a business entity.

32. The apparatus of claim 29 wherein the parameter value supplied by the user comprises the specification of the reference.

33. The apparatus of claim 28 wherein the specified parameter values further include a specification of a driver regarding the metric, and wherein the processor is further configured to select the data subset such that the data subset further includes a plurality of data values associated with the specified subject for the specified driver over the specified time frame.

34. The apparatus of claim 33 wherein the parameter value supplied by the user comprises the specification of the driver.

35. The apparatus of claim 33 wherein the specified driver comprises a plurality of drivers regarding the metric, and wherein the processor is further configured to select the data subset such that the data subset further includes a plurality of data values associated with the specified subject for the specified drivers over the specified time frame.

36. The apparatus of claim 35 wherein the specified drivers comprise a contributing driver and an inhibiting driver.

37. The apparatus of claim 25 wherein the parameter value supplied by the user comprises the specification of the metric.

38. The apparatus of claim 24 wherein the specified parameter values further include a specification of a subject, and the specification of the subject determines the specification of a metric, and wherein the processor is further configured to select the data subset such that the data subset includes a plurality of data values associated with the specified subject and the specified metric.

39. 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 for execution by the processor to cause the computer to:

process input relating to a request for a narrative about a set of data;

determine a communication goal for the narrative based on the processed input;

explicitly represent the determined communication goal via a communication goal data structure, wherein the communication goal data structure comprises a plurality of parameters, and wherein the explicitly representing operation comprises the processor being further configured to specify a plurality of values for the parameters of the communication goal data structure;

select a subset of data within a database based on the communication goal data structure that explicitly represents the determined communication goal;

access a parameterized narrative analytics model that is associated in a memory with the communication goal data structure, the parameterized narrative analytics model comprising a parameterized model for a plurality of data components that need to be analyzed to generate a narrative and a parameterized model for a plurality of computational components for analyzing the data components to generate a narrative;

instantiate the parameterized narrative analytics model based on the communication goal data structure that explicitly represents the determined communication goal; and

apply the instantiated narrative analytics model to the selected data subset to automatically generate a narrative that is responsive to the request; and

wherein the instructions are further configured to cause the computer to instantiate the parameterized narrative analytics model using a parameter value supplied by a user.

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 Mar 18, 2015
From: BIRNBAUM, LAWRENCE; HAMMOND, KRISTIAN J.; NICHOLS, NATHAN DREW; PALEY, ANDREW R.; MURATA, SHINGO; OPULENCIA, PIA
To: NARRATIVE SCIENCE INC.
Reel/Frame 035191/0228 →
Continuity (6)
Continuation 14521264 · Oct 22, 2014
Continuation 14570834 · Dec 15, 2014
Continuation 14521264 · Oct 22, 2014
Continuation 14626980
Continuation 14570858 · Dec 15, 2014
Continuation 14521264 · Oct 22, 2014