从数据表中的数据生成图表的制作方法

文档序号:17439476发布日期:2019-04-17 04:34阅读:898来源:国知局
从数据表中的数据生成图表的制作方法

本公开的各方面和实现方式涉及一种电子文档,并且更具体地,涉及一种从数据表中的数据生成图表。



背景技术:

数据库、电子表格文档、字处理文档、幻灯片文档等中的数据表可以包括包含数据的许多单元格。用户可能期望以比在数据表中更有意义的方式使数据可视化。例如,一些电子表格应用程序允许用户基于由用户对来自电子表格中的数据表的数据进行的选择来创建电子表格中的数据的组件(例如,图表或图形)。此类图表创建方法包括从用户接收用于对来自电子表格的数据的子集和用于表示所选择的数据的子集的所选组件(诸如图表)的选择的指令。为了创建图表,用户必须分析电子表格中的数据以识别数据中的关系并且决定用于表示所识别的关系的最好方式。



技术实现要素:

本公开的方面和实现方式通过基于数据表来生成包括一个或多个生成的图表的图表建议列表,从而改进数据表示技术。可以解析数据表的单元格以识别数据表中的列和单元格的数据类型。可以对数据表执行统计分析以获得关于数据表中的列的一个或多个统计量。可以至少基于统计量和单元格的数据类型来创建建议图表。在一些实现方式中,可以对数据表应用一个或多个规则或机器学习模型以识别数据组之间的关系,以基于许多因素对各种图表类型、附加数据表、和/或生成的图表进行评分,并且/或者以产生建议图表类型。

建议图表可以阐明用户最初可能不知道的数据表中的关系和/或模式。可以使用数据表中的数据的子集来创建建议图表,这可以通过发送仅使用数据表的子集而不是整个数据表所生成的图表来提高生成图表的处理速度并且/或者减少网络业务量。建议图表可以被包括在图表建议列表中,所述图表建议列表被显示在用户界面的第一部分中,同时数据表被同时显示在用户界面的第二部分中。因此,可以提供改进的图形用户界面,其方便地与数据表同时显示图表建议列表中的建议图表,并且允许用户直接地从图表建议列表中选择建议图表并将其插入到包含图表的电子文档中。

附图说明

根据在下面给出的详细描述并且根据本公开的各个方面和实现方式的附图,本公开的各方面和实现方式将被更充分地理解,然而这不应当被认为将本公开限于具体方面或实现方式,而是仅用于说明和理解。

图1图示用于本公开的实现方式的系统架构的示例。

图2图示根据说明性实现方式的基于数据表中的数据而生成的图表建议列表的示例。

图3图示根据说明性文档的基于用户对数据表中的数据的选择而生成的图表建议列表的示例。

图4描绘根据本公开的一个实现方式的用于从数据表中的数据生成图表建议列表的方法的方面的流程图。

图5描绘根据本公开的一个实现方式的用于使用一个或多个规则来对生成的图表进行评分以生成图表建议列表的方法的方面的流程图。

图6图示根据说明性实现方式的从数据表中存在的数据生成的聚合表的示例。

图7图示根据说明性实现方式的从数据表中存在的数据生成的分面(faceted)图表集的示例。

图8描绘根据本公开的一个实现方式的用于从初始数据表生成的附加数据表中的数据生成图表建议列表的方法的方面的流程图。

图9描绘根据说明性实现方式的用于从协作用户接收附加数据并且生成包括基于附加数据的图表的第二图表建议列表的方法的流程图。

图10描绘根据本公开的一个或多个方面操作的示例计算系统的框图。

具体实施方式

传统上,生成图表可以包括用户分析数据表中的数据以确定数据表中的各种数据如何彼此相关或者以确定数据中的各种模式。然后,用户可以选择哪一个(或哪些)组件(例如,图表、图形等)可以适合地表示所期望的数据。然而,组件的分析和选择可能需要用户方面的大量努力并且可以使用户错过数据中的重要细微关系或模式。另外,用户可以选择比适当地表示与组件的期望关系或模式所要求的更大部分的数据。在这种情况下,当基于大数据集的组件通过网络被递送给用户设备时,可以通过生成具有大数据集的组件来使计算设备的处理速度慢下来并且/或者可以不利地影响网络带宽。

本公开的方面和实现方式致力于协作文档系统,所述协作文档系统通过生成包括从数据表中的数据生成的一个或多个图表的图表建议列表来解决至少这些缺陷。尽管在本文中提及图表建议列表,然而应当理解的是,可以在组件建议列表中生成和提供用于使数据可视化的任何适合的图形组件(例如,图形)。本文公开的实现方式可以被应用于包括表格格式(例如,行和列)的任何适合的数据结构以生成图表建议列表中的图表。例如,一个这种数据结构可以包括在数据存储、字处理文档、幻灯片文档、电子表格文档等中包括的数据表。另外,尽管协作文档系统被描述为贯穿在本公开的剩余部分实现所公开的技术,然而应当注意的是,能够访问数据表的任何适合的系统或应用(例如,在用户设备上安装的独立应用)可以基于用于图表建议列表的数据表生成一个或多个图表。

协作文档系统可以允许电子文档所有者邀请其它用户作为关于在基于云的环境中存储的电子文档的协作者加入。电子文档指的是以电子形式使用的媒体内容。媒体内容可以包括文本、数据表、视频、图像、图形、幻灯片、图表、软件编程代码、设计、列表、计划、蓝图、地图等。用户已经被授予用于同时访问和/或编辑许可的电子文档可以在本文中被称为协作文档。可以通过基于云的环境中的一个或多个服务器来将协作文档提供给协作者的用户设备。每个协作者可以与用户类型(例如,编辑者、评论者、查看者等)相关联。不同的视图和能力可以基于其用户类型被提供给协作者以使得能够编辑协作文档、对协作文档进行评论、回故或简单地查看协作文档。一旦被授予对访问协作文档的许可,协作者就可以访问协作文档以执行其用户类型所允许的操作。

使用协作文档系统,用户可以创建或者打开协作文档并且与一个或多个协作者共享协作文档。协作文档可以包括带有行和具有列标题的列的数据表。数据表还可以包括存储具有一个或多个数据类型(例如,数字、字符串、浮点数、日期等)的数据的多个单元格。在实现方式中,可以解析数据表的单元格以识别一个或多个列和单元格的一个或多个数据类型。可以对数据表执行统计分析以获得关于数据表中的列的一个或多个统计量。例如,统计量可以包括这些列中每一个中的许多唯一值或这些列中的数据范围。在一些实现方式中,可以基于统计量来创建附加数据表。附加表可以包含数据的子集和/或从初始数据表的变换(例如,聚合、求和、平均等)的数据。可以使用初始数据表和/或附加数据表来创建一个或多个建议图表。

在一些实现方式中,可以对数据表(例如,初始数据表、附加数据表等)应用规则以识别数据表中的数据的组(例如,数据的至少两个列)之间的关系(例如,两个列标题之间的相关性、两个列的值之间的相关性等)。规则可以定义如何对用于数据表或生成的图表的可能的图表类型进行评分,以指示具体图表类型或生成的图表能够从数据表中呈现数据的程度。规则可以提供特定评分或评分范围与如统计量、单元格的数据类型、所识别的关系、与可用组件有关的准则(例如,图表、图形等)等这样的因素之间的相关性。另外,规则可能要求将评分高于最小阈值的图表类型或生成的图表呈现给用户,并且丢弃其它图表类型和生成的图表。在另一实现方式中,可以将统计量和单元格的数据类型作为输入应用于机器学习模型,所述机器学习模型被训练来为数据表产生一个或多个图表类型。通过规则和/或机器学习模型提供的图表类型可以用于创建包括来自数据表的数据的至少一个子集的建议图表。建议图表可以被包括在图表建议列表中。可以将图表建议列表显示在由协作系统提供的用户界面的第一部分中,并且可以将数据表同时地显示在用户界面的第二部分中。

