NL4DV

The Natural Language Toolkit for Data Visualization

Georgia Institute of Technology

Welcome to NL4DV

Natural language interfaces (NLIs) have shown great promise for visual data analysis, allowing people to flexibly specify and interact with visualizations. However, developing visualization NLIs remains a challenging task, requiring low-level implementation of natural language processing (NLP) techniques as well as knowledge of visual analytic tasks and visualization design.

NL4DV is a Python package that takes as input a tabular dataset and a natural language query about that dataset. In response, the toolkit returns an analytic specification modeled as a JSON object containing data attributes, analytic tasks, and a list of Vega-Lite specifications relevant to the input query. In doing so, NL4DV aids visualization developers who may not have a background in NLP, enabling them to create new visualization NLIs or incorporate natural language input within their existing systems.

NL4DV now also enables developers to facilitate conversational interaction, that is, have multiple simultaneous conversations about a dataset and resolve associated ambiguities, augmenting new conversational information into the output JSON object.


Multi Turn Conversational Interaction




Single Turn Conversational Interaction





Getting started is easy!


Documentation

Installation Instructions and API Reference

Showcase

Applications recreated and Sample Queries answered using NL4DV.