Skip to content

Narrative Components

S Anand edited this page Sep 16, 2020 · 1 revision

A narrative component is like a text chart. Everything that’s true of charts is true of narratives.

  • Charts represent data visually in a specific structure. Narratives do the same with text.
  • Sorted bar charts compare items and infer the slope. A narrative equivalent is “China is the largest country by population. It is followed closely by India. Nigeria is a distant third, with other countries forming a long tail.”
  • Charts have options e.g. a bar chart can limit the number of bars to show. Narratives have options, e.g. the level of detail to describe.
  • Charts can be created using a UI, like Excel. Pick a chart, pick options, edit the data. Narratives can be created in exactly the same way.
  • Multiple charts can show different views of the same data on a dashboard. Multiple narratives can be used to describe the same data on a dashboard.
  • New charts can be created using a framework like Gramex Charts. New narratives can be created in exactly the same way.
  • Charts can be embedded using a framework like Gramex Charts. Narratives can be embedded in exactly the same way.

FAQ:

What’s the use case? A chart leaves interpretation to the user. Narratives are conclusive — they explain what you need to take away.

How easy will it be to change the narrative? Every narrative will have a set of parameters (e.g. start with the lowest, not the highest). They can be customized with generic language level options (e.g. I prefer passive voice, crisper tone, etc).

Can it have intelligence built-in? We’ll allow users to correct the narrative, re-train a model to generate that output, and use that as the base. We’ll build self-learning narratives that may be pre-trained, and the user can edit and re-train them (sort of like image captioning).

Can we create an exec summary that stitches together multiple narratives in a structured way? This is very similar to what @jaidevd was doing on NLG. Just like Gramex Charts sits on top of Vega, this will sit on top of NLG We'll allow users to push their own components. We may support a gallery of data transformations as well.