所创建的图表可以以用户本身可能尚未设想到的有趣方式表示数据的某些子集。例如,通过解析单元格并确定单元格的数据类型、关于列的统计量、和/或识别数据组之间的关系,可以在没有任何用户参与的情况下自动地识别数据集中的模式。另外,所公开的技术可以通过选择要在创建图表时使用的数据的较小子集、选择更高效地处理具体数据的图表等来提高处理速度。例如,在一些实现方式中,可以通过聚合、求和、或平均来变换数据表中的数据,这可以减少要在图表中表示的行的数目。另外,可以在一些实现方式中选择满足某些准则的图表,这可以提高生成图表的处理速度。另外,可以提供同时显示数据表和图表建议列表的增强型图形用户界面。在不需要在不同的画面、窗口或用户界面之间切换的情况下,用户可以直接地从要在协作文档中包括的图表建议列表中选择图表。

图1是用于本公开的实现方式的系统架构100的示例。系统架构100包括经由网络130连接到用户设备140a-140z的基于云的环境110。尽管在基于云的环境110的上下文中描述了系统架构100,然而应当理解的是,本文中描述的实现方式还可以适用于在本地互连的系统,所述系统架构100可以使得基于云的环境110中的服务器112a-112z之间能够通信并且通过网络130与用户设备140a-140z进行通信以存储并共享数据。基于云的环境110指的是托管经由网络130向多个用户设备140a-140z提供一个或多个服务(例如,用于在图表建议列表中包括的图表生成)的应用的物理机器的集合。网络130可以是公用网络(例如,互联网)、专用网络(例如,局域网(lan)或广域网(wan))、或其组合。网络130可以包括可以由一个或多个无线通信系统提供的无线基础设施,诸如能够使用各种数据处理设备、通信塔等来实现的无线载波系统和/或与网络130连接的无线保真(wifi)热点。附加地或可替选地,网络130可以包括有线基础设施(例如,以太网)。

基于云的环境110可以包括一个或多个服务器112a-112z、统计引擎114、训练引擎116、和/或数据存储118。统计引擎114、训练引擎116、和/或数据存储118可以与服务器112a-112z隔离开并且通信地耦合到服务器112a-112z,或者统计引擎114、训练引擎116、和/或数据存储118可以是服务器112a-112z中的一个或多个的部分。数据存储118可以存储数据表120,所述数据表120可以包括在通过行和具有列标题的列布置的单元格中的数据。数据存储118还可以包括数据表120为其的部分的协作文档。协作文档可以是能够与用户共享的电子表格文档、幻灯片文档、文字处理文档、或任何适合的电子文档(例如,包括文本、数据表、视频、图像、图形、幻灯片、图表、软件编程代码、设计、列表、计划、蓝图、地图等)的电子文档。

包括数据表120的协作文档可以由作者创建并且该作者可以与其它用户(例如,协作者)共享协作文档。共享协作文档可以指的是向其它用户授予以访问(查看和/或编辑)协作文档的许可。共享协作文档可以包括经由包括到协作文档的链接的消息(例如,电子邮件、文本消息等)向其它用户通知协作文档116。每个用户被授予的许可的级别可以是基于每个特定用户的用户类型。例如,具有编辑者用户类型的用户可以能够打开协作文档并且直接地对协作文档做出改变。因此,许多协作者可以对协作文档中呈现的数据表120做出改变。

统计引擎114和/或训练引擎116可以包括一个或多个处理设备,诸如被配置有硬件、固件和软件以执行本文中描述的实施例中的一些的计算机、微处理器、逻辑设备或其它设备或处理器。统计引擎114可以用于解析数据表120的单元格并且识别一个或多个列、列标题、和/或单元格的数据类型。统计引擎114可以确定关于数据表120中的列的一个或多个统计量121。例如,统计量121可以包括每个列中的唯一值的聚合。聚合可以指的是对数据进行的以揭示关于数据的信息的计算。统计量121还可以包括这些列中的每一个中的值的范围、数据的分布(例如,数据值是随机分布的或是以趋势(增加/减少)方式分布)、数据表120中的行的数目等。

训练引擎116可以包括被训练引擎116用作训练数据的经注释的图表122。机器学习模型123可以指的是由训练引擎116使用训练输入和对应的目标输出来创建的模型人工产物。训练输入可以包括经注释的图表122,并且所对应的目标输出可以包括用于相应的训练输入、附加生成的表、或基于训练输入生成的建议图表的建议图表类型。经注释的图表122可以包括被使用的训练数据表以及基于该训练数据表创建的得到的图表。另外,经注释的图表122可以由开发者或用户手动地注释。在一些实现方式中,这些经注释的图表122可以包括用于标记训练数据表中的各种列和数据集的注释。在一些实现方式中,经训练的机器学习模型123的目标输出还可以包括用于建议图表类型、附加生成的表、和/或生成的建议图表的评分,以指示它们如何很好地反映出有趣关系和/或统计量等。

注释可以包括训练数据表的经注释的列之间的某些关系。为了图示,在包括销售数据的训练数据表中,注释可以指示被指定用于可视化的关系(例如,在列标题“销售量”与列标题“销售区域”之间)。在另一示例中,注释可以指示在两个或更多个列的值之间存在相关性(例如,日期列随销售列的值而增加)的依赖关系。在一些实现方式中,可以基于列标题和组标题动态地确定不同的列之间的关系。例如,如果训练数据表包含诸如“销售量”、“销售区域”等的单独的标题,则也可以存在针对每年(例如,2016年、2017年等)的组标题。可以跨越组重复/共享单独的标题,因此可以确定针对各年的销售信息之间的关系。在一些实现方式中,注释可以是用于与列相关联的统计量(例如,聚合、求和、平均等)并且可以指示优选的图表类型(例如,条形、线形、饼形,面积、散点图、柱形等)以用于表示带有具有特定统计量的列的训练数据表。在一些实现方式中,注释可以是用于在列中具有某些数据类型的值之间的相关性。例如,注释可以指示用于其中增加具有第一列的日期数据类型的数据值并且还增加具有第二列的数字数据类型的数据值(例如,当销售随着时间而累积时)的列的组合的优选的图表类型,或者可以指示用于其中增加一个列的数据值(例如,日期)并且减少另一列的数据值(例如,库存量)的列的组合的另一优选的图表类型。在一些实现方式中,注释可以指示图表是否可以是分面的。一旦被训练,机器学习模型116就可以被应用于新数据表120(包括例如统计量121和单元格的数据类型),以获得用于新数据表的一个或多个建议图表类型。在一些实现方式中,机器学习模型116可以输出用于在图表建议列表中包括的建议图表。

服务器112a-112z可以是各自包括通信地耦合到存储器设备和输入/输出(i/o)设备的一个或多个处理设备的物理机器(例如,服务器机器、台式计算机等)。服务器112a-112z中的每一个可以托管图表生成模块(124a-124z)。图表生成模块124a-124z可以作为计算机指令被实现,所述计算机指令可由一个或多个处理设备在服务器112a-112z中的每一个上执行。在一些实现方式中,统计引擎114可以作为计算机指令被实现并且作为图表生成模块124a-124z的部分被包括。图表生成模块124a-124z可以部分地基于关于一个或多个列的统计量121和单元格的一个或多个数据类型来为数据表120中的数据创建各种建议图表。所创建的建议图表中的每一个可以至少表示数据表120中的数据的子集。

在一些实现方式中,图表生成模块124a-124z可以使用一个或多个规则125a-125z来创建建议图表。规则125a-125z可以由开发者预定义,并且规则可以被应用于数据表120以识别数据表120中的数据的组之间的关系。在一些实现方式中,关系可以指的是在数据表120中的拟合某个模型(例如,线性、对数等)的数据。例如,关系可以包括具有某些数据类型的数据与数据表120的列中的值之间的相关性。在一些实现方式中,关系可以指的是数据表120中的至少两个列标题(例如,“销售量”和“销售区域”)之间的相关性等。规则125a-125z还可以指定某些图表是否可以是分面的。

