NL4DV is a Python toolkit that takes a natural language (NL) query about a given dataset as input and outputs a structured JSON object containing Data attributes, Analytic tasks, and Visualizations (Vega-Lite specifications).
Project description
NL4DV: Natural Language toolkit for Data Visualization
NL4DV takes a natural language query about a given dataset as input and outputs a structured JSON object containing:
- Data attributes,
- Analytic tasks, and
- Visualizations (Vega-Lite specifications)
With this output, developers can
- Create visualizations in Python using natural language, and/or
- Add a natural language interface to their existing visualization systems.
Setup Instructions, API Documentation, and Examples
These can all be found on NL4DV's project website.
Credits
NL4DV is a collaborative project originally created by the Georgia Tech Visualization Lab at Georgia Institute of Technology with subsequent contributions from Ribarsky Center for Visual Analytics at UNC Charlotte and the DataVisards Group at The Hong Kong University of Science and Technology.
-
Georgia Tech Visualization Lab
- Arpit Narechania (currently at HKUST)
- Arjun Srinivasan
- Rishab Mitra
- Alex Endert
- John Stasko
-
Ribarsky Center for Visual Analytics at UNC Charlotte
-
DataVisards Group at The Hong Kong University of Science and Technology
- Arpit Narechania (previously at Georgia Tech)
-
Independent Contributor
- Tenghao Ji
We thank the members of the Georgia Tech Visualization Lab for their support and constructive feedback. We also thank @vijaynyaya for the inspiration to support multiple language model providers.
Citations
2021 IEEE TVCG Journal Full Paper (Proceedings of the 2020 IEEE VIS Conference)
@article{narechania2021nl4dv,
title = {{NL4DV}: A {Toolkit} for Generating {Analytic Specifications} for {Data Visualization} from {Natural Language} Queries},
shorttitle = {{NL4DV}},
author = {{Narechania}, Arpit and {Srinivasan}, Arjun and {Stasko}, John},
journal = {IEEE Transactions on Visualization and Computer Graphics (TVCG)},
doi = {10.1109/TVCG.2020.3030378},
year = {2021},
publisher = {IEEE}
}
2022 IEEE VIS Conference Short Paper Track
@inproceedings{mitra2022conversationalinteraction,
title = {{Facilitating Conversational Interaction in Natural Language Interfaces for Visualization}},
author = {{Mitra}, Rishab and {Narechania}, Arpit and {Endert}, Alex and {Stasko}, John},
booktitle={2022 IEEE Visualization Conference (VIS)},
url = {https://doi.org/10.48550/arXiv.2207.00189},
doi = {10.48550/arXiv.2207.00189},
year = {2022},
publisher = {IEEE}
}
2024 IEEE VIS NLVIZ workshop Paper
@misc{sah2024nl4dvllm,
title={Generating Analytic Specifications for Data Visualization from Natural Language Queries using Large Language Models},
author={{Sah}, Subham and {Mitra}, Rishab and {Narechania}, Arpit and {Endert}, Alex and {Stasko}, John and {Dou}, Wenwen},
year={2024},
eprint={2408.13391},
archivePrefix={arXiv},
primaryClass={cs.HC},
url={https://arxiv.org/abs/2408.13391},
howpublished={Presented at the NLVIZ Workshop, IEEE VIS 2024}
}
2025 Paper (coming soon)
@misc{ji2025enl4dv,
title={{NL4DV-Stylist: Styling Data Visualizations Using Natural Language and Example Charts}},
author={{Ji}, Tenghao and {Narechania}, Arpit},
year={2025}
}
License
The software is available under the MIT License.
Contact
If you have any questions, feel free to open an issue or contact Arpit Narechania.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file nl4dv-4.1.0.tar.gz
.
File metadata
- Download URL: nl4dv-4.1.0.tar.gz
- Upload date:
- Size: 64.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
ce63eb0dc669caaa4bc2bdbc6d70e44e10e7a1ed01804d513149e839894a0420
|
|
MD5 |
f9a9106bfe0bbcf45036b9bb88a7b96c
|
|
BLAKE2b-256 |
87ff51ffe34bc505c6c17d1184cb299c0368aa72c036c66c24365a1e5ffa2800
|