基于草图的交互与计算机数据分析的集成的制作方法

文档序号:6365830阅读:227来源:国知局
专利名称:基于草图的交互与计算机数据分析的集成的制作方法
技术领域
本发明涉及基于草图的交互,尤其是基于草图的交互与计算机数据分析的集成。
背景技术
信息可视化系统聚焦于鼠标、键盘和台式显示器的常见技术设置。仅为单独桌面工作提供可视化支持的该实践忽略信息工作的其他探索阶段,诸如(在纸或白板上)初歩草绘以得出分析数据的想法和方法。在信息工作者间使用纸和白板是无处不在的。想法、问题和计划通常是在非正式的地点最初得出的。然而,如果信息工作包括大量的数据,那么不久就必须利用某些工具(例如,电子表格)中的计算能力。 尽管其熟悉程度以及固有的益处,但传统的白板在根本上受到其被动本质的限 制。所示的全部内容必须被直接地绘制。例如,如果采用图表和图来示出数据,则必须手动绘制每个数据项。因此,白板上的数据图表往往是相对简单的,因为即使对于准确性不重要的情形,逐个绘制很多个数据点也是乏味的。白板上的数据丰富的问题求解或者是非常乏味的,或者导致使用部分的或仅是指示的图表和图。另外,草绘数据准确性是具有挑战性的,并且绘图的质量受到存储器的限制;在任何真实的程度上仅有大致的趋势可从回忆中绘制。手绘图表也受到限制,因为针对数据的有用函数是不容易估算的。可能很难带有任何准确性地估算标准偏差、基数和甚至是算木平均数,但它们在数据分析的初始步骤中是必要的工具。換言之,在人们想什么和在白板上绘制什么与人们如何在计算机中操纵数据之间存在巨大的差距。

发明内容
下面提供了简化的发明内容,以便提供对此处所描述的ー些新颖实施例的基本理解。本概述不是广泛的概览,并且它不g在标识关键/重要元素或描绘本发明的范围。其唯一目的是以简化形式呈现ー些概念,作为稍后呈现的更具体实施例的序言。所公开的体系结构对自由形式的基于草图的交互的益处与至少支持制图的计算机辅助数据分析和处理进行集成。用户可以简单地向交互式组件(例如,白板)应用草绘的标记(也称为笔划),并且随后一个或多个笔划被处理以表明图形表示(例如,图表、箭头),随后直接、単独或与所应用的笔划相结合地生成和呈现该图形表示以供经由交互式组件来查看。所生成的图形表示不需要由计算系统来美化,但是与用户所应用的基于手的笔划相同或相似。作为响应,该体系结构可在从用户数据填充的图表上标出各项。通过在所得的的图上绘制(应用ー个或多个笔划),用户与用户自己的数据交互,动态地改变所得的可视化,导致更流畅且不太具有侵入性的体验。因此,用户可以轻松地通过使用诸如散点图表和条形图等图形表示来可视地探査数据。另外,分析通过对用户数据应用函数来轻松地实现。基于草图的交互可用于(例如,通过绘制符号来)改变图表类型,(例如,通过应用函数来)变换数据,(例如,通过在图例项上绘制删除线来)过滤数据等。另外,体系结构从用户绘制的笔划来推断用户所想要的可视化,诸如图的轴、标记的词
レロ寸O通过将更多的数量分析和数据探查作为目标,这些原理使例如非专家的用户能够快速地在其可视化中探査数据。为了实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其它优点和新颖特征将变得显而易见。