在一些实现方式中,规则125a-125z可以定义如何以各种置换方式组合数据表120的列,以基于至少两个列之间的所识别的关系、关于列的统计量121、单元格的数据类型、和/或任何其它适合的因素来创建建议图表的集合。规则125a-125z可以如上所述用于对所创建的建议图表进行评分。规则125a-125z可以要求将评分高于最小阈值的建议图表提供给用户,同时丢弃评分低于最小阈值的图表。

在一些实现方式中,规则125a-125z可以基于至少两个列之间的所识别的关系、关于列的统计量121、单元格的数据类型、和/或任何其它适合的因素来定义如何对能够被用于数据表120的可能的图表类型进行评分,并且产生评分高于最小阈值的一个或多个图表类型的同时丢弃评分低于最小阈值的图表类型。例如,如果数据表120的第一列具有日期数据类型并且日期按顺序出现,则该因素可以导致对线形图表的评分增加。如果数据表120中的第二列具有数字数据类型并且数字以非随机方式分布(例如,它们正在增加或者减少),则该因素还可以导致线形图表的评分增加。组合的那两个因素可以导致对线形图表的评分增加。在另一示例中,如果列的数据范围指示存在负数,则该因子可以导致对饼形图表的评分降低。在另一示例中,如果在列中存在大量唯一值,则因为在饼图中将存在太多的分片并且饼形图表可能难以阅读,所以该因素可以导致对饼形图表的评分降低。在另一示例中,如果在数据表120中存在大量行,则因为条形可能太细且靠近在一起而无法相干地阅读,所以该因素可以导致对条形图表的评分降低。在又一个示例中,如果两个列都具有数字数据类型,并且一般而言,当一列中的值是较高的时,另一列中的值也是较高的,则在列中的值之间可以存在相关性并且对散点图的评分可以是高的。在一些实现方式中,规则125a-125z可以定义如何对基于初始数据表生成的可能的附加表进行评分。例如,可以使用初始数据表中的各个列来生成聚合数据表并且规则125a-125z可以定义最高评分被指派给使用具有最少唯一值的列来生成的聚合数据表。

图表生成模块124a-124z可以使用机器学习模型123和/或规则125a-125z以确定图表类型并根据该图表类型来创建建议图表。图表生成模块124a-124z还可以生成包括建议图表的图表建议列表。在一些实施例中,可以根据评分和/或分集准则来对建议图表进行排序。该分集准则可以用于确保描绘类似的数据关系的类似类型的图表在图表建议列表中未被布置为紧挨着彼此以确保呈现各种数据。

在一些实现方式中,可以从数据表120生成附加数据表。可以基于统计量121从初始数据表生成附加表。例如,可以生成包括数据表120中的列中的唯一值的和的聚合表。可以存在用于生成聚合表的其它聚合公式。例如,聚合公式可以对数据表120中的信息计算平均聚合。另外,可以对其它列中的数据值应用诸如求和、聚合、或平均的变换,以产生与所选列相关联的经变换的数据。因此,附加表可以包括来自初始数据表的数据的子集,以及经变换的数据的缩减集。聚合表可以用于生成数据的分面。在图6和图7中更详细地讨论聚合表和分面两者。使用附加表来生成图表可以导致向用户提供有趣的图表并且通过使用较小的数据集来生成图表而提高处理效率。

服务器112a-112z中的一个或多个可以向用户设备140a-140z提供协作文档环境142a-142z。经选择以提供协作文档环境142a-142z的服务器112a-112z可以是基于某些负载均衡技术、服务级别协定、性能指示器等。协作文档环境142a-142z可以提供用户界面144a-144z,所述用户界面144a-144z在第一部分中显示数据表120并且在第二部分中同时显示图表建议列表。协作文档环境142a-142z可以使得使用不同的用户设备140a-140z的用户能够同时访问包括数据表120和/或图表建议列表的协作文档,以在相应的用户界面144a-144z中对数据表120和/或图表建议列表回故、编辑、查看、和/或提出改变。在实现方式中,用户界面144a-144z可以是由web浏览器呈现的并且在用户设备140a-140z上显示在web浏览器窗口中的web页面。在另一实现方式中,用户界面144a-144z可以被包括在下载到用户设备140a-140z的独立应用中。

用户设备140a-140z可以包括通信地耦合到存储器设备和i/o设备的一个或多个处理设备。用户设备140a-140z可以是台式计算机、膝上型计算机、平板计算机、移动电话(例如,智能电话)、或任何适合的计算设备。用户设备140a-140z可以包括诸如输入设备和输出设备的组件。用户可以通过经由用户界面144a-144z输入用户名和密码(或者提供其它识别信息)来与服务器112a-112z进行认证,使得相同的用户设备140a-140z可以由不同的用户在不同的时间处使用。在一些实现方式中,统计引擎114、训练引擎116、数据存储118、和/或图表生成模块124a-124z可以是用户设备140a-140z的部分。

图2图示根据说明性实现方式的基于数据表120中的数据而生成的图表建议列表200的示例。图表建议列表200被呈现在协作文档环境142a的用户界面144a的第一部分中,所述协作文档环境142a还在用户界面144a的第二部分中同时显示数据表120。在所描绘的示例中,数据表120被包括在协作电子表格文档中。协作电子表格文档中的内容可以包括数据表、图表、图形、可视组件、文本、图像、视频、音频剪辑、编程源代码或任何其它适合类型的内容中的任何一个或多个。在一些实现方式中,协作电子表格文档可以具有由用户插入到数据表120中的数据的至少两个列。

能够解析协作电子表格文档的数据表120中的数据以确定电子表格中各列之间的统计量和数据表120的单元格的数据类型。在一些实现方式中,可以将数据表120、统计量、和数据类型输入到机器学习模型123中,所述机器学习模型123被训练来产生建议图表类型。在一些实现方式中,可以至少基于统计量和单元格的数据类型对数据表应用规则,以产生接收到高于最小阈值的评分的建议图表类型。规则还可以用于识别数据表120中的至少两个列之间的关系,并且可以基于所识别的关系、统计量、数据类型、与各种图表有关的先决条件准则等来选择建议图表类型。图表生成模块124a可以使用建议图表类型来为数据表120创建建议图表并且可以生成包括建议图表的图表建议列表200。

如参考图3更详细地描述的,在一些实现方式中,用户可以提供对数据表120中的数据的子集的选择。图表生成模块124a可以优先考虑首先为所选部分中的数据创建建议图表。

在图2中所描绘的示例中,用户或协作者可以将数据表120中的数据插入在如图所示的列f、g、h和i中。在插入数据之后,可以在基于关于列的统计量121、至少两个列之间的一个或多个识别的关系、单元格的数据类型、与图表有关的先决条件准则等为数据表120创建一个或多个建议图表之后生成洞察表204。例如,洞察表204包含作为使用规则125a或机器学习模型123所确定的关系的描绘的图表206。如所描绘的,产品“rx983small”的销售数据是数据表120的部分。

统计引擎114可以对数据表120执行统计分析并且识别每列grossunits(总单位)(f)、returnunits(返回单位)(g)、priceperunit(每单位的价格)(h)和state(州)(i)的唯一值的数目。特别地,如与数据表120中的其它列相比较state列包括最少数目的唯一值(例如,3)。附加地,图表生成模块124a可以应用规则125a或机器学习模型123来识别数据表120中的至少两个列之间的关系。在所描绘的示例中,可以识别销售区域(其可以是“state”列)与销售信息(其可以是“grossunits”、“returnunits”和/或“priceperunit”列的组合)之间的关系。规则125a或机器学习模式123可以用于基于统计量和/或所识别的关系来产生条形图表的图表类型。因此,图表生成模块124a可以通过按“state”列来聚合产品的销售信息,从而基于统计量和/或所识别的关系来创建建议条形图表206。可以在洞察表204中将该建议条形图表206与用户界面144a中的数据表120同时显示。

