Chat2VIS: Generating Data Visualizations via Natural Language

news2024/12/29 10:12:24

在这里插入图片描述
Chat2VIS:通过使用ChatGPT, Codex和GPT-3大型语言模型的自然语言生成数据可视化
梅西大学数学与计算科学学院,新西兰奥克兰
IEEE Access

1 Abstract

数据可视化领域一直致力于设计直接从自然语言文本生成可视化的解决方案。自然语言接口 (NLI) 的研究为这些技术的发展做出了贡献。然而,由于自然语言固有的模糊性,以及不明确和编写不良的用户查询,使得现有语言模型在识别用户意图方面存在问题,因此实现可行的 NLI 一直具有挑战性。

本研究并没有遵循开发语言模型新迭代的常规路径,而是独特地提出利用预训练大型语言模型(LLM)的进步,如 ChatGPT 和 GPT-3,将自由形式的自然语言直接转换为代码,以实现适当的可视化。本文提出了一个新的系统,Chat2VIS,它利用了 LLM 的能力,并展示了如何通过有效的快速工程,更有效地解决复杂的语言理解问题,从而产生比以前的方法更简单、更准确的端到端解决方案。Chat2VIS表明,LLM 和提示 (Prompt) 结合提供了一种可靠的方法来呈现自然语言查询的可视化,即使查询是高度错误指定和指定不足的。本研究还介绍了LLM提示如何以一种保留数据安全和隐私的方式构建,同时可推广到不同的数据集。本工作通过几个案例研究比较了GPT-3、Codex和ChatGPT的性能,并将性能与先前的研究进行了对比。

2 Introduction

基于自然语言(NL)文本生成可视化的能力一直是数据可视化领域的理想目标。对用于可视化的自然语言接口 (NLI) 的研究已经成为最近引领该领域进步的主要领域。这些接口允许用户根据自然语言查询或提示生成可视化,而不需要编程和技术结构,从而提供了一种灵活直观的与数据交互的方式。最终目标是设计出能够让用户表达诸如“Show me the sales trend ? ”,通过自动识别正确的图表类型来正确理解和描绘。

将自然语言输入转换为可视化(NL2VIS)的过程涉及几个重要的任务。通常,首先对输入查询进行解析和建模,然后识别所需的数据属性,并识别查询中表示的低级分析任务。这些低级别的任务,比如过滤、关联和趋势分析,必须被转换成代码来执行。最后,分析输入查询并将其与最合适的可视化相匹配,然后调用代码来呈现数据。

NL2VIS的实现是一项特别具有挑战性的任务,因为NL的固有特征,如提示中的歧义和需求不规范,以及不可避免的排版错误。自然语言的这些特点使得现有的技术和方法很难准确地解释用户的意图并产生适当的可视化。尽管存在这些挑战,受数据分析需求和对灵活直观的数据交互方式日益增长的需求的驱动,nli在数据可视化方面的受欢迎程度仍在继续增长。

LLMs 彻底改变了自然语言的理解和生成领域。这些模型基于transformer架构,该架构在情感分析、问答和语言生成等任务中取得了显著的成功,这既是由于该架构的有效性,也是由于它们在大量数据上进行了训练。

本研究提出了以下研究问题:

  • (RQ1) 当前的 LLM 是否支持从 NL 准确地端到端生成可视化?
  • (RQ2) 如何有效地利用 LLMs 来生成正确且适当渲染的图表?
  • (RQ3) 哪些 LLM 倾向于对 NL 提示执行更稳健?它们与其他最先进的方法相比表现如何?
  • (RQ4) 在 NL2VIS 中使用 LLM 的局限性是什么?未来的研究方向是什么?
    在这里插入图片描述

3 Method

在这里插入图片描述
如图描述了开发的 Chat2VIS 系统的概述。用户通过 Streamlit NLI 应用程序输入一个NL查询,这是一个基于 web 的开源 Python 框架。该查询与提示脚本相结合,该脚本为选定的数据集设计合适的提示。提示被转发到选定的 LLM, LLM 返回一个 Python 脚本,该脚本随后在 Streamlit NLI 中呈现。

在这里插入图片描述
本研究中使用的Chat2VIS软件工件的界面如图3所示。该界面使用户能够选择一个数据集并输入描述其数据可视化意图的自由格式文本。侧边工具栏提供了导入其他CSV文件和SQLite数据库的功能,并提供了选择所需llm的选项。
访问模型需要OpenAI Access Key,必须在查询之前输入。提供了一个输入框,用于输入NL自由格式文本。为每个选定的模型呈现可视化,并向用户显示实际的数据集。