图I示出根据所公开的体系结构的计算机实现的交互式系统。图2示出了根据所公开的体系结构的基于草图的交互式基于计算机的数据分析系统的更详细的实施例。图3示出了手动笔划形式的对可视化表面的基于草图的自由形式的输入,该笔划表示图表的图形表示的轴及其标记。图4示出了用户对数据点最大值的按照年份的选择。图5示出了基于所建议的用户自由形式的输入而自动地创建的条形图。图6示出了对颜色和形状的使用。图7示出了根据所公开的体系结构的计算机实现的方法。图8示出图7的方法的其他方面。图9示出了根据所公开的体系结构的计算系统的框图,该计算系统执行与计算机辅助的数据分析的基于草图的交互。
具体实施例方式所公开的体系结构对纸张或白板的非正式草绘方法与计算机的计算能力进行组合以提供计算机辅助的数据可视化的数据探索能力。手绘外观可被保留,并且可替换地或与其组合地,绘图可被处理成更加精炼的結果。笔划可作为矢量实体来处理以成为完全可识别的且实用的。还支持自动完成功能。体系结构支持草绘可视化的多种方式。此外,提供可替换的交互方法。例如,为了指定图表的轴,用户可以绘制轴并经由手写的轴标记来指定该轴,绘制轴并经由放置(带有每个轴的数据点值的)一或两个数据点来指定该轴,和/或绘制轴并经由放置和标记带有值的刻度线来指定该轴。还可提供定制的数据视图,因此,用户可在其开始绘图过程之前预览数据。体系结构还可以按照非侵入式的方式从可用的数据中提供建议和推荐。另外,可在适当处提供手势和可视化自动完成功能。该体系结构支持基于草图的方法,以便用户执行数据探索中常见的ー组动作。示例包括调整每个轴的范围/尺度,应用函数(例如,平均、标准差、最小、最大、计数等)而不必重新绘制可视化,排序/重新排序,过滤等。另外,该体系结构提供指定诸如颜色和形状等可视变量的方式,并且提供不同视图和不同的图表类型(或可视化)之间的无缝切換。
该体系结构还可提供増量式地访问数据的方式,而不是示出整个数据集。因此,用户可以以感兴趣的数据的子集来开始并且增量式地请求更多的数据。该体系结构还可通过无缝地执行诸如跟踪历史、分叉(fork)探索和示出 用于比较的多个可视化等外围任务来辅助工作流。可在操作上协调识别。被链接的和可重用的API提供对输入模态的范围和手势、笔划、手部姿态以及所生成的符号字符的无缝处理。当例如使用图表时,用户可应用诸如线段、弧形(也称为笔划-体系结构的基本对象)等简单的草绘标记来表明要查看的图表。作为响应,该体系结构可在从用户数据填充的图表上标出并呈现各项。通过与图表进ー步交互(例如,绘图),用户可以与数据交互,并在进行中(on-the-fly)改变所得的可视化,由此导致更流畅且不太具有侵入性的体验。在一个实现中,产生数字白板,该数字白板仿真传统的白板,但允许多个不相交的想法(例如,草图)并发地出现在板载。因此,单个用户可与例如ー个或多个图表/图交互,或者多个用户可与ー个或多个图表/图协作式地交互。如果需要,另ー个示例实现可利用用于单独的数据探索或甚至多个用户交互的平板PC。与采用模式概念的传统系统相反,所公开的体系结构允许全部应用独立地且并发地解释笔划。该体系结构观察(识别)用户笔划并且使用该知识来提供服务。在一个实现中,该体系结构是严格的笔划驱动的,因为不存在或存在屏幕上(例如,屏幕外部周围)所采用的最小的菜单栏。然而,这不应被解释为在任何方式上是限制性的,因为可以采用其他合适的用户输入技木。例如,观察(接收并识别)诸如用户输入的图的轴、或词语、或字母等所绘的笔划,并且由此来推断用户所想要的可视化以完成图形表示(例如,图表)。虽然此处主要用用户输入作为基于笔划来描述,但应当理解的是可以単独地或与诸如经由菜单和基于触摸的交互等相结合地采用便于用户交互的其他输入模态。该体系结构向用户提供与计算机辅助分析结合操作的(例如,基于草图、基于笔、基于触摸等)用户输入界面来可视地探索用户数据。一旦接收到用户输入,该体系结构识别并且计算机生成与输入相关联的图形对象。例如,如果输入是(例如,使用标记笔)作为标记被应用到白板表面的ー个或多个用户笔划(例如,带有箭头的线段),则随后可以识别该ー个或多个笔划并将其作为是箭头的图形对象来呈现。该箭头图形对象可随后以整理版本被呈现在用户所应用的笔划附近,或者作为用户所应用的笔划的被捕捉的呈现(图像)。该体系结构鼓励通过用户输入的协作式数据探索,用户输入包括用户向可视化界面(还被称为数字交互式组件)草绘或引入笔划。草绘的线段和手写的文本可被轻松地擦除或修改。另外,该体系结构鼓励用户从不同的角度来探索数据并由此发现新的见解。因此,可在视图中維持用户所绘的笔划以便鼓励擦除和修改。协作得到促进,使得多个用户可应用笔划,该笔划随后被动态地处理以呈现相关联的图形对象并接着在接受检查下对用户数据操作。在诸如基于笔的交互式显示器等大型绘图表面的上下文中,使用多个活动笔来支持协作,其中笔提供了与基于笔的交互式可视化表面交互的工具。由于人们已经在讨论和演示上下文中使用了白板,因此所公开的数据探索交互式体系结构增强了用户熟悉的自然协作式环境。所公开的体系结构提供了直接的操纵(交互),不仅将创建新图表和修改现有图表的成本(例如,实践)最小化,还加速了初学用户的学习曲线。使用电子表格的现有技术例如需要多个步骤来配置图表參数,包括选择合适的菜单项和执行多个选择。相反,所公开的体系结构启用了直接的用户交互而没有复杂的菜单导航,并且仿真一般与例如在白板上草绘图表相关联的活动。体系结构界面的自由形式的本质使用户能够按需详细或粗略地绘制可被构想的一切。用户可将图表可视化以表达所预期的趋势以及呈现在数据中观察到的现有趋势。快速草绘允许用户单独地或协作式地来快速且简单地尝试不同的选项,发现相关和离群值,并且过滤和汇总数据。现在參考附图,附图中通篇使用相似的附图标记表示相似的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以在没有这些具体细节的情况下实施各新颖实施例。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。图I示出根据所公开的体系结构的呈现系统100。系统100包括接收用户交互104并将该用户交互104作为笔划来处理的数字交互式组件102。应当理解,笔划可以是如上所 述很多不同类型的输入模态的結果。计算组件106 (例如,与交互式组件102分开的基于计算机的组件)将用户交互104 (例如,笔划)解释为与图形表示108 (例如,箭头、图表、图例等)相关,并且可选地,基于笔划对用户数据110执行操作以便创建用户数据110和图形表示108的整体图形视图112,该图形视图112可以与所应用的笔划组合。计算组件106还可管理(例如,检索和生成)如此处所描述的注释。用户数据110被示为图形表示108以便简单地传达质量和/或数量信息用户数据110可由图形表示108来表征,该图形表示108可以是ー组图形对象。在替换的实现中,经由界面组件102単独地或与图形表示108组合地通过其原始或表格形式来呈现观察中的某些或全部用户数据在所公开的体系结构的构想范围内。计算组件106可提供包括ー个或多个图形对象(例如,图表的轴、刻度线等)的图形表示108。例如,用户输入是意图成为箭头的原始笔划(例如,使用标记笔在白板表面上用手草绘)吋,计算组件106可以捕捉该输入并呈现相同的笔划作为图形视图112中的图形对象。因此,可在板表面上原始笔划的附近以其粗略(捕捉为不直的、不对称的等)形式呈现由用户手动地创建的原始笔划。或者,原始笔划可由计算组件106作为“经整理的”(例如,直的、各点対称的等)箭头对象来呈现,计算组件106检索预定和被存储的箭头对象,该对象被访问井随后在图形视图112中被呈现。在任一情形中,所得的图形视图112可以仅包括原始笔划、仅包括粗略笔划、仅包括经整理的笔划、或其任意组合。演示组件114从计算组件106接收呈现信息,并在图形视图112中将该呈现信息呈现为包括笔划(粗略的或经整理的)、标记、列表和交互地或以其他方式与数字交互式组件102相关联的其他图形对象。換言之,图形视图112可由投影仪投影到可以是数字白板的界面组件102上,该投影仪是演示组件114。交互式组件102是例如基于笔的显示器或基于触摸的显示器吋,演示组件114可以是计算组件106的一部分或显示器的一部分,使得可经由基于笔或基于触摸的显示器的显示能力来呈现图形视图112。
计算组件106可包括数据分析和处理组件116,该数据分析和处理组件116可以通过数据组件118访问用户数据110。数据组件118可以是服务器上的数据库、分布式数据库、本地客户机上的文件、存储器内的数据等,该数据组件118经由ー个或多个图形表示120 (例如,图形表示108)使用户数据110(例如,数据集)可用于操纵和交互。在另ー实现中,数据组件118可以是云计算基础结构的一部分。图形对象是用于数字地呈现或显示图表轴、轴上的刻度线、文本、尺寸、所捕捉的用户笔划、框、线段等的对象。图形对象可基于ー个或多个用户交互104来改变和/或更新。相反,用户数据110是用户期望检查的数据(例如,销售数据、财务数据)。关于用户交互,如果用户交互104·是要改变诸如图表等图形表示的I轴上的尺度,则数据分析和处理组件116根据用户应用到轴上的笔划来调整轴的缩放。另外,数据分析和处理组件116根据新的用户交互104在用户的检查下处理数据集(用户数据110)。注意,图形对象可以与应用(例如,图表程序、操作系统)相关联,该应用提供执行图形和图表生成和操纵、以及提供添加用于处理和呈现新的图形表示的新选项的扩展能力的能力。如前所述,数字交互式组件102 (例如,主动或被动可视化表面)可以是例如数字白板、交互式显示器表面、触摸表面、基于笔的表面、或简单的用户使用鼠标或其他指针驱动的用户输入设备经由其交互的计算机监视器,并且包括适当的软件(例如,演示、操作系统、图表/图形等)以辅助特定的数字交互式组件102来识别并处理用户交互。数据分析和处理组件116 (例如,计算机子组件)响应于用户交互104通过应用数据分析功能(例如,包括执行、删除、过滤、数学运算、缩放等的操作)来对用户数据110执行数据分析。例如,如果用户应用笔划到随后被系统100推断来建立轴的缩放的图表的y轴,则系统100自动地应用y轴的其余刻度线。数据分析和处理组件116随后在接受检查(用户数据HO)下自动地对数据集执行数据分析以适于图表(图形表示108)。演示组件114(例如,投影仪系统、显示器表面、触摸表面、基于笔的表面等)呈现与被操作所改变的图形表示108相关联的ー个或多个图形对象。在一个实现中,捕捉用户交互104并从是白板的数字交互式组件102对其进行解释,并且随后一旦被处理(例如,推断)以确定打算绘图的用户,则所得的图形对象随后被(视频或相机系统)投影到白板上以供用户和其他查看者进行可视化,并且根据所需的尺寸和格式来表征用户数据110。在另ー示例中,捕捉用户交互104并从是基于触摸的表面或显示器的数字交互式组件102对其进行解释,并且随后一旦被处理(例如,推断)以确定打算绘图的用户,则所得的图形对象随后经由基于触摸的设备(显示器)来呈现以供用户和(本地和/或远程的)其他查看者进行可视化,并且根据所需的尺寸和格式来表征用户数据110。注意,图形表不108仅是可被米用和利用的很多图形表不120之一。例如,图形表示108可以是条形图、散点图表、极坐标图等。另外,表示的数量和类型以及相关联的笔划可以是可扩展的以添加新笔划和对应的表示以供使用。系统100提供图形表不108的自动完成以及基于对图形表不108的用户交互104的自动完成的能力。換言之,用户交互104可表明图形表示108,图形表示108可以是箭头、图表的轴、条形等。注意,在基于触摸的界面中,用户交互104可包括可与例如手部姿态相组合的单个触摸或多个触摸手势。
计算组件106可包括从用户交互收集器124接收ー个或多个交互(例如,笔划)的识别组件122,该识别组件122可以是接收用户所应用(输入)的用户交互104的组件。识别组件122识别交互并且生成便于对交互所表明的图形识别108的演示的結果。识别组件122采用ー个或多个识别器,该识别器为诸如箭头、图表等图形表示120处理用户交互104。另外,识 别组件122处理与图形表示120 (内部地)相关联的注释126。注释是与交互(例如,笔划)相关联的被动数据收集。用户不与注释交互。注释执行其底层数据的基本变换(例如,箭头注释可检索该箭头注释所指向的“対象”)。用户交互104首先穿过识别组件122的识别器,该识别器进而可修改注释126。在重绘事件期间,呈现组件128的呈现器阅读该信息并对其进行显示。呈现组件128包括用于呈现注释126中的数据的不同的呈现器。呈现组件128可包括用于不同图形表示类型(例如,图表、箭头、条形、图例、标记菜单等)的不同的呈现器。虽然被描绘为计算组件106的一部分,但识别组件122和呈现组件128可在其外部来实现。例如,呈现组件128可以是演示组件114的一部分。用户交互104可包括很多不同类型的交互(例如,笔划),使得被处理时,将对应的用户数据110作为(图形表示120的)新的或被更新的图形表示的一部分来呈现。识别组件122结合图形表示108来添加(注释126的)注释。交互式组件102允许用户直接地应用用户交互104到可视化界面(例如,显示器表面、白板等)。笔划可以是自由形式的笔划,该笔划由用户(例如,标记笔、数字笔、触摸等)(基于草绘)输入并由识别组件122来识别用于完成图形表示108。该自动完成特征同样也应用于此处描述的其他用户输入模态,诸如用于基于触摸的输入、基于笔的输入等。基于草绘的交互可基于符号来改变图形表示108,通过应用函数来变换用户数据110,并且通过移除考虑中的图例项(例如,通过在图例项上应用删除线笔划)来过滤用户数据110。用户交互104可包括多个输入笔划,该输入笔划被处理以对图形表示108和相关联的用户数据110进行操作或者生成以不同的视觉方式来表征用户数据110的新的图形表
/Jn ο数字交互式组件102、数据分析和处理组件116、识别组件122、呈现组件128和演示组件114便于接收、处理和呈现多个并发的用户交互、多个并发的用户交互要检索的相关联且已表明的注释、以及对应的图形表示。用户交互104可被解释为基于符号来改变图形表示108,通过应用函数来变换用户数据110,并且通过删除考虑中的菜单项(使用如用户交互104的删除线笔划)来过滤用户数据110。用户交互104可以是用户向数字交互式组件(例如,基于触摸的表面、基于笔的表面等)直接应用的自由形式的笔划。用户交互104可包括(来自单个用户或多个用户的)多个交互,该多个交互包括第二笔划,该第二笔划在被处理时将用户数据110作为新的图形视图的一部分来呈现,该新的图形视图由笔划和第二笔划的组合来表明。用户交互104可包括来自多个用户的多个笔划,该多个笔划被并发地处理以对图形视图112和相关联的用户数据110操作或者生成用户数据110的新的图形视图。演示组件112响应于用户交互104实时地将用户数据投影到数字交互式组件102上,该用户数据由图形表示108和菜单项来表征。图2示出了根据所公开的体系结构的示例性基于草图的交互式基于计算机的数据分析系统200的更详细的实施例。应当理解,这仅是一个示例实施例。替换的实施例可包括不同类型的识别器202、不同类型的注释126、和图表/图组件204(例如,轴、点、条形等)。可以以带有(作为识别组件122的一部分的)识别器202集合的“黑板”系统的形式来构造和应用系统200,该识别器集合在操作期间向系统添加信息。识别器202 (直接地或间接地)监视特定类型的一个或多个传入笔划(例如,删除笔划)并基于笔划结构来添加注释126。(呈现组件128的)呈现器204向屏幕或交互式表面(例如,白板)呈现注释中的数据。可将信息作为注释126来提供,注释126随后与(例如,基于笔的)笔划集合相关联。将笔划添加到板(可视化表面、组件或界面)时,识别相关的特征(例如,箭头)并且添加适当的注释。同样,擦除(从考虑中移除)笔划时,系统200删除相关的注释并且确保系统200的状态与擦除一致。识别器202可包括,仅举数例,图表识别器、箭头识别器、条形识别器、图例识别器、和标记菜单识别器。图表注释126包括但不限于形状图例、标记菜单、颜色图例、函数菜单、轴菜单、轴箭头等。所呈现的图表(图形表示108)可包括诸如轴、刻度线、图例、点、条形、一个或多个标记菜单、箭头等图形对象的集合。在一个实现中,可将识别器202的注册表与对和识别器相关联的模式的正式描述一同维护。或者,每个识别器可任意地实现其自身的模式,并且因此,不存在所利用的全局描述储存库。识别器202 “监听”对系统的更新,更新是(用户所绘的)新笔划还是(其他识别器添加的)新注释。当笔划被添加到板上时,全部正在监听的识别器得到通知,使得每个识别器可依此检查该笔划是否与识别器正在寻找的类型的项相匹配。单个笔划可以触发若干个笔划识别器202,并且可被全部识别器202成功地匹配。因此,笔划还可具有多个重叠的注释126。例如,笔划可被解释为箭头以及字母“t”。在这些解释并存的情形中,单独留下有歧义的解释。当一个解释排除了其他解释时,更高级的识别器可移除发生冲突的注释(例如,将任何文本注释从作为轴被识别的箭头剥离)。一旦更新发生,则由识别器202来适当地修改注释126以确保每个注释的底层含义与板上的笔划相匹配。识别器202可以维护笔划的若干不同注释126,包括但不限于以下。另外,以下仅是可实现笔划的某些示例。箭头用户可通过绘制轴的两个箭头(每个单独地输入)来开始绘图过程。在一种设计中,出于性能原因,可采用单笔划箭头。箭头注释126由箭头识别器来维护,该箭头 识别器“监听”(或观察)形状像箭头的原始笔划。图表一旦识别出作为轴的两个(几乎)交叉的箭头,系统就创建该图表的图表注释。在该结构内存储的是图表的语义信息,包括用户加载的后端数据集、轴上的X和y轴刻度线的逻辑放置、以及哪列被加载到哪个轴。图表注释由仅监听交叉箭头的特定识别器来创建,但是一旦被实例化,它则由其自己的监听轴刻度(原始笔划)和轴标记(文本菜单/图例注释)更新的图表识别器来管理。用户向系统添加笔划时,按需在内部对笔划进行注释,并且结果向上级联为涵盖图表注释。通过独立地处理多个图表注释,允许用户绘制将适合屏幕(可视化表面或界面组件)的任何数量的图表。轴图例与每个图表注释一起创建的有两个图例注释,颜色轴和形状轴各一个。这些数据结构保存关于(通过标记菜单注释)为该轴选择哪个数据列以及应用到该列数据的过滤器的数据。图例识别器保持这些注释是最新的,该图例识别器监听勾掉从列所填充的值的原始笔划、以及对标记菜单注释的修改哪个数据列被选择用于该轴的改变。标记菜单标记菜单注释可具有两种形式。第一和最简单的形式定义文本输入的区域。用户在区域中书写时,相关联的标记菜单识别器监视所得的文本注释(例如,从查询返回到库),并且在可能的选项间选择第一个部分匹配。例如,给定作为选项的列名称(例如,“Country(国家)'“Population(人口)”、“Year(年份)”)的列表,笔划集合一被注释为“C”、“C0”、“C0U”等,标记菜单就将其选择设置为“Country”。第二种类型的标记菜单在文本输入区域下面显示可用的选项列表。用户随后可以圈出该用户期望选择的选项。有了这种类型的标记菜单,菜单识别器还监听圈出选项的原始笔划。一旦选项被圈出,识别器通过设置其选择来更新注释。第三种类型可包括其他两种的组合,使得在用户书写文本时,系统示出与所输入的文本相匹配(即,包括所输入的文本)的列名称的列表。条形当用户在可视化表面或界面上绘制条形笔划时,监听条形的识别器创建条形注释。图表识别器随后检查在该注释中定义的条形是否与X轴交叉(相交),并且若相交 存在则改变其对条形图表的图表注释。虽然识别器202更新和管理注释的底层数据,但呈现器204具有向用户显示在注释126中定义的状态的任务。每个注释/识别器定义相交的方法,其细节通过改变板的外貌来传递给用户。呈现可被限制为向板添加图(而不移除或整理用户笔划),以便鼓励用户通过先前的笔划来修改图表。所呈现的图表在用户绘制的轴和刻度线上覆盖直线,并在板上正确的位置处绘制着色的点/符号/条形。它随后调用标记菜单和图例呈现器以便打印文本,该文本来自在图表的文本输入区域中手写的经识别的结果。识别器202可以与特定的注释126以及呈现器204相关联。例如,图表识别器206可具有图表注释208和(例如呈现轴、刻度、图例、点和条形的)图表呈现器210。类似地,条形识别器212可具有相同的图表注释208和图表呈现器210。箭头识别器214可具有x/Y轴箭头注释216和箭头呈现器218。图例识别器220可具有形状图例注释222和颜色图例注释224。标记菜单识别器226可具有形状图例标记菜单注释228、颜色图例标记菜单注释230、函数菜单注释232、和x/y轴菜单注释234,以及标记菜单呈现器236。如所示的,这些仅是可采用的可能的识别器、注释和呈现器中的一些。换言之,公开了包括数字交互式组件、识别组件、呈现组件、数据分析和处理组件、和演示组件的交互式系统,数字交互式组件将用户交互作为直接向其应用的笔划来接收,识别组件识别笔划并管理与笔划集合相关联的注释,呈现组件呈现在注释中定义的状态,数据分析和处理组件对基于图形表示的用户数据执行操作以便创建用户数据的图形视图,演示组件呈现与笔划和数字交互式组件相关联的用户数据的视图。演示组件可响应于用户交互,实时地将图形视图和基于图形表示的用户数据的特征投影到数字交互式组件上。用户交互可以是自由形式的笔划,该笔划表明图表、图、箭头、图例、菜单、缩放、过滤、着色、数据变换、或擦除中的至少一个。解释并识别用户交互以启用对用户数据的分析。处理用户交互以启用对基于符号或手势的图形表示的改变、经由函数对用户数据的变换、以及对用户数据的过滤等。用户交互可包括多个基于草图的笔划,该笔划被应用到数字交互式组件并被并发地识别以创建对应的、所表明的图形表示。图3-5是根据所公开的体系结构的用户交互的各个阶段以及图形表示的系统/方法动作的一系列示例图示。图3示出了手动笔划形式的对交互式表面300的基于草图的自由形式的输入,该笔划表示图表302的图形表示的轴。最初,用户划出(草绘)垂直笔划304和相交的水平笔划306 (或相反),其交集被图表识别器识别为图表302的x-y轴。注意,对相交的输入笔划的使用仅是表明图表或图的一种技术。例如,另一种技术可以是向箭头应用刻度线。可以按需使用其它方法。响应于图表识别器确定笔划(304和306 )被表明是图表302的轴,图表识别器自动地绘制机器生成的轴(308和310,以偏移的方式示出用于查看)。或者,如前所述,可以捕捉并呈现粗略的用户创建的笔划。一旦用户粗略地划出垂直笔划304和水平笔划306,系统就在手绘笔划(304和306)周围自动地覆盖X、Y、颜色和形状的输入区域(未示出)。用户随后选择以按照国家来分析数据,并且感知“国家或地区”是表面300左侧的各列列表312中的选项。因此,用户在水平轴310附近的标记区域314(可被标记为“X-轴”)中划出字母“C”。当用户抬起输入设备(例如,光笔)并选择列表312的“国家或地区”作为轴标记的最佳选择时,系统将该笔划作为文本来识别。经标记的刻度线随后也可出现(被应用)在用于该列中数据值的子集的机器生成的X-轴310上。如果用户随后想要y_轴308上的产值,则用户在标记输入区域316 (例如,被标记为“Y-轴”)中划出字母“R”(用于“值(Rate)”)。系统随后将y_轴308标记为“值”并向y-轴308添加经标记的刻度(例如,值I、值2等),跨“值”列中的值的范围均匀地间隔。一旦填充了 X-和I-轴,系统随后就按照每列中的值绘制与每行相对应的点(例如,因此将划出国家I的行,国家I具有值I的值)。如果用户现在期望查看每个国家的最大值,则用户可经由函数菜单318对每个国家的数据应用最大值函数。例如,用户发现函数菜单318并在函数菜单项“最大”周围绘制圆形笔划以选择最大值函数。作为响应,系统随后将通过单点来呈现每个国家(未示出)。注意,用户可以手动地书写词语“函数”,或在交互式表面300上绘制手势以指定函数,这随后被识别并被解释以便带来由计算组件所呈现的交互式函数菜单。类似地,用户可以手动地书写词语“颜色”,或在交互式表面300上绘制用于颜色的手势,这随后被识别并被解释以便带来由计算组件所呈现的交互式颜色菜单。图4示出了用户对数据点平均值的按照年份的选择。在此,将内部注释作为包括颜色、形状、函数等的标记菜单向用户展示。函数标记菜单展开以展示各种类型的函数,诸如平均值(AVERAGE)、最大值(MAX)、最小值(MIN)、标准差(STDDEV)、和求和(SUM)。也可以采用其它函数。如果用户现在希望看到每个国家的平均值,那么用户可以擦除围绕“MAX”的选择笔划,而相反地,在函数菜单上草绘入字母“A”。系统立刻将文本识别为指示对选择“AVERAGE”的选择,并且随后提取每个国家的数据点向下直到该国全部值的平均值。另外,用户随后可更改图表302以查看每年的值。因此,用户在擦除用于指定国家或地区的字母“C”之后开始在X-轴区域中草绘多个字母“year”,系统识别该草图并将x轴维度从国家改变为年份。系统自动地重新处理用户数据以满足图表轴维度和等级。
用户可以选择以条形图的形式来查看数据。例如,用户可以划出与X-轴相交的部分矩形500( “条形”的一般形状),擦除图4中构成每个点的小圆圈并用条形来代替。图5示出了基于所建议的用户自由形式的输入而自动地创建的条形图。注意,即使存在多个y-轴值时,用户也可切换到条形图。在传统工具中切换图表的样式通常需要遍历菜单和窗口的集合。相反,并且根据所公开的体系结构,数据适当地改变其表示,因此允许用户保持聚焦在数据上,而不是相交方法。图6示出了对颜色和形状的使用。用户可以检查在图4右列上列出的列名称的列表,并选择在标记有“颜色? ”的文本输入框中书写“C”。该文本被识别为“国家或地区”,如图6的表面300所指示的,在标记(国家或地区)下面填充该数据列(“国家1”、“国家2”等)中的唯一值,每个值被列出在颜色框(颜色C1、C2、C3等)附近。同时,根据“国家或地区”列中的该行的值对(与数据集中一行相对应的)每个点进行着色(例如,国家I是颜色1,国家2是颜色2等)。再次参考图4,用户通过在标记了“形状? ”的标记区域中划出字母“S”来继续时, 在标记下面填充图6 “源级I”列中的唯一值(例如,“警察”和“公共健康”),每个位于与该值的符号相对应的小字形(例如,符号SI和符号S2)附近,并且散点图表中的各点保留来自前一操作的它们的颜色,但是根据形状图例轴来改变形状。—般而言,根据图6,用户输入垂直笔划304和相交的水平笔划306。系统自动地将相交识别为表明图表302的轴。另外,对于轴维度,将诸如对垂直笔划304的值的“R”等自由形式的输入识别为文本,并且系统在垂直笔划304 (或轴308)附近自动地插入“值”。类似地,在水平笔划306 (或轴310)附近插入拼写“年”的自由形式的笔划,该笔划被文本识别器解释(识别)为年份,并且因此在沿着水平笔划306的可视化表面300中呈现术语年份。用户想要探查对若干不同国家在20世纪90年代和21世纪前10年的年间的产值进行制图的数据集时,用户通过选择以将用户数据集加载到工具(所公开的体系结构)中来开始。一旦加载了数据集,用户随后就可以在可视化表面300(例如,基于笔的平板)上 绘制笔划(304和306),并且系统自动地检索和呈现与图表302相关的注释以供用户交互。一旦用户粗略地划出垂直轴等级(也被称为刻度线或刻度)和水平等级,系统就自动地在手绘轴的周围覆盖X、Y、颜色(Cl =颜色I)和形状(形状SI = X,并且形状S2 = Λ )的输入区域。由于界面适合用户笔划(304和306),因此用户可以轻松地绘制多个小图表、单个大图表、或用户所期望的图表的任意组合。(在传统工具中,一次查看多个图表是低效率的,因为交互包括在屏.中打开和排列窗口。)传统的工具需要人们改变从绘图以指定列到轴的映射的模式,要么通过菜单和窗口的集合,要么通过从列表中拖出列值。所公开的体系结构的在轴标记中书写的方法提供了修改最终图的直接手段,并且不需要关于特定的菜单选项的任何专门知识。体系结构还便于缩放和过滤。为了查看某些经接近地聚类的点中的差别,用户可选择重新缩放I-轴,使得将较低的值在图上示出得较高。这可以通过跨I-轴草绘较小的水平刻度线来实现,最初用该轴上该点处的当前值以及提示文本输入的框来标记。用户随后可在刻度的文本框中写下尺寸值,并且轴的值重新缩放,使得尺寸从零跨越到手写的(尺寸值的)刻度,其余的值通过横跨其余垂直轴的最大值来形成尺寸值。过滤可对轴进行重新缩放。用户可以替换地通过颜色图例中的文本“国家2”来绘制短线段。一旦文本被勾掉,该文本变为不同的颜色(例如,红色)以指示该值现在被过滤掉,并且图表上不再绘制将“国家2”作为其“国家或地区”的点。用户可以每次一个或用更长的垂直笔划来继续勾掉国家标记,直到其中仅剩余用户感兴趣的点。y_轴尺寸适合零到国家I的最大值的范围,用户可以清晰地看到两个值之间的差别。为了提供适当的图表修改,用户可以按需擦除笔划。用户可以例如轻击表面300的“擦除”按钮、或按下笔上的筒状按钮以便进入擦除模式。在该模式中时,屏幕可被配置为转变为不同的颜色以向用户表示该模式,并且移除图表302中考虑的用户用笔勾掉的任何笔划。抬起笔就退出了擦除模式。
在交互式过程中的任一点处,系统可以存储用户输入的当前状态以及所呈现的图形视图。这可以手动地初始化或被配置为自动地执行。因此,用户可在稍后时间检索已存储的图形视图以供进一步的用户交互。此处所包括的是表示用于执行所披露的体系结构的新颖方面的示例性方法的一组流程图。尽管出于解释简明的目的,此处例如以流图表或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按不同的次序和/或与此处所示并描述的其它动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。图7示出了根据所公开的体系结构的计算机实现的方法。在700,将自由形式的笔划接收到笔划输入界面中。输入可以是被应用到数字白板或例如触摸屏等的手动输入的用户笔划。在702,笔划被识别为与图形表示相关。笔划(通过一个或多个识别器)被识别并被映射到诸如图、图表、箭头等图形表示。在704,管理与图形表示相关联的注释。在706,将图形表示应用到用户数据以创建用户数据的图形视图。在708,将图形视图和交互式菜单作为图形视图的一部分来呈现。可以经由交互式组件(例如,计算机显示器)将演示投影到白板等。在710,接收并处理带有图形视图的新的用户交互。换言之,如果用户改变了图的轴上的尺寸或维度,则自动地重新计算数据以适合该图。在712,根据新的用户交互来变换用户数据。例如,将用户数据从条形图变换成饼图,或基于条形图的一部分的详细视图等来变换用户数据。图8示出图7的方法的更多方面。应注意,这一流程表明每一个框可代表一个步骤,其可单独或者与其他框结合,作为图7所示的流程图所表示的方法的额外方面。在800,在笔划被应用到数字交互式组件时对其进行识别,将图表作为笔划所表明的图形表示来呈现,呈现列表,并且与图表相关地呈现交互式标记项。在802,通过多个识别器自动地处理笔划,解决识别器的发生冲突的笔划解释,并且管理适于笔划的注释。在804,基于对应的新笔划来切换新样式的图形表示。在806,基于缩放笔划来缩放用户数据,并且基于过滤笔划来对用户数据进行过滤。在808,基于与新的用户交互相关联的数据函数来变换用户数据。
如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、软件和有形硬件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器、和/或磁存储介质驱动器)、以及计算机等有形组件,以及诸如运行在处理器上的进程、对象、可执行码、数据结构(储存于易失性或非易失性储存介质)、模块、执行的线程和/或程序等软件组件。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一台计算机上和/或分布在两台或更多的计算机之间。词语“示例性”在此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。现在参考图9,存在根据所公开的体系结构的计算系统900的框图,该计算系统执行与计算机辅助的数据分析的基于草图的交互。为了提供用于其各方面的附加上下文 ,图9及以下讨论旨在提供对其中可实现各方面的合适的计算系统900的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。用于实现各方面的计算系统900包括计算机902,其具有处理单元904、诸如系统存储器906等的计算机可读存储、以及系统总线908。处理单元904可以是各种市场上可购得的处理器中的任一种,诸如单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,新颖方法可用其它计算机系统配置来实施,包括小型机、大型计算机、以及个人计算机(例如、台式、膝上型等)、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。系统存储器906可包括计算机可读存储(物理存储介质),如易失性(VOL)存储器910 (例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)912 (如ROM、EPROM、EEPROM等)。基本输入/输出系统(BIOS)可被存储在非易失性存储器912中,并且包括诸如在启动期间便于在计算机902内的组件之间传递数据和信号的基本例程。易失性存储器910还可包括诸如静态RAM等高速RAM来用于高速缓存数据。系统总线908提供了用于包括,但不限于系统存储器906的系统组件到处理单元904的接口。系统总线908可以是若干种总线结构中的任一种,这些总线结构还可使用各类市场上可购得的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器)以及外围总线(例如,PCI、PCIe、AGP、LPC等)。计算机902还包括机器可读存储子系统914以及用于将存储子系统914接口到系统总线908和其他所需计算机组件的存储接口 916。存储子系统914 (物理存储介质)可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,⑶-ROM驱动器、DVD驱动器)中的一种或多种。存储接口 916可包括诸如,例如EIDE、ATA、SATA和IEEE1394等接口技术。一个或多个程序和数据可被存储在存储器子系统906、机器可读和可移动存储器子系统918 (例如,闪存驱动器形状因子技术)和/或存储子系统914 (例如,光、磁、固态)中,这些程序和数据包括操作系统920、一个或多个应用程序922、其他程序模块924以及程序数据926。
操作系统920、一个或多个应用程序922、其他程序模块924以及程序数据926可包括例如图I的系统100的实体和组件、图2的系统200的实体和组件、图3-6的图示的实体和组件、以及图7和图8的流程图所表示的方法。一般而言,程序包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其它软件组件等等。操作系统920、应用程序922、模块924和/或数据926的全部或部分也可被高速缓存在诸如易失性存储器910等的存储器中。应该明白,所披露的体系结构可以用各种市场上可购得的操作系统或操作系统的组合(例如,作为虚拟机)来实施。存储子系统914和存储器子系统(906和918)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。这些指令当由计算机或其他机器执行时,可使得计算机或其他机器执行方法的一个或多个动作。执行动作的指令可被存储在一个介质上,或者可跨多个介质存储,使得指令共同出现在一个或多个计算机可读存储介质上,而不管所有指令是否都在同一介质上。
计算机可读介质可以是可由计算机902访问的任何可用介质,且包括可移动和不可移动的易失性和非易失性、内部和/或外部介质。对于计算机902,介质以任意适当的数字格式容纳数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质,如zip驱动器、磁带、闪存卡、闪存驱动器、磁带盒等来存储用于执行所披露的体系结构的新颖方法的计算机可执行指令。用户可以使用诸如键盘和鼠标等外部用户输入设备928来与计算机902、程序和数据交互。其它外部用户输入设备928可包括话筒、IR(红外)远程遥控器、操纵杆、游戏手柄、照相机识别系统、指示笔、触摸屏、手势系统(例如,眼移动、头移动等)和/或类似物。在计算机902是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备930来与计算机902、程序和数据交互。这些和其它输入设备通过输入/输出(I/O)设备接口 932经由系统总线904连接到处理单元908,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、短程无线(例如蓝牙)和其它个人区域网络(PAN)技术等。I/O设备接口 932也便于输出外围设备934的使用,如打印机、音频设备、摄像设备等,如声卡和/或板载音频处理能力。一个或多个图形接口 936 (通常也称为图形处理单元(GPU))提供在计算机902和外部显示器938 (例如,IXD、等离子)和/或板载显示器940 (例如,对于便携式计算机)之间的图形和视频信号。图形接口 936也可作为计算机系统板的一部分来制造。计算机902可以使用经由有线/无线通信子系统942到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括以上相对于计算机902描述的许多或所有元件。逻辑连接可包括到局域网(LAN)、广域网(WAN)、热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。当在联网环境中使用时,计算机902经由有线/无线通信子系统942 (例如,网络接口适配器、板载收发机子系统等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备944等通信。计算机902可包括用于通过网络建立通信的调制解调器或其他装置。在联网环境中,相对于计算机902,程序和数据可被存储在远程存储器/存储设备中,如与分布式系统相关联。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。计算机902可用于使用诸如IEEE 802. xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE 802. 11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi (即无线保真)、WiMax和蓝牙 无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(adhoc)通信。Wi-Fi网络使用称为IEEE 802. llx(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802. 3相关的介质和功能)。上面描述的包括所披露的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其它组合和 排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在详细描述或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。
权利要求
1.一种交互式系统(100),包括 数字交互式组件(102),接收用户交互; 计算组件(106),将所述用户交互解释为与图形表示相关,管理与所述图形表示相关联的注释,并且可选地,基于所述用户交互对用户数据执行操作以便创建所述用户数据的图形视图; 演示组件(114),呈现与所述用户交互和所述数字交互式组件相关联的所述图形视图;以及 处理器,其执行与所述数字交互式组件、所述计算组件、或所述演示组件中的至少ー个相关联的计算机可执行指令。
2.如权利要求I所述的系统,其特征在于,还包括识别组件和呈现组件,所述识别组件包括一个或多个识别器,所述识别器处理所述用户交互以便与图形表示相关联,所述呈现组件包括呈现在所述注释中定义的状态的ー个或多个呈现器。
3.如权利要求I所述的系统,其特征在于,所述数字交互式组件和所述计算组件便于要呈现的多个并发的用户交互以及对应的图形表示。
4.如权利要求I所述的系统,其特征在于,所述用户交互被解释为基于符号或手势来改变所述图形表示,通过应用函数来变换用户数据,以及通过移除考虑中的菜单项来过滤所述用户数据。
5.如权利要求I所述的系统,其特征在于,所述用户交互是直接应用到所述数字交互式组件的自由形式的笔划,并且所述演示组件响应于所述用户交互将所述图形表示实时地投影到所述数字交互式组件上,带有原始笔划的详细图形视图是可存储的且可检索的以供以后的用户交互。
6.一种计算机实现的方法,包括以下动作 将自由形式的笔划接收到笔划输入界面中(700); 将所述笔划识别为与图形表示相关(702); 管理与所述图形表示相关联的注释(704); 将所述图形表示应用到用户数据以创建所述用户数据的图形视图(706); 呈现所述图形视图和作为所述图形视图一部分的交互式菜单(708); 用所述图形视图来处理新的用户交互(710); 根据所述新的用户交互来变换所述用户数据(712);以及 利用执行存储于存储器中的指令的处理器来执行接收、识别、管理、应用、呈现、处理或变换中的至少ー个动作。
7.如权利要求6所述的方法,其特征在于,还包括在所述笔划被应用到数字交互式组件时对其进行识别,并且呈现作为所述笔划所表明的图形表示的图表、列表、以及与所述图表相关的交互式标记项。
8.如权利要求6所述的方法,其特征在于,还包括通过多个识别器自动地处理所述笔划,解决所述识别器的发生冲突的笔划解释,以及管理适于所述笔划的注释。
9.如权利要求6所述的方法,其特征在干,还包括基于对应的新笔划来切換到新样式的图形表示。
10.如权利要求6所述的方法,其特征在于,还包括基于缩放笔划来缩放所述用户数据,基于过滤笔划来过滤所述用户数据,以及基干与新的用户交互相关联的数据函数来变 换所述用户数据。
全文摘要
本发明涉及基于草图的交互与计算机数据分析的集成。公开了将诸如自由形式的草图等自然用户交互的益处与计算机辅助制图相集成的体系结构。该体系结构将利用多种模态(例如,草图、多点触摸等)的自然用户交互与计算机支持的数据分析进行集成,该数据分析允许用户通过使用简单笔划绘图来探查数据。自然用户交互可用于通过绘制符号来改变图表类型,通过应用函数来变换数据,通过在图例上绘制删除线来过滤数据等。另外,体系结构从用户绘制的笔划来推断用户所想要的可视化,诸如图的轴、标记的词语等。在适当时,体系结构自动地完成可视化。
文档编号G06F3/048GK102707875SQ20121005744
公开日2012年10月3日 申请日期2012年3月6日 优先权日2011年3月7日
发明者B·李, J·布朗尼, N·里奇, S·卡彭代尔, T·舍伍德 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1