在一些实现方式中,如果用户(例如,通过单击输入装置或者通过用光标悬停在上方)部分地选择建议条形图表206,则可视指示器可以被显示以用于在数据表120中的参与创建所选择的图表的单元格。例如,可以高亮单元格。这种可视指示器可以提供增强型用户界面,所述增强型用户界面使得用户能够更充分地理解在建议条形图表206中什么数据被可视化。另外,用户可以通过充分地选择(例如,通过双击或者按住输入装置)来将建议条形图表206直接地添加到协作电子表格文档中。

还可以存在洞察表204中生成的、概括从数据表120中提取的并在建议条形图表206中描绘的信息的高亮部208。例如,该高亮部208示出这些销售被集中在其中据报道产品被销售的三个州当中的前两个州中。

图3图示根据说明性文档的基于用户对数据表120中的数据的选择而生成的图表建议列表200的示例。可以将数据表120显示在协作电子表格文档的用户界面144a中。特别地,如通过数据表120中的单元格的高亮部分所表示的,用户可以从数据表120中选择数据的子集。图表生成模块124a可以基于所选择的数据的子集来生成一个或多个建议图表。例如,可以确定在所选择的数据的子集中存在的列的数据类型,可以确定关于在所选择的数据的子集中存在的列的统计量121,可以针对在所选择的数据的子集中存在的至少两个列数据来识别关系等。规则125a或机器学习模型123可以用于为所选择的数据的子集来产生一个或多个建议图表类型。图表生成模块124a可以基于建议图表类型来生成建议图表。可以动态地更新先前显示表示整个数据表120的建议图表的洞察表204,以示出表示由用户选择的数据的子集的至少一个建议图表。

例如,如所描绘的,在数据表120中描绘产品“rx983small”的销售信息。销售信息的分布还考虑了每个销售的城市。用户已选择了通过高亮300所表示的数据表120中的数据的子集。可以确定所选择的子集的单元格的数据类型,可以确定关于所选择的数据的子集中的列的统计量,可以识别所选择的子集中的至少两个列的关系,可以鉴于所选择的数据的子集来确定用于各种图表的先决条件准则等。例如,可以识别城市与由产品的销售产生的利润之间的关系。规则125a或机器学习模型123可以用于基于此信息针对所选择的数据的子集来产生一个或多个建议图表类型。图表生成模块124a可以基于用于所选择的数据的子集的一个或多个建议图表类型来创建一个或多个建议图表。例如,如所描绘的,建议条形图表302被生成以表示所选择的数据的子集。可以使用规则125a或机器学习模型123来产生条形图表,因为“城市”列中的唯一值的数目不超过条形图表阈值,并且“城市”列与“销售”之间的关系被识别为指定用于可视化的关系。换言之,可以产生条形图表,因为其可以被确定为要比其它类型的图表更清楚地向用户表示所选择的数据的子集。

另外,地理图表304还可以由图表生成模块124a生成并且包括在图表建议列表200中。可以选取地理图表304,因为所选择的数据的子集包括具有列标题为“city(城市)”的列。规则124a或机器学习模型123可以用于确定地理图表可以用于表示包括地理指示器(诸如城市)的数据。然而,地理图表304可能尚未接收到和条形图表302一样高的评分,因为它没有像条形图表那样清楚地按城市显示利润。因此,地理图表304可以被显示在图表建议列表200中下部。图表生成模块124a可以更新在洞察表204中显示的图表建议列表200以包括建议条形图表302和地理图表304两者。

在一些实现方式中,数据表120的处理包括移除可能不向关系识别过程或者向统计确定过程添加任何值的数据。例如,数据库中的id字段是用于数据表120中的每个记录的唯一标识符的列表,并且可以不从id字段导出推断。因此,id字段对于确定关于列的有意义的统计量和/或确定数据表120中的至少两个列之间的关系而言可能是多余的。在一些实现方式中,数据表120的处理可以包括分析数据表120中的列标题和用于每个列的数据类型,以确定列中的数据的用于建立数据表120中的各列之间的一个或多个关系的类型。

用户可以与图2和图3中描绘的洞察表204交互。在一些实现方式中,交互可以是对图表建议列表200中的建议图表的选择,以与数据表120一起被显示在协作电子表格文档中。当被选择时,可以将建议图表插入到协作电子表格文档中。在一些实现方式中,一旦图表被选择,用户然后就可以继续修改不同的字段的名称、数据范围、或被选择以匹配个人偏好的图表的类型。在一些实现方式中,用户可以关闭洞察表204并且不使用由洞察表204提供的任何洞察或图表并且为未被规则125a或机器学习模型123探索的关系创建新图表。可以记录并向训练引擎116提供与建议条形图表206的任何交互,用于机器学习模型123的更新。例如,如果用户选择建议条形图表206,修改任何轴名称、字体、颜色等,则可以将此信息提供给训练引擎116,所以可以更新机器学习模型123以为个人定制的并且更可能由用户选择的类似数据产生图表类型。应当理解的是,图2和图3中描绘的用户界面144a是用于说明性目的。用户界面144a中的数据表120和/或建议图表可以具有更少的数据、更多的数据或许多不同格式的数据。

图4描绘根据本公开的一个实现方式的用于从数据表120中的数据生成图表建议列表200的方法400的方面的流程图。方法400及其单独的函数、例行程序、子例行程序、或操作中的每一个均可以由执行该方法的计算机设备的一个或多个处理设备执行。在某些实现方式中,方法400可以由单个处理线程执行。可替选地,方法400可以由两个或更多个处理线程执行,每个线程执行了方法的一个或多个单独的函数、例行程序、子例行程序或操作。在说明性示例中,可以使实现方法400的处理线程同步(例如,使用信号量(semaphores)、临界段、和/或其它线程同步机制)。可替选地,实现方法400的进程可以相对于彼此被异步地执行。

为了简单的说明,本公开的方法被描绘和描述为一系列动作。然而,根据本公开的动作能够以各种次序和/或同时地发生,并且同时未在本文中呈现和描述其它动作。此外,可能不要求所有图示的动作来实现根据所公开的主题的方法。此外,本领域的技术人员将理解并显而易见的是,这些方法能够可替选地经由状态图或事件被表示为一系列相关状态。附加地,应当显而易见的是,本说明书中公开的方法能够被存储在制品上以方便将此类方法输送和转移到计算设备。如本文中所使用的术语“制品”旨在包含可从任何计算机可读设备或存储介质访问的计算机程序。在一个实现方式中,方法400可以通过以下项目来执行:在基于云的环境110中由服务器112a-112z的一个或多个处理设备执行的一个或多个图表生成模块124a-124z和/或统计引擎114。在一些实现方式中,方法400可以由用户设备140a-140z的执行图表生成模块124a-124z和/或统计引擎114的一个或多个处理设备执行。

方法400可以在块402处开始。在块402处,处理设备可以解析数据表120的单元格,以识别一个或多个列和单元格的一个或多个数据类型。数据表120可以位于数据存储118中或者被包括在任何适合的电子文档(例如,电子表格文档、字处理文档、幻灯片文档等)中。可以与协作者共享电子文档或者可以不共享电子文档。处理设备还可以识别这些列中的每一个的列标题。列的数据类型可以包括字符串、数字、日期、货币、浮点数或任何适合的数据类型。

在块404处,处理设备可以执行一个或多个列的统计分析以获得关于一个或多个列的一个或多个统计量121。统计量可以包括这些列中每一个中的唯一值的数目的聚合、这些列中每一个中的值的范围、这些列中每一个中的数据的分布、这些列中每一个中的行的数目、这些列中每一个中的数据的平均值等。另外,统计量121还可以包括数据表120的大小。

