让不懂代码的科研人员也能用自然语言做可验证的数据分析。
Plainbook: Data Science, in Plain Language

- 用自然语言代替代码,自动生成可执行程序
- 线性执行确保结果可预测,无隐藏状态干扰
- 内置数值验证机制,适合非程序员验证计算正确性
Jupyter Notebooks 已成为数据科学中可复现计算分析的主流工具,但仅对懂编程的人开放。为让不熟悉代码的科学家也能参与数据分析,我们提出 Plainbook——一种以自然语言为核心而非代码的笔记本系统。Plainbook 基于两大原则:强化自然语言描述,以及验证数值结果。在 Plainbook 中,保留的是自然语言描述,代码由描述自动生成;因自然语言按顺序阅读,系统采用线性执行语义,保证单元格按出现顺序执行,无隐藏状态或乱序执行问题。为帮助不懂代码的用户验证计算正确性,系统内置基于数值的验证机制,包括针对单个单元格的类似单元测试的检查,以及全局验证。线性执行与验证机制均由快照内核支持,缓存执行状态,提升效率。
原文摘要 · Abstract (English)
Jupyter Notebooks have become widely adopted in data science, as they allow the sharing of reproducible computational analysis. They are, however, accessible only to people who understand computer code. To reach the broader audience of scientists interested in data analysis and computation, but unfamiliar with code, we introduce Plainbook, notebooks centered on natural language rather than code. Plainbook is based on two principles: promote the natural language descriptions, and verify the values. In plainbook, the natural language descriptions are preserved, rather than the resulting code; the code is generated automatically from the cell descriptions. As natural language is read top to bottom, Plainbook adopts a linear execution semantics, in which cells are guaranteed to be executed in the order in which they appear; there is no "hidden state" or out-of-order execution as in Jupyter. To allow users who may not understand code to verify the correctness of the computation, we have built into Plainbook verification mechanisms centered on values and value inspection. These include mechanisms that focus on individual cells, akin to unit tests, as well as global mechanisms. Both the linear execution semantics, and the verification mechanisms, are underpinned by a snapshot kernel that caches execution states and makes execution and verification efficient.
Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。