从 LLM 获得所需输出的最有效方法是使用“show-and-tell”技术,即在提示中提供示例和说明。本系统生成由两部分组成的 LLM 提示: (1) 由 Python 文档字符串构建的描述提示,并在定义的开头和结尾使用三重双引号“”声明,(2) 由 Python 代码语句组成的代码提示,该代码语句为脚本提供指导和起点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
粗体类型突出显示了替换值,这些替换值是可变的,依赖于所选的数据集。这些文件向LLM提供了DataFrame(一个表格数据对象)的概述,列出了列名、它们的数据类型和分类值,这有助于LLM理解上下文,提示的每个组成部分描述如下:

  1. 描述提示符由Python文档字符串启动图(a)
  2. 在图4(b)中,LLM被明确告知使用名称为df的DataFrame,这使得可以通过特定名称对该DataFrame进行引用,从而避免了LLM为DataFrame分配不同名称时可能出现的任何混淆。
  3. 图4©中的描述提示符由每列一个条目组成,表明其数据类型。如果具有对象数据类型的列具有少于20个不同的值,则将其视为分类类型,并在提示符中枚举其值。
    4)在图4(d)中,要求LLM决定x轴和y轴的适当命名以及绘图标题。

一旦制定,这两个提示元素将合并在一起,结果字符串通过文本完成端点API提交给llm

4 Results

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 Discussion

  • RQ1:本文六个案例研究的实验结果证实了在设计良好的提示符支持下,LLM 可以有效地支持端到端从 NL 生成可视化。
  • RQ2:LLM 可以有效地启动所提出的提示,并且提示工程有助于在伴随 NL 请求时引出正确的图表选择和适当呈现的图表。LLMs 自主选择正确绘图类型的论证超出了以往研究的能力。
  • RQ3:在性能方面,初步结果表明,ChatGPT、GPT-3 和 Codex LLMs 之间的性能倾向于不表现出大的偏差。可以说,ChatGPT展示了一些增强的性能。很大程度上的可比性可能归因于这三个 LLM 是在相似的数据集上训练的。
  • RQ4:虽然结果显示了 LLM 用于NL2VIS的潜力,但该技术仍然存在一些挑战,这些挑战大多是次要的,主要围绕图形的美学特征和可视化结果的变化。

6 Future Work

未来的工作将探索将 nvBench 基准数据集整合到 Chat2VIS 功能的改进中,并利用该数据集在更广泛的查询中对其功能进行更全面的定量分析,从而能够与先前的研究结果进行更稳健的比较。此外,一个有价值的未来研究方向是研究该领域 LLM 提示中扰动的影响,量化输出质量变化的敏感性。比较更广泛的 LLM (包括YoloPandas) 解决 NL2VIS 问题的能力也是一项有价值的工作;然而,支持自动比较的方法和基准数据集需要在这一领域进一步发展,以促进进展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

巴黎嫩事件对数据信息安全的影响及必要措施

2024年9月17日,黎巴嫩首都贝鲁特发生了多起小型无线电通信设备爆炸事件,导致伊朗驻黎巴嫩大使受轻伤。这一事件不仅引发了对安全的广泛关注,也对数据信息安全提出了新的挑战。 王工 18913263502 对数据信息安全的影响: 数据泄露风…

MySQL慢查询优化指南

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 当遇到慢查询问题时,不仅影响服务效率,还可能成为系统瓶颈。作为一位软件工程师,掌握MySQL慢查询优化技巧至关重要。今天,我们就来一场“数据库加速之旅…

Thinkphp(TP)

1.远程命令执行 /index.php?sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]system&vars[1][]whoami 2.远程代码执行 /index.php?sindex/think\app/invokefunction&functioncall_user_func_array&vars[0]phpinfo&vars[1][]…

Java面向对象——内部类(成员内部类、静态内部类、局部内部类、匿名内部类,完整详解附有代码+案例)

文章目录 内部类17.1概述17.2成员内部类17.2.1 获取成员内部类对象17.2.2 成员内部类内存图 17.3静态内部类17.4局部内部类17.5匿名内部类17.5.1概述 内部类 17.1概述 写在一个类里面的类叫内部类,即 在一个类的里面再定义一个类。 如,A类的里面的定义B类&#x…

微信支付商户号注册流程

目录 一、官方指引二、申请规则三、申请流程1.提交资料2.签约协议3.绑定场景 四、微信支付商户登录入口 一、官方指引 https://kf.qq.com/faq/210423UrIRB7210423by6fQn.html 二、申请规则 1、微信支付商家仅面向企业、个体工商户、政府及事业单位、民办非企业、社会团体、基…

java sdk下载,解决下载了java但是编译不了

直接搜Java得到的网站使用不了的 应该只是个功能包或者版本太低用不了 得去oracle公司搜java这个产品去下载

Java语言程序设计基础篇_编程练习题**18.34 (游戏:八皇后问题)

目录 题目:**18.34 (游戏:八皇后问题) 代码示例 代码解析 输出结果 使用文件 题目:**18.34 (游戏:八皇后问题) 八皇后问题是要找到一个解决方案,将一个皇后棋子放到棋盘上的每行中,并且两个皇后棋子之间不能相互攻击。编写个…

Llama 3.1 技术研究报告-2