在块406处,处理设备可以基于关于一个或多个列的一个或多个统计量121和单元格的一个或多个数据类型来创建一个或多个建议图表。在一些实现方式中,创建一个或多个建议图表可以包括对数据表120应用一个或多个规则125a。一个或多个规则可以用于识别一个或多个列中的至少两个列之间的关系。如上面所讨论的,所识别的关系可以是被定义为适合于/指定用于可视化的至少两个列的列标题之间的关系,或者是通过至少两个列的值之间的相关性所定义的关系。例如,规则可以指定与其中产品被销售的区域有关的列标题和与产品的实际销售数据有关的列标题之间的销售信息的关系。当确定了两个不同列中的值在一起趋势(例如,两者都增加,两者都减小,或者一个增加同时另一个减小)时,另一关系可以指定相关性。一个或多个规则还可以定义如何对建议图表类型进行评分。基于这些评分,能够识别评分高于最小阈值的一个或多个建议图表类型。处理设备可以基于所识别的图表类型为数据表120中的数据的至少一个子集创建建议图表。在一些实现方式中,一个或多个规则可以像参考图5进一步讨论的那样定义如何对建议图表进行评分。

在一些实现方式中,创建一个或多个建议图表可以包括将关于一个或多个列的一个或多个统计量121和单元格的一个或多个数据类型作为输入应用于被训练以输出一个或多个图表类型的机器学习模型123。可以使用经注释的图表122来训练机器学习模型123,所述经注释的图表122可以为各种训练数据表输入以及基于输入数据表而输出的对应的图表提供注释。例如,注释可以指定训练数据表中的统计量、训练数据表中的数据组之间的关系、训练数据表中的数据类型、适合于训练数据表的图表类型的先决条件准则等。处理设备可以基于输出图表类型创建一个或多个建议图表。

在块408处,处理设备可以生成包括一个或多个建议图表中的至少一个的图表建议列表200。用户界面144a可以被提供用于在用户设备144a上显示并且用户界面144a可以包括用于呈现图表建议列表200的第一部分和用于同时呈现数据表120的第二部分。可以将图表建议列表200显示在洞察表204中。用户可以选择将在图表建议列表200中显示的建议图表中的任一个添加到包括数据表120的电子文档并且可以将所选建议图表插入到接近于数据表120的电子文档中。

在一些实现方式中,处理设备可以基于评分对图表建议列表200中的建议图表进行排序,其中最高评分的建议图表被更优选地(例如,更高达至地)显示在图表建议列表200中。在一些实现方式中,处理设备还可以使用分集准则来确定图表建议列表200中的建议图表的次序。例如,如果具有最高评分的前两个图表属于类似的图表类型并且以类似的方式表示数据,则在第三图表属于不同的类型并且以不同的方式表示数据的条件下,具有不同的图表类型的第三图表可以被重新布置为与第二最高排名图表相比被更显着地显示。因此,即使第三图表具有比具有第二高评分的第二图表更低的评分,也可以将第三图表显示在第二图表之上。

在一些实现方式中,处理设备可以接收对来自图表建议列表200的建议图表的选择。例如,用户可能已经选择了建议图表列表200中的建议图表(例如,通过在建议图表上单击输入装置或者将光标悬停在建议图表之上)而不用将建议图表插入到电子文档中。处理设备可以针对在数据表120中的、参与创建所选择的建议图表的单元格显示可视指示器(例如,高亮)。在一些实现方式中,当用户选择在电子文档中插入建议图表时,还可以针对在数据表120中的、参与创建所选择的建议图表的单元格显示可视指示器。

在一些实现方式中,处理设备可以接收对数据表120中的数据的子集的选择。用户可以通过拖曳所期望的单元格周围的框来电子文档中高亮数据表120中的数据的子集。处理设备可以优先考虑要用于图表创建的所选择的数据的子集。例如,处理设备可以创建一个或多个修订的建议图表以表示所选择的数据的子集。例如,可以针对所选择的数据的子集来获得新统计量,可以针对所选择的数据的子集识别新关系,可以针对所选择的数据的子集确定新数据类型,可以针对所选择的数据的子集确定用于图表的新先决条件准则等,并且处理设备可以相应地创建经修订的建议图表。处理设备还可以为整个数据表120创建建议图表。处理设备可以生成包括一个或多个修订的建议图表中的至少一个的更新的图表建议列表。图表建议列表还可以包括基于整个数据表120的建议图表中的至少一个。处理设备可以优先地将是基于所选择的数据的子集的经修订的建议图表排名并显示在基于整个数据表120的建议图表之上。

图5描绘根据本公开的一个实现方式的用于使用一个或多个规则来对生成的图表进行评分以生成图表建议列表200的方法500的方面的流程图。可以以与如上面关于方法400所描述的相同或类似的方式执行方法500。在一个实现方式中,方法500可以通过以下项目来执行:在基于云的环境110中由服务器112a-112z的一个或多个处理设备执行的一个或多个图表生成模块124a-118z和/或统计引擎114。在一些实现方式中,方法500可以由执行图表生成模块124a-118z和/或统计引擎114的用户设备140a-140z的一个或多个处理设备执行。

方法500可以在块502处开始。在块502处,处理设备可以对如上所述创建的一个或多个建议图表中的每一个进行评分。评分可以由处理设备通过应用规则125a-125z或机器学习模型123来执行。评分可以是至少基于单元格的一个或多个数据类型、一个或多个统计量121(例如,列中的唯一值的聚合、数据值范围、数据的分布、数据表的大小)、一个或多个准则(例如,能够按照某个图表类型描绘的列的数目、图表类型是否能够处理负值、图表是否揭示原始图表确实未揭示的信息等)、和/或在数据表120的至少两个列之间识别的关系(例如,列的值之间的相关性、被定义为指定用于可视化的关系等)中的一个。在一些实现方式中,还可以使用规则125a-125z或机器学习模型123来针对建议图表类型执行评分。

在块504处,处理设备可以丢弃接收到低于最小阈值的评分的一个或多个建议图表。丢弃接收到低于最小阈值的评分的建议图表可以使得能够减少在图表建议列表200中显示的建议图表的数目,这可以提高生成图表建议列表200的处理速度。

在块506处,处理设备可以选择接收到高于最小阈值的评分的一个或多个建议图表以包括在图表建议列表200中。处理设备可以在用户界面144a的部分中显示洞察表204中的图表建议列表200,所述处理设备还同时在用户界面144a的另一部分中显示数据表120。

图6图示根据说明性实现方式的从在数据表120中存在的数据创建的聚合表的示例。数据表120可以被存储在数据存储118中或者包括在与协作者共享或者不共享的电子文档(例如,电子表格文档、字处理文档、幻灯片文档等)中。数据表120可以被称为初始数据表并且聚合表可以在本文中被称为附加表。

初始数据表120包含四个不同的列名称(name)600、回答(answer)602、值a(valuea)604和值b(valueb)606。对初始数据表120进行的统计分析获得指示列600、602、604和606中的每一个中的唯一值的数目的统计量121。可以基于统计量(例如,表120的每个列中的唯一值)生成聚合表608。在一些实现方式中,可以基于列中的唯一值的数目做出用于选择列以生成聚合表的确定。例如,如果列具有相对较少的唯一值,则唯一值可能比来自包含相对大量的唯一值的列的唯一值更重要。如图描绘的,与表中的其它列(例如,name列600具有五个唯一值)相比较,answer列602仅具有两个唯一值是(yes)和否(no)。规则125a-125z中的一个或多个或机器学习模型123的应用可以因为有限数目的唯一值而导致对基于answer602生成的聚合表608进行评分高于从表402生成的任何其它聚合表。另外,在确定valuea列604和valueb列606具有数字数据类型时,可以应用规则125-125z或机器学习模型123,以针对answer列602中的每个唯一响应通过添加valuea列604和valueb列410的数字来生成聚合表608。

