CN111191410A - 用于计算笔记本界面的系统和方法及其计算机可读介质 - Google Patents

用于计算笔记本界面的系统和方法及其计算机可读介质 Download PDF

Info

Publication number
CN111191410A
CN111191410A CN201910953591.7A CN201910953591A CN111191410A CN 111191410 A CN111191410 A CN 111191410A CN 201910953591 A CN201910953591 A CN 201910953591A CN 111191410 A CN111191410 A CN 111191410A
Authority
CN
China
Prior art keywords
nodes
cells
interface
computing
notebook
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201910953591.7A
Other languages
English (en)
Inventor
J·温斯科维奇
赵健
M·L·库珀
S·卡特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Publication of CN111191410A publication Critical patent/CN111191410A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/313Logic programming, e.g. PROLOG programming language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

用于计算笔记本界面的系统和方法及其计算机可读介质。本文所描述的示例实现方式涉及一种用于计算笔记本的改进的界面,其以涉及节点和链接的图形形式表示计算笔记本的单元。通过这种改进的界面,可立即理解单元的执行次序,以及可执行代码的不同单元和包含在其中的变量之间的相关性。

Description

用于计算笔记本界面的系统和方法及其计算机可读介质
技术领域
本公开总体上涉及计算笔记本,更具体地,涉及用于计算笔记本界面的系统和方法。
背景技术
在现有技术中,计算笔记本已成为数据科学中用于数据探索和见解交流的主要媒介。这些笔记本将代码、文献以及各种形式(例如,图表和表格)的输出组合在单个文档内。尽管是有表现力的、动态的和灵活的,这些计算笔记本实际上是提供脚本、图表和表格的松散集合的界面,其很少叙事或清楚地表示分析过程。
计算笔记本是支持软件的交互式迭代开发的编程环境。计算笔记本的现有技术实现方式共享共同的一组以数据为中心的开发特征。我们所提出的可视化特别值得注意的是结构分解为称为“单元”的块。
在现有技术实现方式中,单元可按照两种形式出现。Markdown单元包含格式化文本,其常常用于为附随代码提供上下文,通过功能、结构和/或附近代码结果的讨论来补充传统代码注释。相比之下,代码单元是可执行组件,其像任何其它可执行文件一样执行计算,但受到单元本身的界限限制。在成功执行之后,这些代码单元也包含任何数量的格式的格式化输出:文本、表格、图形、图像、视频等。
发明内容
尽管共享笔记本似乎旨在通过单元线性地运行,但该结构不是强制的。开发者可创建以任意次序执行的全代码单元(或markdown单元)的笔记,一些单元可能运行多次,在执行之间编辑,并且笔记内可能有多个非线性执行路径。实际上,开发者出于各种目的使用这些笔记,包括实验替代技术、共享结果、临时或“一次性”代码以及探索性数据分析。这样多种使用计算笔记本的方法自然导致与其他研究者共享笔记本或追踪执行和调试中的错误方面的挑战,以及使得难以确定在给定时间执行什么代码。
此外,计算笔记本包括现有的现有技术工具不支持的附加挑战和行为,例如上述总体蜂窝结构和可变执行次序。没有专门解决计算笔记本问题的界面。
本文所描述的示例实现方式涉及一种界面,其总结了笔记本的结构以支持思想的更有效探索和交流,以及提供用于执行计算笔记本的功能。具体地,该界面使用动态图形来示出笔记本的不同单元(例如,文本、代码等)之间的相关性和关系。这种界面可用于分析者在探索性编程期间的自我反思,并且还用作分析者之间的叙事、协作和交流的有效叙述。
本公开的各方面涉及一种方法,其可包括以下步骤:对于包括多个单元的计算笔记本的第一界面,所述多个单元中的每一个包括可执行代码,提供以包括多个节点和将节点链接的多个链接的图形形式表示计算笔记本的第二界面,节点包括所述多个单元的表示。此外,该方面还可包括:对于计算笔记本中的所述多个单元的子集的执行,在第二界面上指示通过节点和链接的路径,该路径指示所述多个单元的执行次序。
本公开的各方面涉及一种存储有用于执行处理的指令的非暂时性计算机可读介质,所述指令可包括:对于包括多个单元的计算笔记本的第一界面,所述多个单元中的每一个包括可执行代码,提供以包括多个节点和将节点链接的多个链接的图形形式表示计算笔记本的第二界面,节点包括所述多个单元的表示。此外,该方面还可包括:对于计算笔记本中的所述多个单元的子集的执行,在第二界面上指示通过节点和链接的路径,该路径指示所述多个单元的执行次序。
本公开的各方面涉及一种系统,其可包括:对于包括多个单元的计算笔记本的第一界面,所述多个单元中的每一个包括可执行代码,用于提供以包括多个节点和将节点链接的多个链接的图形形式表示计算笔记本的第二界面的装置,节点包括所述多个单元的表示。此外,该方面还可包括:对于计算笔记本中的所述多个单元的子集的执行,用于在第二界面上指示通过节点和链接的路径的装置,该路径指示所述多个单元的执行次序。
本公开的各方面涉及一种设备,其可涉及处理器,该处理器被配置为:对于包括多个单元的计算笔记本的第一界面,所述多个单元中的每一个包括可执行代码,提供以包括多个节点和将节点链接的多个链接的图形形式表示计算笔记本的第二界面,节点包括所述多个单元的表示;对于计算笔记本中的所述多个单元的子集的执行,在第二界面上指示通过节点和链接的路径,该路径指示所述多个单元的执行次序。
附图说明
图1示出计算笔记本的示例界面。
图2示出根据示例实现方式的系统的总体流程。
图3示出根据示例实现方式的计算笔记本界面的示例。
图4至图7示出根据示例实现方式的示例系统界面的各方面。
图8(a)至图8(d)示出根据示例实现方式的高亮界面中的节点的示例。
图9示出根据示例实现方式的代码单元字形的示例。
图10示出根据示例实现方式的通过执行的节点的路径。
图11示出根据示例实现方式的连接使用所选变量或函数的所有单元的路径。
图12示出涉及时间滑块的示例实现方式。
图13示出根据示例实现方式的示例流程图。
图14示出具有适用于示例实现方式的示例计算机装置的示例计算环境。
具体实施方式
以下详细描述提供了本申请的附图和示例实现方式的进一步的细节。为了清晰,附图之间的冗余元件的标号和描述被省略。贯穿说明书使用的术语作为示例提供,并非旨在限制。例如,根据实践本申请的实现方式的本领域普通技术人员的期望实现方式,术语“自动”的使用可涉及全自动或半自动实现方式,其涉及用户或管理者对实现方式的特定方面的控制。可由用户通过用户界面或其它输入手段来进行选择,或者可通过期望的算法来实现选择。如本文所述的示例实现方式可单独使用或者组合使用,并且示例实现方式的功能可根据期望的实现方式通过任何手段来实现。
图1示出计算笔记本的示例界面。计算笔记本已成为数据科学中用于数据探索和见解交流的主要媒介。这些笔记本将代码、文献以及各种形式(例如,图表和表格)的输出组合在单个文档内。这种新形式的文档是有表现力的、动态的和灵活的,为探测和交流思想提供了丰富支持。例如,笔记本的内容可被分解为单元(包括用于文本的标记语言单元和用于脚本的代码单元),并且与现有技术的集成开发环境(IDE)不同,这些单元可按照任何次序评估/执行。尽管最初被配置为数字叙述,这些计算笔记本实际上是脚本、图表和表格的松散集合,其很少叙事或清楚地表示分析过程。
对于现有技术的计算笔记本,存在与界面的使用关联的多个问题。在现有技术中,分析者以各种方式使用计算笔记本,包括共享结果、快速实验和一次性代码、用于包括在稍后管线中的原型化代码以及数据分析。由于许多数据科学问题复杂,所以这些使用情况造成要由一起工作的多个分析者解决问题的协作方面的问题。例如,一个分析者可能不熟悉另一分析者的惯例,需要额外帮助来理解与他们共享的笔记本的目的和结构。需要诸如改进的界面的工具,以帮助该知识转移和共享过程。
计算笔记本的普及以及数据科学家使用他们的各种方式二者带来了各种问题。例如,分析者可能创建多个相似但不相同的代码版本,以测试如何收集、清理和处理代码方面的微小改变。在目前的界面中,分析者可很难跟踪哪一版本的代码生成什么结果,从而带来导航挑战。临时实验被当作注释或记录很差的“一次性”代码,但这种代码仍可能停留在最终笔记本中,特别是如果代码单元以非线性次序执行的话。在单个笔记本上协作的分析者可能很难理解现有笔记本的高级结构,因为目前的界面以线性方式呈现这种代码,尽管它可能非顺序地执行,这可能导致开发较慢和/或重复创建已经实现的分析。由于笔记本的使用情况涉及无向的探索性数据分析,所以以非线性方式执行代码与目前的笔记界面的线性结构相冲突。
本文所描述的示例实现方式涉及一种可视觉上总结笔记本的结构的界面,其可方便计算笔记本的结构的可视概览,包括单元和变量之间的关系和相关性。示例实现方式还可提供一种界面以方便向协作者以及用于自我反思的该结构的可视说明,提供单元之间的关系的用户驱动的探索,对执行各个笔记本单元时出现的运行时问题的可视调试,以及方便反映分析者之间的叙事、协作和交流的更有效叙述的界面。
图2示出根据示例实现方式的系统的总体流程。在200以计算笔记本作出输入,在201提取诸如各个标记语言和代码单元的性质,其中,在202使用提取的性质单独地作为力导向图内的节点来构建网络。在该图形内,节点之间的距离表示基于各个单元中使用的变量的相似性的度量(例如,相似的节点被拉近在一起,不相似的节点广阔地分离)。标记语言单元也充当控制点,常常指示包括更高级别的功能组(例如,数据加载、特征构造等)的单元集合。图形然后被投影到屏幕上以用于可视化203,并且控件集合在204允许分析者探索笔记本内的关系和结构。除了更新可视化之外,导致界面的实质改变的一些交互将需要重新构建网络。另外,用户对笔记本的更改需要构造更新的可视化以表示那些修改。
考虑以下使用情况:分析者一直单独工作以开发用于数据分析的计算笔记本,开发了大量代码但现在达到其数据科学专业知识的极限,并且需要引入在特定算法或库的使用方面更有经验的第二名分析者。该第二名分析者需要快速地赶上笔记本的当前状态的进度以便作出贡献。然而,这可能需要检查数百或数千行的源代码以理解诸如所使用的关键变量、当前数据处理方法和/或数据管线的主要功能组件之间的关系的结构。
并非通过代码本身追踪,第二名分析者可使用界面来快速地理解笔记本的高级结构,操纵界面以查看各个单元和更大的代码结构之间的关系,定位与其在继续开发笔记本方面的贡献相关的代码单元,追踪笔记本内的常见变量和函数的使用,并且理解笔记本的开发历史。
图3示出根据示例实现方式的计算笔记本界面的示例。在此示例中,在所提出的系统界面301上视觉上探索运行时执行的同时,分析者同时运行计算笔记本300。
图4示出根据示例实现方式的示例系统界面。该界面可涉及两个区域:左侧较大的图形探索空间和右侧的控件面板。图形探索空间包含表示计算笔记本的网络图形,以节点(例如,彩色、灰度等)和半透明链接渲染。例如,一个节点颜色可表示标记语言单元,而另一节点颜色可表示代码单元。
除了将标记单元连接到代码单元的链接(可以是根据期望的实现方式的结构连接器)的情况之外,链接的宽度和不透明度可被映射到它们连接的节点对的所测量的相似性。链接的长度也被映射到该测量的相似性,但是力导向仿真的物理特性可使得渲染的长度不精确,证明了双编码的合理性。相似性度量可基于由连接的节点共享的变量和函数的数量来计算,共享最多变量和函数的一对单元被映射到图形中的最强链接强度。然而,计算和渲染这些相似性的其它替代方法可包括(但不限于)用户指定的强度、识别特定单元对所特有的变量和函数(例如,经由词频-逆文档频率)、考虑线性笔记本结构中的单元之间的距离、以及使用深度学习方法来识别底层单元共性。
探索空间的背景可利用笔记本中使用的常见变量和函数来标记。根据期望的实现方式,这些变量和函数也可通过力导向手段来定位,但是没有将标签连接到图形的其余部分的可见链接。这些实现方式向分析者提供上下文信息,允许他们快速地查看图形的哪一部分对应于代码的什么功能。
利用这种可视化,第二名分析者可快速地了解笔记本内的一些结构。例如,标记的背景显示常见变量位于图形内的何处。如果该分析者将要在数据聚类方面贡献专业知识,则他们可定位诸如clusterGroup的变量的标签,或者可能寻找描述熟知数据集的变量(例如,图4的中心的iris)。
在识别可视化的相关区域之后,该分析者然后可开始探索与该区域相关的代码和标记单元。各个类别的链接(代码-代码、代码-标记、标记-标记)具有关联的权重,从而允许分析者更新图形布局以增强特定结构。
图5示出根据示例实现方式的另一示例界面。在图5中,分析者增加了应用于代码-标记链接的权重并且减小了应用于代码-代码链接的权重。结果,笔记本内的单元的更高级别的功能组在图形结构中变得更加可见,而笔记本中的各个单元之间的关系丢失。利用这一视图,分析者可快速地识别笔记本内的这些高级功能结构。增加标记-标记链接的强度将把相似结构更拉近在一起,从而指示这些结构组之间的功能关系。
图6示出根据示例实现方式的另一示例界面。具体地,图6示出图5的相反效果,功能组现在被当作不如代码单元之间的全局关系重要。现在,分析者可在笔记本内线性地确定单元是否位于错误的组中,因为这些单元将被远离对应markdown节点并朝着另一组的代码单元拉动。
图7示出根据示例实现方式的另一示例界面。为了进一步探索图形,分析者可高亮节点(例如,将鼠标光标悬停在节点上方)以显露附随单元中的源代码,分析者然后可修改该源代码并使得计算笔记本重新执行。
图8(a)至图8(d)示出根据示例实现方式的高亮界面中的节点的示例。在示例实现方式中,悬停在标记节点上方将显示包括在该单元中的标记语言(图8(a))。在另一示例实现方式中,悬停在代码节点上方将显示源代码和徽章二者(图8(b))。徽章与单元所生成的输出的类型对应,例如图形、表格、文件、文本和无输出。根据期望的实现方式,这些徽章可由那些代码单元的图形输出代替,导致渲染图表(图8(d)),而非简单地指示输出是图表(图8(c))。
图9示出根据示例实现方式的代码单元字形的示例。在示例实现方式中,可使用圆填充技术来增强代码单元字形,以显示这些单元的性质(例如,变量)。此外,可将这些变量的一些性质可视化,如在图9中看到的,其中变量节点的大小对其在笔记本中的频率编码,并且五个最频繁使用的变量接收独特的颜色。
探索空间可进一步注释有附加特征,例如绘制通过节点的路径(与笔记本的线性次序对应)、如图10所示通过执行的节点的路径(例如,显示分析者最近利用系统做了什么)、或者如图11所示将使用所选变量或函数的所有单元连接的路径(例如,显示单元之间的附加关系)。在示例实现方式中,分析者可能想要操纵iris数据集,因此有兴趣了解初始分析者已经在哪里使用了该数据集。通过高亮该变量通过笔记本的路径,可快速地识别该变量的当前使用。
显示这些路径还允许分析者利用其代码视觉上调试一些问题。例如,诸如x和i的变量频繁地用作计数器。如果分析者忘记重置该计数器,则可导致不期望的行为。该不期望的行为在计算笔记本中加重,因为分析者可选择不按次序执行单元。使用变量路径向分析者提供了应该针对遗漏计数器重置进行检查的代码单元的快速总结。附随该路径的执行次序路径通过消除还未执行的代码单元而进一步缩小了搜索空间。
图12示出涉及时间滑块的示例实现方式。通过包括时间滑块,程序员还可使用该系统来检查笔记本的开发历史。有了这样的特征,程序员可更好地理解原始开发者在构造笔记本、添加和去除markdown单元和代码单元、修改变量以及测试重要输出时的想法。
图13示出根据示例实现方式的示例流程图。具体地,图13示出生成要与计算笔记本的界面一起使用的界面的示例流程图。在1301,针对包含在其中的单元处理计算笔记本。在1302,基于多个单元在界面上生成节点和链接的图形。在1303,当执行计算笔记本时,基于单元的执行次序将沿着节点和链接的路径高亮。在1304,假如对界面进行修改,则可基于对其进行的修改来调节计算笔记本的功能及其执行。
图14示出具有适用于示例实现方式的示例计算机装置的示例计算环境。计算环境1400中的计算机装置1405可包括一个或更多个处理单元、核或处理器1410、存储器1415(例如,RAM、ROM等)、内部存储装置1420(例如,磁、光学、固态存储装置和/或有机)和/或I/O接口1425,其中任一个可联接在用于通信信息的通信机构或总线1430上或嵌入在计算机装置1405中。
计算机装置1405可在通信上联接到输入/用户接口1435和输出装置/接口1440。输入/用户接口1435和输出装置/接口1440中的任一者或两者可以是有线或无线接口并且可为可拆卸的。输入/用户接口1435可包括可用于提供输入的任何装置、组件、传感器或接口(物理的或虚拟的)(例如,按钮、触摸屏接口、键盘、指点/光标控制、麦克风、相机、盲文、运动传感器、光学读取器等)。输出装置/接口1440可包括显示器、电视、监视器、打印机、扬声器、盲文等。在一些示例实现方式中,输入/用户接口1435和输出装置/接口1440可被嵌入或物理联接到计算机装置1405。在其它示例实现方式中,其它计算机装置可用作或提供用于计算机装置1405的输入/用户接口1435和输出装置/接口1440的功能。在涉及触摸屏显示器、电视显示器或任何其它形式的显示器的示例实现方式中,显示器被配置为提供如例如图1至图12所示的用户界面。
计算机装置1405的示例可包括(但不限于)高度移动装置(例如,智能电话、车辆和其它机器中的装置、人和动物携带的装置等)、移动装置(例如,平板、笔记本、膝上型计算机、个人计算机、便携式电视、收音机等)以及不是为移动性设计的装置(例如,台式计算机、其它计算机、信息亭、嵌入有和/或联接有一个或更多个处理器的电视、收音机等)。
计算机装置1405可(例如,经由I/O接口1425)在通信上联接到外部存储装置1445和网络1450以用于与任何数量的联网组件、装置和系统通信,包括相同或不同配置的一个或更多个计算机装置。计算机装置1405或任何连接的计算机装置可用作、提供其服务或被称为服务器、客户端、精简服务器、通用机器、专用机器或另一标签。
I/O接口1425可包括(但不限于)使用任何通信或I/O协议或标准(例如,以太网、802.11x、通用系统总线、WiMax、调制解调器、蜂窝网络协议等)以用于至少向和/或从计算环境1400中的所有连接的组件、装置和网络通信信息的有线和/或无线接口。网络1450可以是任何网络或网络组合(例如,互联网、局域网、广域网、电话网络、蜂窝网络、卫星网络等)。
计算机装置1405可使用计算机可用或计算机可读介质(包括暂时性介质和非暂时性介质)和/或使用其通信。暂时性介质包括传输介质(例如,金属线缆、光纤)、信号、载波等。非暂时性介质包括磁介质(例如,磁盘和磁带)、光学介质(例如,CD ROM、数字视频盘、蓝光盘)、固态介质(例如,RAM、ROM、闪存、固态存储装置)以及其它非易失性存储装置或存储器。
计算机装置1405可用于在一些示例计算环境中实现技术、方法、应用、处理或计算机可执行指令。计算机可执行指令可从暂时性介质检索,以及被存储在非暂时性介质上并从其检索。可执行指令可源自任何编程、脚本和机器语言(例如,C、C++、C#、Java、VisualBasic、Python、Perl、JavaScript等)中的一个或更多个。
存储器1415可被配置为存储或管理要由处理器1410执行的算法,如例如图2和图13按照流程描述的。根据期望的实现方式,如本文所描述的示例实现方式可单独地进行或者彼此按照任何组合进行,不限于特定示例实现方式。
处理器1410可在本机或虚拟环境中的任何操作系统(OS)(未示出)下执行。可部署一个或更多个应用,其包括逻辑单元1460、应用编程接口(API)单元1465、输入单元1470、输出单元1475以及用于不同单元彼此通信、与OS通信以及与其它应用通信的单元间通信机制1495(未示出)。所描述的单元和元件的设计、功能、配置或实现方式可变化,不限于所提供的描述。处理器1410可以是被配置为执行从存储器1415加载的指令的物理处理器或中央处理单元(CPU)的形式。
在一些示例实现方式中,当通过API单元1465接收到信息或执行指令时,可将其通信到一个或更多个其它单元(例如,逻辑单元1460、输入单元1470、输出单元1475)。在一些情况下,在上述一些示例实现方式中,逻辑单元1460可被配置为控制单元之间的信息流并引导由API单元1465、输入单元1470、输出单元1475提供的服务。例如,一个或更多个处理或实现方式的流程可由逻辑单元1460单独控制或结合API单元1465控制。输入单元1470可被配置为获得示例实现方中所描述的计算的输入,输出单元1475可被配置为提供基于示例实现方式中所描述的计算的输出。
在示例实现方式中,处理器1410可被配置为:对于涉及多个单元的计算笔记本的第一界面,所述多个单元中的每一个包括如图1和图3的界面300所示的可执行代码,提供以涉及多个节点和链接节点的多个链接的图形形式表示计算笔记本的第二界面,节点涉及如图3的界面301所示的所述多个单元的表示;并且对于计算笔记本中的所述多个单元的子集的执行,在第二界面上指示通过节点和链接的路径,其指示所述多个单元的执行次序,如例如图10和图11所示。通过第一界面和第二界面,用户可快速地确定哪些单元正在执行并且通过第二界面添加单元或修改单元执行次序,而不必通过单元的线性第一界面追踪,并且可选择性地启用、禁用或重新布置单元的执行次序,而不必物理地定位计算笔记本内的单元。此外,用户可能忘记运行单元,这可能导致无意义的结果或错误,可通过第二界面立即理解这种情况。通过节点的第二界面,用户可立即链接正确的单元或改变执行次序或添加单元,而不必在第一界面中以线性次序布置但未必是执行次序的许多代码单元中筛选。用户还可在第二界面的组件上点击以导航到其在第一界面中的对应部分,反之亦然。这些实现方式对于由许多用户编辑的计算笔记本可为关键性的,因为由这些用户创建的版本之间的改变不容易通过计算笔记本的界面来辨别。
处理器1410还被配置为:在所述多个节点中的一个节点高亮时,从所述多个单元中与所述多个节点中的所述一个节点对应的一个单元提取代码;呈现所提取的与所述多个节点中的所述一个节点对应的代码以用于显示;以及对于对所显示的提取的代码进行的修改,根据修改在第一界面中修改所述多个单元中的所述一个单元,如图6至图8(d)所示。通过第二界面,单元的对应执行代码可立即呈现给用户以便于修改,这通过计算笔记本的界面通常是不可能的。用户然后可修改要由单元提供的代码或输出,然后重新执行计算笔记本。
处理器1410可被配置为在第二界面的对应节点上提供所述多个单元中的各个单元中利用的变量的指示,如图9所示。通过这种示例实现方式,用户可立即确定哪些单元中利用哪些变量,而无需通过计算笔记本的界面追踪。此外,用户可识别各个计算单元内的这些变量的值,以及不容易从计算笔记本辨别的单元之间的变量的相关性。这些示例实现方式允许快速识别变量中的错误或特定单元中的变量误用。
处理器1410可被配置为:在所述多个节点中的一个节点高亮时,确定与所述多个单元中与所述多个节点中的所述一个节点对应的一个单元关联的图表的表示;并且呈现所确定的与所述多个节点中的所述一个节点对应的图表以用于显示,如图8(c)和图8(d)所示。通过这种示例实现方式,用户可立即找到特定单元的数据输出并以图表形式或根据期望的实现方式以其它形式配置输出,这是对用户必须物理地定位计算笔记本内的单元以获得这些输出的计算笔记本界面的改进。
根据期望的实现方式,图形可以是力导向图,其中,所述多个节点根据对应单元中使用的变量的相似性来布置,使得所述多个链接中的每一个的长度代表相似性,如例如图4至图6所示。
处理器1410还可被配置为:在第二界面上提供时间滑块,该时间滑块被配置为提供计算笔记本的一个或更多个历史执行快照;并且对于时间滑块上对特定时间段的交互,根据所述一个或更多个历史执行快照中的对应一个来显示计算笔记本的图形形式,如图12所示。这些实现方式对于由许多用户编辑的计算笔记本可为关键性的,因为由这些用户创建的版本之间的改变不容易通过计算笔记本的界面来辨别,并且用户可能希望将计算笔记本返回到先前版本。通过这种实现方式,周期性地拍摄计算笔记本的快照并以图形形式表示,如图12所示,并且用户可容易地切换回期望的版本,这是无法通过计算笔记本的界面实现的功能。
依据计算机内的操作的算法和符号表示来呈现详细描述的一些部分。这些算法描述和符号表示是由数据处理领域的技术人员用来将其创新本质传达给本领域技术人员的手段。算法是导致期望的最终状态或结果的一系列定义的步骤。在示例实现方式中,所执行的步骤需要有形量的物理操纵以实现有形结果。
除非另外具体地说明,从讨论显而易见,将理解,贯穿说明书,利用诸如“处理”、“计算”、“确定”、“显示”等的术语的讨论可包括计算机系统或其它信息处理装置的动作和处理,其将计算机系统的寄存器和存储器内表示为物理(电子)量的数据操纵和变换成计算机系统的存储器或寄存器或其它信息存储、传输或显示装置内类似地表示为物理量的其它数据。
示例实现方式还可涉及用于执行本文中的操作的设备。该设备可以是为所需目的而专门构造的,或者它可包括由一个或更多个计算机程序选择性地激活或重新配置的一个或更多个通用计算机。这些计算机程序可被存储在诸如计算机可读存储介质或计算机可读信号介质的计算机可读介质中。计算机可读存储介质可涉及有形介质,例如(但不限于)光盘、磁盘、只读存储器、随机存取存储器、固态装置和驱动器、或者适合于存储电子信息的任何其它类型的有形或非暂时性介质。计算机可读信号介质可包括诸如载波的介质。本文中所呈现的算法和显示并非固有地与任何特定计算机或其它设备有关。计算机程序可涉及纯软件实现方式,其涉及执行期望的实现方式的操作的指令。
各种通用系统可与根据本文中的示例的程序和模块一起使用,或者可证明构造更专用的设备以执行期望的方法步骤是方便的。另外,未参考任何特定编程语言描述示例实现方式。将理解,可使用各种编程语言来实现如本文中所描述的示例实现方式的教导。编程语言的指令可由一个或更多个处理装置(例如,中央处理单元(CPU)、处理器或控制器)执行。
如本领域中已知的,上述操作可由硬件、软件或软件和硬件的某种组合来执行。示例实现方式的各方面可使用电路和逻辑装置(硬件)来实现,而其它方面可使用存储在机器可读介质上的指令(软件)来实现,其如果由处理器执行,将使得处理器执行完成本申请的实现方式的方法。此外,本申请的一些示例实现方式可仅在硬件中执行,而其它示例实现方式可仅在软件中执行。此外,所描述的各种功能可在单个单元中执行,或者可按照任何数量的方式横跨若干组件分布。当由软件执行时,所述方法可基于存储在计算机可读介质上的指令由诸如通用计算机的处理器执行。如果期望,指令可按照压缩和/或加密格式存储在介质上。
此外,考虑到说明书和本申请的教导的实践,对于本领域技术人员而言本申请的其它实施方式将显而易见。所描述的示例实现方式的各方面和/或组件可单独地使用或按照任何组合使用。说明书和示例实现方式旨在仅被视为示例,本申请的真实范围和精神由所附权利要求指示。

Claims (18)

1.一种用于计算笔记本界面的方法,该方法包括以下步骤:
对于包括多个单元的计算笔记本的第一界面,所述多个单元中的每一个单元包括可执行代码和markdown中的一个或更多个,提供以包括多个节点和将所述节点链接的多个链接的图形形式表示所述计算笔记本的第二界面,所述节点包括所述多个单元的表示;
对于所述计算笔记本中的所述多个单元的子集的执行,在所述第二界面上指示通过所述节点和链接的路径,该路径指示所述多个单元的执行次序。
2.根据权利要求1所述的方法,该方法还包括以下步骤:
在包括所述可执行代码的所述多个节点中的一个节点高亮时,从所述多个单元中与所述多个节点中的所述一个节点对应的一个单元提取代码;
呈现所提取的与所述多个节点中的所述一个节点对应的代码以用于显示;以及
对于对所显示的提取的代码进行的修改,根据所述修改在所述第一界面中修改所述多个单元中的所述一个单元。
3.根据权利要求1所述的方法,该方法还包括以下步骤:
在所述第二界面的对应节点中的一个或更多个节点上和所述界面的背景中,提供所述多个单元中的各个单元中利用的变量的指示。
4.根据权利要求1所述的方法,该方法还包括以下步骤:
在所述多个节点中的一个节点高亮时,确定与所述多个单元中与所述多个节点中的所述一个节点对应的一个单元关联的图表的表示;以及
呈现所确定的与所述多个节点中的所述一个节点对应的图表以用于显示。
5.根据权利要求1所述的方法,其中,所述图形是力导向图,其中,所述多个节点根据对应单元中使用的变量的相似性来布置,使得所述多个链接中的每一个链接的长度代表所述相似性,其中,所述多个单元的所述表示包括所述多个单元中包括可执行代码的单元的第一表示以及所述多个单元中包括markdown的单元的不同于所述第一表示的第二表示。
6.根据权利要求1所述的方法,该方法还包括以下步骤:
在所述第二界面上提供时间滑块,该时间滑块被配置为提供所述计算笔记本的一个或更多个历史执行快照;
对于所述时间滑块上对特定时间段的交互,根据所述一个或更多个历史执行快照中的对应一个历史执行快照来显示所述计算笔记本的所述图形形式。
7.一种存储有用于执行用于计算笔记本界面的处理的指令的非暂时性计算机可读介质,所述指令包括:
对于包括多个单元的计算笔记本的第一界面,所述多个单元中的每一个单元包括可执行代码和markdown中的一个或更多个,提供以包括多个节点和将所述节点链接的多个链接的图形形式表示所述计算笔记本的第二界面,所述节点包括所述多个单元的表示;
对于所述计算笔记本中的所述多个单元的子集的执行,在所述第二界面上指示通过所述节点和链接的路径,该路径指示所述多个单元的执行次序。
8.根据权利要求7所述的非暂时性计算机可读介质,所述指令还包括:
在包括所述可执行代码的所述多个节点中的一个节点高亮时,从所述多个单元中与所述多个节点中的所述一个节点对应的一个单元提取代码;
呈现所提取的与所述多个节点中的所述一个节点对应的代码以用于显示;以及
对于对所显示的提取的代码进行的修改,根据所述修改在所述第一界面中修改所述多个单元中的所述一个单元。
9.根据权利要求7所述的非暂时性计算机可读介质,所述指令还包括:
在所述第二界面的对应节点中的一个或更多个节点上和所述界面的背景中,提供所述多个单元中的各个单元中利用的变量的指示。
10.根据权利要求7所述的非暂时性计算机可读介质,所述指令还包括:
在所述多个节点中的一个节点高亮时,确定与所述多个单元中与所述多个节点中的所述一个节点对应的一个单元关联的图表的表示;以及
呈现所确定的与所述多个节点中的所述一个节点对应的图表以用于显示。
11.根据权利要求7所述的非暂时性计算机可读介质,其中,所述图形是力导向图,其中,所述多个节点根据对应单元中使用的变量的相似性来布置,使得所述多个链接中的每一个链接的长度代表所述相似性,其中,所述多个单元的所述表示包括所述多个单元中包括可执行代码的单元的第一表示以及所述多个单元中包括markdown的单元的不同于所述第一表示的第二表示。
12.根据权利要求7所述的非暂时性计算机可读介质,所述指令还包括:
在所述第二界面上提供时间滑块,该时间滑块被配置为提供所述计算笔记本的一个或更多个历史执行快照;
对于所述时间滑块上对特定时间段的交互,根据所述一个或更多个历史执行快照中的对应一个历史执行快照来显示所述计算笔记本的所述图形形式。
13.一种用于计算笔记本界面的设备,该设备包括:
处理器,该处理器被配置为:
对于包括多个单元的计算笔记本的第一界面,所述多个单元中的每一个单元包括可执行代码和markdown中的一个或更多个,提供以包括多个节点和将所述节点链接的多个链接的图形形式表示所述计算笔记本的第二界面,所述节点包括所述多个单元的表示;
对于所述计算笔记本中的所述多个单元的子集的执行,在所述第二界面上指示通过所述节点和链接的路径,该路径指示所述多个单元的执行次序。
14.根据权利要求13所述的设备,所述处理器还被配置为:
在包括所述可执行代码的所述多个节点中的一个节点高亮时,从所述多个单元中与所述多个节点中的所述一个节点对应的一个单元提取代码;
呈现所提取的与所述多个节点中的所述一个节点对应的代码以用于显示;以及
对于对所显示的提取的代码进行的修改,根据所述修改在所述第一界面中修改所述多个单元中的所述一个单元。
15.根据权利要求13所述的设备,所述处理器还被配置为:
在所述第二界面的对应节点中的一个或更多个节点上和所述界面的背景中,提供所述多个单元中的各个单元中利用的变量的指示。
16.根据权利要求13所述的设备,所述处理器还被配置为:
在所述多个节点中的一个节点高亮时,确定与所述多个单元中与所述多个节点中的所述一个节点对应的一个单元关联的图表的表示;以及
呈现所确定的与所述多个节点中的所述一个节点对应的图表以用于显示。
17.根据权利要求13所述的设备,其中,所述图形是力导向图,其中,所述多个节点根据对应单元中使用的变量的相似性来布置,使得所述多个链接中的每一个链接的长度代表所述相似性,其中,所述多个单元的所述表示包括所述多个单元中包括可执行代码的单元的第一表示以及所述多个单元中包括markdown的单元的不同于所述第一表示的第二表示。
18.根据权利要求13所述的设备,所述处理器还被配置为:
在所述第二界面上提供时间滑块,该时间滑块被配置为提供所述计算笔记本的一个或更多个历史执行快照;
对于所述时间滑块上对特定时间段的交互,根据所述一个或更多个历史执行快照中的对应一个历史执行快照来显示所述计算笔记本的所述图形形式。
CN201910953591.7A 2018-10-26 2019-10-09 用于计算笔记本界面的系统和方法及其计算机可读介质 Withdrawn CN111191410A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/172,357 2018-10-26
US16/172,357 US10768904B2 (en) 2018-10-26 2018-10-26 System and method for a computational notebook interface

Publications (1)

Publication Number Publication Date
CN111191410A true CN111191410A (zh) 2020-05-22

Family

ID=70325367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910953591.7A Withdrawn CN111191410A (zh) 2018-10-26 2019-10-09 用于计算笔记本界面的系统和方法及其计算机可读介质

Country Status (3)

Country Link
US (1) US10768904B2 (zh)
JP (1) JP7375410B2 (zh)
CN (1) CN111191410A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377679A (zh) * 2021-07-13 2021-09-10 北京乐学帮网络技术有限公司 代码确定方法、装置、电子设备和存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002163B2 (en) * 2016-08-18 2018-06-19 Palantir Technologies Inc. Managing sharable cell-based analytical notebooks
JP7349453B2 (ja) * 2018-02-27 2023-09-22 ゼタン・システムズ・インコーポレイテッド 異種データのためのスケーラブル変換処理ユニット
USD923042S1 (en) * 2018-07-04 2021-06-22 The Fourth Paradigm (Beijing) Tech Co Ltd Display screen with transitional graphical user interface
USD901535S1 (en) * 2018-11-15 2020-11-10 Nutanix, Inc. Display screen or portion thereof with graphical user interface
KR102329368B1 (ko) * 2019-02-26 2021-11-19 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 정보 처리 방법 및 기록 매체에 저장된 정보 처리 프로그램
JP7457588B2 (ja) 2020-06-18 2024-03-28 株式会社日立製作所 計算機システム及びプログラムコードの実行制御方法
US11860766B2 (en) * 2021-10-08 2024-01-02 Microsoft Technology Licensing, Llc What-if analysis for notebooks
US20230130627A1 (en) * 2021-10-21 2023-04-27 Yandex Europe Ag Method for collaboration using cell-based computational notebooks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101233504A (zh) * 2005-01-05 2008-07-30 希尔克瑞斯特实验室公司 用于用户界面的分布式软件架构
CN103678110A (zh) * 2012-09-26 2014-03-26 国际商业机器公司 提供修改相关信息的方法和装置
CN106056183A (zh) * 2015-04-02 2016-10-26 艾克尼特有限公司 印刷机器可读图像的印刷介质及扫描该图像的系统和方法
US20170109933A1 (en) * 2015-10-14 2017-04-20 Prime Software Systems, Inc. Visualizing the structure and execution of a program
CN107450902A (zh) * 2016-04-29 2017-12-08 埃森哲环球解决方案有限公司 具有可视化建模工具的系统架构

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242479A (ja) * 1999-02-23 2000-09-08 Matsushita Electric Works Ltd ソフトウェアプログラム作成支援方法
JP2003019667A (ja) * 2001-07-03 2003-01-21 Nidek Co Ltd 眼鏡レンズ加工用の研削水タンクユニット及びこれを備える眼鏡レンズ加工装置
JP2003196667A (ja) * 2001-12-27 2003-07-11 Celestar Lexico-Sciences Inc 有向グラフレイアウト装置、有向グラフレイアウト方法、プログラム、および、記録媒体
US8191052B2 (en) * 2006-12-01 2012-05-29 Murex S.A.S. Producer graph oriented programming and execution
JP4839424B2 (ja) * 2008-12-15 2011-12-21 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの解析を支援するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム
US20110040770A1 (en) * 2009-08-13 2011-02-17 Yahoo! Inc. Robust xpaths for web information extraction
JP5744660B2 (ja) * 2010-08-26 2015-07-08 キヤノン株式会社 データ検索結果の表示方法およびデータ検索結果の表示装置、プログラム
US9519677B2 (en) * 2010-10-08 2016-12-13 Battelle Memorial Institute Data graphing methods, articles of manufacture, and computing devices
US8468449B1 (en) * 2011-12-08 2013-06-18 Microsoft Corporation Generating CSS shorthand properties
JP5789537B2 (ja) * 2012-02-13 2015-10-07 株式会社日立製作所 ソースコード類似関係可視化装置
US8990777B2 (en) * 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9442700B2 (en) * 2013-09-30 2016-09-13 MuleSoft, Inc. API notebook tool
WO2015047431A1 (en) * 2013-09-30 2015-04-02 Mcafee, Inc. Visualization and analysis of complex security information
JP6511860B2 (ja) * 2015-02-27 2019-05-15 富士通株式会社 表示制御システム、グラフ表示方法およびグラフ表示プログラム
US10025799B2 (en) * 2015-07-22 2018-07-17 International Business Machines Corporation Access and presentation of files based on semantic proximity to current interests
US10558679B2 (en) * 2016-02-10 2020-02-11 Fuji Xerox Co., Ltd. Systems and methods for presenting a topic-centric visualization of collaboration data
US10565225B2 (en) * 2016-03-04 2020-02-18 International Business Machines Corporation Exploration and navigation of a content collection
US10726033B2 (en) * 2016-07-12 2020-07-28 Autodesk, Inc. Automated graph layout using metadata
US10002163B2 (en) * 2016-08-18 2018-06-19 Palantir Technologies Inc. Managing sharable cell-based analytical notebooks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101233504A (zh) * 2005-01-05 2008-07-30 希尔克瑞斯特实验室公司 用于用户界面的分布式软件架构
CN103678110A (zh) * 2012-09-26 2014-03-26 国际商业机器公司 提供修改相关信息的方法和装置
CN106056183A (zh) * 2015-04-02 2016-10-26 艾克尼特有限公司 印刷机器可读图像的印刷介质及扫描该图像的系统和方法
US20170109933A1 (en) * 2015-10-14 2017-04-20 Prime Software Systems, Inc. Visualizing the structure and execution of a program
CN107450902A (zh) * 2016-04-29 2017-12-08 埃森哲环球解决方案有限公司 具有可视化建模工具的系统架构

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李清霞 等: ""新形势下数据结构与算法的可视化教学探索"", 《福建电脑》, 25 September 2016 (2016-09-25), pages 148 - 149 *
李清霞;: "新形势下数据结构与算法的可视化教学探索", 福建电脑, no. 09, 25 September 2016 (2016-09-25), pages 148 - 149 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377679A (zh) * 2021-07-13 2021-09-10 北京乐学帮网络技术有限公司 代码确定方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
JP7375410B2 (ja) 2023-11-08
US10768904B2 (en) 2020-09-08
JP2020068020A (ja) 2020-04-30
US20200133638A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
US10768904B2 (en) System and method for a computational notebook interface
CN107807814B (zh) 应用组件的构建方法、装置、设备及计算机可读存储介质
KR20080106550A (ko) 그래픽 디자이너 재사용을 가능하게 하는 선언적 정의를 이용하기 위한 컴퓨터 프로그램 제품, 및 컴퓨팅 시스템, 컴퓨터 판독 가능 매체
Seffah Patterns of HCI design and HCI design of patterns: bridging HCI design and model-driven software engineering
Beeley et al. Web Application Development with R Using Shiny: Build stunning graphics and interactive data visualizations to deliver cutting-edge analytics
Mason et al. A centralized tool for managing, archiving, and serving point-in-time data in ecological research laboratories
Mueller et al. Python for data science for dummies
KR20170073604A (ko) 데이터 미리보기를 통한 작업 작성 기법
Rossant Learning IPython for interactive computing and data visualization
Rahman et al. The modular and feature toggle architectures of Google Chrome
US12008049B2 (en) Techniques for visualizing dependencies in a data analytics system
CN114270313A (zh) 一种计算机实现的方法、计算机程序以及物理计算环境
Li et al. cellxgene VIP unleashes full power of interactive visualization, plotting and analysis of scRNA-seq data in the scale of millions of cells
Rossant Learning IPython for interactive computing and data visualization
Dekkati Python Programming Language for Data-Driven Web Applications
Koren et al. Community learning analytics with industry 4.0 and wearable sensor data
CN117940890A (zh) 协作式工业集成开发和执行环境
Xiao et al. UI semantic component group detection: Grouping UI elements with similar semantics in mobile graphical user interface
Shershakov Vtmine for visio: A graphical tool for modeling in process mining
Milovanovic et al. Python Data Visualization Cookbook
Gonçalves et al. Cyrface: An interface from Cytoscape to R that provides a user interface to R packages
Ruthkoski Google visualization API essentials
Schuler et al. Database Evolution, by Scientists, for Scientists: A Case Study
Frey Hypermodelling for drag and drop concern queries
Dhaene et al. HSIToolbox: A web-based application for the classification of hyperspectral images

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: Tokyo, Japan

Applicant after: Fuji film business innovation Co.,Ltd.

Address before: Tokyo, Japan

Applicant before: Fuji Xerox Co.,Ltd.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20200522