3.3 基础设施、扩展性和效率 我们描述了⽀持Llama 3 405B⼤规模预训练的硬件和基础设施,并讨论了⼏项优化措施,这些措施提⾼了训练效率。 3.3.1 训练基础设施 Llama 1和2模型在Meta的AI研究超级集群(Lee和Sengupta,2022&#x…

模型融合创新性Max!5种模型融合方法刷新SOTA!发顶会必看!

近年来,关于模型融合的研究逐渐火热,出现了很多效果出众的成果。模型融合(Model Merging)技术,即利用现有模型的参数、架构和特性,巧妙结合成一个新的、功能更强大的模型,这不仅减少了从头训练大…

计算机毕业设计新闻资讯知识施肥技术网站推荐评论搜索猜你喜欢留言/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序

摘要‌ 随着互联网的快速发展,新闻网站成为人们获取新闻资讯的重要途径。本文旨在介绍一款新闻网站毕业设计的开发与实现过程,该系统集新闻发布、用户互动、个性化推荐等功能于一体,采用Spring Boot、Vue等前后端分离技术,旨在提…

风力发电场集中监控解决方案

0引言 风力发电装机容量近年来快速增长。截至7月底,全国发电装机容量达27.4亿千瓦,同比增长11.5%。其中,太阳能和风力发电装机容量分别为4.9亿千瓦和3.9亿千瓦,同比增长42.9%和14.3%。风力发电场分陆上和海上风电,常位…

asp.net core grpc快速入门

环境 .net 8 vs2022 创建 gRPC 服务器 一定要勾选Https 安装Nuget包 <PackageReference Include"Google.Protobuf" Version"3.28.2" /> <PackageReference Include"Grpc.AspNetCore" Version"2.66.0" /> <PackageR…

C++ 异步编程中:future与promise、packaged_task、async

原文链接&#xff1a;C 异步编程之future与promise、async、packaged_task_std::promise和std::future异步发送-CSDN博客 1、std::future std::future类模板来关联线程运行的函数和函数的返回结果&#xff0c;这种获取结果的方式是异步的 std::future 通常由某个 Provider 创建…

BOE(京东方)携故宫博物院举办2024“照亮成长路”公益项目落地仪式以创新科技赋能教育可持续发展

2024年9月20日&#xff0c;BOE&#xff08;京东方&#xff09;“照亮成长路”智慧教室落成暨百堂故宫传统文化公益课山西活动落地仪式在山西省太原市娄烦县实验小学隆重举行。自“照亮成长路”教育公益项目正式设立以来&#xff0c;BOE&#xff08;京东方&#xff09;持续以创新…

食家巷苦豆粉,香得很哟

苦豆粉&#xff0c;它看似普通&#xff0c;却承载着西北的厚重历史与浓郁风情。那一抹淡淡的绿色粉末&#xff0c;蕴含着大自然的馈赠和西北人民的智慧。 苦豆&#xff0c;这种生长在西北土地上的植物&#xff0c;经过精心研磨&#xff0c;变成了细腻的苦豆粉。它的味道独特&am…

Kimi助你快速完成开题报告【超详细实操教程】

随着人工智能的飞速发展&#xff0c;AI技术已经渗透到我们生活的方方面面&#xff0c;包括学术研究。在接下来的文章中手把手教你如何利用AI工具来优化每一个部分&#xff0c;让你的开题报告不仅内容丰富&#xff0c;而且结构严谨&#xff0c;逻辑清晰&#xff0c;为你的毕业论…

01.前端面试题之ts:说说如何在Vue项目中应用TypeScript?

文章目录 一、前言二、使用Componentcomputed、data、methodspropswatchemit 三 、总结 一、前言 与link类似 在VUE项目中应用typescript&#xff0c;我们需要引入一个库vue-property-decorator&#xff0c; 其是基于vue-class-component库而来&#xff0c;这个库vue官方推出…

通过 Flink 的火焰图定位反压

在 Apache Flink 中&#xff0c;Web UI 提供了丰富的监控工具来帮助用户分析和解决作业性能问题&#xff0c;其中火焰图&#xff08;Flame Graph&#xff09;是用于分析反压问题的一个强有力的工具。反压可能是由于作业中某些算子处理速度过慢&#xff0c;或者资源耗尽导致的。…

深度学习模型之BERT的24个小模型源码与预训练紧凑模型的重要性

原始信息 论文&#xff1a; Well-Read Students Learn Better: On the Importance of Pre-training Compact Models作者&#xff1a;Iulia Turc, Ming-Wei Chang, Kenton Lee, Kristina Toutanova地址&#xff1a;arxiv.org/pdf/1908.08…中文&#xff1a;阅读良好的学生学得更…

人工智能时代的学与教

疫情逐渐散去之后&#xff0c;最最吸引全球目光的应该就是ChatGPT-3了。美国政治家亨利基辛格领衔出版的新书《AI世代与我们人类的未来》(The Age of AI and Our Human Future)中举了一个例子来说明ChatGPT-3的能力。首先让ChatGPT-3阅读关于它自身能力的哲学评论之后&#xff…