聚合表608包括三列:answer610、sumofvaluea(值a的总和)612和sumofvalueb(值b的总和)614。answer列610包括yes和no行条目并且相应的和被描绘在sumofvaluea列612和sumofvalueb列614中。因此,聚合表608表示来自初始数据表120的经变换的数据。应用于初始数据表120中的数据的变换包括对与value和valueb中的yes相关联的值求和并且对与valuea和valueb中的no相关联的值求和。应当理解的是,可以应用其它变换,诸如平均化。所得到的聚合表608可以包括来自初始数据表120的数据(例如,yes和no)的子集,以及在初始数据表120中未直接地表示的新经变换的数据。

可以基于初始数据表120中的具有最少唯一值的answer602列来生成另一聚合表616。特别地,聚合表616包括用于answer618和count620的列。聚合表616示出answer列618的条目(yes和no)以及它们在初始数据表120中出现多少次的计数(2和3)。因此,聚合数据表616包括来自初始数据表120的数据的子集和经变换的数据(例如,计数)。

可以以如图2和图3中所示的图表和图形的形式表示聚合表608和616。使用聚合表608和616中的数据的缩减子集的生成图表可以通过将使用缩减数据集创建的图表发送到各种用户设备140a-140z来提高处理速度和/或减少网络业务量。如上所述,可以创建并然后基于多种因素对与聚合表608和610有关的图表进行评分。这些因素中的一些可以包括列中的唯一值的数目和/或可以在某个图表中描绘的列的数目。在一些实现方式中,在确定用于在聚合表608和616中表示信息的图表类型时,规则125a或机器学习模型123确定图表是否满足用于在聚合表608和/或616中描绘信息的某个先决条件准则。例如,饼形图表可以不用于表示具有负值的聚合表。

图7图示根据说明性实现方式的从在数据表120中存在的数据生成的分面图表集的示例。图表和表的分面版本在相同的数据上属于相同的类型。选择是否对图表进行分面可以取决于某些因素,诸如分面图表是否包含在从其生成分面图表的第一图表中未包含的信息。在一些实现方式中,规则125a或机器学习模型123可以用于确定图表是否是可分面的。例如,在列中包含很少重复唯一值的数据表可能不是可分面的。在一些实现方式中,能够执行统计分析以还基于这些列中的每个的唯一值确定哪一个或哪些列可以被分面。经确定以被分面的列可以被称为分类列。

特别地,图7中的数据表120包括包含两个唯一值(ma和ca)的位置(location)列。因此,可以选择location列作为分类列,因为如与数据表120中的其它列相比较它具有最少数目的唯一值。对于数据表120中的每一分类列,可以生成分面图表并且可以基于归一化交互信息的概念对分面图表中的每一个进行评分。在分面图表中表示的信息越多,分面图表的评分可以越高。如果分面图表揭示原始图表确实未揭示的信息,则分面图表被评分高。

例如,基于数据表120的统计量、数据表120中的至少两个列的识别关系、单元格的数据类型等为表120生成初始图表704。可以对图表504应用规则125a或机器学习模型123,这可以导致基于location的分类列来确定图表可以是可分面的。例如,规则125a或机器学习模型可以确定通过location列进行分面包含与score(评分)列的高交互信息。如所描绘的,location列的ca的每一个条目均与score列的值5相关联,并且location的ma的每一个条目均与score列的值2相关联。因此,可以将通过位置分面的图表700的附加版本评分为高。可以在由用户预先确定的任意尺度上进行分面图表的评分。基于分析,图表生成模块124a可以生成使用来自图表700的数据的子集来生成的但通过location划分的分面图表702和704。例如,分面图表702是通过location的ca从图表700划分的并且分面图表704是通过location的ma从图表700划分的。生成分面图表702和704可以通过仅使用来自初始数据表120的数据的子集来增加处理速度,同时还向用户呈现有趣的信息。

图8描绘根据本公开的一个实现方式的用于从根据初始数据表生成的附加数据表中的数据生成图表建议列表200的方法800的方面的流程图。可以以与如上面关于方法400的所描述的相同或类似的方式执行方法800。在一个实现方式中,方法800可以通过以下项目来执行:在基于云的环境110中由服务器112a-112z的一个或多个处理设备执行的一个或多个图表生成模块124a-118z和/或统计引擎114。在一些实现方式中,方法800可以由执行图表生成模块124a-118z和/或统计引擎114的用户设备140a-140z的一个或多个处理设备执行。

方法800可以在块802处开始。在块802处,处理设备可以基于关于初始数据表的列的统计量121和单元格的一个或多个数据类型来创建包含来自初始数据表的数据的子集的至少一个附加表。附加表可以是如上面参考图6所描述的聚合表。在一些实现方式中,可以在电子文档的用户界面144a中接近于初始数据表显示附加数据表。

在块804处,处理设备可以创建各自至少表示附加数据表中的数据的子集的一个或多个附加建议图表。可以通过基于附加数据表的统计量121、在附加数据表的列之间识别的关系、附加数据表中的单元格的数据类型、用于图表的以表示附加数据表的先决条件准则等来对附加数据表应用规则125a-125z或机器学习模型123,从而创建附加建议图表。在一些实现方式中,图表可以是例如表示聚合表的条形图表。在一些实现方式中,附加建议图表可以是参考图7所描述的分面图表。第一图表建议列表中的一个或多个附加建议图表中的至少一个可以表示经变换的数据。经变换的数据可以由应用于初始数据表中的数据的变换产生。可以不在初始数据表中描绘经变换的数据,并且该变换可以包括聚合、求和、或平均化中的至少一个。

在块806处,处理设备可以生成包括一个或多个附加建议图表中的至少一个的图表建议列表200。规则125a-125z或机器学习模型123可以对附加建议图表进行评分,可以基于该评分和/或分集准则在图表建议列表200中布置所述附加建议图表。可以将图表建议列表200与初始数据表和/或被创建的附加数据表同时显示在用户界面144a的洞察表204中。

图9描绘根据说明性实现方式的用于从协作用户接收附加数据并且生成包括基于附加数据的图表的第二图表建议列表的方法900的流程图。可以以与如上面关于方法400所描述的相同或类似的方式执行方法900。在一个实现方式中,方法900可以通过以下项目来执行:在基于云的环境110中由服务器112a-112z的一个或多个处理设备执行的一个或多个图表生成模块124a-118z和/或统计引擎114。在一些实现方式中,方法900可以由执行图表生成模块124a-118z和/或统计引擎114的用户设备140a-140z的一个或多个处理设备执行。

方法900可以在块902处开始。在块902处,处理设备可以从协作用户接收数据表120中的附加数据。例如,在当数据表120被包括在共享电子文档中的情况下,可以在第一用户设备140a上的用户界面144a中打开共享电子文档并且可以在第二用户设备140b上的另一用户界面144b中同时打开共享电子文档。第二用户可以向数据表120添加数据。

处理设备可以为数据表120接收附加数据并且创建(块904)一个或多个修订的建议图表以表示附加数据。例如,可以为包括附加数据的数据表120获得新统计量,可以识别新关系,可以确定新数据类型,可以确定用于图表的新先决条件准则等,并且处理设备可以相应地创建经修订的建议图表。

在块904处,处理设备可以更新图表建议列表200以包括一个或多个修订的建议图表中的至少一个。在用户界面144a中可以动态地更新并在洞察表204中显示经更新的图表建议列表,该用户界面144a还显示包括由协作用户添加的数据的数据表120。

图10描绘根据本公开的一个或多个方面操作的示例计算系统的框图。在各种说明性示例中,计算机系统1000可以与图1的系统架构100内的计算设备中的任一个相对应。在一个实现方式中,计算机系统1000可以是服务器112a-112z中的每一个、统计引擎114或训练引擎116。在另一实现方式中,计算机系统1000可以是用户设备140a-140z中的每一个。

