Skip to main content
QUICK REVIEW

[论文解读] NOVA: A Practical Method for Creating Notebook-Ready Visual Analytics

Zijie J. Wang, David Munechika|arXiv (Cornell University)|May 8, 2022
Data Visualization and Analytics被引用 7
一句话总结

NOVA 是一种实用方法,使可视化研究人员能够将现有的基于网络的可视化分析(VA)工具转换为计算笔记本(如 Jupyter 和 Google Colab)中的交互式笔记本小部件。通过将 VA 工具打包为单个 HTML 文件,创建用于单向数据通信的 Python 包装器 API,并通过 PyPI 发布小部件,NOVA 实现了与数据科学家工作流程的无缝集成,在实际应用中已用于 GAM Changer 等模型编辑工具。

ABSTRACT

How can we develop visual analytics (VA) tools that can be easily adopted? Visualization researchers have developed a large number of web-based VA tools to help data scientists in a wide range of tasks. However, adopting these standalone systems can be challenging, as they require data scientists to create new workflows to streamline the VA processes. Recent surveys suggest computational notebooks have been dominating data scientists' analytical workflows, as these notebooks seamlessly combine text, code, and visualization, allowing users to rapidly iterate code experiments. To help visualization researchers develop VA tools that can be easily integrated into existing data science workflows, we present NOVA, a simple and flexible method to adapt web-based VA systems for notebooks. We provide detailed examples of using this method with diverse web development technologies and different types of computational notebooks. Deployed application examples highlight that NOVA is easy to adopt, and data scientists appreciate in-notebook VA. NOVA is available at https://github.com/poloclub/nova.

研究动机与目标

  • 解决将独立的基于网络的可视化分析(VA)工具集成到数据科学家计算笔记本工作流中的挑战。
  • 降低可视化研究人员将其 VA 工具适配笔记本环境的门槛,而无需依赖后端服务器。
  • 使终端用户能够通过单个 pip install 命令安装并直接在笔记本单元格中使用 VA 工具作为轻量级交互式小部件。
  • 支持多种网络技术(例如 Svelte、React、Vanilla JS)和主流笔记本环境(Jupyter、Colab、VSCode)。
  • 通过实际案例展示该方法的实用性,并维护一个 NOVA 移植的 VA 工具公共注册表。

提出的方法

  • 步骤 1:使用 Rollup 或 Webpack 等模块打包工具,将 VA 工具的前端资源(HTML、CSS、JS、资源文件)打包为单个 HTML 文件。
  • 步骤 2:设计一个 Python 函数 API,用于在笔记本单元格中渲染小部件,并通过标准网页事件(单向通信)向小部件发送数据/配置。
  • 步骤 3:将小部件打包为 Python 库,并通过 Python Package Index(PyPI)发布,以便通过 pip 轻松安装。
  • 该方法支持所有主流网络开发栈,并适用于任何支持 iframe 和 JavaScript 执行的笔记本环境。
  • 该方法支持在浏览器内运行的 Python 环境中同时演示 VA 工具的网页应用和笔记本小部件形式。
  • 该工作流程轻量化且可复用,典型发布步骤耗时不足 10 分钟。

实验结果

研究问题

  • RQ1现有的基于网络的可视化分析工具如何被适配为计算笔记本中的交互式小部件?
  • RQ2何种技术工作流可实现在无需后端服务器的情况下,将数据无缝注入笔记本中的 VA 小部件?
  • RQ3与独立的网络应用相比,笔记本集成如何提升 VA 工具的可用性和工作流整合性?
  • RQ4在支持不同网络框架和笔记本环境之间的跨栈兼容性方面,存在哪些实际挑战和权衡?
  • RQ5可视化研究人员如何高效地采用并大规模维护适用于笔记本的 VA 工具?

主要发现

  • NOVA 成功通过一个三步工作流将基于网络的 VA 工具转换为笔记本小部件,该工作流轻量化且可在不同网络技术间复用。
  • 该方法使终端用户可通过单个 pip install 命令安装并使用 VA 小部件,直接集成到 Jupyter、Google Colab 和 VSCode 笔记本中。
  • 将 GAM Changer 作为 NOVA 小部件进行实际部署,展示了更优的用户体验,包括在单个笔记本中同时启动多个实例以实现并排对比的能力。
  • 数据科学家报告称,笔记本内 VA 工具满意度更高,原因在于工作流更顺畅,且可利用粘滞单元格将多个小部件组合成仪表板。
  • 该方法支持从笔记本到小部件的单向通信,安全性高且与大多数笔记本环境兼容,但目前不支持双向通信。
  • 维护了一个 NOVA 移植的 VA 工具公共注册表,用于追踪采用趋势,并为研究社区提供最新示例。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。