US20220284195A1 - Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data - Google Patents
Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data Download PDFInfo
- Publication number
- US20220284195A1 US20220284195A1 US17/750,559 US202217750559A US2022284195A1 US 20220284195 A1 US20220284195 A1 US 20220284195A1 US 202217750559 A US202217750559 A US 202217750559A US 2022284195 A1 US2022284195 A1 US 2022284195A1
- Authority
- US
- United States
- Prior art keywords
- visualization
- data
- focus
- narrative
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000012800 visualization Methods 0.000 title claims abstract description 293
- 238000005516 engineering process Methods 0.000 title claims abstract description 26
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000013519 translation Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 2
- 230000002452 interceptive effect Effects 0.000 abstract description 8
- 230000008859 change Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000000611 regression analysis Methods 0.000 description 3
- 241000282376 Panthera tigris Species 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013079 data visualisation Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241001512238 Icterus galbula Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Definitions
- Many data visualization software programs enable users to select particular aspects or components of the data presented in a given visualization in order to produce a second, alternative visualization, where this second visualization highlights or presents only those selected aspects/components.
- Such functionality in the visualization software provides users with some degree of an ability to focus a visualization in an interactive manner. For example,
- FIG. 1 shows an example visualization that plots the number of wins by major league baseball team for each season from 1980 through 2015.
- the visualization is presented in the form of a line chart, and more specifically a multi-line chart.
- the vertical axis corresponds to wins while the horizontal axis corresponds to years (seasons), and each line on the chart corresponds to a different baseball team.
- this multi-line chart is extremely dense in terms of information conveyed, and so rather difficult to understand; a user may therefore want to focus in on certain aspects of this visualization in order to understand it better.
- some visualization software platforms provide users with an ability to select specific elements of the visualization.
- a variety of mechanisms may be utilized to provide such a selection capability (e.g., point and click selections, drop-down menus, modal dialog boxes, buttons, checkboxes, etc.).
- a user may want to focus the visualization on a subset of specific teams.
- the visualization software performs the process flow of FIG. 2A .
- the software receives a selection indicative of an entity corresponding to one or more of the lines of the line chart. For example, this can be a selection of three teams.
- the software selects the data elements within the data upon which the visualization is based that correspond(s) to the selection(s) received at step 200 .
- the software would select the win totals across the subject seasons for the three selected teams.
- the software re-draws the line chart in a manner that limits the presented data to only the selected data elements (e.g., the lines for the selected teams.
- FIG. 2B depicts an example visualization that would result from step 204 after a user has selected three specific teams—the Atlanta Braves, Detroit Tigers, and New York Mets—for the focused presentation.
- the ability to focus a visualization on interesting aspects of the visualization via conventional software relies on either prior knowledge by the user about the specific data elements being visualized or the recognition of a specific element of the visualization itself that is worthy of focus (e.g., selecting the lines showing win peaks for teams in 1998 and 2001 that are higher than the peaks for other seasons).
- the aspects or components of data that a user may select in these visualization systems are those which are already manifest within the system—specifically, those data or metadata which comprise the initial visualization with respect to which the user is making a selection (or selections) in order to produce a second visualization focusing on just those aspects or components of the data.
- These include such elements as specific entities or subsets of entities along the x-axis (independent variable) of a bar chart; specific measures (if there is more than one) along the y-axis (dependent variable); specific intervals along the x-axis of a line chart; specific lines in multiple-line charts; etc.
- the elements of the data manifest as specific entities in the system, to which a user might refer via some selection process are limited to those which comprise the raw data or metadata used to construct the initial visualization in the first place.
- the focus criteria made available by conventional systems are criteria already known and explicitly represented within the visualization data (such as specific teams on the line chart of FIGS. 1 and 2B )—specifically, again, those data or metadata which comprise the initial visualization with respect to which the user is making a selection (or selections) in order to produce a second visualization focusing on just those aspects or components of the data.
- the inventors disclose that new data structures and artificial intelligence logic can be utilized in conjunction with visualization systems that support the use of notional specifications of focus criteria. That is, continuing with the example of FIG. 1 , rather than instructing the visualization software to “Focus on Specific Team A” within the set of teams already manifest in the visualization data (by which we mean both the data being visualized and the metadata that describe those data and the visualization itself), the inventors have invented an approach that defines the focus criteria in terms of characteristics of the visualization data that may not yet be known. By way of example with reference to FIG. 1 , this focusing effort could be “Focus on the Team with the Highest Average Number of Wins per Season”.
- narrative analytics can be used in combination with visualization data in order to carry out the automatic generation of narrative text that provides natural language explanations of that visualization data.
- captions can be automatically generated to accompany a visualization that summarize and explain the important aspects of that visualization in a natural language format.
- FIG. 3 shows the visualization of FIG. 1 paired with a narrative 300 produced via the technology described the above-referenced and incorporated '385 patent application. This narrative 300 serves to summarize and explain important or interesting aspects of the visualization.
- narrative analytics technology can be used to generate data structures that represent notional characteristics of the visualization data which in turn can be tied to specific elements of the visualization data to support interactive focusing of visualizations in notional terms that correspond to interesting aspects of the data, as described above.
- narrative analytics technology applies narrative analytics to the raw data in order to produce derived features or categories (e.g., aggregate elements such as ranked lists or clusters, aggregate measures such as means, medians, ranges, or measures of volatility, and individual elements of interest such as outliers, etc.) that play a role in determining the appropriate data and characterizations—including in particular derived features, values, or categories themselves—that should be included in the resulting narrative.
- derived features or categories e.g., aggregate elements such as ranked lists or clusters, aggregate measures such as means, medians, ranges, or measures of volatility, and individual elements of interest such as outliers, etc.
- These narrative analytics are the analytic processes and methods specified in (or by) the system due to their potential relevance to the type of narrative the system has been constructed or configured to produce.
- the inventors note that, in light of the discussion above, the results of these analytics—which are constructed and explicitly represented as entities within the narrative generation system—constitute entities, both notional and actual, above and beyond those representing the raw data and metadata that comprise the initial visualization itself. Accordingly, the inventors disclose that these explicitly represented notional entities are available for presentation to users for selection (via whatever interface mechanism is preferred) as focus criteria—thereby enabling the construction and presentation of more focused visualizations (as well as more focused narratives) specified in terms of these derived features, not just in terms of the raw data and metadata comprising the initial visualization itself.
- the entities representing these derived features or categories can be represented (and presented to the user) in entirely notional terms—that is, they can represent objects or entities with specific, relevant properties, even if the user (or, for that matter, the system itself) doesn't yet know the actual objects or entities which have those properties.
- the inventors disclose a narrative focus filter that integrates narrative generation technology with visualization systems to focus on the narratively salient elements of the data, as computed by relevant analytics.
- the narrative focus filter simplifies a complex visualization by not only using a natural language generation system to produce an insightful narrative about the visualization, but by focusing the visualization on a subset of the data based on what is most important to the user, in narrative terms, as described above.
- a narrative is embedded into an existing visualization platform.
- the interface object presenting the narrative to the user of that platform can be adapted to provide an experience whereby the user is able to focus on a view of the visualization that provides him or her with the most insight.
- the narrative analytics (and in some cases the narrative itself), are what actually provide the selections and filters utilized by the user to determine the focus; the system then translates these into the specific entities actually used by the visualization platform.
- the result is a seamless integration in which entities that comprise important elements of the narrative accompanying a given visualization can be used to manipulate the visualization itself.
- the necessary narrative analytics can be performed, and these entities can be made available for such purpose, whether or not a narrative is actually generated or supplied to the user to accompany the visualization.
- automatic narrative generation or its component technologies such as narrative analytics, linked with a visualization system, can also provide other opportunities to augment a user's ability to focus a visualization, beyond the use of notional entities that may have interesting aspects as described above.
- such an approach can make it possible for a user to interactively investigate the drivers (causes or inputs) of particular data presented in the visualization; or to directly select specific analytics to be both presented in the visualization and utilized in constructing the accompanying narrative.
- FIG. 1 depicts an example screenshot of a visualization generated from a set of visualization data.
- FIG. 2A depicts a process flow for a conventional manner of focusing a visualization.
- FIG. 2B depicts an example screenshot of a focused visualization.
- FIG. 3 depicts an example screenshot of a visualization paired with an automatically generated narrative text that explains and characterizes the visualization.
- FIG. 4 depicts an example process flow for focusing visualizations with the aid of narrative analytics.
- FIG. 5 depicts an example system diagram for focusing visualizations with the aid of narrative analytics.
- FIG. 6 depicts an example screenshot where the visualization and narrative of FIG. 3 are included with a focus filter button that is selectable by a user to initiate the process of focusing the visualization and/or narrative in a user-defined manner.
- FIG. 7A depicts an example process flow for the logic used to determine focus criteria candidates with respect to a visualization.
- FIG. 7B depicts an example set of visualization data.
- FIG. 7C depicts an example mapping of visualization types to generalized focus options.
- FIG. 7D depicts an example set of generalized focus options that are associated with a visualization type.
- FIG. 7E depict examples of models for metric options from a set of generalized focus options.
- FIG. 8A depicts an example screenshot where the visualization that includes a focus filter menu.
- FIG. 8B depicts an example screenshot where the visualization that includes a focus filter menu where the focus filter menu includes a drop down menu of focus options.
- FIG. 8C depicts an example focus criteria data structure.
- FIG. 9A depicts an example process flow for the logic used to generate a focus configuration for use with a visualization.
- FIG. 9B depicts an example focus configuration data structure.
- FIG. 10 depicts an example screenshot showing a visualization that has been focused based on input received through a focus filter menu.
- FIGS. 11A-C how focused narratives can be generated as part of the visualization focusing effort.
- FIG. 12 depicts another example screenshot of a visualization generated from a set of visualization data.
- FIG. 13 depicts an example data ecosystem that shows relationships that exist between visualization data and other data stored in a system.
- FIG. 14 depicts an example process flow for evaluating potential drivers with respect to a measure shown by a visualization.
- FIG. 15A depicts an example menu for specifying a relationship between a visualization measure and a driver candidate to be evaluated.
- FIG. 15B depicts an example screenshot of a visualization generated from a set of visualization data that is paired with an automatically generated narrative text that explains the results of evaluating the potential driver relationship specified by FIG. 15A .
- FIG. 16A depicts an example menu for specifying a multiple relationships between a visualization measure and multiple driver candidates to be evaluated.
- FIG. 16B depicts an example screenshot of a visualization generated from a set of visualization data that is paired with an automatically generated narrative text that explains the results of evaluating the potential driver relationships specified by FIG. 16A .
- FIG. 17A depicts an example outside measures data structure.
- FIG. 17B depicts an example outside series data structure.
- FIGS. 18-23 depict examples of how analytics and be selectively enabled and disabled in an interactive manner.
- FIGS. 24-27 depict examples of how thresholds for analytics can be interactively controlled.
- FIGS. 28-31 depict examples of how predictive analytics can be selectively enabled and disabled.
- FIGS. 32-38 depict examples of how the formatting of resultant narrative stories can be controlled.
- FIG. 4 depicts an example process flow for focusing visualizations with the aid of narrative analytics.
- the process flow of FIG. 4 can be executed by a processor in cooperation with computer memory.
- FIG. 5 depicts an example system for executing the process flow of FIG. 4 .
- the system of FIG. 5 includes a visualization platform 500 and narrative analytics 510 .
- the visualization platform provides the visualization data 502 that serves as the source for a visualization produced by the visualization platform.
- the narrative analytics 510 can access this visualization data 502 through an application programming interface (API) or other suitable data access/sharing techniques.
- API application programming interface
- Examples of visualization platforms that may be suitable for use with the system of FIG. 5 include the Qlik visualization platform and the Tableau visualization platform.
- the system of FIG. 5 may employ multiple processors such as a first processor serving as the visualization platform 500 and a second processor executing the narrative analytics 510 , although this need not be the case.
- the various processors can be resident in networked computer systems.
- the process flow of FIG. 4 describes a technical advance in how a visualization of data can be focused around a notional entity or characteristic even though a user may be unaware of which specific aspects of the visualization correspond to that entity or characteristic.
- a data structure is a physical manifestation of information organized within a computing system. Examples of data structures may include data files, records, tables, arrays, trees, objects, and the like.
- the process flow of FIG. 4 can be triggered in any of a number of ways. For example, as shown by FIG. 6 , a “focus” button 600 or the like can be included in a visualization interface. In response to user selection of this button, the process flow of FIG. 4 can be executed.
- the processor at step 400 determines focus criteria candidates based on narratively relevant characteristics of the visualization data. As shown by FIG. 5 , this step can be performed by logic 504 .
- the focus criteria candidates are options that provide the user with choices regarding how the visualization is to be focused.
- the system may generate a list of narratively relevant and useful notional entities, represented or described in appropriate and intuitive terms—i.e., at a higher level than those provided by the raw data or metadata themselves—for presentation to the user. Such a list can be generated in a number of ways.
- a developer or configurer can examine the set of derived features or entities that might be computed in the course of generating a story of that type. These features or entities will be represented internally by the system as variables or notional entities. The developer or configurer can then determine appropriate language for describing each of these entities to a user, and provide these terms or phrases to the system, each linked to the corresponding internal variable or notional entity, for presentation to the user via a selection mechanism (e.g., a menu) when a story of that type is generated or would be potentially relevant (typically, within this context, to accompany an initial visualization).
- a selection mechanism e.g., a menu
- a separate process may traverse the configuration or code for generating a story of that type, in order to automatically determine the derived features or entities that might be computed in the course of generating a story of that type. These can be determined, for example, by examining the derivations used to compute such features by the system, which must reference them in order to provide them with specific values during analysis and story generation. Alternatively, in other implementations, they may explicitly declared as the relevant notional variables for a content block or other element of an outline or configuration representing the rhetorical structure of the story to be generated.
- variables or notional entities that are used to represent those derived features or entities may then be added to the list of narratively relevant entities to be presented to the user for possible selection. They may be included in this list automatically; or they may be presented to a developer or configurer for inclusion on the list.
- the appropriate language for describing these notional entities for presentation to the user may be automatically copied from the corresponding blueprints or other data structures used to represent the linguistic expressions to be utilized by a narrative generation engine in referring to these entities in actual stories; or such language may be determined explicitly by the developer or configurer.
- FIG. 7A depicts an example embodiment for step 400 .
- the processor processes the visualization data to determine a visualization type, story type or set of appropriate narrative analytics corresponding to that visualization data.
- FIG. 7B depicts an example data structure for visualization data 710 in relation to the example screenshot of FIG. 6 .
- the visualization data 710 includes not only specific data values for the data elements presented on the line charts of FIG. 6 but also metadata about those data values and the nature of the visualization itself.
- the data and metadata may include an identification of a chart type (e.g., a line chart), a name for the measure being plotted (e.g., wins), a data array of values for the measure, names for the chart dimensions (e.g., years/seasons and teams), among other forms of data and metadata.
- a chart type e.g., a line chart
- a name for the measure being plotted e.g., wins
- a data array of values for the measure e.g., years/seasons and teams
- names for the chart dimensions e.g., years/seasons and teams
- the visualization data structure 710 may include metadata that identifies a chart type for the visualization (e.g., line chart) and other fields may indicate other characteristics of the chart (such as the number of entities/lines for the line chart and whether the line chart is a time series), which in turn indicate the appropriate visualization type, story type and/or set of narrative analytics.
- a chart type for the visualization e.g., line chart
- other fields may indicate other characteristics of the chart (such as the number of entities/lines for the line chart and whether the line chart is a time series), which in turn indicate the appropriate visualization type, story type and/or set of narrative analytics.
- the processor selects general focus options based on the determined story type or set of narrative analytics.
- the system may include data that maps visualization types or story types to general focus options to support step 702 .
- a table 720 may associate different visualization types 722 with different sets of general focus options 724 .
- step 702 can select the set of general focus options that are associated with this visualization type by table 720 . It should be understood that while the example of FIG.
- data structure 7C uses visualization type 722 as the basis for association with general focus options 724
- the data structure could also use a story type or set of narrative analytics found at step 700 as the basis for selecting associated general focus options 724 .
- data structure 720 can associate the story type appropriate for a multi-entity line chart that includes a time series with a set of general focus options 724 .
- FIG. 7C shows a table 720 being used for the associations with sets of general focus options, it should be understood that other techniques for association could be used, such as a rules-based approach or others.
- FIG. 7D depicts an example set of general focus options 724 that could be associated with a visualization type or story type such as that appropriate for or corresponding to a multi-entity time series line chart.
- These options 724 can be organized as a data structure that includes the following as a generalized focus expression 730 : “Focus on ⁇ NUMBER OF ITEMS> ⁇ RANK GROUP> ⁇ DIMENSION NAME(S)> by the ⁇ METRIC> of the ⁇ MEASURE> values” as shown by FIG. 7D .
- This focus expression 730 is characterized as “general” because it has not yet been provided with specific parameters as to the features or aspects of the data or metadata that are to be the subject of the focus effort.
- the tokens in this expression are variables whose values will help specify the focus filter to ultimately be applied to the visualization data. These variables can be parameterized to specific values in response to user input and/or automated data processing.
- the variables ⁇ NUMBER OF ITEMS> 732 and ⁇ RANK GROUP> 734 define a rank criterion for focusing and an associated volume criterion for the rank criterion for the focusing effort.
- the data structure 724 can include a specification of options for these variables such as the set ⁇ 1, 2, 3, . . . ⁇ for the ⁇ NUMBER OF ITEMS> variable 732 and the set ⁇ Highest, Lowest, Median, Most Average, . . . ⁇ for the ⁇ RANK GROUP> variable 734 . A user can then select from among these options to define specific values for these variables.
- the variable ⁇ DIMENSION NAME(S)> 736 can be specifically parameterized based on the visualization data 710 that is the subject of the focusing effort.
- the processor can select the option(s) for this variable based on the data and metadata within the visualization data 710 .
- the visualization data includes two dimensions—Year and Teams. These can therefore be the options that are used to determine the specific value(s) of the ⁇ DIMENSION NAME(S)> variable 736 in this instance.
- the variable ⁇ METRIC> 738 can be used to refer to or denote a metric by which the measure values will be evaluated as part of the focusing effort.
- the data structure 724 can include a specification of options for the value of this metric variable such as the set ⁇ Starting Value, Ending Value, Average Value, Median Value, Percent Change, Absolute Change, Volatility, . . . ⁇ , as shown by FIG. 7D .
- each of these metrics options can be associated with a corresponding model that defines how that metric is to be computed, as shown by FIG. 7E .
- the Average Value metric option can be associated with an Average Value Model 750 that defines how an average value will be computed in terms of various input and output parameters.
- the Volatility metric option can be associated with a Volatility Model 752 that defines how volatility will be computed in terms of various input and output parameters. It should be understood that some metric options may be assumed by default to apply to certain elements of the time series (e.g, the Percent Change metric being computed by default as the percent change between the first and last measure of the time series). However, if desired, a practitioner could include additional features whereby a user or automated process can further define constraints on which elements of the time series for which (or over which) metrics such as “percent change”, “absolute change”, etc., are to be computed (e.g., a user-defined time span).
- the variable ⁇ MEASURE> 740 can be parameterized based on the visualization data 710 that is the subject of the focusing effort.
- the processor can select the measure based on the data and metadata within the visualization data 710 .
- the visualization data includes “wins” as the measure, and this measure can therefore be used as the value for the ⁇ MEASURE> variable 740 .
- the processor specifies the focus options variables that are defined as a function of the visualization data.
- the processor parses the visualization data 710 to select the options for the ⁇ DIMENSION NAME(S)> variable 736 and the identity of the ⁇ MEASURE> variable 740 as discussed above.
- more or fewer variables could be defined as a function of the visualization data.
- the set of options for the value of the ⁇ NUMBER OF ITEMS> variable 732 need not be a predefined list as shown by FIG. 7D and could instead be defined dynamically as a function of a count of how many dimension elements are present in the visualization data (e.g., a count of the number of teams in the example of FIG. 7B ).
- the processor has a defined set of focus criteria candidates to use as part of the focusing effort.
- the processor can next present the determined focus criteria candidates to a user for selection (step 402 ).
- this presentation can occur through a focus filter menu 506 as shown by FIG. 5 .
- This focus filter menu 506 can be a structured interactive menu that includes a plurality of fields through which a user can choose from among the various options for various focus variables. FIG.
- FIG. 8A shows an example focus filter menu 800 where the menu includes fields 802 , 804 , and 806 through which a user can define the values to be used for the ⁇ NUMBER OF ITEMS> variable 732 , ⁇ RANK GROUP> variable 734 , and ⁇ METRIC> variable 738 respectively.
- FIG. 8B shows how drop down menus (see 820 ) can be included with the focus filter menu 800 to provide the user with a list of the available options for the value of each variable determined as a result of the process flow of FIG. 7 .
- the processor receives user input that defines selections for the focus criteria candidates available through menu 506 .
- the system now has a specific set of focus criteria to use for its focusing effort.
- FIG. 8C shows an example data structure that contains the focus criteria defined in response to the user input at step 404 .
- the example focus criteria data structure 830 expresses a focus statement of “Focus on the 3 highest ranking teams by the starting value of the wins values”. It should be understood that other formats could be used for the focus criteria data structure if desired by a practitioner.
- the processor uses the focus criteria in combination with the visualization data to identify data and metadata elements within the visualization data that satisfy the focus criteria.
- Logic 508 shown by FIG. 5 can perform this step.
- the narratively relevant notional entities are computed in specific terms of the case at hand—i.e., the actual entities filling those roles are determined. For instance, in an example concerning volatility, the level of volatility is assessed for each of the series displayed in the visualization; and then the (in this case) three series with the highest level of volatility are identified in the specific terms utilized by the visualization system (e.g., via the metadata labels denoting these specific entities).
- FIG. 9 shows an example process flow for this logic 508 .
- the processor instantiates data structures and code for computing the derived features needed for (or specified by) the focus criteria.
- step 900 can include instantiating data and code for computing the win totals volatility for each team in the visualization data, which would include accessing Volatility Model 752 and mapping the input parameter(s) for the volatility model to specific data elements of the visualization data (e.g., the wins data array) and mapping the output parameter(s) for the volatility model to data structures that hold volatility values.
- the processor computes the necessary data components for the focus criteria based on the instantiated data structures and code.
- the processor would use the instantiated volatility model 752 to compute a volatility value for each team in the visualization data.
- the processor applies other focus criteria to the computed data components to determine a focus configuration to use for the focusing effort. For example, if the focus criteria specified finding the 3 teams with the highest volatility in win totals, step 904 would operate to sort or rank the computed volatility values for each team and then select the 3 teams with the highest volatility values.
- the result of step 904 would thus be a focus configuration data structure that identifies the specific elements within the visualization data that satisfy the focus criteria.
- FIG. 9B shows an example of such a focus configuration data structure 910 .
- the focus criteria was “Focus on the 3 highest ranking teams by the starting value of the wins values”. It can be seen in FIG. 9B that the operation of the process flow of FIG. 9A resulted in the identification of the “Baltimore Orioles”, “Kansas City Royals”, and “New York Yankees” as the teams that satisfied these focus criteria.
- FIG. 10 depicts an example screenshot showing how the visualization of FIG. 1 can be focused on the three teams that exhibited the highest volatility in win totals.
- example embodiments of the invention use innovative new data structures and associated processing logic as discussed above to provide users with a capability to specify focus criteria in entirely notional terms without a requirement that the specific focus criteria be known in advance.
- the processing logic leverages these new data structures to translate the notional specification of focus criteria into specific components of visualization data that are to be the subject of the focusing effort.
- the inventors believe this is a significant improvement over conventional visualization focusing technology that requires a user to select specific existing elements of a visualization as the subjects of the focusing effort (e.g., selecting a specific line or team on the chart shown by FIG. 1 ).
- the inventors further disclose that the focus criteria, focus configuration data, and/or focused visualization data can also be used to automatically generate a focused narrative for pairing with the focused visualization.
- FIG. 10 shows an example of such a focused narrative 1000 .
- FIG. 11A shows an example process flow that corresponds to the process flow of FIG. 4 with an added step for invoking a narrative generation platform to generate the focused narrative (step 1110 ). While FIG. 11A shows step 1150 occurring after the focused visualization is generated, it should be understood that step 1150 could occur before the focused visualization is generated and/or be performed in parallel with the FIG. 4 process flow.
- the above-referenced and incorporated '385 patent application describes technology regarding how narrative analytics can be used to automatically generate narrative texts that summarize and explain visualizations.
- the inventors further disclose that the narrative generation technology described in the above-referenced and incorporated '385 patent application can be extended to leverage the focusing efforts to also provide an appropriately focused narrative that can accompany the focused visualization.
- the narrative generation platform that performs step 1150 can be a highly flexible platform capable of generating multiple types of narrative stories using a common platform that operates on parameterized story configurations (examples of which are described in several of the above-referenced and incorporated patents and patent applications), it should be understood that the narrative generation platform need not necessarily employ such a modular and flexible approach to narrative generation.
- the narrative generation platform may include a number of separate software programs that are coded to generate specific types of stories, and the process flow of FIG. 11A can decide which of these software programs will be used to generate a story with respect to a given visualization type/story type under consideration for the focusing effort.
- Appendix 1 also discusses other designs for the narrative generation platform that could be used. That being said, the inventors believe that the use of a highly modular and parameterized narrative generation platform in combination with focusing efforts will be particularly adept and robust when generating focused narrative text that explains a focused visualization in greater detail. As such, the descriptions below will elaborate on step 1150 where a specific story type is expressed, using some specification language, as a configuration for a configurable narrative generation platform or engine, which can then produce narratives of the appropriate type as specified by that configuration.
- Focused narrative generation can be triggered in any of a number of ways.
- the focused narrative generation can use focused visualization data that is provided by the visualization platform in response to its processing of the focus configuration data (see the example process flow of FIG. 11B whose operation is described in greater detail in the above-referenced and incorporated '385 patent application and where step 1100 uses the focused visualization data as its starting point).
- the focusing operation involved mapping a visualization to a story configuration for a narrative generation system, this mapped story configuration can be used as the starting point for narrative generation (see FIG. 11C ).
- the narrative generation system can be directly invoked with the appropriate data and metadata, as determined by the focus configuration, in parallel with those data and metadata being supplied to the visualization system to produce a focused visualization.
- the same story type can be utilized in generating the focused visualization as was utilized in generating the original visualization, except now parameterized with appropriately restricted data, as described in the above-referenced and incorporated '385 patent application.
- the narrative analytics technology described herein can be used to generate focused visualizations and/or focused narratives that are responsive to a user's notional specification of focus criteria.
- a first practitioner might find it desirable to use the disclosed narrative generation technology to generate focused visualizations without any pairing with a focused narrative to accompany the focused visualization
- a second practitioner might find it desirable to use the disclosed narrative generation technology to generate both a focused visualizations and a focused narrative that accompanies the focused visualization.
- a third practitioner might find it desirable to use the disclosed narrative generation technology to generate a focused narrative that accompanies a visualization but where the visualization itself is not updated in a focused manner.
- the inventors further disclose a system that can support driver evaluation when a user interacts with a visualization.
- many measures depicted by data visualizations exhibit values that are driven by other measures, e.g., the values of which may be determined by these other measures.
- These other measures can be referred to as “drivers”.
- “drivers” for a revenue measure may include measures such as “units sold” and “price per unit”. The inventors believe that there is a need in the art for technology that uses drivers as the criteria by which to focus a narrative that accompanies a visualization of data.
- FIG. 12 depicts an example visualization that includes a line chart showing the average attendance for major league baseball teams for each season from 1980 through 2015.
- the example screenshot of FIG. 12 also includes narrative text 1200 that accompanies the visualization.
- This narrative text which can be automatically generated via the technology disclosed in the above-referenced and incorporated '385 patent application, explains and summarizes various aspects of the average attendance line chart.
- the inventors believe that there is a strong need in the art for tools that would help users evaluate potential drivers of the measure shown by the line chart, or of other types of visualizations.
- what drivers may influence average attendance at major league baseball games? Is it home runs (where more home runs might be hypothesized to lead to more fan excitement which leads to improved attendance)? Is it the number of hits (under a similar assumption as home runs but where hits are perhaps not deemed as exciting by fans as home runs)?
- Some other driver ?
- the system can leverage a larger ecosystem of data.
- the user can select one or more measures that could potentially drive the performance of a given subject measure in a visualization.
- the measures selected as potential drivers can be data or metadata that are manifest within the visualization system and/or narrative analytics system but that are not necessarily reflected in the source visualization data used for the subject visualization presented to the user. An example of this can be seen in FIG. 13 .
- FIG. 13 shows example visualization data 1300 that corresponds to the visualization seen in FIG. 12 .
- This visualization data 1300 can live within a larger data ecosystem where other data structures and data elements stored in the system memory for either or both the visualization platform and narrative analytics are associated in some manner with data elements of the visualization data 1300 .
- the visualization data 1300 may live within a larger ecosystem of baseball data with data structures 1302 for various teams, data structures 1304 for various games, etc.
- Each data structure 1302 , 1304 may include data elements that describe the teams and games.
- the data elements within this data ecosystem may serve as potential drivers for the visualization data's subject measure (in this case, average attendance).
- FIG. 14 shows an example process flow for evaluating potential drivers with respect to a measure shown by a visualization in order to generate a visualization narrative that is focused on the potential drivers.
- a processor processes the visualization data and associated data within the data ecosystem to determine the subject visualization measure and driver candidate options for that visualization measure.
- This step can be performed by first extracting the subject visualization measure from the visualization data and then by selecting the data elements within the ecosystem that bear some form of a relationship with the subject measure. For example, as shown in FIG. 13 , “Average Attendance” can be selected as the subject visualization measure, and data elements such as “Hits”, “Walks”, Home Runs”, and others may be selected as driver candidate options at step 1400 .
- an extension can query the visualization platform for all the other measures currently manifest within the memory of the application. This results in a set of possible “outside measures”.
- FIG. 17A shows an example array that could represent a driver for evaluation (or set of possible drivers if multiple drivers were specified).
- FIG. 15A shows an example of how this step can be performed.
- a user interface menu can be presented on a user computer, and this interface can be configured to guide the user toward defining a driver candidate 1504 for a subject measure 1502 .
- a button 1506 can be provided that responds to user selection by presenting a drop down menu or the like that lists the driver candidate options selected at step 1400 . From this list, a user can select which of the driver candidate options are to be used as driver candidates in generating the accompanying narrative.
- the processor receives user input corresponding to a selection of a driver candidate option to define a specification of a relationship between the subject visualization measure and a driver candidate.
- the user has selected “Home Runs” as the driver candidate, which specifies a relationship where “Average Attendance” could be impacted by “Home Runs”.
- FIG. 16A shows another example user interface menu where multiple driver relationships have been specified.
- the processor maps the specified driver relationship(s) to a driver story configuration within the narrative analytics system.
- the specified driver relationship(s) may be mapped to an “Evaluate Driver” story configuration.
- This story configuration can include a specification of processing logic that is executable to perform linear regression(s) of the independent variable(s) (the selected driver candidate(s)) versus the dependent variable (the subject visualization measure) in order to quantify a potential correlation between the driver candidate(s) and the subject visualization measure, as well as characterization logic (angles) that assess the results of these correlations in narrative terms to be included in the final result.
- step 1406 may operate to map the specified driver relationship to the appropriate special-purpose narrative generation adaptation rather than to a story configuration.
- the processor collects data associated with the driver candidate(s). This data collection can be referred to as an “outside series”.
- the “outside series” data are kept distinct and treated differently from the subject measure because the visualization and accompanying narrative are still focused on the subject measure.
- the additional data from these outside series can be used for regression analysis when evaluating potential driver status, but may not necessarily comprise a major focus of the narrative.
- FIG. 17B shows an example “outside series” data structure.
- Steps 1410 through 1416 then operate to render narrative text from a story configuration as described in connection with the above-referenced and incorporated patents and patent applications.
- the process instantiates the driver story configuration based on the visualization data and the specified drive candidate relationship(s) (using technology as described in the above-referenced and incorporated '385 patent application and the other above-referenced and incorporated patents and patent applications).
- the processor computes the necessary data components for the instantiated driver story configuration.
- this step may include computing the number of home runs for each seasons and computing linear regression parameters for use in assessing the potential influence of each season's home run totals on each season's average attendance.
- This regression analysis uses the raw values of the subject measure (e.g., average attendance) against the raw values of any of the driver candidates (e.g., see FIG. 17B ). The regression analytic looks, first, to assess the overall relationship between all of the driver candidates against the subject measure.
- the processor creates an instantiated narrative outline based on the instantiated driver story configuration and the computed data components.
- This step may include evaluating various angles that may be included in the driver story configuration (such as angles that assess whether a given characterization of the driver candidate is accurate—e.g., an angle corresponding to a “strong relationship between driver and measure” that tests whether the correlation between the measure and driver is above a threshold based on the computed data components; and similar angles corresponding to weak or medium relationships, etc.).
- this outline is defined by the driver story configuration and may exhibit a structure such as a first sentence in a section pertaining to drivers that explains an overall summary of the driver analysis.
- Section pertaining to drivers can then explain which of the driver candidates had the strongest relationship to the subject measure and provide supporting evidence. Still further, other portions of the section pertaining to drivers can call out other results of the calculations that may be relevant to the user's understanding of the relationships of the drivers to the subject metric.
- the processor renders narrative text based on the narrative outline using NLG techniques.
- the rendered narrative text can explain the nature of the relationship between the visualization measure and the driver candidate.
- FIG. 15B depicts an example of such narrative text 1510 for the example case where the number of home runs is evaluated as a potential driver of average MLB attendance by season.
- FIG. 16A depicts an example selection menu for specifying potential driver relationships where the user has provided input for evaluating multiple potential drivers relative to the visualization measure.
- step 1408 would operate to map the specified relationships to a driver story configuration that is designed to evaluate and discuss each specified relationship.
- FIG. 16B shows an example narrative text 1610 that could be produced as a result of the process flow of FIG. 14 applied to the specified relationships of FIG. 16A .
- This narrative text 1610 represents the natural language expression of the outline discussed above in relation to the FIG. 16A example, namely a first sentence that is a summary of the driver analysis:
- Another interactive feature of the system enables users to both enable/disable a particular analytic package from being run in the creation of a narrative as well as to customize when (and how) the results of a particular analytic are expressed in a narrative.
- the user when generating a narrative to accompany a particular visualization, the user will be presented with the available analytics potentially utilized in generating the type of story that would be appropriate to accompany that visualization. For example, when a user is generating a narrative relating to a single line chart, as shown in the FIG. 18 , he or she can be presented with the available analytics for the story type relevant to such a chart.
- this story type will have the analytic packages shown by FIG. 19 available.
- “Segments” in FIG. 19 refers to analytics that would be used to generate content about interesting parts of a time series (e.g., peaks, jumps, troughs).
- the narrative will utilize these analytics by default.
- the narrative can include content about the longest segment of a continuing trend (see FIG. 20 ).
- the data payload When the data payload is sent to the narrative API it contains information about whether or not to utilize this analytic. In this case, it is ‘enabled’ (see FIG. 21 showing an example portion of a data payload structure).
- FIG. 22 shows a case where ‘Segments’ is disabled.
- the content shown in FIG. 20 will, therefore, not appear in the accompanying narrative.
- FIG. 23 shows an example narrative generated when ‘Segments’ is disabled.
- a user can control the conditions under which the results of that analytic will be examined and conveyed in the accompanying narrative.
- segment analytics as described above
- the user can apply a ‘threshold’ that must be met in order for the results of segment analytics to be discussed in the story. This is a percent change that must be met for the corresponding content to appear in the narrative, controlled by the user in this case via a slider (although any appropriate interface mechanism might be used), as illustrated in FIG. 24 .
- the user has indicated (as illustrated in FIG. 25 ) that he or she does not want content about segment analytics to appear in the resulting narrative unless the percent change is higher than 200%.
- the data payload sent to the narrative API would contain information about this threshold (see FIG. 26 showing an example portion of such a data payload structure where the ‘inclusion threshold’ is set to ‘2’ (i.e., 200%)).
- the narrative generation system will then use this information to determine whether or not to discuss the results of a particular analytic in the narrative.
- a narrative generation system such as the Quill system commercialized by Narrative Science
- This derivation is used by the system in assessing the most interesting segment of a common trend in order to determine whether it's overall percent change meets the threshold of 200%. In this case, it does not. Therefore, content discussing the results of this analytic will not be included in the narrative.
- a user can similarly set a threshold to be applied based on the confidence level of the actual trend line as supported by the data. For example, if a general trend can only be identified at the 85% confidence interval, it will not be discussed in the narrative if the inclusion threshold is set at 95%. That is, the general trend must be identified at least a confidence interval of 95% to be included. A user would set this threshold as illustrated in FIG. 28 :
- a user can choose to have the narrative include content about the predicted future movement of the data series (assuming the data fit a statistically significant trend line), as well as specifying how far forward to issue a prediction (see FIG. 29 ).
- the payload sent to the narrative API when invoking the system to generate a narrative includes this information as well (see FIG. 30 showing an example portion of such a data payload structure).
- the narrative system is directed to include content about the prediction; after all calculations have been carried out, the resulting statistical information about the prediction is included in the data and utilized in generating the resulting narrative as illustrated by FIG. 31 .
- a user can also set thresholds for applying appropriate formatting to portions of the narrative. For example, with appropriate thresholds set, a narrative could be generated to appear as shown in FIG. 32 .
- the data payload sent to the narrative API when invoking the narrative generation system contains the appropriate information about the user's preferences, as shown by FIG. 35 .
- a narrative generation system can then use this information to determine how to style content when it is rendered in HTML. For example, the derivation shown in FIG. 36 is used to determine whether certain content should be formatted in this way. If the test is true, appropriate HTML tags will be applied to this content, as shown by FIG. 37 . When the HTML is outputted by our system, the front end display application knows to respect the custom tag to apply the custom formatting chosen by the user, as illustrated in the FIG. 38 .
Abstract
Description
- This patent application is a continuation of U.S. patent application Ser. No. 15/666,151, filed Aug. 1, 2017, and entitled “Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data”, now U.S. Pat. No. ______, which claims priority to U.S. provisional patent application Ser. No. 62/382,063, filed Aug. 31, 2016, and entitled “Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data”, the entire disclosures of each of which are incorporated herein by reference.
- This patent application is also related to (1) U.S. patent application Ser. No. 15/666,168, filed Aug. 1, 2017, and entitled “Applied Artificial Intelligence Technology for Evaluating Drivers of Data Presented in Visualizations”, now U.S. Pat. No. 11,144,838, and (2) U.S. patent application Ser. No. 15/666,192, filed Aug. 1, 2017, and entitled “Applied Artificial Intelligence Technology for Selective Control over Narrative Generation from Visualizations of Data”, now U.S. Pat. No. 10,853,583, the entire disclosures of each of which are incorporated herein by reference.
- Many data visualization software programs enable users to select particular aspects or components of the data presented in a given visualization in order to produce a second, alternative visualization, where this second visualization highlights or presents only those selected aspects/components. Such functionality in the visualization software provides users with some degree of an ability to focus a visualization in an interactive manner. For example,
-
FIG. 1 shows an example visualization that plots the number of wins by major league baseball team for each season from 1980 through 2015. The visualization is presented in the form of a line chart, and more specifically a multi-line chart. The vertical axis corresponds to wins while the horizontal axis corresponds to years (seasons), and each line on the chart corresponds to a different baseball team. As can be seen byFIG. 1 , this multi-line chart is extremely dense in terms of information conveyed, and so rather difficult to understand; a user may therefore want to focus in on certain aspects of this visualization in order to understand it better. - To provide users with such a focus capability, some visualization software platforms provide users with an ability to select specific elements of the visualization. A variety of mechanisms may be utilized to provide such a selection capability (e.g., point and click selections, drop-down menus, modal dialog boxes, buttons, checkboxes, etc.). For example, with reference to
FIG. 1 , a user may want to focus the visualization on a subset of specific teams. To do so, the visualization software performs the process flow ofFIG. 2A . Atstep 200, the software receives a selection indicative of an entity corresponding to one or more of the lines of the line chart. For example, this can be a selection of three teams. Then, atstep 202, the software selects the data elements within the data upon which the visualization is based that correspond(s) to the selection(s) received atstep 200. Once again, continuing with the example where three teams are selected, the software would select the win totals across the subject seasons for the three selected teams. Then, atstep 204, the software re-draws the line chart in a manner that limits the presented data to only the selected data elements (e.g., the lines for the selected teams.FIG. 2B depicts an example visualization that would result fromstep 204 after a user has selected three specific teams—the Atlanta Braves, Detroit Tigers, and New York Mets—for the focused presentation. - Inherent in this conventional approach to interactively focusing visualizations is that the user must be able to directly specify which specific elements of the visualization, and corresponding data, should be the focus of the focusing efforts, in terms of the data and metadata presented by the visualization system itself. This in turn requires that the user know which specific elements of the visualization, expressed in these terms, should be the focus. That is, continuing with the above example, the user needed to know in advance that the Atlanta Braves, Detroit Tigers, and New York Mets were the entities that were to be the subjects of the focus. Presumably, this would be based on knowledge possessed by the user that there was something potentially interesting about these three teams that made them worthy of the focusing effort. The inventors believe this constraint is a significant shortcoming of conventional focusing capabilities of data visualization systems. That is, the ability to focus a visualization on interesting aspects of the visualization via conventional software relies on either prior knowledge by the user about the specific data elements being visualized or the recognition of a specific element of the visualization itself that is worthy of focus (e.g., selecting the lines showing win peaks for teams in 1998 and 2001 that are higher than the peaks for other seasons).
- For this reason, the aspects or components of data that a user may select in these visualization systems are those which are already manifest within the system—specifically, those data or metadata which comprise the initial visualization with respect to which the user is making a selection (or selections) in order to produce a second visualization focusing on just those aspects or components of the data. These include such elements as specific entities or subsets of entities along the x-axis (independent variable) of a bar chart; specific measures (if there is more than one) along the y-axis (dependent variable); specific intervals along the x-axis of a line chart; specific lines in multiple-line charts; etc. In other words, the elements of the data manifest as specific entities in the system, to which a user might refer via some selection process, are limited to those which comprise the raw data or metadata used to construct the initial visualization in the first place.
- In sum, the focus criteria made available by conventional systems are criteria already known and explicitly represented within the visualization data (such as specific teams on the line chart of
FIGS. 1 and 2B )—specifically, again, those data or metadata which comprise the initial visualization with respect to which the user is making a selection (or selections) in order to produce a second visualization focusing on just those aspects or components of the data. - However, the inventors believe that there are many interesting aspects of many instances of base visualization data that are hidden within that data. Unfortunately, conventional visualization systems are unable to provide users with an automated means for discovering these interesting aspects of the data that are worth focusing on, and then specifying what to focus on in terms of these interesting aspects.
- As a solution to this technical problem in the art, the inventors disclose that new data structures and artificial intelligence logic can be utilized in conjunction with visualization systems that support the use of notional specifications of focus criteria. That is, continuing with the example of
FIG. 1 , rather than instructing the visualization software to “Focus on Specific Team A” within the set of teams already manifest in the visualization data (by which we mean both the data being visualized and the metadata that describe those data and the visualization itself), the inventors have invented an approach that defines the focus criteria in terms of characteristics of the visualization data that may not yet be known. By way of example with reference toFIG. 1 , this focusing effort could be “Focus on the Team with the Highest Average Number of Wins per Season”. The actual entity with the highest average number of wins per season is not known by the system ahead of time, but the inventors disclose applied computer technology that allows for a notional specification of such an entity that leads to its actual identification within the visualization data, which in turn can drive a more focused visualization. - As disclosed in commonly-owned U.S. patent application Ser. No. 15/253,385, entitled “Applied Artificial Intelligence Technology for Using Narrative Analytics to Automatically Generate Narratives from Visualization Data”, filed Aug. 31, 2016, and U.S. provisional patent application Ser. No. 62/249,813, entitled “Automatic Generation of Narratives to Accompany Visualizations”, filed Nov. 2, 2015 (the entire disclosures of both of which are incorporated herein by reference), narrative analytics can be used in combination with visualization data in order to carry out the automatic generation of narrative text that provides natural language explanations of that visualization data. Thus, in example embodiments, captions can be automatically generated to accompany a visualization that summarize and explain the important aspects of that visualization in a natural language format. For example,
FIG. 3 shows the visualization ofFIG. 1 paired with anarrative 300 produced via the technology described the above-referenced and incorporated '385 patent application. Thisnarrative 300 serves to summarize and explain important or interesting aspects of the visualization. - The inventors disclose that such narrative analytics technology can be used to generate data structures that represent notional characteristics of the visualization data which in turn can be tied to specific elements of the visualization data to support interactive focusing of visualizations in notional terms that correspond to interesting aspects of the data, as described above.
- The operation of this narrative analytics technology applies narrative analytics to the raw data in order to produce derived features or categories (e.g., aggregate elements such as ranked lists or clusters, aggregate measures such as means, medians, ranges, or measures of volatility, and individual elements of interest such as outliers, etc.) that play a role in determining the appropriate data and characterizations—including in particular derived features, values, or categories themselves—that should be included in the resulting narrative. These narrative analytics are the analytic processes and methods specified in (or by) the system due to their potential relevance to the type of narrative the system has been constructed or configured to produce.
- In regards to the issues presented by the interactive construction of more focused visualizations, the inventors note that, in light of the discussion above, the results of these analytics—which are constructed and explicitly represented as entities within the narrative generation system—constitute entities, both notional and actual, above and beyond those representing the raw data and metadata that comprise the initial visualization itself. Accordingly, the inventors disclose that these explicitly represented notional entities are available for presentation to users for selection (via whatever interface mechanism is preferred) as focus criteria—thereby enabling the construction and presentation of more focused visualizations (as well as more focused narratives) specified in terms of these derived features, not just in terms of the raw data and metadata comprising the initial visualization itself.
- Moreover, in example embodiments, the entities representing these derived features or categories can be represented (and presented to the user) in entirely notional terms—that is, they can represent objects or entities with specific, relevant properties, even if the user (or, for that matter, the system itself) doesn't yet know the actual objects or entities which have those properties. For example, if there is an analytic that computes the percentage increase in some metric over some interval, and additionally, one that ranks actual (input) entities according to this percentage increase, then it is possible to present to the user the possibility of selecting, to produce a more specific and focused visualization (and narrative), the following notional entity: “the (input) entity with the greatest percentage increase in the metric over the interval”—whether or not we know (yet) the actual entity that fits that description. Indeed, by combining this description of the notional entity with appropriate metadata from the initial visualization (concerning, e.g., the nature of the metric and/or of the entities in question) it is possible to present the user with the option of selecting, for a more focused view and narrative: “the company with the greatest percentage increase in revenue over the third quarter.” In either case, this will of course turn out to be some specific company, Company A. But the point is that the user can select this company, and the data about it, simply by selecting the notional reference described in terms of the result of this analytic—i.e., not solely by using the name of the company as manifest in the raw data or metadata comprising the visualization. This is the difference between being able to say, “Tell me about the three teams with the best records,” and “Tell me about the Yankees, the White Sox, and the Red Sox.” You can specify the former without knowing which teams actually fit the bill—in fact the point of the resulting narrative and visualization will be, in part, to inform you of which teams actually fit that description. This enables the user to focus the subsequent visualization (and narrative) by reference to the narratively interesting aspects or components of the data, in purely functional terms.
- Within the context of an example embodiment, the inventors disclose a narrative focus filter that integrates narrative generation technology with visualization systems to focus on the narratively salient elements of the data, as computed by relevant analytics. The narrative focus filter simplifies a complex visualization by not only using a natural language generation system to produce an insightful narrative about the visualization, but by focusing the visualization on a subset of the data based on what is most important to the user, in narrative terms, as described above.
- Further still, in an example embodiment, a narrative is embedded into an existing visualization platform. With such an example embodiment, the interface object presenting the narrative to the user of that platform can be adapted to provide an experience whereby the user is able to focus on a view of the visualization that provides him or her with the most insight. In this sense, the narrative analytics (and in some cases the narrative itself), are what actually provide the selections and filters utilized by the user to determine the focus; the system then translates these into the specific entities actually used by the visualization platform. The result is a seamless integration in which entities that comprise important elements of the narrative accompanying a given visualization can be used to manipulate the visualization itself. Again, it should be noted that the necessary narrative analytics can be performed, and these entities can be made available for such purpose, whether or not a narrative is actually generated or supplied to the user to accompany the visualization.
- The use of automatic narrative generation, or its component technologies such as narrative analytics, linked with a visualization system, can also provide other opportunities to augment a user's ability to focus a visualization, beyond the use of notional entities that may have interesting aspects as described above. In particular, such an approach can make it possible for a user to interactively investigate the drivers (causes or inputs) of particular data presented in the visualization; or to directly select specific analytics to be both presented in the visualization and utilized in constructing the accompanying narrative.
- These and other features and advantages of the present invention will be described hereinafter to those having ordinary skill in the art.
-
FIG. 1 depicts an example screenshot of a visualization generated from a set of visualization data. -
FIG. 2A depicts a process flow for a conventional manner of focusing a visualization. -
FIG. 2B depicts an example screenshot of a focused visualization. -
FIG. 3 depicts an example screenshot of a visualization paired with an automatically generated narrative text that explains and characterizes the visualization. -
FIG. 4 depicts an example process flow for focusing visualizations with the aid of narrative analytics. -
FIG. 5 depicts an example system diagram for focusing visualizations with the aid of narrative analytics. -
FIG. 6 depicts an example screenshot where the visualization and narrative ofFIG. 3 are included with a focus filter button that is selectable by a user to initiate the process of focusing the visualization and/or narrative in a user-defined manner. -
FIG. 7A depicts an example process flow for the logic used to determine focus criteria candidates with respect to a visualization. -
FIG. 7B depicts an example set of visualization data. -
FIG. 7C depicts an example mapping of visualization types to generalized focus options. -
FIG. 7D depicts an example set of generalized focus options that are associated with a visualization type. -
FIG. 7E depict examples of models for metric options from a set of generalized focus options. -
FIG. 8A depicts an example screenshot where the visualization that includes a focus filter menu. -
FIG. 8B depicts an example screenshot where the visualization that includes a focus filter menu where the focus filter menu includes a drop down menu of focus options. -
FIG. 8C depicts an example focus criteria data structure. -
FIG. 9A depicts an example process flow for the logic used to generate a focus configuration for use with a visualization. -
FIG. 9B depicts an example focus configuration data structure. -
FIG. 10 depicts an example screenshot showing a visualization that has been focused based on input received through a focus filter menu. -
FIGS. 11A-C how focused narratives can be generated as part of the visualization focusing effort. -
FIG. 12 depicts another example screenshot of a visualization generated from a set of visualization data. -
FIG. 13 depicts an example data ecosystem that shows relationships that exist between visualization data and other data stored in a system. -
FIG. 14 depicts an example process flow for evaluating potential drivers with respect to a measure shown by a visualization. -
FIG. 15A depicts an example menu for specifying a relationship between a visualization measure and a driver candidate to be evaluated. -
FIG. 15B depicts an example screenshot of a visualization generated from a set of visualization data that is paired with an automatically generated narrative text that explains the results of evaluating the potential driver relationship specified byFIG. 15A . -
FIG. 16A depicts an example menu for specifying a multiple relationships between a visualization measure and multiple driver candidates to be evaluated. -
FIG. 16B depicts an example screenshot of a visualization generated from a set of visualization data that is paired with an automatically generated narrative text that explains the results of evaluating the potential driver relationships specified byFIG. 16A . -
FIG. 17A depicts an example outside measures data structure. -
FIG. 17B depicts an example outside series data structure. -
FIGS. 18-23 depict examples of how analytics and be selectively enabled and disabled in an interactive manner. -
FIGS. 24-27 depict examples of how thresholds for analytics can be interactively controlled. -
FIGS. 28-31 depict examples of how predictive analytics can be selectively enabled and disabled. -
FIGS. 32-38 depict examples of how the formatting of resultant narrative stories can be controlled. -
FIG. 4 depicts an example process flow for focusing visualizations with the aid of narrative analytics. The process flow ofFIG. 4 can be executed by a processor in cooperation with computer memory. For ease of illustration,FIG. 5 depicts an example system for executing the process flow ofFIG. 4 . The system ofFIG. 5 includes avisualization platform 500 andnarrative analytics 510. The visualization platform provides thevisualization data 502 that serves as the source for a visualization produced by the visualization platform. Thenarrative analytics 510 can access thisvisualization data 502 through an application programming interface (API) or other suitable data access/sharing techniques. Examples of visualization platforms that may be suitable for use with the system ofFIG. 5 include the Qlik visualization platform and the Tableau visualization platform. An example of anarrative analytics platform 510 that is suitable for use with the system ofFIG. 5 is the Quill narrative generation platform available from Narrative Science Inc. of Chicago, Ill. Additional details regarding hownarrative analytics platform 510 that can be designed and deployed are described in U.S. patent application Ser. No. 14/521,264, entitled “Automatic Generation of Narratives from Data Using Communication Goals and Narrative Analytics, filed Oct. 22, 2014, U.S. patent application Ser. Nos. 14/211,444 and 14/570,834, and U.S. Pat. Nos. 8,355,903, 8,374,848, 8,630,844, 8,688,434, 8,775,161, 8,843,363, 8,886,520, 8,892,417, 9,576,009, 9,697,197, and 9,697,492, the entire disclosures of each of which are incorporated herein by reference. - The system of
FIG. 5 may employ multiple processors such as a first processor serving as thevisualization platform 500 and a second processor executing thenarrative analytics 510, although this need not be the case. In an example multiple processor environment, the various processors can be resident in networked computer systems. - The process flow of
FIG. 4 describes a technical advance in how a visualization of data can be focused around a notional entity or characteristic even though a user may be unaware of which specific aspects of the visualization correspond to that entity or characteristic. To accomplish this task, a number of new data structures and new processing logic are employed. A data structure is a physical manifestation of information organized within a computing system. Examples of data structures may include data files, records, tables, arrays, trees, objects, and the like. The process flow ofFIG. 4 can be triggered in any of a number of ways. For example, as shown byFIG. 6 , a “focus”button 600 or the like can be included in a visualization interface. In response to user selection of this button, the process flow ofFIG. 4 can be executed. - To begin the focusing effort, the processor at step 400 determines focus criteria candidates based on narratively relevant characteristics of the visualization data. As shown by
FIG. 5 , this step can be performed bylogic 504. The focus criteria candidates are options that provide the user with choices regarding how the visualization is to be focused. At step 400, the system may generate a list of narratively relevant and useful notional entities, represented or described in appropriate and intuitive terms—i.e., at a higher level than those provided by the raw data or metadata themselves—for presentation to the user. Such a list can be generated in a number of ways. - For example, under a first approach, for each type of story potentially generated by the system, or more specifically, for each set of narrative analytics utilized in each such story type, a developer or configurer can examine the set of derived features or entities that might be computed in the course of generating a story of that type. These features or entities will be represented internally by the system as variables or notional entities. The developer or configurer can then determine appropriate language for describing each of these entities to a user, and provide these terms or phrases to the system, each linked to the corresponding internal variable or notional entity, for presentation to the user via a selection mechanism (e.g., a menu) when a story of that type is generated or would be potentially relevant (typically, within this context, to accompany an initial visualization).
- As another example, under a second approach, for each type of story potentially generated by the system, a separate process may traverse the configuration or code for generating a story of that type, in order to automatically determine the derived features or entities that might be computed in the course of generating a story of that type. These can be determined, for example, by examining the derivations used to compute such features by the system, which must reference them in order to provide them with specific values during analysis and story generation. Alternatively, in other implementations, they may explicitly declared as the relevant notional variables for a content block or other element of an outline or configuration representing the rhetorical structure of the story to be generated. However identified, the variables or notional entities that are used to represent those derived features or entities may then be added to the list of narratively relevant entities to be presented to the user for possible selection. They may be included in this list automatically; or they may be presented to a developer or configurer for inclusion on the list. The appropriate language for describing these notional entities for presentation to the user may be automatically copied from the corresponding blueprints or other data structures used to represent the linguistic expressions to be utilized by a narrative generation engine in referring to these entities in actual stories; or such language may be determined explicitly by the developer or configurer.
-
FIG. 7A depicts an example embodiment for step 400. Atstep 700 ofFIG. 7A , the processor processes the visualization data to determine a visualization type, story type or set of appropriate narrative analytics corresponding to that visualization data. The above-referenced and incorporated '385 patent application describes examples of how this determination can be made.FIG. 7B depicts an example data structure forvisualization data 710 in relation to the example screenshot ofFIG. 6 . Thevisualization data 710 includes not only specific data values for the data elements presented on the line charts ofFIG. 6 but also metadata about those data values and the nature of the visualization itself. For example, the data and metadata may include an identification of a chart type (e.g., a line chart), a name for the measure being plotted (e.g., wins), a data array of values for the measure, names for the chart dimensions (e.g., years/seasons and teams), among other forms of data and metadata. It should be understood that this data and metadata can be organized in thedata structure 710 in any of a number of formats.FIG. 7B is merely an example for the purposes of illustration. The appropriate visualization type, story type and/or set of narrative analytics can be determined atstep 700 based on various fields of the data and metadata withinvisualization data 710. For example, thevisualization data structure 710 may include metadata that identifies a chart type for the visualization (e.g., line chart) and other fields may indicate other characteristics of the chart (such as the number of entities/lines for the line chart and whether the line chart is a time series), which in turn indicate the appropriate visualization type, story type and/or set of narrative analytics. - Next, at step 702, the processor selects general focus options based on the determined story type or set of narrative analytics. The system may include data that maps visualization types or story types to general focus options to support step 702. For example, as shown by
FIG. 7C , a table 720 may associatedifferent visualization types 722 with different sets ofgeneral focus options 724. Thus, ifstep 700 results in a determination that the visualization type is a multi-entity line chart that includes a time series, step 702 can select the set of general focus options that are associated with this visualization type by table 720. It should be understood that while the example ofFIG. 7C usesvisualization type 722 as the basis for association withgeneral focus options 724, the data structure could also use a story type or set of narrative analytics found atstep 700 as the basis for selecting associatedgeneral focus options 724. Thus, by way of example,data structure 720 can associate the story type appropriate for a multi-entity line chart that includes a time series with a set ofgeneral focus options 724. Also, whileFIG. 7C shows a table 720 being used for the associations with sets of general focus options, it should be understood that other techniques for association could be used, such as a rules-based approach or others. -
FIG. 7D depicts an example set ofgeneral focus options 724 that could be associated with a visualization type or story type such as that appropriate for or corresponding to a multi-entity time series line chart. Theseoptions 724 can be organized as a data structure that includes the following as a generalized focus expression 730: “Focus on <NUMBER OF ITEMS> <RANK GROUP> <DIMENSION NAME(S)> by the <METRIC> of the <MEASURE> values” as shown byFIG. 7D . Thisfocus expression 730 is characterized as “general” because it has not yet been provided with specific parameters as to the features or aspects of the data or metadata that are to be the subject of the focus effort. An example of a specific focus expression corresponding to this general expression would be: “Focus on the 3 highest ranking teams by the starting value of the wins values”. Another example of a specific focus expression would be “Focus on the 2 lowest ranking teams by the average value of the wins values”. - The tokens in this expression (e.g., <NUMBER OF ITEMS>) are variables whose values will help specify the focus filter to ultimately be applied to the visualization data. These variables can be parameterized to specific values in response to user input and/or automated data processing.
- The variables <NUMBER OF ITEMS> 732 and <RANK GROUP> 734 define a rank criterion for focusing and an associated volume criterion for the rank criterion for the focusing effort. The
data structure 724 can include a specification of options for these variables such as the set {1, 2, 3, . . . } for the <NUMBER OF ITEMS> variable 732 and the set {Highest, Lowest, Median, Most Average, . . . } for the <RANK GROUP> variable 734. A user can then select from among these options to define specific values for these variables. - The variable <DIMENSION NAME(S)> 736 can be specifically parameterized based on the
visualization data 710 that is the subject of the focusing effort. The processor can select the option(s) for this variable based on the data and metadata within thevisualization data 710. For example, with respect to the example ofFIG. 7B , it can be seen that the visualization data includes two dimensions—Year and Teams. These can therefore be the options that are used to determine the specific value(s) of the <DIMENSION NAME(S)> variable 736 in this instance. - The variable <METRIC> 738 can be used to refer to or denote a metric by which the measure values will be evaluated as part of the focusing effort. The
data structure 724 can include a specification of options for the value of this metric variable such as the set {Starting Value, Ending Value, Average Value, Median Value, Percent Change, Absolute Change, Volatility, . . . }, as shown byFIG. 7D . Furthermore, each of these metrics options can be associated with a corresponding model that defines how that metric is to be computed, as shown byFIG. 7E . For example, the Average Value metric option can be associated with anAverage Value Model 750 that defines how an average value will be computed in terms of various input and output parameters. Similarly, the Volatility metric option can be associated with aVolatility Model 752 that defines how volatility will be computed in terms of various input and output parameters. It should be understood that some metric options may be assumed by default to apply to certain elements of the time series (e.g, the Percent Change metric being computed by default as the percent change between the first and last measure of the time series). However, if desired, a practitioner could include additional features whereby a user or automated process can further define constraints on which elements of the time series for which (or over which) metrics such as “percent change”, “absolute change”, etc., are to be computed (e.g., a user-defined time span). - The variable <MEASURE> 740 can be parameterized based on the
visualization data 710 that is the subject of the focusing effort. The processor can select the measure based on the data and metadata within thevisualization data 710. For example, with respect to the example ofFIG. 7B , it can be seen that the visualization data includes “wins” as the measure, and this measure can therefore be used as the value for the <MEASURE> variable 740. - Returning to the process flow of
FIG. 7A , at step 704, the processor specifies the focus options variables that are defined as a function of the visualization data. For example, at step 704, the processor parses thevisualization data 710 to select the options for the <DIMENSION NAME(S)>variable 736 and the identity of the <MEASURE> variable 740 as discussed above. However, it should be understood that in other embodiments, more or fewer variables could be defined as a function of the visualization data. For example, the set of options for the value of the <NUMBER OF ITEMS> variable 732 need not be a predefined list as shown byFIG. 7D and could instead be defined dynamically as a function of a count of how many dimension elements are present in the visualization data (e.g., a count of the number of teams in the example ofFIG. 7B ). - At the conclusion of step 704, the processor has a defined set of focus criteria candidates to use as part of the focusing effort. Returning to
FIGS. 4 and 5 , the processor can next present the determined focus criteria candidates to a user for selection (step 402). By way of example, this presentation can occur through a focus filter menu 506 as shown byFIG. 5 . This focus filter menu 506 can be a structured interactive menu that includes a plurality of fields through which a user can choose from among the various options for various focus variables.FIG. 8A shows an examplefocus filter menu 800 where the menu includesfields FIG. 8B shows how drop down menus (see 820) can be included with thefocus filter menu 800 to provide the user with a list of the available options for the value of each variable determined as a result of the process flow ofFIG. 7 . - At step 404, the processor receives user input that defines selections for the focus criteria candidates available through menu 506. The system now has a specific set of focus criteria to use for its focusing effort.
FIG. 8C shows an example data structure that contains the focus criteria defined in response to the user input at step 404. The example focuscriteria data structure 830 expresses a focus statement of “Focus on the 3 highest ranking teams by the starting value of the wins values”. It should be understood that other formats could be used for the focus criteria data structure if desired by a practitioner. - At step 406, the processor uses the focus criteria in combination with the visualization data to identify data and metadata elements within the visualization data that satisfy the focus criteria.
Logic 508 shown byFIG. 5 can perform this step. For step 406, the narratively relevant notional entities (derived features or entities) are computed in specific terms of the case at hand—i.e., the actual entities filling those roles are determined. For instance, in an example concerning volatility, the level of volatility is assessed for each of the series displayed in the visualization; and then the (in this case) three series with the highest level of volatility are identified in the specific terms utilized by the visualization system (e.g., via the metadata labels denoting these specific entities). These computations may already have been performed by the narrative generation system, or they may be performed on demand when the user selects the notional entity or entities in question to focus on. These computations in a sense carry out a “translation” process, in which a selection by the user of entities expressed in narratively relevant notional terms (or criteria) is transformed into a selection in terms recognizable by the visualization platform itself, i.e., from among the elements of the raw data or meta-data comprising the current visualization. -
FIG. 9 shows an example process flow for thislogic 508. At step 900 ofFIG. 9 , the processor instantiates data structures and code for computing the derived features needed for (or specified by) the focus criteria. Continuing with the previous example of visualization data, if the focus criteria involved finding the 3 teams with the highest volatility in win totals, step 900 can include instantiating data and code for computing the win totals volatility for each team in the visualization data, which would include accessingVolatility Model 752 and mapping the input parameter(s) for the volatility model to specific data elements of the visualization data (e.g., the wins data array) and mapping the output parameter(s) for the volatility model to data structures that hold volatility values. Next, at step 902, the processor computes the necessary data components for the focus criteria based on the instantiated data structures and code. Continuing with the example, at step 902, the processor would use the instantiatedvolatility model 752 to compute a volatility value for each team in the visualization data. Then, at step 904, the processor applies other focus criteria to the computed data components to determine a focus configuration to use for the focusing effort. For example, if the focus criteria specified finding the 3 teams with the highest volatility in win totals, step 904 would operate to sort or rank the computed volatility values for each team and then select the 3 teams with the highest volatility values. The result of step 904 would thus be a focus configuration data structure that identifies the specific elements within the visualization data that satisfy the focus criteria.FIG. 9B shows an example of such a focusconfiguration data structure 910. In the example ofFIG. 9B , the focus criteria was “Focus on the 3 highest ranking teams by the starting value of the wins values”. It can be seen inFIG. 9B that the operation of the process flow ofFIG. 9A resulted in the identification of the “Baltimore Orioles”, “Kansas City Royals”, and “New York Yankees” as the teams that satisfied these focus criteria. - Using this focus configuration data, a call can be made to the visualization platform via a selection API of the visualization platform. When that call and the focus configuration data are received, the visualization platform triggers the selection defined in the focus configuration data and the visualization is updated to reflect the selection of the focused entities via mechanisms within the visualization platform itself (step 408).
FIG. 10 depicts an example screenshot showing how the visualization ofFIG. 1 can be focused on the three teams that exhibited the highest volatility in win totals. - Thus, in contrast to conventional visualization focusing techniques, example embodiments of the invention use innovative new data structures and associated processing logic as discussed above to provide users with a capability to specify focus criteria in entirely notional terms without a requirement that the specific focus criteria be known in advance. The processing logic leverages these new data structures to translate the notional specification of focus criteria into specific components of visualization data that are to be the subject of the focusing effort. The inventors believe this is a significant improvement over conventional visualization focusing technology that requires a user to select specific existing elements of a visualization as the subjects of the focusing effort (e.g., selecting a specific line or team on the chart shown by
FIG. 1 ). - In additional example embodiments, the inventors further disclose that the focus criteria, focus configuration data, and/or focused visualization data can also be used to automatically generate a focused narrative for pairing with the focused visualization.
FIG. 10 shows an example of such afocused narrative 1000.FIG. 11A shows an example process flow that corresponds to the process flow ofFIG. 4 with an added step for invoking a narrative generation platform to generate the focused narrative (step 1110). WhileFIG. 11A shows step 1150 occurring after the focused visualization is generated, it should be understood that step 1150 could occur before the focused visualization is generated and/or be performed in parallel with theFIG. 4 process flow. The above-referenced and incorporated '385 patent application describes technology regarding how narrative analytics can be used to automatically generate narrative texts that summarize and explain visualizations. The inventors further disclose that the narrative generation technology described in the above-referenced and incorporated '385 patent application can be extended to leverage the focusing efforts to also provide an appropriately focused narrative that can accompany the focused visualization. - The narrative generation platform that performs step 1150 can be a highly flexible platform capable of generating multiple types of narrative stories using a common platform that operates on parameterized story configurations (examples of which are described in several of the above-referenced and incorporated patents and patent applications), it should be understood that the narrative generation platform need not necessarily employ such a modular and flexible approach to narrative generation. For example, as discussed in the above-referenced and incorporated '385 patent application, the narrative generation platform may include a number of separate software programs that are coded to generate specific types of stories, and the process flow of
FIG. 11A can decide which of these software programs will be used to generate a story with respect to a given visualization type/story type under consideration for the focusing effort.Appendix 1 also discusses other designs for the narrative generation platform that could be used. That being said, the inventors believe that the use of a highly modular and parameterized narrative generation platform in combination with focusing efforts will be particularly adept and robust when generating focused narrative text that explains a focused visualization in greater detail. As such, the descriptions below will elaborate on step 1150 where a specific story type is expressed, using some specification language, as a configuration for a configurable narrative generation platform or engine, which can then produce narratives of the appropriate type as specified by that configuration. - Focused narrative generation can be triggered in any of a number of ways. For example, the focused narrative generation can use focused visualization data that is provided by the visualization platform in response to its processing of the focus configuration data (see the example process flow of
FIG. 11B whose operation is described in greater detail in the above-referenced and incorporated '385 patent application and wherestep 1100 uses the focused visualization data as its starting point). As another example, if the focusing operation involved mapping a visualization to a story configuration for a narrative generation system, this mapped story configuration can be used as the starting point for narrative generation (seeFIG. 11C ). Under this approach, the narrative generation system can be directly invoked with the appropriate data and metadata, as determined by the focus configuration, in parallel with those data and metadata being supplied to the visualization system to produce a focused visualization. Under either exemplary approach, since the type of data and metadata, including the type of the visualization, remain the same, the same story type can be utilized in generating the focused visualization as was utilized in generating the original visualization, except now parameterized with appropriately restricted data, as described in the above-referenced and incorporated '385 patent application. - Thus, it can be seen that the narrative analytics technology described herein can be used to generate focused visualizations and/or focused narratives that are responsive to a user's notional specification of focus criteria. For example, a first practitioner might find it desirable to use the disclosed narrative generation technology to generate focused visualizations without any pairing with a focused narrative to accompany the focused visualization, while a second practitioner might find it desirable to use the disclosed narrative generation technology to generate both a focused visualizations and a focused narrative that accompanies the focused visualization. Still further, a third practitioner might find it desirable to use the disclosed narrative generation technology to generate a focused narrative that accompanies a visualization but where the visualization itself is not updated in a focused manner.
- Driver Evaluation as the Interaction with a Visualization:
- In additional example embodiments, the inventors further disclose a system that can support driver evaluation when a user interacts with a visualization. As explained in the above-referenced and incorporated U.S. Pat. No. 9,576,009, many measures depicted by data visualizations exhibit values that are driven by other measures, e.g., the values of which may be determined by these other measures. These other measures can be referred to as “drivers”. For example, “drivers” for a revenue measure may include measures such as “units sold” and “price per unit”. The inventors believe that there is a need in the art for technology that uses drivers as the criteria by which to focus a narrative that accompanies a visualization of data.
-
FIG. 12 depicts an example visualization that includes a line chart showing the average attendance for major league baseball teams for each season from 1980 through 2015. The example screenshot ofFIG. 12 also includesnarrative text 1200 that accompanies the visualization. This narrative text, which can be automatically generated via the technology disclosed in the above-referenced and incorporated '385 patent application, explains and summarizes various aspects of the average attendance line chart. The inventors believe that there is a strong need in the art for tools that would help users evaluate potential drivers of the measure shown by the line chart, or of other types of visualizations. In the context of the example ofFIG. 12 , what drivers may influence average attendance at major league baseball games? Is it home runs (where more home runs might be hypothesized to lead to more fan excitement which leads to improved attendance)? Is it the number of hits (under a similar assumption as home runs but where hits are perhaps not deemed as exciting by fans as home runs)? Some other driver? - To support the evaluation of potential drivers as focus criteria, the system can leverage a larger ecosystem of data. In an example embodiment, the user can select one or more measures that could potentially drive the performance of a given subject measure in a visualization. The measures selected as potential drivers can be data or metadata that are manifest within the visualization system and/or narrative analytics system but that are not necessarily reflected in the source visualization data used for the subject visualization presented to the user. An example of this can be seen in
FIG. 13 . -
FIG. 13 showsexample visualization data 1300 that corresponds to the visualization seen inFIG. 12 . Thisvisualization data 1300 can live within a larger data ecosystem where other data structures and data elements stored in the system memory for either or both the visualization platform and narrative analytics are associated in some manner with data elements of thevisualization data 1300. For example, thevisualization data 1300 may live within a larger ecosystem of baseball data withdata structures 1302 for various teams,data structures 1304 for various games, etc. Eachdata structure -
FIG. 14 shows an example process flow for evaluating potential drivers with respect to a measure shown by a visualization in order to generate a visualization narrative that is focused on the potential drivers. - At
step 1400, a processor processes the visualization data and associated data within the data ecosystem to determine the subject visualization measure and driver candidate options for that visualization measure. This step can be performed by first extracting the subject visualization measure from the visualization data and then by selecting the data elements within the ecosystem that bear some form of a relationship with the subject measure. For example, as shown inFIG. 13 , “Average Attendance” can be selected as the subject visualization measure, and data elements such as “Hits”, “Walks”, Home Runs”, and others may be selected as driver candidate options atstep 1400. In an example embodiment, an extension can query the visualization platform for all the other measures currently manifest within the memory of the application. This results in a set of possible “outside measures”. The names of these measures will be what the user sees in the user interface when selecting driver options. The raw data values of these measures will be used when performing regression analysis to assess the nature of the relationship between the potential driver and the visualization measure.FIG. 17A shows an example array that could represent a driver for evaluation (or set of possible drivers if multiple drivers were specified). - At step 1402, the selected driver candidate options are presented to a user.
FIG. 15A shows an example of how this step can be performed. A user interface menu can be presented on a user computer, and this interface can be configured to guide the user toward defining adriver candidate 1504 for asubject measure 1502. Abutton 1506 can be provided that responds to user selection by presenting a drop down menu or the like that lists the driver candidate options selected atstep 1400. From this list, a user can select which of the driver candidate options are to be used as driver candidates in generating the accompanying narrative. - At
step 1404, the processor receives user input corresponding to a selection of a driver candidate option to define a specification of a relationship between the subject visualization measure and a driver candidate. In the example ofFIG. 15A , the user has selected “Home Runs” as the driver candidate, which specifies a relationship where “Average Attendance” could be impacted by “Home Runs”.FIG. 16A shows another example user interface menu where multiple driver relationships have been specified. - At step 1406, the processor maps the specified driver relationship(s) to a driver story configuration within the narrative analytics system. For example, the specified driver relationship(s) may be mapped to an “Evaluate Driver” story configuration. This story configuration can include a specification of processing logic that is executable to perform linear regression(s) of the independent variable(s) (the selected driver candidate(s)) versus the dependent variable (the subject visualization measure) in order to quantify a potential correlation between the driver candidate(s) and the subject visualization measure, as well as characterization logic (angles) that assess the results of these correlations in narrative terms to be included in the final result. Also, as mentioned above, in an embodiment where the narrative generation platform employs special-purpose, story type-specific adaptations of the narrative generation software rather than a configurable general purpose platform, it should be understood that step 1406 may operate to map the specified driver relationship to the appropriate special-purpose narrative generation adaptation rather than to a story configuration.
- At
step 1408, the processor collects data associated with the driver candidate(s). This data collection can be referred to as an “outside series”. The “outside series” data are kept distinct and treated differently from the subject measure because the visualization and accompanying narrative are still focused on the subject measure. The additional data from these outside series can be used for regression analysis when evaluating potential driver status, but may not necessarily comprise a major focus of the narrative.FIG. 17B shows an example “outside series” data structure. - Steps 1410 through 1416 then operate to render narrative text from a story configuration as described in connection with the above-referenced and incorporated patents and patent applications.
- At step 1410, the process instantiates the driver story configuration based on the visualization data and the specified drive candidate relationship(s) (using technology as described in the above-referenced and incorporated '385 patent application and the other above-referenced and incorporated patents and patent applications).
- Then, at step 1412, the processor computes the necessary data components for the instantiated driver story configuration. Continuing with the example where the driver story configuration is geared around evaluating how average attendance could be impacted by home runs, this step may include computing the number of home runs for each seasons and computing linear regression parameters for use in assessing the potential influence of each season's home run totals on each season's average attendance. This regression analysis uses the raw values of the subject measure (e.g., average attendance) against the raw values of any of the driver candidates (e.g., see
FIG. 17B ). The regression analytic looks, first, to assess the overall relationship between all of the driver candidates against the subject measure. - At step 1414, the processor creates an instantiated narrative outline based on the instantiated driver story configuration and the computed data components. This step may include evaluating various angles that may be included in the driver story configuration (such as angles that assess whether a given characterization of the driver candidate is accurate—e.g., an angle corresponding to a “strong relationship between driver and measure” that tests whether the correlation between the measure and driver is above a threshold based on the computed data components; and similar angles corresponding to weak or medium relationships, etc.). In an example drawn from
FIG. 16A , this outline is defined by the driver story configuration and may exhibit a structure such as a first sentence in a section pertaining to drivers that explains an overall summary of the driver analysis. Subsequent parts of the section pertaining to drivers can then explain which of the driver candidates had the strongest relationship to the subject measure and provide supporting evidence. Still further, other portions of the section pertaining to drivers can call out other results of the calculations that may be relevant to the user's understanding of the relationships of the drivers to the subject metric. - At
step 1416, the processor renders narrative text based on the narrative outline using NLG techniques. The rendered narrative text can explain the nature of the relationship between the visualization measure and the driver candidate.FIG. 15B depicts an example ofsuch narrative text 1510 for the example case where the number of home runs is evaluated as a potential driver of average MLB attendance by season. -
FIG. 16A depicts an example selection menu for specifying potential driver relationships where the user has provided input for evaluating multiple potential drivers relative to the visualization measure. In an example such as this,step 1408 would operate to map the specified relationships to a driver story configuration that is designed to evaluate and discuss each specified relationship.FIG. 16B shows anexample narrative text 1610 that could be produced as a result of the process flow ofFIG. 14 applied to the specified relationships ofFIG. 16A . Thisnarrative text 1610 represents the natural language expression of the outline discussed above in relation to theFIG. 16A example, namely a first sentence that is a summary of the driver analysis: -
- “HRs per Team, Walks per Game, and Hits per Game each had a strong relationship with the value of attendance . . . ”
a second section that discusses each driver candidate: - “ . . . but HRs per Team had the most definitive relationship. Specifically, when HRs per Team increased by 1, attendance increased 10,035. There may be other factors at play, but there is evidence of a very strong relationship.”
and a third section that presents some additional relevant information relating to the driver analysis: - “Keep in mind that the uneven predictive power of Hits per Game, HRs per Team, Walks per Game on attendance (non-normal residuals) suggests that there may other factors at play besides those three.”
- “HRs per Team, Walks per Game, and Hits per Game each had a strong relationship with the value of attendance . . . ”
- Another interactive feature of the system enables users to both enable/disable a particular analytic package from being run in the creation of a narrative as well as to customize when (and how) the results of a particular analytic are expressed in a narrative.
- Specifically, when generating a narrative to accompany a particular visualization, the user will be presented with the available analytics potentially utilized in generating the type of story that would be appropriate to accompany that visualization. For example, when a user is generating a narrative relating to a single line chart, as shown in the
FIG. 18 , he or she can be presented with the available analytics for the story type relevant to such a chart. - In this example, this story type will have the analytic packages shown by
FIG. 19 available. “Segments” inFIG. 19 refers to analytics that would be used to generate content about interesting parts of a time series (e.g., peaks, jumps, troughs). The narrative will utilize these analytics by default. For example, the narrative can include content about the longest segment of a continuing trend (seeFIG. 20 ). - When the data payload is sent to the narrative API it contains information about whether or not to utilize this analytic. In this case, it is ‘enabled’ (see
FIG. 21 showing an example portion of a data payload structure). - However, a user could choose to ‘disable’ any of these analytic packages. The example of
FIG. 22 shows a case where ‘Segments’ is disabled. The content shown inFIG. 20 will, therefore, not appear in the accompanying narrative.FIG. 23 shows an example narrative generated when ‘Segments’ is disabled. - In addition to enabling/disabling a particular analytic, a user can control the conditions under which the results of that analytic will be examined and conveyed in the accompanying narrative. Here we present an example of what a user sees when he or she digs into a particular analytic (segment analytics, as described above) in order to achieve this level of control.
- Specifically, the user can apply a ‘threshold’ that must be met in order for the results of segment analytics to be discussed in the story. This is a percent change that must be met for the corresponding content to appear in the narrative, controlled by the user in this case via a slider (although any appropriate interface mechanism might be used), as illustrated in
FIG. 24 . - In this (perhaps somewhat extreme) example, the user has indicated (as illustrated in
FIG. 25 ) that he or she does not want content about segment analytics to appear in the resulting narrative unless the percent change is higher than 200%. When a user applies this sort of customization, the data payload sent to the narrative API would contain information about this threshold (seeFIG. 26 showing an example portion of such a data payload structure where the ‘inclusion threshold’ is set to ‘2’ (i.e., 200%)). - The narrative generation system will then use this information to determine whether or not to discuss the results of a particular analytic in the narrative. For example, a narrative generation system (such as the Quill system commercialized by Narrative Science) can employ a ‘derivation’ that determines whether a particular segment meets the specified criteria (see
FIG. 27 ). - This derivation is used by the system in assessing the most interesting segment of a common trend in order to determine whether it's overall percent change meets the threshold of 200%. In this case, it does not. Therefore, content discussing the results of this analytic will not be included in the narrative.
- Continuing with our original example, another set of analytics potentially relevant in narratives appropriate for continuous data, e.g., time series, as typically conveyed in line charts, concerns trend lines. For this ‘Trend line” analytic, a user can similarly set a threshold to be applied based on the confidence level of the actual trend line as supported by the data. For example, if a general trend can only be identified at the 85% confidence interval, it will not be discussed in the narrative if the inclusion threshold is set at 95%. That is, the general trend must be identified at least a confidence interval of 95% to be included. A user would set this threshold as illustrated in
FIG. 28 : - Also pertaining to the results of the “Trend Line” analytic, a user can choose to have the narrative include content about the predicted future movement of the data series (assuming the data fit a statistically significant trend line), as well as specifying how far forward to issue a prediction (see
FIG. 29 ). When a user supplies this configuration, the payload sent to the narrative API when invoking the system to generate a narrative includes this information as well (seeFIG. 30 showing an example portion of such a data payload structure). With this information included, the narrative system is directed to include content about the prediction; after all calculations have been carried out, the resulting statistical information about the prediction is included in the data and utilized in generating the resulting narrative as illustrated byFIG. 31 . - In addition to supplying thresholds for the inclusion of content in a narrative, a user can also set thresholds for applying appropriate formatting to portions of the narrative. For example, with appropriate thresholds set, a narrative could be generated to appear as shown in
FIG. 32 . - As can be seen, in this narrative the text describing positive changes is highlighted in green, while the text describing negative changes is highlighted in red. In order to achieve this effect, a user first applies the formatting rules for ‘good changes’ and ‘bad changes’. These choices are then used when generating the narrative once a user chooses to enable formatting, as illustrated in
FIG. 33 . - When a user is customizing his or her analytics, he or she can choose to apply this sort of formatting to the content, and then set the percentage change that must be met in order to apply the formatting, as illustrated in
FIG. 34 . - When this configuration is supplied by a user, the data payload sent to the narrative API when invoking the narrative generation system contains the appropriate information about the user's preferences, as shown by
FIG. 35 . - A narrative generation system can then use this information to determine how to style content when it is rendered in HTML. For example, the derivation shown in
FIG. 36 is used to determine whether certain content should be formatted in this way. If the test is true, appropriate HTML tags will be applied to this content, as shown byFIG. 37 . When the HTML is outputted by our system, the front end display application knows to respect the custom tag to apply the custom formatting chosen by the user, as illustrated in theFIG. 38 . - While the invention has been described above in relation to its example embodiments, various modifications may be made thereto that still fall within the invention's scope. Such modifications to the invention will be recognizable upon review of the teachings herein.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/750,559 US20220284195A1 (en) | 2016-08-31 | 2022-05-23 | Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662382063P | 2016-08-31 | 2016-08-31 | |
US15/666,151 US11341338B1 (en) | 2016-08-31 | 2017-08-01 | Applied artificial intelligence technology for interactively using narrative analytics to focus and control visualizations of data |
US17/750,559 US20220284195A1 (en) | 2016-08-31 | 2022-05-23 | Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/666,151 Continuation US11341338B1 (en) | 2014-10-22 | 2017-08-01 | Applied artificial intelligence technology for interactively using narrative analytics to focus and control visualizations of data |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220284195A1 true US20220284195A1 (en) | 2022-09-08 |
Family
ID=73554631
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/666,168 Active 2040-05-19 US11144838B1 (en) | 2016-08-31 | 2017-08-01 | Applied artificial intelligence technology for evaluating drivers of data presented in visualizations |
US15/666,151 Active US11341338B1 (en) | 2014-10-22 | 2017-08-01 | Applied artificial intelligence technology for interactively using narrative analytics to focus and control visualizations of data |
US15/666,192 Active US10853583B1 (en) | 2016-08-31 | 2017-08-01 | Applied artificial intelligence technology for selective control over narrative generation from visualizations of data |
US17/750,559 Abandoned US20220284195A1 (en) | 2016-08-31 | 2022-05-23 | Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/666,168 Active 2040-05-19 US11144838B1 (en) | 2016-08-31 | 2017-08-01 | Applied artificial intelligence technology for evaluating drivers of data presented in visualizations |
US15/666,151 Active US11341338B1 (en) | 2014-10-22 | 2017-08-01 | Applied artificial intelligence technology for interactively using narrative analytics to focus and control visualizations of data |
US15/666,192 Active US10853583B1 (en) | 2016-08-31 | 2017-08-01 | Applied artificial intelligence technology for selective control over narrative generation from visualizations of data |
Country Status (1)
Country | Link |
---|---|
US (4) | US11144838B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11741301B2 (en) | 2010-05-13 | 2023-08-29 | Narrative Science Inc. | System and method for using data and angles to automatically generate a narrative story |
US11790164B2 (en) | 2011-01-07 | 2023-10-17 | Narrative Science Inc. | Configurable and portable system for generating narratives |
US11816438B2 (en) | 2018-01-02 | 2023-11-14 | Narrative Science Inc. | Context saliency-based deictic parser for natural language processing |
US11816435B1 (en) | 2018-02-19 | 2023-11-14 | Narrative Science Inc. | Applied artificial intelligence technology for contextualizing words to a knowledge base using natural language processing |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9208147B1 (en) | 2011-01-07 | 2015-12-08 | Narrative Science Inc. | Method and apparatus for triggering the automatic generation of narratives |
US10185477B1 (en) | 2013-03-15 | 2019-01-22 | Narrative Science Inc. | Method and system for configuring automatic generation of narratives from data |
US9720899B1 (en) | 2011-01-07 | 2017-08-01 | Narrative Science, Inc. | Automatic generation of narratives from data using communication goals and narrative analytics |
US11238090B1 (en) | 2015-11-02 | 2022-02-01 | Narrative Science Inc. | Applied artificial intelligence technology for using narrative analytics to automatically generate narratives from visualization data |
US11922344B2 (en) | 2014-10-22 | 2024-03-05 | Narrative Science Llc | Automatic generation of narratives from data using communication goals and narrative analytics |
US11475076B2 (en) | 2014-10-22 | 2022-10-18 | Narrative Science Inc. | Interactive and conversational data exploration |
US11222184B1 (en) | 2015-11-02 | 2022-01-11 | Narrative Science Inc. | Applied artificial intelligence technology for using narrative analytics to automatically generate narratives from bar charts |
US11188588B1 (en) | 2015-11-02 | 2021-11-30 | Narrative Science Inc. | Applied artificial intelligence technology for using narrative analytics to interactively generate narratives from visualization data |
US11232268B1 (en) | 2015-11-02 | 2022-01-25 | Narrative Science Inc. | Applied artificial intelligence technology for using narrative analytics to automatically generate narratives from line charts |
US11144838B1 (en) | 2016-08-31 | 2021-10-12 | Narrative Science Inc. | Applied artificial intelligence technology for evaluating drivers of data presented in visualizations |
US10943069B1 (en) | 2017-02-17 | 2021-03-09 | Narrative Science Inc. | Applied artificial intelligence technology for narrative generation based on a conditional outcome framework |
US11068661B1 (en) | 2017-02-17 | 2021-07-20 | Narrative Science Inc. | Applied artificial intelligence technology for narrative generation based on smart attributes |
US11954445B2 (en) | 2017-02-17 | 2024-04-09 | Narrative Science Llc | Applied artificial intelligence technology for narrative generation based on explanation communication goals |
US11568148B1 (en) | 2017-02-17 | 2023-01-31 | Narrative Science Inc. | Applied artificial intelligence technology for narrative generation based on explanation communication goals |
US10963649B1 (en) | 2018-01-17 | 2021-03-30 | Narrative Science Inc. | Applied artificial intelligence technology for narrative generation using an invocable analysis service and configuration-driven analytics |
US11232270B1 (en) | 2018-06-28 | 2022-01-25 | Narrative Science Inc. | Applied artificial intelligence technology for using natural language processing to train a natural language generation system with respect to numeric style features |
BR112021010468A2 (en) * | 2018-12-31 | 2021-08-24 | Intel Corporation | Security Systems That Employ Artificial Intelligence |
US11341330B1 (en) | 2019-01-28 | 2022-05-24 | Narrative Science Inc. | Applied artificial intelligence technology for adaptive natural language understanding with term discovery |
US11394799B2 (en) | 2020-05-07 | 2022-07-19 | Freeman Augustus Jackson | Methods, systems, apparatuses, and devices for facilitating for generation of an interactive story based on non-interactive data |
CN112905166B (en) * | 2021-03-04 | 2024-04-05 | 青岛海科智汇信息科技有限公司 | Artificial intelligence programming system, computer device, and computer-readable storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282184A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Generating an insight view while maintaining report context |
US20150039537A1 (en) * | 2013-08-02 | 2015-02-05 | Microsoft Corporation | Automatic recognition and insights of data |
US20170177559A1 (en) * | 2014-01-30 | 2017-06-22 | Microsoft Technology Licensing, Llc. | Automatic insights for spreadsheets |
US20190095499A1 (en) * | 2017-09-22 | 2019-03-28 | Amazon Technologies, Inc. | Data reporting system and method |
Family Cites Families (273)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4992939A (en) | 1988-08-05 | 1991-02-12 | Tyler Brian G | Method of producing narrative analytical report |
US6278967B1 (en) | 1992-08-31 | 2001-08-21 | Logovista Corporation | Automated system for generating natural language translations that are domain-specific, grammar rule-based, and/or based on part-of-speech analysis |
US5734916A (en) | 1994-06-01 | 1998-03-31 | Screenplay Systems, Inc. | Method and apparatus for identifying, predicting, and reporting object relationships |
US5794050A (en) | 1995-01-04 | 1998-08-11 | Intelligent Text Processing, Inc. | Natural language understanding system |
WO1996030844A1 (en) | 1995-03-28 | 1996-10-03 | Takashi Ogata | Support system for automation of story structure preparation |
US5619631A (en) | 1995-06-07 | 1997-04-08 | Binaryblitz | Method and apparatus for data alteration by manipulation of representational graphs |
US6006175A (en) | 1996-02-06 | 1999-12-21 | The Regents Of The University Of California | Methods and apparatus for non-acoustic speech characterization and recognition |
US5802495A (en) | 1996-03-01 | 1998-09-01 | Goltra; Peter | Phrasing structure for the narrative display of findings |
US6289363B1 (en) | 1996-08-23 | 2001-09-11 | International Business Machines Corporation | Navigation editor framework for building mulitmedia titles |
US6144938A (en) | 1998-05-01 | 2000-11-07 | Sun Microsystems, Inc. | Voice user interface with personality |
US6141010A (en) | 1998-07-17 | 2000-10-31 | B. E. Technology, Llc | Computer interface method and apparatus with targeted advertising |
US6842877B2 (en) | 1998-12-18 | 2005-01-11 | Tangis Corporation | Contextual responses based on automated learning techniques |
US6651218B1 (en) | 1998-12-22 | 2003-11-18 | Xerox Corporation | Dynamic content database for multiple document genres |
US6665666B1 (en) | 1999-10-26 | 2003-12-16 | International Business Machines Corporation | System, method and program product for answering questions using a search engine |
US6968316B1 (en) | 1999-11-03 | 2005-11-22 | Sageworks, Inc. | Systems, methods and computer program products for producing narrative financial analysis reports |
US7392185B2 (en) | 1999-11-12 | 2008-06-24 | Phoenix Solutions, Inc. | Speech based learning/training system using semantic decoding |
US6976031B1 (en) | 1999-12-06 | 2005-12-13 | Sportspilot, Inc. | System and method for automatically generating a narrative report of an event, such as a sporting event |
US7333967B1 (en) | 1999-12-23 | 2008-02-19 | International Business Machines Corporation | Method and system for automatic computation creativity and specifically for story generation |
US6757362B1 (en) | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
US7246315B1 (en) | 2000-05-10 | 2007-07-17 | Realtime Drama, Inc. | Interactive personal narrative agent system and method |
CA2408819C (en) | 2000-05-11 | 2006-11-07 | University Of Southern California | Machine translation techniques |
JP2001338117A (en) | 2000-05-25 | 2001-12-07 | Internatl Business Mach Corp <Ibm> | Server, information communication terminal, method for managing sales of commodity, storage medium and program transmission device |
US7136791B2 (en) | 2000-10-24 | 2006-11-14 | International Business Machines Corporation | Story-based organizational assessment and effect system |
US7027974B1 (en) | 2000-10-27 | 2006-04-11 | Science Applications International Corporation | Ontology-based parser for natural language processing |
DE10059430A1 (en) | 2000-11-30 | 2002-06-06 | Cognis Deutschland Gmbh | Finely divided emulsions |
US20060129933A1 (en) | 2000-12-19 | 2006-06-15 | Sparkpoint Software, Inc. | System and method for multimedia authoring and playback |
US6714939B2 (en) | 2001-01-08 | 2004-03-30 | Softface, Inc. | Creation of structured data from plain text |
GB2372864B (en) | 2001-02-28 | 2005-09-07 | Vox Generation Ltd | Spoken language interface |
US20030004706A1 (en) | 2001-06-27 | 2003-01-02 | Yale Thomas W. | Natural language processing system and method for knowledge management |
US7075536B1 (en) | 2001-07-13 | 2006-07-11 | Cisco Technology, Inc. | Incremental plotting of network topologies and other graphs through use of markup language |
US20030061029A1 (en) | 2001-08-29 | 2003-03-27 | Efraim Shaket | Device for conducting expectation based mixed initiative natural language dialogs |
AU2003216329A1 (en) | 2002-02-15 | 2003-09-09 | Mathsoft Engineering And Education, Inc. | Linguistic support for a regognizer of mathematical expressions |
WO2003077152A2 (en) | 2002-03-04 | 2003-09-18 | University Of Southern California | Sentence generator |
US7526424B2 (en) | 2002-03-20 | 2009-04-28 | Microsoft Corporation | Sentence realization model for a natural language generation system |
BR0309402A (en) | 2002-04-19 | 2005-02-01 | Computer Ass Think Inc | Method for processing numeric data, method for operating numeric format, system for numeric format operation, computer readable means for performing numeric format operation, and system for processing numeric data in a computer document |
US7805302B2 (en) | 2002-05-20 | 2010-09-28 | Microsoft Corporation | Applying a structured language model to information extraction |
US6917936B2 (en) | 2002-12-18 | 2005-07-12 | Xerox Corporation | Method and apparatus for measuring similarity between documents |
US7890336B2 (en) | 2003-01-13 | 2011-02-15 | Northwestern University | Interactive task-sensitive assistant |
US7917382B2 (en) * | 2003-03-05 | 2011-03-29 | Teradata Us, Inc. | Integration of visualizations, reports, and data |
US7825929B2 (en) * | 2003-04-04 | 2010-11-02 | Agilent Technologies, Inc. | Systems, tools and methods for focus and context viewing of large collections of graphs |
US7840448B2 (en) | 2003-05-07 | 2010-11-23 | Cbs Interactive Inc. | System and method for automatically generating a narrative product summary |
US8019656B2 (en) | 2003-05-07 | 2011-09-13 | Cbs Interactive Inc. | System and method for generating an alternative product recommendation |
US20040255232A1 (en) | 2003-06-11 | 2004-12-16 | Northwestern University | Networked presentation system |
US7836010B2 (en) | 2003-07-30 | 2010-11-16 | Northwestern University | Method and system for assessing relevant properties of work contexts for use by information services |
US7895595B2 (en) | 2003-07-30 | 2011-02-22 | Northwestern University | Automatic method and system for formulating and transforming representations of context used by information services |
US7475010B2 (en) | 2003-09-03 | 2009-01-06 | Lingospot, Inc. | Adaptive and scalable method for resolving natural language ambiguities |
US20050125213A1 (en) | 2003-12-04 | 2005-06-09 | Yin Chen | Apparatus, system, and method for modeling and analyzing a plurality of computing workloads |
US7587307B2 (en) | 2003-12-18 | 2009-09-08 | Xerox Corporation | Method and apparatus for evaluating machine translation quality |
FR2864858A1 (en) | 2004-01-06 | 2005-07-08 | Thomson Licensing Sa | Multimedia document digest creating device for viewing e.g. video recordings, has weighing module to weigh multimedia documents, and multimedia document digest creating module to create digest of multimedia documents |
US8612208B2 (en) | 2004-04-07 | 2013-12-17 | Oracle Otc Subsidiary Llc | Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query |
WO2005122042A2 (en) | 2004-06-02 | 2005-12-22 | Catalis, Inc. | Method and system for generating medical narrative |
US7496621B2 (en) | 2004-07-14 | 2009-02-24 | International Business Machines Corporation | Method, program, and apparatus for natural language generation |
US7577634B2 (en) | 2004-08-05 | 2009-08-18 | First Look Networks Llc | Method and apparatus for automatically providing expert analysis-based advice |
US20060101335A1 (en) | 2004-11-08 | 2006-05-11 | Pisciottano Maurice A | Method and apparatus for generating and storing data and for generating a narrative report |
US7865496B1 (en) | 2004-11-30 | 2011-01-04 | Schiller Victor H | Systems, device, and methods for searching |
US7778895B1 (en) | 2004-12-15 | 2010-08-17 | Intuit Inc. | User interface for displaying imported tax data in association with tax line assignments |
US7930169B2 (en) | 2005-01-14 | 2011-04-19 | Classified Ventures, Llc | Methods and systems for generating natural language descriptions from data |
US20060218485A1 (en) * | 2005-03-25 | 2006-09-28 | Daniel Blumenthal | Process for automatic data annotation, selection, and utilization |
US20070136657A1 (en) | 2005-03-25 | 2007-06-14 | Daniel Blumenthal | Process for Automatic Data Annotation, Selection, and Utilization. |
US20060253783A1 (en) | 2005-05-09 | 2006-11-09 | Microsoft Corporation | Story template structures associated with story enhancing content and rules |
EP1879673A4 (en) | 2005-05-11 | 2010-11-03 | Planetwide Games Inc | Creating publications using gaming-based media content |
US8666928B2 (en) | 2005-08-01 | 2014-03-04 | Evi Technologies Limited | Knowledge repository |
US20070132767A1 (en) | 2005-11-30 | 2007-06-14 | William Wright | System and method for generating stories in time and space and for analysis of story patterns in an integrated visual representation on a user interface |
US8977953B1 (en) | 2006-01-27 | 2015-03-10 | Linguastat, Inc. | Customizing information by combining pair of annotations from at least two different documents |
WO2007130716A2 (en) | 2006-01-31 | 2007-11-15 | Intellext, Inc. | Methods and apparatus for computerized searching |
WO2007116204A1 (en) | 2006-04-11 | 2007-10-18 | Iti Scotland Limited | Information extraction methods and apparatus including a computer-user interface |
US20070250479A1 (en) | 2006-04-20 | 2007-10-25 | Christopher Lunt | System and Method For Facilitating Collaborative Generation of Life Stories |
WO2007124057A2 (en) | 2006-04-21 | 2007-11-01 | Raytheon Company | Computer program generating |
US8024666B2 (en) | 2006-06-30 | 2011-09-20 | Business Objects Software Ltd. | Apparatus and method for visualizing data |
US7716116B2 (en) | 2006-11-02 | 2010-05-11 | Vhs, Llc | System, report, and computer-readable medium for analyzing a stock portfolio |
US20080140696A1 (en) | 2006-12-07 | 2008-06-12 | Pantheon Systems, Inc. | System and method for analyzing data sources to generate metadata |
CA2578980A1 (en) * | 2007-02-19 | 2008-08-19 | Cognos Incorporated | System and method of report rendering |
WO2008121930A1 (en) | 2007-03-29 | 2008-10-09 | Nesticon, Llc | Creating a report having computer generated narrative text |
US20080256066A1 (en) | 2007-04-10 | 2008-10-16 | Tikatok Inc. | Book creation systems and methods |
US8934717B2 (en) | 2007-06-05 | 2015-01-13 | Intellectual Ventures Fund 83 Llc | Automatic story creation using semantic classifiers for digital assets and associated metadata |
US7856390B2 (en) | 2007-06-06 | 2010-12-21 | Vhs, Llc | System, report, and method for generating natural language news-based stories |
US8494944B2 (en) | 2007-06-06 | 2013-07-23 | O2 Media, LLC | System, report, and method for generating natural language news-based stories |
US20080313130A1 (en) | 2007-06-14 | 2008-12-18 | Northwestern University | Method and System for Retrieving, Selecting, and Presenting Compelling Stories form Online Sources |
US8548996B2 (en) | 2007-06-29 | 2013-10-01 | Pulsepoint, Inc. | Ranking content items related to an event |
US9535911B2 (en) | 2007-06-29 | 2017-01-03 | Pulsepoint, Inc. | Processing a content item with regard to an event |
GB0718259D0 (en) | 2007-09-19 | 2007-10-31 | Olton Ltd | Apparatus and method for information processing |
CA2639720A1 (en) | 2007-09-21 | 2009-03-21 | Neurolanguage Corporation | Community based internet language training providing flexible content delivery |
US8838659B2 (en) | 2007-10-04 | 2014-09-16 | Amazon Technologies, Inc. | Enhanced knowledge repository |
WO2009047570A1 (en) | 2007-10-10 | 2009-04-16 | Iti Scotland Limited | Information extraction apparatus and methods |
JP2011501847A (en) | 2007-10-17 | 2011-01-13 | アイティーアイ・スコットランド・リミテッド | Computer-implemented method |
US8594996B2 (en) | 2007-10-17 | 2013-11-26 | Evri Inc. | NLP-based entity recognition and disambiguation |
US20090119584A1 (en) | 2007-11-02 | 2009-05-07 | Steve Herbst | Software Tool for Creating Outlines and Mind Maps that Generates Subtopics Automatically |
US8077984B2 (en) | 2008-01-04 | 2011-12-13 | Xerox Corporation | Method for computing similarity between text spans using factored word sequence kernels |
US8762285B2 (en) | 2008-01-06 | 2014-06-24 | Yahoo! Inc. | System and method for message clustering |
US8046226B2 (en) | 2008-01-18 | 2011-10-25 | Cyberpulse, L.L.C. | System and methods for reporting |
WO2009105277A1 (en) | 2008-02-22 | 2009-08-27 | Socialrep, Llc | System and method for measuring and managing distributed online conversations |
US8463594B2 (en) | 2008-03-21 | 2013-06-11 | Sauriel Llc | System and method for analyzing text using emotional intelligence factors |
US8719256B2 (en) | 2008-05-01 | 2014-05-06 | Chacha Search, Inc | Method and system for improvement of request processing |
US8949377B2 (en) | 2008-05-21 | 2015-02-03 | The Delfin Project, Inc. | Management system for a conversational system |
WO2009154484A2 (en) | 2008-06-20 | 2009-12-23 | Business Intelligence Solutions Safe B.V. | Methods, apparatus and systems for data visualization and related applications |
US8812311B2 (en) | 2008-10-27 | 2014-08-19 | Frank Elmo Weber | Character-based automated shot summarization |
US8442940B1 (en) * | 2008-11-18 | 2013-05-14 | Semantic Research, Inc. | Systems and methods for pairing of a semantic network and a natural language processing information extraction system |
US9342507B1 (en) | 2008-11-25 | 2016-05-17 | Yseop Sa | Methods and apparatus for automatically generating text |
CA2646117A1 (en) | 2008-12-02 | 2010-06-02 | Oculus Info Inc. | System and method for visualizing connected temporal and spatial information as an integrated visual representation on a user interface |
US8219513B2 (en) | 2008-12-19 | 2012-07-10 | Eastman Kodak Company | System and method for generating a context enhanced work of communication |
US9092437B2 (en) * | 2008-12-31 | 2015-07-28 | Microsoft Technology Licensing, Llc | Experience streams for rich interactive narratives |
US20110113315A1 (en) | 2008-12-31 | 2011-05-12 | Microsoft Corporation | Computer-assisted rich interactive narrative (rin) generation |
US8630961B2 (en) | 2009-01-08 | 2014-01-14 | Mycybertwin Group Pty Ltd | Chatbots |
US8311863B1 (en) | 2009-02-24 | 2012-11-13 | Accenture Global Services Limited | Utility high performance capability assessment |
US9213687B2 (en) | 2009-03-23 | 2015-12-15 | Lawrence Au | Compassion, variety and cohesion for methods of text analytics, writing, search, user interfaces |
US8972445B2 (en) | 2009-04-23 | 2015-03-03 | Deep Sky Concepts, Inc. | Systems and methods for storage of declarative knowledge accessible by natural language in a computer capable of appropriately responding |
US9805020B2 (en) | 2009-04-23 | 2017-10-31 | Deep Sky Concepts, Inc. | In-context access of stored declarative knowledge using natural language expression |
US20110044447A1 (en) | 2009-08-21 | 2011-02-24 | Nexidia Inc. | Trend discovery in audio signals |
US20110077958A1 (en) | 2009-09-24 | 2011-03-31 | Agneta Breitenstein | Systems and methods for clinical, operational, and financial benchmarking and comparative analytics |
US8818926B2 (en) | 2009-09-29 | 2014-08-26 | Richard Scot Wallace | Method for personalizing chat bots |
US9600919B1 (en) | 2009-10-20 | 2017-03-21 | Yahoo! Inc. | Systems and methods for assembling and/or displaying multimedia objects, modules or presentations |
US9047283B1 (en) | 2010-01-29 | 2015-06-02 | Guangsheng Zhang | Automated topic discovery in documents and content categorization |
WO2011127140A1 (en) | 2010-04-06 | 2011-10-13 | Statsheet, Inc. | Systems for dynamically generating and presenting narrative content |
US8422852B2 (en) | 2010-04-09 | 2013-04-16 | Microsoft Corporation | Automated story generation |
US9066049B2 (en) | 2010-04-12 | 2015-06-23 | Adobe Systems Incorporated | Method and apparatus for processing scripts |
US9208147B1 (en) | 2011-01-07 | 2015-12-08 | Narrative Science Inc. | Method and apparatus for triggering the automatic generation of narratives |
US8374848B1 (en) | 2010-05-13 | 2013-02-12 | Northwestern University | System and method for using data and derived features to automatically generate a narrative story |
US8355903B1 (en) | 2010-05-13 | 2013-01-15 | Northwestern University | System and method for using data and angles to automatically generate a narrative story |
US8688434B1 (en) * | 2010-05-13 | 2014-04-01 | Narrative Science Inc. | System and method for using data to automatically generate a narrative story |
US9110882B2 (en) | 2010-05-14 | 2015-08-18 | Amazon Technologies, Inc. | Extracting structured knowledge from unstructured text |
US8924377B2 (en) | 2010-05-19 | 2014-12-30 | Digital Map Products, Inc. | Preference stack |
US9552355B2 (en) | 2010-05-20 | 2017-01-24 | Xerox Corporation | Dynamic bi-phrases for statistical machine translation |
US8566360B2 (en) | 2010-05-28 | 2013-10-22 | Drexel University | System and method for automatically generating systematic reviews of a scientific field |
US9183560B2 (en) | 2010-05-28 | 2015-11-10 | Daniel H. Abelow | Reality alternate |
US20110311144A1 (en) | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Rgb/depth camera for improving speech recognition |
US8381108B2 (en) | 2010-06-21 | 2013-02-19 | Microsoft Corporation | Natural user input for driving interactive stories |
US9519677B2 (en) * | 2010-10-08 | 2016-12-13 | Battelle Memorial Institute | Data graphing methods, articles of manufacture, and computing devices |
US8606564B2 (en) | 2010-11-01 | 2013-12-10 | Yahoo! Inc. | Extracting rich temporal context for business entities and events |
US20120158850A1 (en) | 2010-12-21 | 2012-06-21 | Harrison Edward R | Method and apparatus for automatically creating an experiential narrative |
US9720899B1 (en) | 2011-01-07 | 2017-08-01 | Narrative Science, Inc. | Automatic generation of narratives from data using communication goals and narrative analytics |
US10657201B1 (en) | 2011-01-07 | 2020-05-19 | Narrative Science Inc. | Configurable and portable system for generating narratives |
US8775161B1 (en) | 2011-01-07 | 2014-07-08 | Narrative Science Inc. | Method and apparatus for triggering the automatic generation of narratives |
US9576009B1 (en) | 2011-01-07 | 2017-02-21 | Narrative Science Inc. | Automatic generation of narratives from data using communication goals and narrative analytics |
US8892417B1 (en) | 2011-01-07 | 2014-11-18 | Narrative Science, Inc. | Method and apparatus for triggering the automatic generation of narratives |
US9697197B1 (en) | 2011-01-07 | 2017-07-04 | Narrative Science Inc. | Automatic generation of narratives from data using communication goals and narrative analytics |
US8886520B1 (en) | 2011-01-07 | 2014-11-11 | Narrative Science Inc. | Method and apparatus for triggering the automatic generation of narratives |
US8630844B1 (en) | 2011-01-07 | 2014-01-14 | Narrative Science Inc. | Configurable and portable method, apparatus, and computer program product for generating narratives using content blocks, angels and blueprints sets |
US9697178B1 (en) | 2011-01-07 | 2017-07-04 | Narrative Science Inc. | Use of tools and abstraction in a configurable and portable system for generating narratives |
WO2012150602A1 (en) | 2011-05-03 | 2012-11-08 | Yogesh Chunilal Rathod | A system and method for dynamically monitoring, recording, processing, attaching dynamic, contextual & accessible active links & presenting of physical or digital activities, actions, locations, logs, life stream, behavior & status |
CA2741212C (en) | 2011-05-27 | 2020-12-08 | Ibm Canada Limited - Ibm Canada Limitee | Automated self-service user support based on ontology analysis |
US20120310699A1 (en) | 2011-06-02 | 2012-12-06 | Siemens Corporation | Approach and tool blending ad-hoc and formal workflow models in support of different stakeholder needs |
US9922096B2 (en) | 2011-07-08 | 2018-03-20 | Yahoo Holdings, Inc. | Automated presentation of information using infographics |
US10573408B2 (en) | 2011-08-12 | 2020-02-25 | drchrono inc. | Dynamic forms |
WO2013032760A1 (en) | 2011-08-29 | 2013-03-07 | Cardiac Pacemakers, Inc. | Algorithm for narrative generation |
US8645825B1 (en) | 2011-08-31 | 2014-02-04 | Google Inc. | Providing autocomplete suggestions |
GB201115418D0 (en) | 2011-09-06 | 2011-10-19 | Shl Group Ltd | Analytics |
US20130096947A1 (en) | 2011-10-13 | 2013-04-18 | The Board of Trustees of the Leland Stanford Junior, University | Method and System for Ontology Based Analytics |
SG11201402943WA (en) * | 2011-12-06 | 2014-07-30 | Perception Partners Inc | Text mining analysis and output system |
BR112014015484A8 (en) | 2011-12-27 | 2017-07-04 | Koninklijke Philips Nv | system for generating information regarding a course of a procedure, workstation, method of generating information regarding a course of a procedure, and computer program product |
US10540430B2 (en) | 2011-12-28 | 2020-01-21 | Cbs Interactive Inc. | Techniques for providing a natural language narrative |
US20130173285A1 (en) | 2011-12-30 | 2013-07-04 | Elwha Llc | Evidence-based healthcare information management protocols |
US8903707B2 (en) | 2012-01-12 | 2014-12-02 | International Business Machines Corporation | Predicting pronouns of dropped pronoun style languages for natural language translation |
US20170140405A1 (en) | 2012-03-01 | 2017-05-18 | o9 Solutions, Inc. | Global market modeling for advanced market intelligence |
US9569594B2 (en) | 2012-03-08 | 2017-02-14 | Nuance Communications, Inc. | Methods and apparatus for generating clinical reports |
WO2013142852A1 (en) | 2012-03-23 | 2013-09-26 | Sententia, LLC | Method and systems for text enhancement |
US9406020B2 (en) | 2012-04-02 | 2016-08-02 | Taiger Spain Sl | System and method for natural language querying |
US20130262092A1 (en) | 2012-04-02 | 2013-10-03 | Fantasy Journalist, Inc. | Narrative Generator |
US8892419B2 (en) | 2012-04-10 | 2014-11-18 | Artificial Solutions Iberia SL | System and methods for semiautomatic generation and tuning of natural language interaction applications |
US20130304507A1 (en) | 2012-04-20 | 2013-11-14 | Valant Medical Solutions, Inc. | Clinical note generator |
US9396758B2 (en) | 2012-05-01 | 2016-07-19 | Wochit, Inc. | Semi-automatic generation of multimedia content |
US8851966B2 (en) | 2012-05-24 | 2014-10-07 | Sap Ag | Predictive analytics for targeted player engagement in a gaming system |
US20140006012A1 (en) | 2012-07-02 | 2014-01-02 | Microsoft Corporation | Learning-Based Processing of Natural Language Questions |
US9461876B2 (en) | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
US9355093B2 (en) | 2012-08-30 | 2016-05-31 | Arria Data2Text Limited | Method and apparatus for referring expression generation |
US9135244B2 (en) | 2012-08-30 | 2015-09-15 | Arria Data2Text Limited | Method and apparatus for configurable microplanning |
US8762134B2 (en) | 2012-08-30 | 2014-06-24 | Arria Data2Text Limited | Method and apparatus for situational analysis text generation |
WO2014035407A1 (en) | 2012-08-30 | 2014-03-06 | Data2Text Limited | Method and apparatus for referring expression generation |
WO2014035403A1 (en) | 2012-08-30 | 2014-03-06 | Data2Text Limited | Method and apparatus for annotating a graphical output |
US8762133B2 (en) | 2012-08-30 | 2014-06-24 | Arria Data2Text Limited | Method and apparatus for alert validation |
US9405448B2 (en) * | 2012-08-30 | 2016-08-02 | Arria Data2Text Limited | Method and apparatus for annotating a graphical output |
WO2014035402A1 (en) | 2012-08-30 | 2014-03-06 | Data2Text Limited | Text generation in response to alerts, using tree structures |
WO2014035400A1 (en) | 2012-08-30 | 2014-03-06 | Data2Text Limited | Method and apparatus for alert validation |
WO2014035447A1 (en) | 2012-08-30 | 2014-03-06 | Data2Text Limited | Method and apparatus for updating a previously generated text |
US9336193B2 (en) | 2012-08-30 | 2016-05-10 | Arria Data2Text Limited | Method and apparatus for updating a previously generated text |
GB2521074A (en) | 2012-08-30 | 2015-06-10 | Arria Data2Text Ltd | Method and apparatus for configurable microplanning |
US9600471B2 (en) | 2012-11-02 | 2017-03-21 | Arria Data2Text Limited | Method and apparatus for aggregating with information generalization |
WO2014070197A1 (en) | 2012-11-02 | 2014-05-08 | Data2Text Limited | Method and apparatus for aggregating with information generalization |
US20140134590A1 (en) | 2012-11-09 | 2014-05-15 | Steven Richard Hiscock Jr. | Progress Tracking And Management System |
WO2014076525A1 (en) | 2012-11-16 | 2014-05-22 | Data2Text Limited | Method and apparatus for expressing time in an output text |
WO2014076524A1 (en) | 2012-11-16 | 2014-05-22 | Data2Text Limited | Method and apparatus for spatial descriptions in an output text |
US9529795B2 (en) | 2012-11-29 | 2016-12-27 | Thomson Reuters Global Resources | Systems and methods for natural language generation |
US10095692B2 (en) | 2012-11-29 | 2018-10-09 | Thornson Reuters Global Resources Unlimited Company | Template bootstrapping for domain-adaptable natural language generation |
US9424254B2 (en) | 2012-11-29 | 2016-08-23 | Thomson Reuters Global Resoures | Systems and methods for natural language generation |
KR101423544B1 (en) | 2012-12-06 | 2014-08-01 | 고려대학교 산학협력단 | Device and method for extracting semantic topics |
US9471559B2 (en) | 2012-12-10 | 2016-10-18 | International Business Machines Corporation | Deep analysis of natural language questions for question answering system |
WO2014102568A1 (en) | 2012-12-27 | 2014-07-03 | Arria Data2Text Limited | Method and apparatus for motion detection |
WO2014102569A1 (en) | 2012-12-27 | 2014-07-03 | Arria Data2Text Limited | Method and apparatus for motion description |
US9235567B2 (en) | 2013-01-14 | 2016-01-12 | Xerox Corporation | Multi-domain machine translation model adaptation |
WO2014111753A1 (en) | 2013-01-15 | 2014-07-24 | Arria Data2Text Limited | Method and apparatus for document planning |
US20140208215A1 (en) | 2013-01-21 | 2014-07-24 | Salesforce.Com, Inc. | Methods and systems for providing filtered report visualizations |
US20170006161A9 (en) | 2013-03-15 | 2017-01-05 | Genesys Telecommunications Laboratories, Inc. | Intelligent automated agent for a contact center |
US10198420B2 (en) | 2013-06-15 | 2019-02-05 | Microsoft Technology Licensing, Llc | Telling interactive, self-directed stories with spreadsheets |
US9348815B1 (en) | 2013-06-28 | 2016-05-24 | Digital Reasoning Systems, Inc. | Systems and methods for construction, maintenance, and improvement of knowledge representations |
US9535902B1 (en) | 2013-06-28 | 2017-01-03 | Digital Reasoning Systems, Inc. | Systems and methods for entity resolution using attributes from structured and unstructured data |
US9665259B2 (en) | 2013-07-12 | 2017-05-30 | Microsoft Technology Licensing, Llc | Interactive digital displays |
US9690840B2 (en) | 2013-07-23 | 2017-06-27 | Aware, Inc. | Data analysis engine |
US20150049087A1 (en) * | 2013-08-15 | 2015-02-19 | International Business Machines Corporation | Presenting meaningful information summary for analyzing complex visualizations |
WO2015028844A1 (en) | 2013-08-29 | 2015-03-05 | Arria Data2Text Limited | Text generation from correlated alerts |
US9244894B1 (en) | 2013-09-16 | 2016-01-26 | Arria Data2Text Limited | Method and apparatus for interactive reports |
US9474068B2 (en) | 2013-09-16 | 2016-10-18 | Disney Enterprises, Inc. | Storytelling simulator and device communication |
US9396181B1 (en) * | 2013-09-16 | 2016-07-19 | Arria Data2Text Limited | Method, apparatus, and computer program product for user-directed reporting |
US9292625B2 (en) | 2013-09-23 | 2016-03-22 | Sap Se | Dynamic determination of pattern type and chart type for visual analytics |
US9189742B2 (en) | 2013-11-20 | 2015-11-17 | Justin London | Adaptive virtual intelligent agent |
US11138971B2 (en) | 2013-12-05 | 2021-10-05 | Lenovo (Singapore) Pte. Ltd. | Using context to interpret natural language speech recognition commands |
US9971967B2 (en) | 2013-12-12 | 2018-05-15 | International Business Machines Corporation | Generating a superset of question/answer action paths based on dynamically generated type sets |
US9483520B1 (en) * | 2013-12-18 | 2016-11-01 | EMC IP Holding Company LLC | Analytic data focus representations for visualization generation in an information processing system |
US20150178386A1 (en) | 2013-12-19 | 2015-06-25 | Heiner Oberkampf | System and Method for Extracting Measurement-Entity Relations |
US20150199339A1 (en) | 2014-01-14 | 2015-07-16 | Xerox Corporation | Semantic refining of cross-lingual information retrieval results |
US9495444B2 (en) | 2014-02-07 | 2016-11-15 | Quixey, Inc. | Rules-based generation of search results |
US10203762B2 (en) | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US9892208B2 (en) | 2014-04-02 | 2018-02-13 | Microsoft Technology Licensing, Llc | Entity and attribute resolution in conversational applications |
JP2017513134A (en) | 2014-04-02 | 2017-05-25 | セマンティック テクノロジーズ ピーティーワイ リミテッド | Ontology mapping method and apparatus |
WO2015159133A1 (en) | 2014-04-18 | 2015-10-22 | Arria Data2Text Limited | Method and apparatus for document planning |
US10318625B2 (en) | 2014-05-13 | 2019-06-11 | International Business Machines Corporation | Table narration using narration templates |
US9412358B2 (en) | 2014-05-13 | 2016-08-09 | At&T Intellectual Property I, L.P. | System and method for data-driven socially customized models for language generation |
US9659005B2 (en) | 2014-05-16 | 2017-05-23 | Semantix Technologies Corporation | System for semantic interpretation |
US9721207B2 (en) | 2014-05-27 | 2017-08-01 | International Business Machines Corporation | Generating written content from knowledge management systems |
US20150356967A1 (en) | 2014-06-08 | 2015-12-10 | International Business Machines Corporation | Generating Narrative Audio Works Using Differentiable Text-to-Speech Voices |
US9460075B2 (en) | 2014-06-17 | 2016-10-04 | International Business Machines Corporation | Solving and answering arithmetic and algebraic problems using natural language processing |
US9767093B2 (en) | 2014-06-19 | 2017-09-19 | Nuance Communications, Inc. | Syntactic parser assisted semantic rule inference |
GB201413258D0 (en) | 2014-07-25 | 2014-09-10 | Wealthchart Ltd | Report generation |
US9841870B2 (en) * | 2014-08-21 | 2017-12-12 | The Boeing Company | Integrated visualization and analysis of a complex system |
US9430557B2 (en) | 2014-09-17 | 2016-08-30 | International Business Machines Corporation | Automatic data interpretation and answering analytical questions with tables and charts |
CN105528349B (en) | 2014-09-29 | 2019-02-01 | 华为技术有限公司 | The method and apparatus that question sentence parses in knowledge base |
US9760240B2 (en) | 2014-10-09 | 2017-09-12 | Splunk Inc. | Graphical user interface for static and adaptive thresholds |
US9767145B2 (en) | 2014-10-10 | 2017-09-19 | Salesforce.Com, Inc. | Visual data analysis with animated informational morphing replay |
US10101889B2 (en) | 2014-10-10 | 2018-10-16 | Salesforce.Com, Inc. | Dashboard builder with live data updating without exiting an edit mode |
US10747823B1 (en) | 2014-10-22 | 2020-08-18 | Narrative Science Inc. | Interactive and conversational data exploration |
US9870362B2 (en) | 2014-11-11 | 2018-01-16 | Microsoft Technology Licensing, Llc | Interactive data-driven presentations |
US10387970B1 (en) | 2014-11-25 | 2019-08-20 | Intuit Inc. | Systems and methods for analyzing and generating explanations for changes in tax return results |
US20160162582A1 (en) | 2014-12-09 | 2016-06-09 | Moodwire, Inc. | Method and system for conducting an opinion search engine and a display thereof |
US20160196490A1 (en) | 2015-01-02 | 2016-07-07 | International Business Machines Corporation | Method for Recommending Content to Ingest as Corpora Based on Interaction History in Natural Language Question and Answering Systems |
WO2016118979A2 (en) | 2015-01-23 | 2016-07-28 | C3, Inc. | Systems, methods, and devices for an enterprise internet-of-things application development platform |
US10366107B2 (en) | 2015-02-06 | 2019-07-30 | International Business Machines Corporation | Categorizing questions in a question answering system |
US10621183B1 (en) | 2015-03-09 | 2020-04-14 | Interos Solutions, Inc. | Method and system of an opinion search engine with an application programming interface for providing an opinion web portal |
US9741151B2 (en) | 2015-04-14 | 2017-08-22 | International Business Machines Corporation | Mobile interactive comparison chart |
WO2016172038A1 (en) | 2015-04-19 | 2016-10-27 | Schlumberger Technology Corporation | Wellsite report system |
US10353905B2 (en) | 2015-04-24 | 2019-07-16 | Salesforce.Com, Inc. | Identifying entities in semi-structured content |
US10311741B2 (en) | 2015-07-02 | 2019-06-04 | Pearson Education, Inc. | Data extraction and analysis system and tool |
US10867256B2 (en) | 2015-07-17 | 2020-12-15 | Knoema Corporation | Method and system to provide related data |
US10108907B2 (en) | 2015-07-17 | 2018-10-23 | Knoema Corporation | Method and system to provide related data |
US10847175B2 (en) | 2015-07-24 | 2020-11-24 | Nuance Communications, Inc. | System and method for natural language driven search and discovery in large data sources |
US10631057B2 (en) | 2015-07-24 | 2020-04-21 | Nuance Communications, Inc. | System and method for natural language driven search and discovery in large data sources |
US10416841B2 (en) | 2015-08-10 | 2019-09-17 | Microsoft Technology Licensing, Llc | Animated data visualization video |
CN107924538A (en) | 2015-08-13 | 2018-04-17 | 克罗诺斯咨询集团企业有限公司 | financial information reporting system |
US20170061093A1 (en) | 2015-08-25 | 2017-03-02 | Rubendran Amarasingham | Clinical Dashboard User Interface System and Method |
US10073861B2 (en) | 2015-09-03 | 2018-09-11 | Disney Enterprises, Inc. | Story albums |
US10332297B1 (en) | 2015-09-04 | 2019-06-25 | Vishal Vadodaria | Electronic note graphical user interface having interactive intelligent agent and specific note processing features |
US10268491B2 (en) | 2015-09-04 | 2019-04-23 | Vishal Vadodaria | Intelli-voyage travel |
US10049152B2 (en) | 2015-09-24 | 2018-08-14 | International Business Machines Corporation | Generating natural language dialog using a questions corpus |
US10162870B2 (en) * | 2015-09-30 | 2018-12-25 | International Business Machines Corporation | Historical summary visualizer for news events |
US9977826B2 (en) | 2015-10-21 | 2018-05-22 | Cloudera, Inc. | Computerized method of generating and analytically evaluating multiple instances of natural language-generated text |
WO2017112813A1 (en) | 2015-12-22 | 2017-06-29 | Sri International | Multi-lingual virtual personal assistant |
US10705721B2 (en) | 2016-01-21 | 2020-07-07 | Samsung Electronics Co., Ltd. | Method and system for providing topic view in electronic device |
US10127274B2 (en) | 2016-02-08 | 2018-11-13 | Taiger Spain Sl | System and method for querying questions and answers |
US20170242886A1 (en) | 2016-02-19 | 2017-08-24 | Jack Mobile Inc. | User intent and context based search results |
US10853585B2 (en) | 2016-03-15 | 2020-12-01 | Arria Data2Text Limited | Method and apparatus for generating causal explanations using models derived from data |
US10115108B1 (en) | 2016-03-29 | 2018-10-30 | EMC IP Holding Company LLC | Rendering transaction data to identify fraud detection rule strength |
WO2017177222A1 (en) | 2016-04-08 | 2017-10-12 | BPU International, Inc. | A system and method for searching and matching content over social networks relevant to an individual |
US11250841B2 (en) | 2016-06-10 | 2022-02-15 | Conduent Business Services, Llc | Natural language generation, a hybrid sequence-to-sequence approach |
US10909313B2 (en) | 2016-06-22 | 2021-02-02 | Sas Institute Inc. | Personalized summary generation of data visualizations |
US9569729B1 (en) * | 2016-07-20 | 2017-02-14 | Chenope, Inc. | Analytical system and method for assessing certain characteristics of organizations |
US20180025726A1 (en) | 2016-07-22 | 2018-01-25 | International Business Machines Corporation | Creating coordinated multi-chatbots using natural dialogues by means of knowledge base |
US11037342B1 (en) * | 2016-07-31 | 2021-06-15 | Splunk Inc. | Visualization modules for use within a framework for displaying interactive visualizations of event data |
US11144838B1 (en) | 2016-08-31 | 2021-10-12 | Narrative Science Inc. | Applied artificial intelligence technology for evaluating drivers of data presented in visualizations |
US20180082184A1 (en) | 2016-09-19 | 2018-03-22 | TCL Research America Inc. | Context-aware chatbot system and method |
US20180232443A1 (en) | 2017-02-16 | 2018-08-16 | Globality, Inc. | Intelligent matching system with ontology-aided relation extraction |
US10699079B1 (en) | 2017-02-17 | 2020-06-30 | Narrative Science Inc. | Applied artificial intelligence technology for narrative generation based on analysis communication goals |
US10572606B1 (en) | 2017-02-17 | 2020-02-25 | Narrative Science Inc. | Applied artificial intelligence technology for runtime computation of story outlines to support natural language generation (NLG) |
US10853717B2 (en) | 2017-04-11 | 2020-12-01 | Microsoft Technology Licensing, Llc | Creating a conversational chat bot of a specific person |
US11182556B1 (en) | 2018-02-19 | 2021-11-23 | Narrative Science Inc. | Applied artificial intelligence technology for building a knowledge base using natural language processing |
US11232270B1 (en) | 2018-06-28 | 2022-01-25 | Narrative Science Inc. | Applied artificial intelligence technology for using natural language processing to train a natural language generation system with respect to numeric style features |
US11500911B2 (en) | 2018-07-31 | 2022-11-15 | Sap Se | Descriptive text generation for data visualizations |
-
2017
- 2017-08-01 US US15/666,168 patent/US11144838B1/en active Active
- 2017-08-01 US US15/666,151 patent/US11341338B1/en active Active
- 2017-08-01 US US15/666,192 patent/US10853583B1/en active Active
-
2022
- 2022-05-23 US US17/750,559 patent/US20220284195A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282184A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Generating an insight view while maintaining report context |
US20150039537A1 (en) * | 2013-08-02 | 2015-02-05 | Microsoft Corporation | Automatic recognition and insights of data |
US20170177559A1 (en) * | 2014-01-30 | 2017-06-22 | Microsoft Technology Licensing, Llc. | Automatic insights for spreadsheets |
US20190095499A1 (en) * | 2017-09-22 | 2019-03-28 | Amazon Technologies, Inc. | Data reporting system and method |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11741301B2 (en) | 2010-05-13 | 2023-08-29 | Narrative Science Inc. | System and method for using data and angles to automatically generate a narrative story |
US11790164B2 (en) | 2011-01-07 | 2023-10-17 | Narrative Science Inc. | Configurable and portable system for generating narratives |
US11816438B2 (en) | 2018-01-02 | 2023-11-14 | Narrative Science Inc. | Context saliency-based deictic parser for natural language processing |
US11816435B1 (en) | 2018-02-19 | 2023-11-14 | Narrative Science Inc. | Applied artificial intelligence technology for contextualizing words to a knowledge base using natural language processing |
Also Published As
Publication number | Publication date |
---|---|
US11341338B1 (en) | 2022-05-24 |
US11144838B1 (en) | 2021-10-12 |
US10853583B1 (en) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220284195A1 (en) | Applied Artificial Intelligence Technology for Interactively Using Narrative Analytics to Focus and Control Visualizations of Data | |
US10747823B1 (en) | Interactive and conversational data exploration | |
US11475076B2 (en) | Interactive and conversational data exploration | |
US11501220B2 (en) | Automatic generation of narratives from data using communication goals and narrative analytics | |
US11210569B2 (en) | Method, apparatus, server, and user terminal for constructing data processing model | |
US20210294617A1 (en) | Systems and methods for adaptive user interfaces | |
US11188588B1 (en) | Applied artificial intelligence technology for using narrative analytics to interactively generate narratives from visualization data | |
US10402039B2 (en) | Adaptive user interface using machine learning model | |
CN107330023B (en) | Text content recommendation method and device based on attention points | |
US20220114206A1 (en) | Applied Artificial Intelligence Technology for Automatically Generating Narratives from Visualization Data | |
US11238090B1 (en) | Applied artificial intelligence technology for using narrative analytics to automatically generate narratives from visualization data | |
US11222184B1 (en) | Applied artificial intelligence technology for using narrative analytics to automatically generate narratives from bar charts | |
US11232268B1 (en) | Applied artificial intelligence technology for using narrative analytics to automatically generate narratives from line charts | |
JP5340204B2 (en) | Inference apparatus, control method thereof, and program | |
US11538566B2 (en) | Sample analysis with test determination based on identified condition | |
CN106598637A (en) | Selective loading of components within a node to accelerate maintenance actions | |
CN111681765A (en) | Multi-model fusion method of medical question-answering system | |
Snijders et al. | Manual for BLOCKS version 1.6 | |
CN107533581A (en) | Guide structureization is reported | |
CN111460235A (en) | Atlas data processing method, device, equipment and storage medium | |
Tian et al. | Measuring influencing factors of API usability | |
US20240143582A1 (en) | Applied Artificial Intelligence Technology for Natural Language Generation Using a Story Graph and Different Structurers | |
US11556810B2 (en) | Estimating feasibility and effort for a machine learning solution | |
US20240143914A1 (en) | Applied Artificial Intelligence Technology for Natural Language Generation Using a Graph Data Structure with Follow-Up Capabilities | |
US20210012066A1 (en) | Determining erroneous codes in medical reports |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NARRATIVE SCIENCE INC., ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PLATT, DANIEL JOSEPH;SIPPEL, ALEXANDER RUDOLF;MUJICA-PARODI, MAURO EDUARDO IGNACIO, III;AND OTHERS;SIGNING DATES FROM 20161007 TO 20161013;REEL/FRAME:059980/0461 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
AS | Assignment |
Owner name: NARRATIVE SCIENCE LLC, ILLINOIS Free format text: CHANGE OF NAME;ASSIGNOR:NARRATIVE SCIENCE INC.;REEL/FRAME:065237/0929 Effective date: 20220118 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: NARRATIVE SCIENCE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:NARRATIVE SCIENCE INC.;REEL/FRAME:066884/0001 Effective date: 20220118 |