在某些实现方式中,计算机系统1000可以(例如,经由诸如局域网(lan)、内联网、外联网、或互联网的网络)连接到其它计算机系统。计算机系统1000可以在客户端-服务器环境中以服务器或客户端计算机的身份操作,或者在对等或分布式网络环境中作为对等计算机操作。计算机系统1000可以由能够执行指定要由该设备采取的动作的一组指令(顺序的或其它的)的个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、web设备、服务器、网络路由器、交换机或桥接器、或任何设备来提供。另外,术语“计算机”应当包括单独地或联合地执行一组(或多组)指令,以执行本文中描述的方法中的任何一个或多个的计算机的任何集合。

在另一个方面中,计算机系统1000可以包括可以经由总线1008彼此通信的处理设备1002、易失性存储器1004(例如,随机存取存储器(ram))、非易失性存储器1006(例如,只读存储器(rom)或电可擦除可编程rom(eeprom))、和数据存储设备2316。

处理设备1002可以由诸如以下各项目的一个或多个处理器提供:通用处理器(诸如例如,复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、甚长指令字(vliw)微处理器、实现其它类型的指令集的微处理器,或实现各种类型的指令集的组合的微处理器)或专用处理器(诸如例如,专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、或网络处理器)。

计算机系统1000还可以包括网络接口设备1022。计算机系统1000还可以包括视频显示单元1010(例如,lcd)、字母数字输入设备1012(例如,键盘)、光标控制设备1014(例如,鼠标)、和信号生成设备1020。

数据存储设备1016可以包括非暂时性计算机可读存储介质1024,在其上可以存储对本文中描述的方法或功能中的任何一个或多个进行编码的指令1026,该数据存储设备1016包括实现图1的图表生成模块125、统计引擎114、和/或训练引擎116用于实现本文中描述的方法中的任一种的指令(125a-125z)。

指令1026还可以在其由计算机系统1000执行期间完全地或部分地驻留在易失性存储器1004内和/或在处理设备1002内,因此,易失性存储器1004和处理设备1002还可以构成机器可读存储介质。

虽然计算机可读存储介质1024在说明性示例中作为单个介质被示出,但是术语“计算机可读存储介质”应当包括存储一组或多组可执行指令的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当包括能够存储一组指令或者对用于由计算机执行的一组指令进行编码的任何有形介质,所述指令使计算机执行本文中描述的方法中的任何一个或多个。术语“计算机可读存储介质”应当包括但不限于固态存储器、光介质、和磁介质。

在前面的描述中,阐述了许多细节。然而,对于受益于本公开的本领域的普通技术人员而言将显而易见的是,能够在没有这些具体细节的情况下实践本公开。在一些情况下,众所周知的结构和设备是以框图形式而不是详细地示出,以便避免使本公开模糊。

已经在对计算机存储器内的数据比特的操作的算法和符号表示方面呈现了详细描述的一些部分。这些算法描述和表示是由数据处理领域的技术人员使用来最有效地将其工作的实质传达给本领域的其它技术人员的手段。算法在这里且一般地被认为是导致期望结果的步骤的自相一致序列。这些步骤是要求物理量的物理操纵的步骤。通常,尽管不一定,然而这些量采取能够被存储、转移、组合、比较并以其它方式操纵的电信号或磁信号的形式。出于通用的原因,有时将这些信号称为比特、值、元素、符号、字符、项、数字等已经证明是方便的。

然而,应当记住的是,所有这些和类似的术语将与适当的物理量相关联并且仅仅是应用于这些量的方便标签。除非像从以下讨论中显而易见的那样具体地陈述,否则应当显而易见的是在整个说明书中,利用诸如“接收”、“显示”、“移动”、“调整”、“替换”、“确定”、“播放”等的术语的讨论指的是计算机系统或类似的电子计算设备的动作和过程,所述计算机系统或类似的电子计算设备将表示为计算机系统的寄存器和存储器内的物理(例如,电子)量的数据操纵并转换成类似地表示为计算机系统存储器或寄存器或其它这种信息存储、传输或显示设备内的物理量的其它数据。

为了说明的简单,方法在本文中被描绘和描述为一系列动作。然而,根据本公开的动作可以以各种次序发生和/或同时发生,并且同时在本文中未呈现和描述其它动作。此外,可能不要求所有图示的动作来实现根据所公开的主题的方法。此外,本领域的技术人员应当理解并显而易见的是,这些方法能可替选地经由状态图或事件被表示为一系列相关状态。附加地,应当显而易的是,本说明书中公开的方法能够被存储在制品上以方便将此类方法输送并转移到计算设备。如本文中所使用的术语“制品”旨在包含可从任何计算机可读设备或存储介质访问的计算机程序。

本公开的某些实现方式还涉及一种用于执行本文的操作的装置。此装置能够被构造用于预定目的,或者它能够包括通过在计算机中存储的计算机程序选择性地激活或者重新配置的通用计算机。这种计算机程序能够被存储在计算机可读存储介质中,所述计算机可读存储介质诸如但不限于包括适合于存储电子指令的软盘、光盘、cd-rom、和磁光盘的任何类型的盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或任何类型的介质。

贯穿本说明书对“一个实现方式”或“实现方式”的参考意味着连同该实现方式一起描述的特定特征、结构或特性被包括在至少一个实现方式中。因此,短语“在一个实现方式中”或“在实现方式中”贯穿本说明书在各个地方中的出现不一定全部都参考相同的实现方式。此外,术语“或”旨在意指包含性“或”而不是排他性“或”。此外,单词“示例”或“示例性”在本文中用于意指用作示例、实例或图示。在本文中描述为“示例性”的任何方面或设计不一定被解释为优于其它方面或设计为优选的或有利的。相反,单词“示例”或“示例性”的使用旨在以具体方式呈现构思。

应当理解的是,以上描述旨在为说明性的,而不是限制性的。在阅读和理解以上描述后,许多其它实现方式对于本领域的技术人员而言将是显而易见的。因此,应当参考所附权利要求以及此类权利要求所赋予的等同物的完全范围来确定本公开的范围。

除以上描述之外,可以给用户提供有允许用户关于本文中描述的系统、程序或特征是否并何时可以使得能够收集用户信息(例如,关于用户的社交网络、社交动作或活动、专业、用户的偏好、或用户的当前位置的信息)并且用户是否被从服务器发送了内容或通信做出选择的控制。此外,某些数据可以在它被存储或者使用之前被以一个或多个方式处理,使得个人可识别的信息被移除。例如,可以处理用户的身份,使得对用户来说不能够确定个人可识别的信息,或者用户的地理位置可以在获得位置信息的情况下被一般化(诸如到城市、邮政编码、或州级别),使得不能够确定用户的特定位置。因此,用户可以具有对收集关于用户的什么信息、如何使用该信息并且向用户提供什么信息的控制。

权利要求书(按照条约第19条的修改)

1.一种用于使用在被存储在基于云的环境中的协作电子表格的数据表中存在的数据来生成图表建议列表的方法,所述方法包括:

提供所述协作电子表格以被显示在第一用户的第一设备上,其中,所述协作电子表格是通过向第二用户授予许可来与所述第二用户共享的,所述许可允许所述第二用户在所述第一用户在所述第一设备上编辑所述协作电子表格的同时在第二设备上同时编辑所述协作电子表格;

解析所述数据表的单元格,以识别一个或多个列和所述单元格的一个或多个数据类型;

执行所述一个或多个列的统计分析,以获得关于所述一个或多个列的一个或多个统计量;

基于关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型来创建一个或多个建议图表,其中,所述一个或多个建议图表中的每一个至少表示所述数据表中的所述数据的子集;以及

生成包括所述一个或多个建议图表中的至少一个的图表建议列表。

2.根据权利要求1所述的方法,还包括提供用户界面,所述用户界面包括用于呈现所述图表建议列表的第一部分和用于同时呈现所述数据表的第二部分。

3.根据权利要求1所述的方法,其中:

创建所述一个或多个建议图表包括将一个或多个规则应用到所述数据表;

所述一个或多个规则定义所述一个或多个列中的至少两个列之间的关系,所定义的关系包括以下中的至少一个:被指定用于可视化的所述至少两个列的列标题之间的关系或所述至少两个列的值之间的相关性;并且

所述一个或多个规则定义如何基于以下中的至少一个来确定一个或多个图表类型:关于所述一个或多个列的所述一个或多个统计量、所述单元格的所述一个或多个数据类型、或所识别的关系。

4.根据权利要求1所述的方法,其中,创建所述一个或多个建议图表包括将关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型作为输入应用到被训练以产生一个或多个图表类型作为目标输出的机器学习模型,所述一个或多个图表是基于所产生的图表类型来创建的。

5.根据权利要求1所述的方法,还包括:

基于关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型来至少创建包含来自所述数据表的所述数据的子集的第二数据表;

创建一个或多个附加建议图表,所述一个或多个附加建议图表中的每一个至少表示所述第二数据表中的数据的子集;以及

生成包括所述一个或多个附加建议图表中的至少一个的所述图表建议列表。

6.根据权利要求1所述的方法,还包括:

至少基于以下中的一个来对所述一个或多个建议图表中的每一个进行评分:所述单元格的一个或多个数据类型、所述一个或多个统计量、与所述一个或多个建议图表有关的一个或多个准则、或在所述一个或多个列中的至少两个列之间识别的关系;

丢弃接收到低于最小阈值的评分的一个或多个建议图表;以及

选择接收到高于所述最小阈值的评分的一个或多个建议图表,以包括在所述图表建议列表中。

7.根据权利要求1所述的方法,还包括:

从所述第二用户的所述第二设备接收所述数据表中的附加数据;

创建一个或多个修订的建议图表,以表示所述附加数据;以及

生成包括所述一个或多个修订的建议图表中的至少一个的第二图表建议列表。

8.根据权利要求1所述的方法,还包括:

接收对来自所述图表建议列表的建议图表的选择;以及

导致显示用于在所述数据表中的、参与所选择的建议图表的创建的多个单元格的指示器。

9.根据权利要求1所述的方法,还包括:

接收对所述数据表中的数据的子集的选择;

创建一个或多个修订的建议图表以表示所选择的数据的子集;以及

生成包括所述一个或多个修订的建议图表中的至少一个的第二图表建议列表。

10.根据权利要求1所述的方法,其中,所述第一图表建议列表中的所述一个或多个图表中的至少一个表示经变换的数据,所述经变换的数据由应用于所述数据表中的所述数据的变换产生,所述经变换的数据未被描绘在所述数据表中,并且所述变换包括以下中的至少一个:聚合、求和、或平均化。

11.根据权利要求1所述的方法,其中,所述一个或多个统计量包括以下中的至少一个:所述一个或多个列中的每一个列中的唯一值的数目、所述一个或多个列中的每一个列中的数据的分布、所述数据表的大小、所述一个或多个列中的每一个列中的数据值的平均值、或所述一个或多个列中的每一个列中的数据的范围。

12.根据权利要求1所述的方法,还包括通过至少基于第一图表和第二图表中的与第三图表的类型图表相关的图表的类型,选择具有更低评分的第一图表来比具有更高评分的第二图表更显著地显示来重新布置所述图表建议列表中的所述一个或多个图表。

13.一种用于使用在被存储在基于云的环境中的协作电子表格的数据表中存在的数据来生成图表建议列表的系统,包括:

存储指令的存储器设备;以及

处理设备,所述处理设备耦合到所述存储器设备,所述处理设备用于执行所述指令以:

提供所述协作电子表格以被显示在第一用户的第一设备上,其中,所述协作电子表格是通过向第二用户授予许可来与所述第二用户共享的,所述许可允许所述第二用户在所述第一用户在所述第一设备上编辑所述协作电子表格的同时在第二设备上同时编辑所述协作电子表格;

解析所述数据表的单元格,以识别一个或多个列和所述单元格的一个或多个数据类型;

执行所述一个或多个列的统计分析,以获得关于所述一个或多个列的一个或多个统计量;

基于关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型来创建一个或多个建议图表,其中,所述一个或多个建议图表中的每一个至少表示所述数据表中的所述数据的子集;以及

生成包括所述一个或多个建议图表中的至少一个的图表建议列表。

14.根据权利要求13所述的系统,其中,所述处理设备还将提供用户界面,所述用户界面包括用于呈现所述图表建议列表的第一部分和用于同时呈现所述数据表的第二部分。

15.根据权利要求13所述的系统,其中,所述处理设备将通过将一个或多个规则应用到所述数据表来创建所述一个或多个建议图表,所述一个或多个规则定义所述一个或多个列中的至少两个列之间的关系,所定义的关系包括以下中的至少一个:被指定用于可视化的所述至少两个列的列标题之间的关系或所述至少两个列的值之间的相关性,并且所述一个或多个规则定义如何基于以下中的至少一个来确定一个或多个图表类型:关于所述一个或多个列的所述一个或多个统计量、所述单元格的所述一个或多个数据类型、或所识别的关系。

16.根据权利要求13所述的系统,其中,所述处理设备将通过将关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型作为输入应用到被训练以产生一个或多个图表类型作为目标输出的机器学习模型来创建所述一个或多个建议图表,所述一个或多个图表是基于所产生的图表类型来创建的。

17.根据权利要求13所述的系统,其中,所述处理设备还将:

基于关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型来至少创建包含来自所述数据表的所述数据的子集的第二数据表;

创建一个或多个附加建议图表,所述一个或多个附加建议图表中的每一个至少表示所述第二数据表中的数据的子集;以及

生成包括所述一个或多个附加建议图表中的至少一个的所述图表建议列表。

18.存储指令的一个或多个有形非暂时性计算机可读介质,所述指令用于使用在被存储在基于云的环境中的协作电子表格的数据表中存在的数据来生成图表建议列表,所述指令在由一个或多个处理设备执行时,使得所述一个或多个处理设备:

提供所述协作电子表格以被显示在第一用户的第一设备上,其中,所述协作电子表格是通过向第二用户授予许可来与所述第二用户共享的,所述许可允许所述第二用户在所述第一用户在所述第一设备上编辑所述协作电子表格的同时在第二设备上同时编辑所述协作电子表格;

解析所述数据表的单元格以识别一个或多个列和所述单元格的一个或多个数据类型;

执行所述一个或多个列的统计分析以获得关于所述一个或多个列的一个或多个统计量;

基于关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型来创建一个或多个建议图表,其中,所述一个或多个建议图表中的每一个至少表示所述数据表中的所述数据的子集;以及

生成包括所述一个或多个建议图表中的至少一个的图表建议列表。

19.根据权利要求18所述的计算机可读介质,其中,所述一个或多个处理设备将通过将一个或多个规则应用到所述数据表来创建所述一个或多个建议图表,所述一个或多个规则定义所述一个或多个列中的至少两个列之间的关系,所定义的关系包括以下中的至少一个:被指定用于可视化的所述至少两个列的列标题之间的关系或所述至少两个列的值之间的相关性,并且所述一个或多个规则定义如何基于以下中的至少一个来确定一个或多个图表类型:关于所述一个或多个列的所述一个或多个统计量、所述单元格的所述一个或多个数据类型、或所识别的关系。

20.根据权利要求18所述的计算机可读介质,其中,所述一个或多个处理设备将通过将关于所述一个或多个列的所述一个或多个统计量和所述单元格的所述一个或多个数据类型作为输入应用到被训练以产生一个或多个图表类型作为目标输出的机器学习模型来创建所述一个或多个建议图表,所述一个或多个图表是基于所产生的图表类型来创建的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1