CN117882063A - 应用可视化分析意图语言以生成数据可视化 - Google Patents

应用可视化分析意图语言以生成数据可视化 Download PDF

Info

Publication number
CN117882063A
CN117882063A CN202280039140.2A CN202280039140A CN117882063A CN 117882063 A CN117882063 A CN 117882063A CN 202280039140 A CN202280039140 A CN 202280039140A CN 117882063 A CN117882063 A CN 117882063A
Authority
CN
China
Prior art keywords
intent
data
field
request
type
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.)
Pending
Application number
CN202280039140.2A
Other languages
English (en)
Inventor
V·R·塞特勒
M·M·布雷默
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.)
Tableau Software LLC
Original Assignee
Tableau Software LLC
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
Priority claimed from US17/219,784 external-priority patent/US11409763B1/en
Application filed by Tableau Software LLC filed Critical Tableau Software LLC
Priority claimed from PCT/US2022/022625 external-priority patent/WO2022212563A1/en
Publication of CN117882063A publication Critical patent/CN117882063A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种电子设备具有一个或多个处理器和存储器。存储器存储配置为由一个或多个处理器执行的一个或多个程序。电子设备接收针对数据源的请求。该请求包括一个或多个意图类型以及与意图类型相关联的一个或多个预定义属性。每个预定义属性限制相应意图类型的相应数据分析操作。响应于该请求,对于每个意图类型,电子设备根据该请求制定相应意图规范,包括确定相应意图规范的相应特性。电子设备还生成相应输出规范。相应输出规范包括相应推荐数据可视化类型。相应输出规范还包括相应数据可视化参数,其指定如何呈现相应推荐数据可视化类型的数据可视化。

Description

应用可视化分析意图语言以生成数据可视化
相关申请
本申请是2021年3月31日提交的题为“应用视觉分析意图语言以生成数据可视化(Applying a Visual Analytics Intent Language to Generate DataVisualizations)”的美国专利申请号17/219,784的延续,其要求2021年3月30日提交的题为“应用视觉分析意图语言以生成数据可视化(Applying a Visual Analytics IntentLanguage to Generate Data Visualizations)”的美国临时专利申请号63/168,212的优先权,这两个专利申请的全部内容通过引用结合于此。
本申请与以下申请相关,每个申请的全部内容通过引用结合于此:
·(i)2018年10月16日提交的题为“根据用户选择的数据字段的特征逐步构建数据集视图的方法和系统(Methods andSystems for Building a View of a DatasetIncrementallyAccording to Characteristics of User-Selected Data Fields)”的美国专利申请号16/162,332;以及
·(ii)2018年2月28日提交的题为“根据用户选择的数据字段为数据集构建数据可视化选项(Constructing DataVisualization Options for a Data Set According toUser-SelectedData Fields)”的美国专利申请号15/908,709。
技术领域
所公开的实施方式大体上涉及数据可视化,更具体地,涉及应用视觉分析意图语言来生成数据可视化并分析数据的系统、方法和用户界面。
背景技术
可视化分析工具使用户能够直观地理解数据集并做出明智的决策。可视化分析工具越来越多地包含了自然语言交互和基于机器学习的分析和建议等功能,这些功能提供了更复杂和更具表现力的分析任务,而不仅仅是简单地选择数据属性和值来生成可视化。然而,解释用户的分析意图仍然是一个挑战,因为这种意图需要被转化成生成适当响应的较低级别的系统动作。这个过程通常涉及复杂的实施方式,这些实施方式针对每个应用都是硬编码的,很难进行微调。
因此,需要能够在分析工作流程期间捕捉用户意图的系统和方法。这种系统和方法还应该能够推断不详细或模糊的意图,并建议有效的输出。
发明内容
可视化分析工具有助于数据分析和决策制定。这些工具可以根据选定的数据属性建议可视化类型,为可视化编码信息提供合理的默认值。许多视觉分析工具现在包含了图形用户界面惯例,这些惯例采用基于启发式的方法来向用户呈现可视化。
尽管视觉分析工具最近有所进步,但是当用户试图根据工具的低级操作来表达其高级分析意图时,仍然存在挑战。在表达意图时有几个困难。首先,意图可能是模糊的,问题的入口点可能与工具所提供的不匹配。例如,用户可能正在考虑数据属性,而该工具要求用户首先选择图表类型。第二,工具的分析功能的命名和用户使用的术语可能不匹配。第三,用户可能根本不知道回答问题需要什么动作。
此外,具有光谱,可以表达分析意图。一方面,可以明确地表达分析意图,例如,通过用户从预定义列表中选择数据属性来生成可视化。另一方面,分析意图可以被模糊地定义或涉及主观判断,例如,当用户查看房屋数据时,用户请求识别在其中购买房屋的“安全”社区。
为了适应这些动作,视觉分析应用开发者已经实现了定制的业务逻辑,以确定对这些意图表达的适当响应。然而,这些往往严格地实现,并且不能在各种视觉分析平台和模态上通用。
需要开发分析意图系统和方法来在分析工作流期间捕捉用户意图。分析意图系统和方法还应该能够推断出不详细或模糊的意图,并建议有效的输出。这些系统和方法还应该在足够高的抽象层次上实现,以供不同的视觉分析工具和不同的设备使用。
在公开文本中,呈现了视觉分析意图语言(VAIL)。VAIL是一种语言规范,将表达性较高的高级意图转换成较低级别的表示,较低级别的表示可以作为可视化分析应用的通用抽象层。VAIL包括描述意图、数据语义和输出的规范,这些规范与编辑意图、推断模糊或缺失的意图以及为给定的意图规范建议有效输出的规则相结合。VAIL帮助开发人员在他们自己的可视化分析应用中管理和表示意图。
因此,这种方法和界面减少了用户的认知负担,并产生了更有效的人机界面。对于电池供电的设备,这种方法和界面节省了电力,并增加了电池充电之间的时间。这种方法和界面可以补充或替代用于可视化数据的传统方法。根据本说明书中的描述和附图,其他实施方式和优点对于本领域技术人员来说是显而易见的。
根据一些实施方式,在运行第一应用的电子设备处执行一种方法。该电子设备包括一个或多个处理器和存储器。存储器存储由一个或多个处理器执行的一个或多个程序。电子设备接收针对数据源的请求。该请求包括一个或多个意图类型。每个意图类型选自针对数据源的数据分析操作的预定义集合。该请求包括与一个或多个意图类型相关联的一个或多个预定义属性。一个或多个预定义属性中的每个限制相应意图类型的相应数据分析操作。对于一个或多个意图类型中的每个,电子设备根据请求制定相应意图规范,包括根据相应的一个或多个预定义属性以及根据来自数据源的在请求中指定的数据字段来确定相应意图规范的一个或多个相应特性。对于一个或多个意图类型中的每个,电子设备生成相应输出规范。相应输出规范包括从数据可视化类型的预定义集合针对数据源选择的相应推荐数据可视化类型。相应输出规范包括指定如何呈现所述相应推荐数据可视化类型的数据可视化的一个或多个相应数据可视化参数。
在一些实施方式中,一个或多个意图类型包括以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。
在一些情况下,请求包括趋势意图。制定相应意图规范包括从数据源识别(i)度量数据字段和(ii)表示时间的第一数据字段。
在一些情况下,请求包括趋势意图。制定相应意图规范包括从数据源识别(i)所有度量数据字段和(ii)表示时间的所有数据字段。
在一些情况下,请求包括聚焦意图。制定相应意图规范包括执行以下一项或多项:(1)排序操作,其按顺序排列来自数据源的数据行;(2)过滤操作,其将来自数据源的数据行过滤成特定数据字段具有特定数据值的数据行的子集;以及(3)突出操作,其突出来自数据源的数据行的子集。
在一些情况下,请求包括编码意图并指定第一数据字段。生成相应输出规范包括:(1)根据第一数据字段,添加指定呈现数据可视化的编码参数;或(2)根据第一数据字段,覆盖用于数据可视化的现有编码参数。
在一些情况下,请求包括字段意图并指定第一数据字段。生成相应输出规范包括基于由第一数据字段施加的语义约束而应用一个或多个推断规则。
在一些实施方式中,该方法还包括对于一个或多个意图类型中的每个,应用对应于相应意图类型的一个或多个相应规则来确定相应意图类型是否模糊和/或不详细。根据相应意图类型是模糊和/或不详细的确定,电子设备根据(i)一个或多个相应规则,(ii)数据源的元数据,以及(iii)请求中指定的数据字段的元数据,推断信息,以解决模糊和/或不详细的意图。电子设备根据推断信息更新一个或多个相应数据可视化参数。
在一些情况下,应用一个或多个相应规则来确定相应意图类型是否模糊和/或不详细还包括:根据请求指定了可度量形容词而没有指定数量的确定,(1)确定相应意图类型是模糊的;以及(2)推断该量的数值。
在一些情况下,数据源的元数据包括以下元数据:数据字段的语义、对应于数据字段的数据字段类型、数据字段的统计、数据字段的派生、和/或对应于数据字段的默认统计堆栈大小。
在一些情况下,数据字段类型包括以下一个或多个:分类字段类型、时间字段类型、地理字段类型、货币字段类型、数量相关字段类型、数量无关字段类型、纬度字段类型和经度字段类型。
在一些情况下,电子设备根据来自先前请求的上下文、先前请求中识别的数据字段、先前请求中识别的属性、用户提供的解释和/或用户提供的定义,推断信息,以解决模糊和/或不详细的意图。
在一些实施方式中,一个或多个相应数据可视化参数包括:数据整形信息、编码信息和/或对应于意图规范的标识符。
在一些实施方式中,在针对一个或多个意图类型中的每个生成相应输出规范之后,电子设备响应于该请求,根据(i)一个或多个意图类型之一的至少一个输出规范和(ii)第一应用和/或电子设备的配置参数,可视地呈现数据分析。
根据公开文本的一些实施方式,在运行第一应用的电子设备处执行一种方法。该电子设备包括一个或多个处理器和存储器。存储器存储由一个或多个处理器执行的一个或多个程序。电子设备接收针对数据源的请求。该请求包括一个或多个意图类型。每个意图类型选自针对数据源的数据分析操作的预定义集合。该请求包括与一个或多个意图类型相关联的一个或多个预定义属性。一个或多个预定义属性中的每个限制相应意图类型的相应数据分析操作。响应于该请求,对于一个或多个意图类型中的每个,电子设备根据该请求制定相应意图规范,包括根据相应的一个或多个预定义属性以及根据来自数据源的在请求中指定的数据字段来确定相应意图规范的一个或多个相应特性。电子设备应用对应于相应意图类型的一个或多个相应规则来确定相应意图类型是否模糊和/或不详细。根据相应意图类型模糊和/或不详细的确定,电子设备根据(i)一个或多个相应规则,(ii)数据源的元数据,和(iii)请求中指定的数据字段的元数据,推断信息,以解决模糊和/或不详细的意图。电子设备根据推断信息更新相应意图类型。
在一些实施方式中,电子设备生成相应输出规范。相应输出规范包括从数据可视化类型的预定义集合针对数据源选择的相应推荐数据可视化类型。相应输出规范还包括一个或多个相应数据可视化参数,这些参数(1)包括推断信息,以及(2)指定如何呈现相应推荐的数据可视化类型的数据可视化。
在一些实施方式中,一个或多个意图类型包括以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。
在一些实施方式中,应用一个或多个相应规则来确定相应意图类型是否模糊和/或不详细还包括:(1)识别对应于相应意图类型的相应意图规范的数据特性集合;以及(2)确定该请求是否为该数据特性集合中的每个数据特性指定了属性。在一些实施方式中,当请求针对该数据特性集合中的数据特性指定了一个以上属性时,电子设备确定相应意图类型是模糊的。在一些实施方式中,当请求没有针对该数据特性集合中的至少一个数据特性指定属性时,电子设备102确定相应意图类型是不详细的。
在一些情况下,根据该请求针对该数据特性集合中的每个数据特性指定了恰好一个属性的确定,电子设备确定相应意图类型被完全指定。
在一些实施方式中,应用一个或多个相应规则来确定相应意图类型是否模糊和/或不详细还包括:根据请求指定了可度量形容词但未指定数量的确定,确定相应意图类型是模糊的并且推断数量的数值。
在一些实施方式中,相应意图类型是具有聚焦策略特性的聚焦意图,推断信息,以解决不详细的意图还包括:根据请求不包括从由“过滤”、“突出”和“缩放”组成的组中选择的第一术语的确定,选择突出策略,作为默认聚焦策略。
在一些情况下,选择突出策略作为默认策略还包括:(1)执行排序操作,该排序操作根据数据源的数据表中的数据字段的数据值以升序或降序排列数据表中的数据行;以及(2)执行突出操作,该突出操作基于数据值的排序突出数据值的指定数字。
在一些实施方式中,相应意图类型是具有字段特性的聚焦意图。推断信息,以解决不详细的意图还包括:根据请求没有指定数据字段的确定,从数据源中选择具有文本数据类型并且具有大于或等于请求中指定的数量的域的数据字段。
在一些实施方式中,相应意图类型是具有字段特性的聚焦意图,推断信息以解决不详细的意图还包括:根据数据源不包括具有文本数据类型和大于或等于指定数量的域的数据字段的确定,从数据源中选择其域包含请求中指定的数据值的数据字段。
在一些实施方式中,相应意图类型是聚焦意图。该方法还包括根据请求包括价格形容词的确定,确定数据源是否包括具有货币字段类型的数据字段。根据数据源包括具有货币字段类型的数据字段的确定,电子设备对数据字段执行排序操作。根据数据源不包括具有货币字段类型的数据字段的确定,电子设备识别数据源中的所有数字数据字段,并对数字数据字段中的每个执行相应排序操作。
在一些实施方式中,数据源的元数据包括以下元数据:数据字段的语义、对应于数据字段的数据字段类型、数据字段的统计、数据字段的派生、和/或对应于数据字段的默认统计堆栈大小。
在一些情况下,数据字段类型包括以下一个或多个:分类字段类型、时间字段类型、地理字段类型、货币字段类型、数量相关字段类型、数量无关字段类型、纬度字段类型和经度字段类型。
在一些实施方式中,相应意图类型是具有包括分组字段和统计堆栈大小的分组特性的分布意图。推断信息以解决不详细的意图还包括:根据请求没有指定分组字段的确定,(1)识别数据源中具有数量相关字段类型、数量无关字段类型或货币字段类型的所有数据字段;以及(2)将每个识别的数据字段指定为分组字段的推断信息。
在一些情况下,根据请求指定了统计堆栈大小的确定,电子设备用指定的统计堆栈大小替换元数据中的统计堆栈大小信息。
在一些实施方式中,意图类型是具有包括度量数据字段和日期数据字段的趋势特性的趋势意图。推断信息以解决不详细的意图还包括:根据请求不包括度量数据字段的确定,(1)识别数据源中的所有数量相关字段;以及(2)将每个定量相关字段指定为度量数据字段的推断信息。推断信息以解决不详细的意图还包括:根据请求不包括具有时间字段类型的数据字段的确定:(1)识别数据源中的所有时间数据字段;以及(2)将每个时间数据字段指定为日期数据字段的推断信息。
在一些实施方式中,意图类型是使两个数字数据字段关联的关联意图。推断信息以解决不详细的意图还包括:(1)当请求仅指定一个数字数据字段时,从来自数据源的所有数字数据字段中推断第二数据字段的用途;以及(2)当请求没有指定数字数据字段时,从来自数据源的所有数字数据字段中推断第一数据字段和第二数据字段的用途。
在一些实施方式中,该方法还包括根据来自先前请求的上下文、先前请求中识别的数据字段、先前请求中识别的属性、用户提供的解释和/或用户提供的定义来推断信息,以解决模糊和/或不详细的意图。
根据一些实施方式,在运行第一应用的电子设备处执行一种方法。该电子设备包括一个或多个处理器和存储器。存储器存储由一个或多个处理器执行的一个或多个程序。该电子设备从与该电子设备通信连接的服务器系统下载视觉分析意图库,该视觉分析意图库配置为跨包括第一应用在内的多个应用执行。基于运行第一应用的电子设备,电子设备配置视觉分析意图库,以在电子设备上执行。在配置之后,电子设备接收针对数据源的请求。该请求包括一个或多个意图类型。每个意图类型选自针对数据源的数据分析操作的预定义集合。该请求包括与一个或多个意图类型相关联的一个或多个预定义属性。一个或多个预定义属性中的每个限制相应意图类型的相应数据分析操作。根据该请求,对于一个或多个意图类型中的每个,电子设备根据视觉分析意图库来制定相应意图规范,包括根据相应的一个或多个预定义属性以及根据来自数据源的在请求中指定的数据字段来确定相应意图规范的一个或多个相应特性。
在一些实施方式中,电子设备具有第一设备类型。在一些实施方式中,视觉分析意图库配置为跨包括第一设备类型在内的多种设备类型执行。
在一些实施方式中,对于每个意图类型,在制定相应意图规范之后,电子设备根据视觉分析意图库生成相应输出规范。相应输出规范包括从数据可视化类型的预定义集合针对数据源选择的相应推荐数据可视化类型。相应输出规范还包括一个或多个相应数据可视化参数,其指定如何呈现相应推荐数据可视化类型的数据可视化。
在一些实施方式中,一个或多个相应数据可视化参数包括:数据整形信息、编码信息和/或对应于意图规范的标识符
在一些实施方式中,在针对一个或多个意图类型中的每个生成相应输出规范之后,电子设备响应于该请求,根据(i)一个或多个意图类型之一的至少一个输出规范和(ii)第一应用和/或电子设备的配置参数,可视地呈现数据分析。
在一些实施方式中,进一步根据具有第一设备类型的电子设备,响应于所述请求,可视地呈现数据分析。
在一些情况下,一个或多个意图类型之一的至少一个输出规范包括对应于第一意图类型并具有推断信息的第一输出规范。可视地呈现数据分析还包括在第一应用中显示推断信息。
在一些情况下,电子设备显示使得能够修改推断信息的数据窗口小部件。电子设备接收用户与数据窗口小部件的交互。响应于用户交互,电子设备编辑第一意图规范。电子设备根据编辑的第一意图规范更新第一输出规范。电子设备根据更新的第一输出规范和第一应用和/或电子设备的配置参数生成并可视地呈现更新的数据分析。
在一些实施方式中,电子设备是语音助理设备。该方法还包括在生成相应输出规范之后,(1)将相应输出规范转换成相应的言语响应,以及(2)输出相应的言语响应。
在一些情况下,相应输出规范包括推断信息。输出相应的言语响应包括输出推断信息的言语描述。
在一些实施方式中,第一应用包括图形用户界面。该方法还包括经由图形用户界面接收包括一个或多个意图类型的识别的请求。
在一些情况下,电子设备根据相应输出规范生成相应数据可视化。电子设备在图形用户界面上显示数据可视化。
在一些实施方式中,第一应用是消息应用。该方法还包括在生成相应输出规范之后:(1)将可视规范转换成文本输出;以及(2)在消息应用中显示文本输出。
在一些实施方式中,一个或多个意图类型包括以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。
在一些实施方式中,在接收请求之前,电子设备接收自然语言命令。电子设备根据视觉意图规范语言来解析自然语言命令,以形成请求。
在一些情况下,根据解析,电子设备确定一个或多个意图类型包括根据具有术语“时间”或术语“趋势”的自然语言命令的趋势意图类型。
在一些情况下,根据解析,电子设备确定一个或多个意图类型包括根据具有可度量形容词的自然语言命令的聚焦意图类型。
在一些实施方式中,该方法还包括通过将第一意图规范与在请求中制定的意图规范相关联来更新根据先前请求制定的第一意图规范。
在一些情况下,先前请求包括来自数据源的第一数据字段。该请求指定用来自数据源的第二数据字段替换第一数据字段。更新第一意图规范包括用第二数据字段替换第一数据字段。
在一些实施方式中,电子设备包括一个或多个处理器、存储器和存储在存储器中的一个或多个程序。这些程序配置为由一个或多个处理器执行。一个或多个程序包括用于执行本文描述的任何方法的指令。
在一些实施方式中,非暂时性计算机可读存储介质存储配置为由具有一个或多个处理器和存储器的电子设备执行的一个或多个程序。一个或多个程序包括用于执行本文描述的任何方法的指令。
因此,公开了方法、系统和用户界面,其捕捉用户意图,推断不详细或模糊的意图,并建议有效的输出。
附图说明
为了更好地理解前述系统、方法和图形用户界面,以及提供数据可视化分析的附加系统、方法和图形用户界面,应结合以下附图参考以下具体实施方式的描述,在附图中,相同的附图标记指代所有附图中的对应部分。
图1概念性地示出了根据一些实施方式的通过应用视觉分析意图语言来生成数据可视化的过程。
图2是根据一些实施方式的电子设备的框图。
图3是根据一些实施方式的服务器系统的框图。
图4示出了根据一些实施方式的视觉分析意图系统。
图5提供了根据一些实施方式的定义一些VAIL术语的巴克斯-诺尔形式(BNF)产品。
图6提供了根据一些实施方式的定义意图规范的BNF产生。
图7提供了根据一些实施方式的定义数据语义的BNF产品。
图8提供了根据一些实施方式的定义输出规范的BNF产品。
图9提供了根据一些实施方式的用于编辑意图规范的BNF产生。
图10提供了根据一些实施方式的用于推断信息以解决不详细聚焦意图的BNF产生。
图11提供了根据一些实施方式的用于推断信息以解决不详细关联意图的BNF产生。
图12提供了根据一些实施方式的用于推断信息以解决不详细分布意图的BNF产生。
图13提供了根据一些实施方式的用于推断信息以解决不详细趋势意图的BNF产生。
图14A-图14J提供了根据一些实施方式的用于与使用VAIL的基于图形用户界面的应用224交互的一系列屏幕截图。
图15提供了根据一些实施方式的使用VAIL的Slackbot应用的系统概览1500。
图16A-图16G提供了根据一些实施方式的用于与Slack聊天机器人交互的一系列屏幕截图。
图17A-图17C提供了根据一些实施方式的用于与包括显示屏1700的语音助理设备交互的一系列屏幕截图。
图18A-图18E提供了根据一些实施方式的在电子设备处执行的方法的流程图。
图19A-图19G提供了根据一些实施方式的在电子设备处执行的方法的流程图。
图20A-图20F提供了根据一些实施方式的在电子设备处执行的方法的流程图。
现在将参考实施方式,其实施例在附图中示出。在下面的描述中,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,对于本领域普通技术人员来说,显而易见的是,本发明可以在不需要这些具体细节的情况下实施。
具体实施方式
可视化分析工具越来越多地试图让数据探索变得更加容易和智能。这些工具中的意图表达变得更加微妙,允许更抽象、更高层次的分析查询。公开文本描述了用于支持表达性视觉分析工具的开发的视觉分析意图语言(VAIL)。
VAIL是一种封装了分析意图语义的语言,开发人员可以将该语言集成到其可视化分析应用中,以将表达性较高的高级意图转换为较低级别的表示。VAIL可以作为可视化分析应用的通用抽象层。
VAIL包括描述意图、数据语义和输出的规范,这些规范与用于编辑意图、推断不详细(例如,省略的信息)或模糊(例如,模糊)的意图以及建议给定意图规范的有效输出的规则相结合。VAIL帮助开发人员在他们自己的可视化分析应用中管理和表现意图。
在公开文本中,术语“VAIL”、“VAIL引擎”和“视觉分析意图系统”可互换使用。
I.环境
如图1所示,公开文本的一些实施方式通过应用VAIL来生成数据可视化。根据公开文本的一些实施方式,VAIL可以从服务器(例如,服务器系统300)下载,并且配置为在电子设备102上执行(例如,作为视觉分析意图系统230,也称为VAIL引擎)。视觉分析意图系统230结合在电子设备102上运行的其他视觉分析应用来使用。
图1示出了VAIL可以在多个电子设备102上执行,例如,计算设备102-1、具有显示屏的移动电子设备102-2(例如,移动电话、智能手表或平板电脑),并且在语音助理设备102-3(例如,具有或不具有显示屏)上执行。在该实施例中,每个电子设备102具有不同的设备类型,并且包括相应视觉分析应用。例如,计算设备102-1包括具有数据可视化用户界面104(例如,图形用户界面)的数据可视化应用。电子设备102-2包括聊天应用106。语音助理设备102-3包括从用户接收语音输入108的语音助理应用。在一些实施方式中,VAIL还可以用于推荐系统或其他智能工具上进行可视化分析。
在示例性使用场景中,执行VAIL的电子设备102从电子设备102上的应用(例如,客户端应用224,例如,数据可视化应用、聊天应用或语音助理应用)接收(112)针对数据源110的请求。根据该请求,电子设备102为每个意图类型制定(114)(例如,使用VAIL)相应意图规范。如此处所公开的,VAIL为具有相应意图类型的相应意图规范定义了数据特性集合。VAIL还定义了编辑意图和推断模糊或模糊意图的规则。通过应用由VAIL建立的规则,电子设备102可以确定(116)意图类型是否模糊和/或不详细。例如,当请求针对该数据特性集合中的数据特性指定一个以上属性时,或者当请求包括诸如“顶级”或“最佳”等模糊修饰语时,电子设备102可以确定相应意图类型是模糊的。作为另一个实施例,当该请求没有指定该数据特性集合中的至少一个数据特性的属性时,电子设备102可以确定相应意图类型是不详细的。在一些实施方式中,根据意图类型是模糊和/或不详细的确定,VAIL根据一个或多个规则、请求中指定的数据源和/或数据字段的元数据来推断信息,以解决模糊和/或不详细的意图。
图1描绘了在一些实施方式中,电子设备102生成(118)对应于意图类型的一个或多个相应输出规范。VAIL具有描述多种可能输出的通用规范。例如,输出规范可以包括相应推荐的数据可视化类型和一个或多个相应数据可视化参数,例如,编码和数据形状参数,其指定如何呈现各自推荐的数据可视化类型的数据可视化。在相应意图类型是不详细的或模糊的情况下以及在已经推断信息的情况下,输出规范包括推断信息。在一些实施方式中,在生成了相应输出规范之后,电子设备102可以将相应输出规范转换(120)为诸如VizQL或Vega-Lite等视觉语法或者诸如文本或音频等非视觉形式。
图1还示出了响应于该请求呈现数据分析的电子设备。例如,响应于该请求,计算设备102-1在数据可视化用户界面104中显示数据可视化122(例如,条形图)。电子设备102-2响应于查询“过去一年的销售如何?”显示包括两个线形图的可视化124。在一些实施方式中,可视化124是图像文件(例如,具有诸如.jpg或者.GIF),其由数据可视化模块生成,以使其兼容,从而在聊天应用上显示。图1还示出了语音助理设备102-3响应于语音输入108输出言语(例如,音频)响应126。在一些实施方式中,言语响应126可以包括如何解释不详细和/或模糊术语的描述(例如,“顶级”被解释为具有最高的RP点)。在一些实施方式中,电子设备102还跟进附加的问题或提示,以进一步阐明用户意图。
II.框图
图2是示出根据一些实施方式的电子设备102的框图。在一些实施方式中,电子设备102也被称为计算设备。电子设备102的各种实施例包括台式计算机、膝上型计算机、平板计算机、显示助理设备、移动电话和语音助理设备。
电子设备102通常包括一个或多个处理单元(处理器或内核)202、一个或多个网络或其他通信接口204、存储器216以及用于互连这些部件的一条或多条通信总线205。在一些实施方式中,通信总线205包括互连并控制系统部件之间的通信的电路(有时称为芯片组)。
电子设备102包括用户界面206。用户界面206可选地包括显示器208。在一些实施方式中,电子设备102包括输入设备和/或机制210,例如,键盘、鼠标和/或其他输入按钮。替代地或附加地,在一些实施方式中,显示器208包括触敏表面,在这种情况下,显示器208是触敏显示器。在一些实施方式中,触敏表面配置为检测各种挥击手势(例如,垂直和/或水平方向上的连续手势)和/或其他手势(例如,单/双击)。在具有触敏显示器208的电子设备中,物理键盘是可选的(例如,当需要键盘输入时,可以显示软键盘)。用户界面206还包括音频输出设备214,例如,扬声器或连接到扬声器、耳机或头戴式耳机的音频输出连接。此外,一些电子设备使用麦克风和语音识别来补充或替代键盘。在一些实施方式中,电子设备102包括音频输入设备214(例如,麦克风),以捕捉音频(例如,来自用户的语音)。
在一些实施方式中,存储器216包括高速随机存取存储器,例如,DRAM、SRAM、DDRRAM或其他随机存取固态存储器设备。在一些实施方式中,存储器216包括非易失性存储器,例如,一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。在一些实施方式中,存储器216包括远离处理器202的一个或多个存储设备。存储器216或者存储器216内的非易失性存储设备包括非暂时性计算机可读存储介质。在一些实施方式中,存储器216或存储器206的计算机可读存储介质存储以下程序、模块和数据结构或其子集或超集:
·操作系统218,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
·通信模块220,用于通过一个或多个通信网络界面204(有线或无线)和一个或多个通信网络,例如,互联网、其他广域网、局域网、城域网等,将电子设备102连接到其他设备;
·网络浏览器222(或其他客户端应用),其使用户能够通过网络与远程计算机或设备通信;
·一个或多个客户端应用224,例如,聊天应用、消息应用、数据可视化应用、语音助理应用和/或用于视觉分析的其他应用。在一些实施方式中,客户端应用224为用户提供图形用户界面(GUI),以构建可视图形(例如,单独的数据可视化或具有多个相关数据可视化的仪表板)或输入意图类型。在一些实施方式中,客户端应用224包括自然语言用户界面,用于用户输入自然语言命令或查询。在一些实施方式中,客户端应用224包括供用户输入言语命令的语音助手界面。在一些实施方式中,客户端应用224作为独立的应用来执行。在一些实施方式中,客户端应用224在网络浏览器222内执行(例如,作为网络应用322)。在一些实施方式中,客户端应用224包括数据可视化生成器,其使用用户输入(例如,自然语言输入)或根据视觉分析意图系统230提供的输出规范236自动生成并显示相应的视觉图形(也称为“数据可视化”或“数据viz”)。在一些实施方式中,客户端应用包括窗口小部件生成器,其生成包括用户可选选项的窗口小部件。例如,响应于用户在排序字段(例如,被识别为排序字段的自然语言术语)上的选择(例如,悬停),生成“排序”窗口小部件。排序窗口小部件包括用户可选择的选项,例如,“升序”、“降序”和/或“按字母顺序”,以便用户可以容易地从窗口小部件中选择如何对所选字段进行排序。
·用于解析自然语言命令(例如,解析成标记)的解析器226。在一些实施方式中,解析器226移除停用词和词汇化,以返回记号。在一些实施方式中,解析器226根据视觉分析意图语言(VAIL)解析自然语言命令,以形成对视觉分析意图系统230的请求。在一些实施方式中,电子设备102根据解析来确定意图类型229;
·转换器228,用于将输出规范236转换成可视形式(例如,VizQL或Vega-lite)或非可视形式(例如,文本或音频);
·意图类型229,其识别用户意图的类型。在一些实施方式中,意图类型229包括以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图;
·视觉分析意图系统230(例如,VAIL引擎),其包括:
о由视觉分析意图系统230制定的一个或多个意图规范234。意图规范234捕捉关于用户表达的一种或多种不同类型的意图的信息。在一些实施方式中,意图规范234包括对应于意图规范的意图类型、唯一标识符和特性集合(例如,对应于意图类型)。在一些实施方式中,视觉分析意图系统230根据请求(例如,来自客户端应用224)来制定相应意图规范。在一些实施方式中,制定相应意图规范包括根据请求中指定的来自数据源110的预定义属性和/或数据字段来确定相应意图规范的一个或多个相应特性。在一些实施方式中,制定相应意图规范包括推断一个或多个特性(例如,通过应用由VAIL引擎定义的一个或多个规则);
о由视觉分析意图系统230生成的一个或多个输出规范236。在一些实施方式中,视觉分析意图系统230为请求中包括的每个意图类型生成一个或多个输出规范236;
о用于添加、修改或删除意图规范的编辑意图子系统238;
о推断意图子系统240,用于根据对应于相应意图类型的一个或多个规则来推断不详细或模糊的意图。在一些实施方式中,推断意图子系统240利用关于数据源(例如,对应于数据源的数据表的元数据)的元数据(例如,数据语义)246和/或请求中指定的数据字段的元数据来推断不详细和/或模糊的意图;
о输出建议子系统242,用于为指定意图建议有效输出。在一些实施方式中,VAIL定义了用于将意图类型转换成输出规范中的信息的规则;以及
о输出转换子系统244,用于将输出规范236转换成模态。视觉分析意图系统230及其使用的进一步细节在图4至17中描述;
·由应用224和/或视觉分析意图系统230使用的零个以上的数据库或数据源110(例如,第一数据源110-1)。在一些实施方式中,数据源可以存储为电子表格文件、CSV文件、XML文件、平面文件、JSON文件、关系数据库中的表格、云数据库或统计数据库;
·数据源的元数据/数据语义246(例如,对应于第一数据源的元数据/数据语义246-1),视觉分析意图系统230使用该元数据/数据语义246来推断不详细和/或模糊的意图。在一些实施方式中,数据源的元数据246包括以下元数据:数据字段的语义、对应于数据字段的数据字段类型、数据字段的统计、数据字段的派生、和/或对应于数据字段的默认统计堆栈大小。数据源的数据字段的语义或数据语义描述了用户与之交互的特定数据集。这包括字段列表、其角色和汇总统计信息。在一些实施方式中,数据语义可以从数据库中检索或由用户管理,以使得视觉分析意图系统230能够更好地推断意图。在一些实施方式中,推断意图子系统240和输出建议子系统242利用元数据246来推断模糊和/或不详细意图并建议输出;以及
·API 248,用于从一个或多个应用(例如,网络浏览器222、客户端应用224和视觉分析意图系统230)接收API调用,将API调用转化成适当的动作,并执行一个或多个动作。
上面确定的可执行模块、应用或程序组中的每个都可以存储在一个或多个前面提到的存储设备中,并且对应于用于执行上述功能的指令集。以上识别的模块或程序(即指令集)不需要被实现为单独的软件程序、过程或模块,因此这些模块的各种子集可以在各种实施方式中组合或以其他方式重新排列。在一些实施方式中,存储器216存储上述模块和数据结构的子集。在一些实施方式中,存储器216存储以上未描述的附加模块或数据结构。
尽管图2示出了电子设备102,但是图2更多地旨在作为可能存在的各种特征的功能描述,而不是作为在此描述的实施方式的结构示意图。实际上,如本领域普通技术人员所认识到的,单独示出的项目可以组合,并且一些项目可以分离。
图3是示出根据一些实施方式的实施例服务器系统300的框图。在一些实施方式中,服务器系统300是数据可视化服务器。在一些实施方式中,服务器系统300可以托管一个或多个库322、一个或多个数据库/数据源110和/或对应于数据源的元数据246。在一些实施方式中,服务器系统300可以提供各种可执行的应用或模块。服务器系统300通常包括一个或多个处理单元/核心(CPU)302、一个或多个通信网络界面304、存储器314以及用于互连这些部件的一条或多条通信总线312。在一些实施方式中,服务器系统300包括用户界面306,用户界面306包括显示设备308和一个或多个输入设备310,例如,键盘和鼠标。在一些实施方式中,通信总线312可以包括互连并控制系统部件之间的通信的电路(有时称为芯片组)
在一些实施方式中,存储器314包括高速随机存取存储器,例如,DRAM、SRAM、DDRRAM或其他随机存取固态存储设备,并且可以包括非易失性存储器,例如,一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。在一些实施方式中,存储器314包括远离CPU 302的一个或多个存储设备。存储器314或者存储器314内的非易失性存储设备包括非暂时性计算机可读存储介质。
在一些实施方式中,存储器314或存储器314的计算机可读存储介质存储以下程序、模块和数据结构或其子集:
·操作系统316,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
·网络通信模块318,用于通过一个或多个通信网络界面304(有线或无线)和一个或多个通信网络,例如,因特网、其他广域网、局域网、城域网等,将服务器系统连接到其他计算机或电子设备(例如,电子设备102);
·网络服务器320(例如,HTTP服务器),其接收来自用户的网络请求,并通过提供响应网页或其他资源进行响应;
·库322,在一些实施方式中,库322包括视觉分析意图库323,其可以被下载到电子设备102上并配置为在电子设备102处使用(例如,作为视觉分析意图系统230或VAIL);
·意图类型229;
·数据可视化网络应用324,其可以由用户的电子设备102上的网络浏览器428下载和执行。通常,数据可视化网络应用324具有与桌面数据可视化应用(例如,包括数据可视化用户界面104的数据可视化应用)相同的功能,并且如本申请通过引用结合于此的专利申请中所描述的,但是提供了通过网络连接从任何位置的任何设备进行访问的灵活性,并且不需要安装和维护。在一些实施方式中,数据可视化网络应用324包括执行特定任务的各种软件模块。在一些实施方式中,网络应用324包括用户界面模块326,其为网络应用324的所有方面提供用户界面。在一些实施方式中,网络应用324包括数据检索模块328,其构建并执行查询,以从一个或多个数据源110检索数据。数据源110可以本地存储在服务器系统300上,或者存储在外部数据库中。在一些实施方式中,来自两个或更多数据源的数据可以混合。在一些实施方式中,数据检索模块328使用视觉规范344来构建查询。在一些实施方式中,数据可视化网络应用324还包括数据可视化编译器和数据可视化虚拟机(未示出);
·自然语言处理界面330,其接收并解析由包括自然语言输入功能的计算机系统或电子设备102提供的查询。在一些实施方式中,查询包括由电子设备102的用户提供的自然语言输入(例如,经由聊天应用106)。在一些实施方式中,自然语言处理界面330可以识别分析表达式332,例如,聚合表达式、分组表达式、过滤表达式、限制表达式和/或排序表达式。
·自然语言处理界面162还包括依赖性确定模块134,其查找数据库/数据源110内的依赖性,以确定特定术语和/或短语如何相关(例如,依赖);
·在一些实施方式中,自然语言处理界面162包括过滤器生成模块532,其确定一个或多个过滤器是否与已经被用户修改的字段相关。过滤器生成模块532基于用户选择生成一个或多个过滤器;
·数据可视化平台338,包括:
о数据可视化生成模块340,其使用用户输入(例如,自然语言输入)自动生成并显示相应的可视图形(也称为“数据可视化”或“数据viz”);
о可视表示生成模块342(可选),其生成数据可视化的表示并将所生成的表示发送给电子设备102。在一些实施方式中,数据可视化的表示是数据可视化的图像文件(例如,图像文件是.png、.GIFf或者.jpg文件)。在一些实施方式中,数据可视化的表示包括到图像的链接。在一些实施方式中,数据可视化的表示是到数据可视化的链接(例如,URL链接);
о可视化规范346,用于定义所需数据可视化的特征。在一些实施方式中,电子设备102提供的信息(例如,经由用户输入)被存储为视觉规范。在一些实施方式中,视觉规范346包括从用户接收的先前的自然语言命令或由用户通过自然语言命令指定的特性。在一些情况下,视觉规范346包括基于不同细节级别的两个或更多个聚集;
·零个以上的数据库或数据源110。在一些实施方式中,数据源被存储为电子表格文件、CSV文件、XML文件、平面文件或JSON文件,或者存储在关系数据库中。例如,用户选择一个或多个数据库或数据源110(其可以存储在服务器系统300上或远程存储),从数据源中选择数据字段,并使用所选择的字段来定义可视图形;
·数据源的元数据/数据语义246(例如,对应于第一数据源的元数据/数据语义246-1),其被服务器系统300用来推断不详细和/或模糊的意图。在一些实施方式中,数据源的元数据246包括以下元数据:数据字段的语义、对应于数据字段的数据字段类型、数据字段的统计、数据字段的派生、和/或对应于数据字段的默认统计堆栈大小;以及
·API 348,用于接收API调用,将API调用转化成适当的动作,并执行一个或多个动作。
在一些实施方式中,服务器系统300还包括推断模块(未示出),该推断模块用于使用一个或多个推断规则来解析针对数据库或数据源110的不详细(例如,省略的信息)或模糊(例如,模糊)的自然语言命令(例如,表达或话语)。在一些实施方式中,根据视觉分析意图语言(VAIL)来定义一个或多个推断规则。
在一些实施方式中,规范表示被分配给分析表达式332(例如,由自然语言处理模块330),以解决自然语言查询固有的模糊句法分析激增的问题。从解析器的角度来看,规范结构是明确的,并且自然语言处理模块330能够在多个语法解析之间快速选择,以形成中间表达式。
以上识别的可执行模块、应用或程序组中的每个可以存储在一个或多个前述存储设备中,并且对应于用于执行上述功能的指令集。以上识别的模块或程序(即指令集)不需要被实现为单独的软件程序、过程或模块,因此这些模块的各种子集可以在各种实施方式中组合或以其他方式重新排列。在一些实施方式中,存储器314存储上述模块和数据结构的子集。在一些实施方式中,存储器314存储以上未描述的附加模块或数据结构。
尽管图3示出了服务器系统300,但是图3更多地旨在作为可能存在的各种特征的功能描述,而不是作为在此描述的实现的结构示意图。实际上,如本领域普通技术人员所认识到的,单独示出的项目可以组合,并且一些项目可以分离。此外,以上关于服务器300示出的一些程序、功能、过程或数据可以存储在计算设备102上或在其上执行。在一些实施方式中,功能和/或数据可以在计算设备200和一个或多个服务器300之间分配。此外,本领域技术人员认识到,图3不需要表示单个物理设备。在一些实施方式中,服务器功能在组成服务器系统的多个物理设备之间分配。如此处所使用的,对“服务器”或“数据可视化服务器”的引用包括提供所描述的功能的各种服务器组、集合或数组,并且物理服务器不需要在物理上并置(例如,各个物理设备可以遍布美国或全世界)。
III.视觉分析意图系统
图4示出了根据一些实施方式的视觉分析意图系统230(例如,VAIL引擎)以及到客户端应用的连接。
在图4中,进入视觉分析意图系统230的箭头(例如,箭头402、404和406)表示来自客户端应用224的命令(例如,请求或指令),而离开视觉分析意图系统230的箭头(例如,箭头408、410和412)表示规范(例如,由视觉意图分析系统230生成,客户端应用使用该规范来向用户呈现响应)。
在一些实施方式中,客户端应用224包括用户界面(例如,用户界面206)。在通常的交互循环中,用户界面206接受来自用户的输入。根据用户输入,客户端应用224向视觉分析意图系统230发出描述用户意图的请求(例如,命令)。该请求包括一个或多个意图类型的识别。根据该请求,视觉分析意图系统230制定(例如,创建、更新或删除)一个或多个意图规范234。在一些实施方式中,用户意图可能不详细和/或模糊。视觉分析意图系统230遗漏了不详细的意图的细节(例如,对应于特性的属性),并解决了意图模糊或含糊的任何歧义。
在一些实施方式中,在推断出意图之后,用户界面要求视觉分析意图系统230建议输出。视觉分析意图系统230然后生成一个或多个输出规范236,该输出规范236可以被转换(例如,经由输出转换子系统244)成与客户端应用224(以及电子设备102)的显示形态兼容的各种类型的输出。图4示出了输出规范236可以被转换成客户端应用224可以向用户显示的各种类型的输出,例如,可视化411、文本413、音频或图像。在一些情况下,基于推断的意图和输出响应,用户可以决定修改其意图,在他们迭代分析其数据时重复该循环。
在一些实施方式中,客户端应用224和视觉分析意图系统230是包括若干子系统的单个应用的一部分,并且交互表示子系统内的交互。
如图4所示,视觉分析意图系统230包括意图规范234、输出规范236、对应于一个或多个数据源110的数据语义/元数据246以及用于编辑意图(例如,编辑意图子系统238)、建议输出(例如,输出建议子系统242)和转换输出(例如,输出转换子系统244)的子系统。下面将分别讨论这些部件。
A.字段
视觉分析意图系统230的许多部分引用来自数据源110(或对应于数据源100的数据表)的数据字段。
图5示出了根据一些实施方式的定义数据字段(例如,字段)的巴克斯-诺尔形式(BNF)产生。字段引用描述显式的字段-实例,或者描述对引用多个可能的字段实例的变量的引用(例如,变量-名称,[索引])。
在一些实施方式中,字段-实例包括名称(例如,字段名称)、可选的派生(例如,诸如总和或最小值等聚集类型,或者诸如年或小时等时间派生)以及在分箱值时使用的可选的统计堆栈-计数。
变量字段(例如,字段-变量)将变量字段名称(例如,变量-名称)与字段实例列表(例如,{字段})相关联,从而允许从各种规范中引用该列表。字段-变量通过名称引用。当多于一个意图或输出特性引用字段变量,但每个引用都应指向变量列表中的不同字段实例时,将使用可选的索引值。
B.意图规范234
图6示出了根据一些实施方式的定义意图规范的BNF产生。
用户的意图由vail-意图描述,其捕获关于用户表达的一种或多种不同类型的意图的信息。在一些实施方式中,意图类型由客户端应用224提供(例如,使用编辑规则)。如图6所示,vail-意图被定义为以下元组:
·vail-意图:=(意图,字段-变量)
如果视觉分析意图系统230的推断规则创建了任何意图规范和字段变量,则vai1-意图包含意图规范和字段-变量的列表。图6示出了由以下元组定义的单个意图:
·意图:=(id,推断,特定-意图)
单个意图(例如,相应意图规范234)包括唯一的id、已被推断的特性列表以及特定-意图。图6示出了特定-意图可以包括聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图或字段意图。在一些实施方式中,特定-意图也被称为意图类型(例如,意图类型229)。
在一些实施方式中,相应意图规范234具有对应的特性集合,该特性集合基于相应意图规范所对应的意图类型。这如图6所示。例如,关联意图包括第一字段特性(例如,[字段1])和第二字段特性(例如,[字段2])。分布意图包括分组字段特性(例如,[统计堆栈-字段)和统计堆栈大小特性(例如,[统计堆栈-计数])。字段意图包括字段特性(例如,(字段))。
在一些实施方式中,意图类型包括聚焦意图。聚焦意图可以包括字段特性(例如,[字段])、数据值特性(例如,[值])、排序字段特性(例如,用于执行排序操作的数据字段)(例如,[排序-字段])、形容词(例如,[形容词])、数量(例如,[数量])和聚焦策略特性(例如,[策略])。
在一些实施方式中,意图类型包括趋势意图。趋势意图可以包括度量数据字段特性(例如,([度量-字段])和时间字段特性(或日期/时间字段特性)(例如,[时间-字段])。
在一些实施方式中,视觉分析意图系统230接收包括意图类型的请求,其中,在请求中没有指定所有特性。视觉分析意图系统230具有用于填充不详细或缺失的特性的规则,如下所述。
C.元数据/数据语义246
在一些实施方式中,视觉分析意图系统230应用利用关于数据源(例如,对应于数据源(例如,数据源110)的数据表)的元数据(例如,数据语义)246的规则,来推断模糊和/或不详细意图的信息。数据源的元数据246可以包括以下元数据:数据字段的语义、对应于数据字段的数据字段类型、数据字段的统计、数据字段的派生、和/或对应于数据字段的默认统计堆栈大小。在一些实施方式中,元数据246由客户端应用224提供。
在一些实施方式中,使用数据-语义来描述数据源的元数据。图7示出了根据一些实施方式来定义数据-语义的BNF产生。
图7示出了数据-语义包含一个字段名列表,其中,包含与字段相关的信息(例如{(名称,字段-信息)})。字段-信息包括字段-类型,它封装了关于字段的重要语义、默认派生、默认合并大小(例如,[统计堆栈-计数])和字段的统计信息(例如,[统计])。字段-类型包括:分类字段类型、时间字段类型、地理字段类型、货币字段类型、数量相关字段类型、数量无关字段类型、纬度字段类型和/或经度字段类型。在一些实施方式中,如果在请求中没有指定,则视觉分析意图系统230使用默认的派生和/或统计堆栈大小特性。字段的统计(例如,[统计])包括数据类型和数据字段的对应域(例如(数据-类型,域))。在一些实施方式中,数据-类型包括文本或数字。
在一些实施方式中,元数据238被存储在电子设备102上,并且所有的VAIL引擎过程都在电子设备102上本地执行,从而避免了向服务器系统传输信息和/或在服务器系统上运行查询的需要,从而使得数据分析在大型数据集上执行。在一些实施方式中,元数据246存储在服务器系统300上)并且由视觉分析意图系统230根据请求即时检索。
D.输出规范236
VAIL具有个描述多种可能输出的通用规范。输出规范236描述了数据应该如何呈现给用户,并且不局限于特定的输出模态。在一些实施方式中,视觉分析意图系统230生成对应于每个意图类型的一个或多个相应输出规范236。如下所述,输出规范236是通过建议-输出规则从vai1-意图生成的。输出规范236可以被转换成视觉语法,例如,VizQL或Vega-lite,或者转换成非视觉形式,例如,文本、言语或音频。
根据一些实施方式,输出规范236(例如,vail-输出)被定义为以下元组:
vail-输出:=(输出-排序,输出-按照-id,字段-变量)
输出-排序包含输出规范列表,最推荐的输出列在最前面,而输出-按照-id提供了从意图id到从相应意图生成的不同输出规范的查找。字段-变量包含输出规范引用的任何字段变量。
图8示出了根据一些实施方式的定义单个输出规范(例如,输出)的BNF产生。
在一些实施方式中,如图8所示,单个输出规范包括权重、意图-id、编码和数据-形状。
在一些实施方式中,输出规范(例如,输出)包含从0到100的权重,其中,更强烈地推荐更高的数字,该意图-id包含用于生成输出的所有意图的id。编码包含viz类型和一组不同的编码特性。该编码可以列出零个以上的字段,并且不包括标记颜色、大小或形状的明确细节,因为它将这些决定留给输出实施方式。在一些实施方式中,编码类型只是建议,可能不相关。例如,生成文本的输出实施方式可能选择简单地使用编码来告知如何形成数据,而不是如何对数据进行编码。
在一些实施方式中,编码字段的整个列表用于确定要用于输出的数据的聚集和细节级别。例如,考虑一个包含数据字段点、价格、名称和品种的数据表,其中,每一行描述一种不同的葡萄酒。如果编码只包含平均价格和品种,我们应该只包含价格和品种字段,每个品种一行包含一个合计平均价格。
数据-形状描述如何在使用前进一步修改源数据。如图8进一步所示,数据-形状包括聚焦和排序。该聚焦描述了聚焦数据的哪一部分。
在一些实施方式中,聚焦包括关于如何聚焦的推荐策略,例如,过滤或突出,输出形容词具有几个具有特殊语义的值,这些值允许视觉分析意图系统230指定模糊的范围而不必查询数据。“顶级”和“低级”指示输出实施方式应该仅仅聚焦于单个值,而“高”和“低”指示视觉分析意图系统230应该聚焦于最高或最低值的范围。排序整形特性描述使用哪些字段对数据进行排序。
E.输出转换244
在一些实施方式中,视觉分析意图系统230包括输出转换子系统244,用于将输出规范236转换成诸如VizQL或Vega-lite等视觉语法或者诸如文本、音频或言语输出等非视觉形式。
F.编辑意图子系统238
VAIL定义了用于编辑vai1-意图、推断模糊或缺失的意图以及基于意图建议vail-输出的规则。这些规则利用包含在数据-语义(例如,元数据246)中的信息,数据语义描述了数据源110(或数据源的数据表)中的数据字段的语义。
在一些实施方式中,视觉分析意图系统230包括编辑意图子系统238,其应用由VAIL定义的一个或多个规则来编辑意图规范。
图9示出了根据一些实施方式的用于编辑意图规范(例如,设置-意图)的BNF产生规则。
如前所述,vai1-意图可以包含多个意图规范。可以使用设置-意图规则添加或更改特定的意图,或者使用移除-意图规则来移除。在一些实施方式中,这些规则使用id来识别特定意图。使用替换-字段可以将vai1-意图中出现的所有字段实例换成另一个字段实例,从而允许用户重复其意图。
G.推断意图子系统240
在一些实施方式中,视觉分析意图系统230包括推断意图子系统240,该子系统应用由VAIL定义的一个或多个规则来推断模糊或不详细的(例如,缺失的)意图。
在一些实施方式中,存在对应于相应意图类型的相应意图规范的数据特性集合。当请求针对该数据特性集合中的数据特性指定一个以上属性时,视觉分析意图系统230可以将相应意图类型确定为模糊的。当请求指定了可度量形容词(例如,“顶”)但没有指定数量时,相应意图类型也可以是模糊的。在一些实施方式中,当请求没有针对该数据特性集合中的至少一个数据特性指定属性时,视觉分析意图系统230可以确定相应意图类型是不详细的。在一些实施方式中,当请求针对该数据特性集合中的每个数据特性指定恰好一个属性时,视觉分析意图系统230确定完全指定意图类型。
许多意图类型都有如何推断缺失或模糊的意图特性的规则。规则检查数据-语义以做出明智的决策。在一些实施方式中,如果视觉分析意图系统230为未指定的特性找到恰好一个可能的字段,则直接填充。在一些实施方式中,如果视觉分析意图系统230为未指定的特性找到多个可能的字段,则创建字段-变量来包含来自意图特性的列表和引用。
图10示出了根据一些实施方式的用于推断信息以解决不详细聚焦意图的BNF产生规则。
该聚焦意图涉及将一个人的分析指向数据值的子集。如先前在图6中所解释的,聚焦意图类型的输入规范可以包括字段特性(例如,[字段])、数据值特性(例如,[值])、用于执行排序操作的数据字段(例如,[按照-字段排序])、形容词(例如,[形容词])、数量特性(例如,[数量])以及聚焦策略特性(例如,[策略])。
该策略特性与将用户的注意力引向数据值子集的方法有关。图10示出了在一些实施方式中,根据请求未指定策略特性的确定(例如,请求不包含术语“过滤”、“突出”或“缩放”),视觉分析意图系统230可以选择(例如,推断)突出,作为默认策略特性,因为研究表明在上下文中显示数据通常是重要的。在一些实施方式中,根据“突出”策略,视觉分析意图系统230生成包括一个或多个推荐操作的输出规范,以突出由输出规范中的数据形状.聚焦描述的值。例如,推荐的操作可以包括根据数据表格中数据字段的数据值以升序或降序排列来自数据源的数据表格的数据行的排序操作以及基于数据值的排序突出数据值的指定数字的突出操作。
在一些实施方式中,根据聚焦意图没有指定策略特性的确定,视觉分析意图系统230可以选择“缩放”作为策略特性。在一些实施方式中,根据“缩放”策略,视觉分析意图系统230生成输出规范,其包括推荐操作,以放大由输出规范中的数据形状.聚焦描述的值。
在一些实施方式中,根据聚焦意图没有指定策略特性的确定,视觉分析意图系统230可以选择“过滤”作为策略特性。在一些实施方式中,根据“过滤”策略,视觉分析意图系统230生成包括推荐的过滤操作的输出规范,以将数据源的数据行过滤成特定数据字段具有特定数据值的数据行的子集。
再次参考图10,在一些实施方式中,根据在请求中未指定字段特性(例如,字段)的确定,视觉分析意图系统230可以从数据源中选择具有文本数据类型并且具有大于或等于请求中指定的数量的域的数据字段。在一些实施方式中,根据字段特性(例如,字段)是未指定的确定,视觉分析意图系统230可以选择其域包括在请求中指定的数据值的数据字段。在一些实施方式中,当未指定按排序时,如果请求包括指代价格的形容词(例如,“便宜”或“昂贵”),则视觉分析意图系统230可以使用数据源中具有货币数据类型(例如,CCurrency)的所有数据字段。在一些实施方式中,根据数据源不包括具有货币字段类型的数据字段的确定,视觉分析意图系统230将通过选择所有数字数据字段来推断按排序字段。
图11示出了根据一些实施方式的用于推断信息以解决不详细的关联意图的BNF产生规则。
该关联意图描述了用户理解数据字段之间的关联的愿望。对应于关联意图的示例性请求可以是“显示马力和MPG之间的关联”,其中,两个数据字段是“马力”和“MPG”。如图6所示,该关联意图包括第一字段特性(例如,[字段1])和第二字段特性(例如,[字段2])。在一些实施方式中,该关联意图是不详细的,至少两个字段特性中的一个未在请求中被指定。
在一些实施方式中,根据关联意图是不详细的确定,视觉分析意图系统230识别数据源110中所有数字字段的列表。在此处,图11中的变量“列表”是一个数组。也就是说,视觉分析意图系统230创建作为所有数字数据字段的列表的数组。然后,在意图规范内,如果第一数据字段未指定(即,“if!i.字段1”),则视觉分析意图系统230用来自列表的元素0(即,字段列表中的第一字段)填充该字段。如果尚未指定第二字段,则视觉分析意图系统230用来自列表的元素1填充该字段(第二数字数据字段)。如果两个字段特性都没有指定,则视觉分析意图系统230设置字段1和字段2特性中的索引,以指示它们应该引用相同的字段变量,但引用列表中的不同字段。
图12示出了根据一些实施方式的用于推断信息以解决不详细的分布意图的BNF产生规则。分布意图描述了用户查看数据字段值散布的愿望。对应于分布意图的实施例请求是“显示葡萄酒价格的分布”。如图6所示,在一些实施方式中,分布意图包括分组字段特性(例如,[统计堆栈-字段])和统计堆栈大小特性(例如,[统计堆栈-计数])。
在一些实施方式中,根据请求没有指定分组字段特性的确定,视觉分析意图系统230搜索所有定量字段(例如,Qi、Qd或CCurrency)。在一些实施方式中,根据请求指定了统计堆栈大小的确定,视觉分析意图系统230用请求中指定的统计堆栈大小来覆盖(例如,替换)数据-语义中指定的统计堆栈大小信息(例如,[统计堆栈-计数])。
图13示出了根据一些实施方式的用于推断信息以解决不详细趋势意图的BNF产生规则。
该趋势意图用于描述用户查看一段时间内字段值的愿望。包括趋势意图的实施例请求包括诸如“显示COVID病例的趋势”的陈述或诸如“过去五年旧金山一居室公寓的价格是多少?”的问题。
如图6所示,根据一些实施方式,该趋势意图包括度量数据字段特性(例如([度量-字段])和时间字段特性(或日期/时间字段特性)(例如,[时间-字段])。在一些实施方式中,根据请求不包括度量字段的确定,视觉分析意图系统230找到数据源中的所有数量相关字段(例如,Qd),创建包含所有数量相关字段的字段-变量,并从度量-字段特性引用。在一些实施方式中,根据请求未指定时间字段特性的确定,视觉分析意图系统230识别数据源中的所有时间字段,创建包含所有时间-字段的字段-变量,并从时间字段特性引用。
在一些实施方式中,意图类型包括地理意图。包括地理意图的示例性请求是“我的销售在哪里?”。在一些实施方式中,除了用于地理意图的推断规则涉及查找CGeo、QLat和QLon类型的字段之外,用于不详细地理意图的推断规则类似于如上所述的用于不详细趋势意图的推断规则。
在一些实施方式中,意图类型包括编码意图。该编码意图表示修改输出的愿望或先前的意图。包含编码意图的实施例请求是“按照X着色”(其中,X是字段)。在一些实施方式中,VAIL没有针对编码意图定义引用规则。
在一些实施方式中,该请求包括编码意图并指定第一数据字段。根据该请求,视觉分析意图系统230通过根据第一数据字段添加指定呈现数据可视化的编码参数来生成相应输出规范。在一些实施方式中,视觉分析意图系统230根据第一数据字段生成覆盖数据可视化的现有编码参数的相应输出规范。
在一些实施方式中,意图类型包括字段意图。该字段意图表示对没有明确定义的分析意图的字段的兴趣。包括字段意图的实施例请求是“显示销售和利润”。在一些实施方式中,VAIL没有针对字段意图定义引用规则。
在一些实施方式中,该请求包括字段意图并指定第一数据字段。根据该请求,视觉分析意图系统230通过基于由第一数据字段施加的语义约束应用一个或多个引用规则来生成相应输出规范。
H.输出建议子系统242
在一些实施方式中,视觉分析意图系统230包括输出建议子系统242,其应用一个或多个规则来基于意图建议vail-输出。
为了建议用户指定意图的有效输出,VAIL定义了将每个意图类型转换为输出规范中的信息的规则。在一些实施方式中,视觉分析意图系统230根据关联、分布、趋势、地理和字段意图创建新的输出规范。
在一些实施方式中,关联意图用于生成散点图:
·viz类型:“散点图”,x:i.字段1,y:i.字段2
在一些实施方式中,分布意图用于生成直方图。
在一些实施方式中,趋势意图创建折线图。
在一些实施方式中,编码和聚焦意图修改由先前意图生成的输出规范。如果没有对应于这些意图类型的输出规范,则可以从这些意图中提取字段,并将其提供给字段意图的建议-输出规则,邀请用户进一步细化。
该编码意图类型用于修改其他输出规范的编码,添加或覆盖现有编码。该聚焦意图类型用于修改其他输出规范的数据-形状。使用字段、形容词、值和数量来创建输出.数据-形状.聚焦规范(例如,“显示前10个COVID病例[计数]”)。使用字段、排序和调整来创建输出.数据-形状.排序规范。
字段意图的输出规则依赖于意图字段的数据语义,因为对用户的目标知之甚少。这可以利用像Show Me或Voyager这样的系统,该系统被设计成使用字段语义来生成有效的可视化。
I.可扩展性和定制
在一些实施方式中,视觉分析意图系统230也可以根据用户的需求来定制。例如,开发人员可以添加他们自己的定制意图,以适应特定领域的概念,例如,“最佳邻居”或特定于业务上下文的技术术语。这需要提供用于推断缺失或模糊特性的规则以及用于生成相应输出规范的规则。意图特性可通过对意图类型(例如,特定意图)的理解来推断,例如,知道应该使用的字段类型并识别关于数据源的信息以找到合适的匹配(例如,找到表示时间的所有字段)。
在一些实施方式中,对应于特定意图类型的意图规范可以扩展,以添加新的特性。例如,在聚焦意图中,由于有许多描述高或低数值的替代方法,形容词特性中的属性可以扩展为包括新的形容词。附加地或可替换地,对应于聚焦意图的推断-意图规则可被调整,以包括新的选项。例如,在一些实施方式中,为了允许聚焦意图指示放大数据,开发人员可以添加名为放大的新策略,然后将自定义逻辑添加到其输出规范处理程序,以放大由输出规范236中的数据形状.聚焦描述的值。
在一些实施方式中,视觉分析意图系统230可以通过向vail-输出添加新的可能性来扩展,以利用来自建议-输出规则。例如,如果开发人员想要创建推断-意图规则,该规则创建树形图可视化,则开发人员可以向输出规范添加新的viz-类型,并利用现有的编码特性来描述应该如何构造可视化。
根据这些原则,我们知道转向一些实施方式。
IV.实施方式
在一些实施方式中,视觉分析意图系统230(例如,VAIL引擎)以TypeScript编写并编译成JavaScript。
在一些实施方式中,视觉分析意图系统230包括使用React部件构建的图形用户界面(GUI),该部件可用于输入和修改其内置意图规范。
在一些实施方式中,客户端应用224可以通过输入命令和输出规范与视觉分析意图系统230交互,以及提供其自己的数据源。输入是通过VAIL命令告诉引擎设置意图,推断缺失和模糊的意图,并建议输出。客户端应用224可以选择向用户显示视觉分析意图系统230发回的推断的意图,可选地为分析师提供提炼意图的方式。
在一些实施方式中,输出规范可以用特定于客户端的方式来解释。视觉分析意图系统230还包括内置的Vega-lite转换器,其可用于代替(或附加于)客户特定的解释。数据源可以被手动策划,以提高视觉分析意图系统230正确推断意图并建议有效输出的能力。每个字段可以指定类型(例如,货币或时间)、可选的首选派生(例如,平均值或总和)以及一个可选的统计堆栈大小。
在一些实施方式中,作为性能考虑,视觉分析意图系统230仅查看关于字段的元数据246,而不运行实时查询。
A.基于GUI的应用
图14A-图14J提供了根据一些实施方式的用于与使用VAIL的基于图形用户界面的应用224交互的一系列屏幕截图。
图14A示出了显示在电子设备102上的应用224的图形用户界面1400。图形用户界面1400包括图形控制元素1402(例如,“选择数据”启示),当被用户选择时,该图形控制元素使得数据集1404的列表(例如,对应于相应数据源110的数据集)被显示为下拉菜单1406。图形用户界面1400还包括图形控制元素1408(例如,“添加意图”启示),当被用户选择时,该图形控制元素识别一个或多个相应意图类型(例如,图2中的意图类型229和图6中的特定-意图)。在图6的实施例中,启示1408包括聚焦意图启示1408-1、关联意图启示1408-2、趋势意图启示1408-3和分布意图启示1408-4。
在一些实施方式中,如图14A所示,图形用户界面1400包括意图规范区域1412,用于显示由VAIL根据用户交互制定的一个或多个意图规范。图形用户界面1400包括输出规范区域1414,用于显示由VAIL生成的一个或多个输出规范。图形用户界面1400还包括用于显示一个或多个命令(例如,来自客户端应用224)的命令区域1416。图形用户界面1400还包括用于显示由用户指定的数据(例如,特性)的数据区域1418。
图14A示出了用户与图形用户界面1400的交互。在该实施例中,用户选择(1410)对应于“葡萄酒”的数据集1404-3。用户还选择聚焦意图启示1408-1。
图14B示出了响应于用户对“葡萄酒”数据集的选择,图形用户界面1400显示图形控制元素1420(例如,“选择字段”启示)。每个元素1420对应于“葡萄酒”数据源中的相应数据字段。
图14B还示出了响应于用户对“聚焦”意图的选择,图形用户界面1400显示对应于聚焦意图的特性集合1422。在该实施例中,特性1422包括“字段”特性、“值”特性、“排序依据”特性、“形容词”特性、“数量”特性和聚焦策略特性。意图指定区域1412显示(1424)所选择的意图类型。
图14C示出了响应于用户选择图14B中“形容词”特性1422-1旁边的下拉按钮1426,图形用户界面1400显示包括形容词列表(例如,可度量形容词)的下拉菜单1428。用户从列表中选择(1430)第一形容词(例如,“昂贵的”)。
图14D示出了图形用户界面1400响应于形容词“昂贵”的用户选择(例如,用户指定)显示数据可视化1432(例如,条形图)。条形图中的每个条形对应一个葡萄酒品种。数据条以降序排序(例如,排列),并且顶级三行以视觉上不同于条形图中其他行的方式显示。在该实施例中,视觉分析意图系统230根据用户对形容词“昂贵”的选择来推断货币属性“价格”。然后,产生输出规范,用于生成一个条形图,突出价格值的最高范围。图14还示出了数据字段“品种”是“字段”特性1422-2的推断字段,并且策略“突出”已经被推断为策略特性。
图14E和14F示出了用户与图形用户界面1400的交互。在图14E中,用户为“值”特性1422-5输入(例如,指定)第一值1434(例如,“55”)。响应于用户输入,图形用户界面1400显示更新的数据可视化1436(例如,条形图),其中,数据条对应于价格至少为$55的葡萄酒品种。图14F示出了用户指定第二值1438(例如,“55,65,75”)。在本实施例中,VAIL将输入“55,65,75”解释为用户意图,以基于特定值“55”,“65”和“75”来过滤视图。视觉分析意图系统230可以将这一新的意图应用于现有上下文,过滤到特定值“55”、“65”和“75”。然后,生成一个输出规范,其中,包含过滤操作,该操作将数据行过滤为价格值为“55”、“65”和“75”的数据行的子集。图形用户界面1400显示反映输出规范的更新的数据可视化1440。
图14G示出了“泰坦尼克”数据源1404-5的用户选择和“分布”意图类型1408-4的用户选择。图14H示出了响应于用户选择,视觉分析意图系统230自动推断数据源1404-5中的数据字段“年龄”,作为统计堆栈字段1444(例如,分组字段特性或[统计堆栈-字段]),并显示直方图1442。在一些实施方式中,视觉分析意图系统230还挑选为数据集定制的统计堆栈大小1446(例如,统计堆栈间隔或[统计堆栈-计数])。
图14I示出了用户对“Covid”数据源1404-4的选择,对应于加利福尼亚州的新冠肺炎病例。图14I还示出了用户对“趋势”意图类型1408-3的选择。
图14J示出了响应于用户选择,图形用户界面1400显示时间序列1446,时间序列示出了一段时间内新Covid死亡的计数(例如,按日期)。如图6所示,趋势意图包括度量数据字段特性和时间字段特性。本文,视觉分析意图系统230推断度量字段“死亡的新计数”作为度量数据字段特性,并推断字段“日期”作为时间字段特性。
B.Slackbot应用
根据公开文本的一些实施方式,VAIL可以支持Slack应用(例如,客户端应用224或聊天应用)中的自然语言意图。
图15示出了根据一些实施方式的使用VAIL的Slackbot应用的系统概览1500。
Slack应用包含Slack聊天机器人,其采用node.js客户机-服务器架构。在一些实施方式中,如图15所示,Slack聊天机器人包括以下部件:
·Slack客户端1502。在一些实施方式中,Slack客户端1502监听Slack界面中的用户交互事件和来自Slack服务器的消息事件。在一些实施方式中,如图16所示,Slack客户端1502包括用户界面,该用户界面还显示用于消除歧义的本地交互式窗口小部件。
·备用服务器1504。在一些实施方式中,Slack服务器1504是在Slack客户端1502和Slack应用的其他部件之间架设桥梁的主要应用专用服务器。Slack服务器1504将输入客户端事件(例如,Slack消息)转化成适当的API请求,并且类似地将API响应转化成正确格式的响应,以发送给客户端。
·解析器1506(例如,图2中的解析器226)。在一些实施方式中,解析器1506基于上下文无关语法(例如,如在Eviza中实现的)将自然语言输入查询解析成令牌。这些令牌被解析为数据属性和值(带有来自数据源的信息)或意图词汇,例如,“趋势”或“最佳”。
·VAIL引擎1508(例如,视觉分析意图系统230)。VAIL 1508处理意图处理,并推断不详细或模糊的信息。服务器将经解析的令牌传递给VAIL,VAIL又生成一个或多个意图规范以及一个或多个输出规范,如参考图1、2和4-13所讨论的。
·VizQL模块1510。VizQL模块1510使用Tableau的VizQL命令基于诸如图表类型、意图策略、数据属性和值等信息生成数据可视化结果的图像。在一些实施方式中,VizQL模块1510将数据可视化转换成兼容的格式(例如,jpg、tif、png、gif、bmp、pdf格式等),用于在Slack客户端1502上显示。
·自然语言生成(NLG)模块1512。NLG模块1512使用具有预定义文本和占位符的NLG简单语言模板来插入来自输出规范的信息。来自解析器1506的语法规则进一步用于帮助语言实现,
图16A-图16G提供了根据一些实施方式的用于与Slack聊天机器人(例如,Slack机器人)交互的一系列屏幕截图。在该实施例中,Slack聊天机器人使用VAIL来回答关于“葡萄酒”数据集(例如,数据源110)的问题。
图16A示出了在电子设备102上显示的Slack应用的示例性图形用户界面1600。
在一些实施方式中,根据“葡萄酒”数据源的用户识别(例如,用户指定或用户选择),Slack应用生成并在图形用户界面1600上显示消息1602,以邀请用户询问关于数据源的问题。在一些实施方式中,Slack应用还显示表示1604(例如,图像文件,例如,.png、.GIFf、.bmp或者.jpg文件),显示数据源中数据字段的属性。在图16A的实施例中,用户第一次与Slack应用交互,因此用户对“葡萄酒”数据源的选择启动了新的对话线程1606。
图16B示出了根据一些实施方式的用户与图形用户界面1600的交互。在该实施例中,用户通过将消息编写(例如,键入)到输入框1607中来与用户界面1600交互。在一些实施方式中,用户还可以通过对着电子设备102(例如,音频输入设备212)的麦克风说话来提供自然语言命令,从而间接地与输入框1607交互。在图16B的实施例中,用户输入自然语言命令(例如,自然语言表达)“给我看看昂贵的品种”。在此处,“昂贵的品种”包含模糊意图,因为用户提到了“昂贵的”,但是没有定义他们对多少种昂贵的品种感兴趣。
在一些实施方式中,根据用户输入,带有命令(例如,查询)的Slack事件被传递到Slack服务器1504。Slack服务器1504将该事件识别为查询类型的事件,并将该查询传递给解析器1506进行标记化。在一些实施方式中,响应于接收到查询,解析器1506移除停用词和词条化(例如,“显示”和“我”),以将令牌[‘昂贵的’,‘品种’]返回给Slack服务器1504。Slack服务器1504然后将标记化的解析器输出传递给VAIL引擎1508(例如,视觉分析意图系统230)。在该实施例中,VAIL引擎1508推断,“昂贵”将解析为按货币属性价格排序的品种,策略指示突出前三个项目。VAIL引擎1508然后生成图16C所示的意图规范1608。VAIL引擎1508还生成输出规范1610,如图16D所示。在一些实施方式中,在生成输出规范之后,VAIL引擎1508将输出规范传递给VizQL模块1510和NLG模块1512,其生成可视化和文本响应。
图16E示出了响应于用户输入的用户界面1600的更新视图。在该实施例中,对话线程1606已经被更新为包括可视化的表示1610(例如,具有以降序排列的数据条的条形图)和文本响应1612(例如,“前3个品种是品丽珠梅洛、小维多和波尔多风格红葡萄混酿”。“昂贵”被解释为平均价格达到或超过109美元”)。
在一些实施方式中,Slack应用基于输出规范应用相关模板。在图16的实施例中,相关的模板是:“[N][修饰语][维度]是[数据-值]。[修饰语]解释为[过滤-值],“对应于文本响应“3(“[N]”)昂贵(“[修饰语]”)品种(“[维度]”)是品丽珠梅洛(“[数据-值1]”、小维多(“[数据-值2]”)和波尔多风格红葡萄混酿(“[数据-值3]”)。“昂贵”(“[修饰语]”)被解释为109美元及以上的平均价格(“[过滤-值]”)。
如图16B中所描述的,短语“昂贵的品种”包含了模糊的意图,因为用户提到了“昂贵的”,但是没有定义他们对多少种昂贵的品种感兴趣。在该实施例中,VAIL引擎1508基于数据值的排名(例如,以降序)推断数量“3”作为要突出的数据值的数字。图16E中的表示1610示出了条形图的前三个数据行1614以与条形图的其他数据行1616在视觉上不同的方式显示(例如,突出前三个数据行1614,而不突出其他数据行)。在一些实施方式中,推断信息(例如,“前N名”)被显示为数据小部件1618,用户可以与之交互,以提炼和更新响应。
作为一个实施例,假设用户选择图16E中的数据窗口小部件1618来将过滤器从“前3”改变为“前5”。在一些实施方式中,响应于(2042)用户选择,VAIL通过将[数量]特性从推断值“3”改变为用户指定的值“5”,来编辑相应意图规范。VAIL根据相应编辑的意图规范更新相应输出规范。客户端应用224根据相应输出规范生成(2048)并可视地呈现更新的数据分析。例如,用户界面1600可以显示条形图的更新图像,其中,突出前5个数据条。
图16F示出了根据一些实施方式的与用户界面1600的另一用户交互。在该实施例中,用户通过在输入框1607中键入消息(例如,“最好的葡萄酒怎么样”)来与用户界面1600交互。在这个实施例中,术语“最好的”是模糊的,因为“最好的”可以根据例如售出的葡萄酒数量、最高的平均顾客评论分数或产生的收入金额来定义。“葡萄酒”一词也是模糊的,因为它可以指一种葡萄酒,例如,霞多丽或解百纳,也可以指酒厂。
图16G示出了响应于用户输入的用户界面1600的更新视图。在该实施例中,用户界面1600显示可视化的表示1620(例如,具有按降序排列的数据条的条形图)和文本响应1622(例如,“此处是按平均分数降序排序的酒厂。‘最好的’解释为前1名”)。在该实施例中,响应1622包括对表示1620的描述以及对如何解释模糊术语(例如,“最好的”)的描述。在一些实施方式中,用户界面1600可以显示后续问题1624(例如,“这是你所期望的吗?”),包括用户可选择的反馈按钮1626(例如,界面元件1626)。在一些实施方式中,用户对按钮1626之一的选择可以使得Slack应用建议相关的后续问题,从而为潜在的未被发现的分析能力提供可能性。
C.支持语音的智能助理聊天机器人
根据公开文本的一些实施方式,VAIL可以与运行语音助理应用(例如,语音聊天机器人应用)的语音助理设备一起使用。在一些实施方式中,语音助理设备包括显示屏。在一些实施方式中,语音助理设备不包括显示屏。
图17A-图17C提供了根据一些实施方式的用于与包括显示屏1700的语音助理设备交互的一系列屏幕截图。在该实施例中,响应于用户对“葡萄酒”数据集的选择(例如,言语或经由触摸屏),语音助理设备显示数据集中的数据字段的属性1702。图17A还示出了语音助理设备输出言语响应1704(例如,经由音频输出设备214)(例如,“你好,问一个关于葡萄酒数据的问题,我会尽力帮助你”)。
图17B示出了用户与语音助理设备的交互。在这个实施例中,用户提供了一个语音命令“按位置显示葡萄酒”。
在一些实施方式中,语音助理应用在其实施架构方面类似于图16A至16G中描述的Slackbot应用。然而,在一些实施方式中,语音助理应用使用Alexa API来实现对话交互,而不是使用定制的解析器和NLG模块。语音助手应用使用输出规范来确定主要响应和任何后续响应,并忽略输出规范中包含的特定视觉编码。
返回参考图17B的实施例,在一些实施方式中,响应于语音命令,语音助理设备根据由VAIL生成的输出规范输出言语响应1706(例如,“最昂贵的葡萄酒厂位于美国”)。图17B示出了显示可视化1708(例如,地图)的显示屏1700,该可视化包括阴影区域,对应于最昂贵的酒厂所在的国家。
图17C示出了用户与语音助理设备的交互。在这个实施例中,用户提供语音命令“给我看看最贵的品种”。在一些实施方式中,响应于语音命令,VAIL更新意图规范并根据更新的意图规范生成更新的输出规范。语音助理设备输出言语响应1710(例如,“最贵的品种是赤霞珠”)。图17C还示出了显示更新的可视化1712(例如,条形图)的显示屏1700。
V.流程图
图18A-图18E提供了方法1800的流程图。方法1800也被称为过程。
方法1800在运行第一应用(例如,客户端应用224)的电子设备102处执行(1802)。
电子设备102包括(1804)一个或多个处理器202和存储器216。存储器存储(1806)由一个或多个处理器执行的一个或多个程序。在一些实施方式中,图4至17所示的操作对应于存储在存储器216或其他非暂时性计算机可读存储介质中的指令。计算机可读存储介质可以包括磁盘或光盘存储设备、固态存储设备(例如,闪存)或其他非易失性存储设备。存储在计算机可读存储介质上的指令可以包括源代码、汇编语言代码、目标代码或由一个或多个处理器解释的其他指令格式中的一个或多个。方法1800中的一些操作可以组合和/或一些操作的顺序可以改变。
电子设备102接收(1808)针对数据源(例如,数据源110)的请求。该请求包括(1810)一个或多个意图类型(例如,意图类型229)。从针对数据源的数据分析操作的预定义集合中选择(1811)每个意图类型。
在一些实施方式中,一个或多个意图类型包括(1812)以下一个或多个:聚焦意图(例如,聚焦数据点的子集)、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。这如图6所示。
该请求还包括(1814)与一个或多个意图类型相关联的一个或多个预定义属性。一个或多个预定义属性中的每个限制(1815)相应意图类型的相应数据分析操作。
对于一个或多个意图类型中的每个,电子设备102根据请求制定(1818)相应意图规范(例如,意图规范234),包括根据相应的一个或多个预定义属性以及根据请求中指定的来自数据源的数据字段来确定相应意图规范的一个或多个相应特性。
对于一个或多个意图类型中的每个,电子设备102还生成(1820)相应输出规范(例如,输出规范236)。相应输出规范包括(1822)从数据可视化类型的预定义集合针对数据源选择的相应的推荐的数据可视化类型。相应输出规范还包括(1824)指定如何呈现相应的推荐的数据可视化类型的数据可视化的一个或多个相应数据可视化参数。这如图8所示。
在一些实施方式中,一个或多个相应数据可视化参数包括(1826):数据整形信息、编码信息和/或对应于意图规范的标识符。例如,数据整形包括在使用数据源之前修改数据源(例如,排序或过滤)的信息。编码信息列出了可视化的推荐类型(例如,条形图或散点图)和要显示的每个字段的推荐视觉编码(例如,x、y、颜色和大小)。这如图8所示。
在一些实施方式中,在针对一个或多个意图类型中的每个生成相应输出规范之后,电子设备102响应于该请求,根据(i)一个或多个意图类型之一的至少一个输出规范和(ii)第一应用和/或电子设备的配置参数,可视地呈现(1828)数据分析。
在一些情况下,请求包括(1830)趋势意图。制定相应意图规范包括从数据源识别(1832)(i)度量数据字段和(ii)表示时间的第一数据字段。这如图6所示。在一些实施方式中,第一数据字段可以是时间字段、日期字段或日期/时间字段。
在一些情况下,请求包括(1834)趋势意图。制定相应意图规范包括从数据源识别(1836)(i)所有度量数据字段和(ii)表示时间的所有数据字段。
在一些情况下,该请求包括(1838)聚焦意图。制定相应意图规范包括执行(1840)以下一项或多项:(1)排序操作,其按顺序排列来自数据源的数据行;(2)过滤操作,其将来自数据源的数据行过滤成特定数据字段具有特定数据值的数据行的子集;以及(3)突出操作,其突出数据行(例如,顶行、前3行等)的子集。
在一些实施方式中,该请求包括聚焦意图。制定相应意图规范包括执行放大(例如,强调、放大、将用户的注意力引向)数据行子集的“缩放”操作。
在一些情况下,该请求包括(1842)编码意图并指定第一数据字段。生成相应输出规范包括根据第一数据字段添加(1844)指定呈现数据可视化的编码参数;或者根据第一数据字段覆盖(1846)用于数据可视化的现有编码参数。
在一些情况下,该请求包括(1848)字段意图并指定第一数据字段。生成相应输出规范包括基于由第一数据字段施加的语义约束而应用(1850)一个或多个推断规则。
在一些实施方式中,方法1800还包括:对于一个或多个意图类型中的每个,应用(1854)对应于相应意图类型的一个或多个相应规则,以确定相应意图类型是否模糊和/或不详细。根据相应意图类型模糊或不详细的确定,电子设备102根据(i)一个或多个相应规则(例如,由营帐系统230中的视觉分析定义并在图4至13中描述的规则),(ii)数据源的元数据(例如,元数据246),以及(iii)请求中指定的数据字段的元数据,来推断(1856)信息,以解决模糊和/或不详细的意图。电子设备102根据推断信息更新(1858)一个或多个相应数据可视化参数。
在一些情况下,应用一个或多个相应规则来确定相应意图类型是否模糊和/或不详细还包括根据请求指定了可度量形容词但未指定数量(例如,请求指定了“顶级”但是没有指定数字)的确定(1860),确定(1862)相应意图类型是模糊的;以及推断(1864)该数量的数值。
在一些情况下,数据源的元数据包括(1866)以下元数据:数据字段的语义、对应于数据字段的数据字段类型、数据字段的统计、数据字段的派生、和/或对应于数据字段的默认统计堆栈大小。
在一些实施方式中,数据源的数据字段的语义或数据语义描述了用户正在与之交互的特定数据集。这包括字段列表、其角色和汇总统计信息。在一些实施方式中,数据语义可以从数据库中检索或由用户管理,以使得视觉分析意图系统230能够更好地推断意图。
在一些情况下,数据字段类型包括(1868)以下一个或多个:分类字段类型、时间字段类型、地理字段类型、货币字段类型、数量相关字段类型、数量无关字段类型、纬度字段类型和经度字段类型。
在一些实施方式中,电子设备102根据来自先前请求的上下文、先前请求中识别的数据字段、先前请求中识别的属性、用户提供的解释和/或用户提供的定义来推断(1870)信息,以解决模糊和/或不详细的意图。
图19A-图19G提供了方法1900的流程图。方法1900也被称为过程。
方法1900在运行第一应用(例如,客户端应用224)的电子设备102处执行(1902)。
电子设备102包括(1904)一个或多个处理器202和存储器216。存储器存储(1906)配置为由一个或多个处理器202执行的一个或多个程序。在一些实施方式中,图4至17所示的操作对应于存储在存储器216或其他非暂时性计算机可读存储介质中的指令。计算机可读存储介质可以包括磁盘或光盘存储设备、固态存储设备(例如,闪存)或其他非易失性存储设备。存储在计算机可读存储介质上的指令可以包括源代码、汇编语言代码、目标代码或由一个或多个处理器解释的其他指令格式中的一个或多个。方法1800中的一些操作可以组合和/或一些操作的顺序可以改变。
电子设备102接收(1908)针对数据源(例如,数据源110)的请求。该请求包括(1910)一个或多个意图类型(例如,意图类型229)。从针对数据源的数据分析操作的预定义集合中选择(1911)每个意图类型。
在一些实施方式中,一个或多个意图类型包括(1912)以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。这如图6所示。
在一些实施方式中,该请求还包括(1914)与一个或多个意图类型相关联的一个或多个预定义属性。一个或多个预定义属性中的每个限制(1915)相应意图类型的相应数据分析操作。
响应于(1916)该请求,对于一个或多个意图类型中的每个,电子设备102根据该请求制定(1918)相应意图规范,包括根据相应的一个或多个预定义属性以及根据请求中指定的来自数据源的数据字段来确定相应意图规范的一个或多个相应特性。
电子设备102应用(1920)对应于相应意图类型的一个或多个相应规则,以确定相应意图类型是否模糊和/或不详细。
根据相应意图类型模糊和/或不详细的确定(1922),电子设备102根据(i)一个或多个相应规则,(ii)数据源的元数据,和(iii)请求中指定的数据字段的元数据来推断(1924)信息,以解决模糊和/或不详细的意图。
在一些实施方式中,数据源的元数据包括(1926)以下元数据:数据字段的语义、对应于数据字段的数据字段类型、数据字段的统计、数据字段的派生和/或对应于数据字段的默认统计堆栈大小。
在一些情况下,数据字段类型包括(1928)以下一个或多个:分类字段类型、时间字段类型、地理字段类型、货币字段类型、数量相关字段类型、数量无关字段类型、纬度字段类型和经度字段类型。
电子设备102根据推断信息更新(1930)相应意图类型。
在一些实施方式中,方法1900还包括根据来自先前请求的上下文、先前请求中识别的数据字段、先前请求中识别的属性、用户提供的解释和/或用户提供的定义来推断(1932)信息,以解决模糊和/或不详细的意图。例如,用户可以管理要附加到数据源的数据表中的内容。在一些实施方式中,用户还可以包括元数据定义,例如,“该数据字段XX可以被解释为货币字段”。
在一些实施方式中,电子设备102(1934)生成相应输出规范。相应输出规范包括(1936)从数据可视化类型的预定义集合针对数据源选择的相应推荐数据可视化类型。相应输出规范包括(1938)一个或多个相应数据可视化参数,这些参数(1)包括推断信息以及(2)指定如何呈现相应推荐的数据可视化类型的数据可视化。
在一些实施方式中,应用一个或多个相应规则来确定相应意图类型是否模糊和/或不详细还包括:识别(1940)对应于相应意图类型的相应意图规范的数据特性集合,并且确定(1942)该请求是否针对该数据特性集合的每个数据特性指定了属性。在一些实施方式中,当请求针对数据特性集合中的数据特性指定多于一个属性时,电子设备102确定(1944)相应意图类型是模糊的。在一些实施方式中,当请求没有针对该数据特性集合中的至少一个数据特性指定属性时,电子设备102确定(1946)相应意图类型是不详细的
在一些情况下,根据请求针对该数据特性集合中的每个数据特性指定了恰好一个属性的确定,电子设备102确定(1948)完全指定相应意图类型。
在一些实施方式中,应用一个或多个相应规则来确定相应意图类型是否模糊和/或不详细还包括:根据请求指定了(1950)可度量形容词但未指定数量的确定,电子设备102确定(1952)相应意图类型是模糊的。电子设备102推断(1954)该数量的数值。
在一些实施方式中,相应意图类型是(1956)具有聚焦策略特性的聚焦意图,推断信息以解决不详细的意图还包括:根据请求不包括从由“过滤”、“突出”和“缩放”组成的组中选择的第一项的确定,选择(1958)突出策略作为默认聚焦策略。
在一些情况下,选择突出策略作为默认策略还包括:执行(1962)排序操作,该排序操作根据来自数据源的数据表中数据字段的数据值以升序或降序排列数据表的数据行;以及执行(1964)突出操作,该突出操作基于数据值的排序突出数据值的指定数量。
在一些实施方式中,相应意图类型是(1966)具有字段特性的聚焦意图。推断信息以解决不详细的意图还包括:根据请求未指定数据字段的确定,从数据源中选择(1968)具有文本数据类型并且具有大于或等于请求中指定的数量的域的数据字段(例如,基于元数据)。在一些实施方式中,该域可以与请求中指定的数量相同。在一些实施方式中,如果请求中指定的数量大于域,则电子设备102可以将请求中的数量修改为域的大小。
在一些实施方式中,相应意图类型是(1970)具有字段特性的聚焦意图,推断信息以解决不详细的意图还包括:根据数据源不包括具有文本数据类型和大于或等于指定数量的数据字段的域的确定,从数据源中选择(1972)其域包含请求中指定的数据值的数据字段。
在一些实施方式中,相应意图类型是(1974)聚焦意图。方法1900还包括:根据请求包括价格形容词的确定(例如,形容词包括“便宜”、“昂贵”、“最贵”、“最便宜”、“奢侈”等),确定(1976)(例如,至少部分基于元数据)数据源是否包括具有货币字段类型的数据字段。在一些实施方式中,根据数据源包括具有货币字段类型的数据字段的确定,电子设备102对数据字段执行(1978)排序操作。在一些实施方式中,根据数据源不包括具有货币字段类型的数据字段的确定(1980),电子设备102识别(1982)数据源中的所有数字数据字段(例如,度量字段)。电子设备102对每个数字数据字段执行(1984)相应的排序操作。
在一些实施方式中,相应意图类型是(1986)具有分组特性的分布意图,该分组特性包括分组字段和统计堆栈大小。推断信息以解决不详细的意图还包括:根据确定(1988)请求未指定分组字段,(1)识别(1990)数据源中具有数量相关字段类型、数量无关字段类型或货币字段类型的所有数据字段;以及(2)指定(1992)每个识别的数据字段作为分组字段的推断信息。
在一些情况下,根据请求指定了统计堆栈大小的确定,电子设备102用指定的统计堆栈大小替换(1994)元数据中的统计堆栈大小信息。
在一些实施方式中,意图类型是(1996)具有趋势特性的趋势意图,该趋势特性包括度量数据字段和日期数据字段。推断信息以解决不详细的意图还包括:根据确定(1998)请求不包括度量数据字段,(1)识别(19100)数据源中的所有数量相关字段;以及(2)指定(19102)每个定量相关字段作为度量数据字段的推断信息。在一些实施方式中,推断信息以解决不详细的意图还包括:根据确定(19104)请求不包括具有时间字段类型的数据字段:(1)识别(19106)数据源中的所有时间数据字段;以及(2)指定(19108)每个时间数据字段作为日期数据字段的推断信息。
在一些实施方式中,意图类型是(19110)使两个数字数据字段关联的关联意图。推断信息以解决不详细的意图还包括:(1)当请求仅指定一个数字数据字段时,从来自数据源的所有数字数据字段中推断(19112)第二数据字段的用途;以及(2)当请求没有指定数字数据字段时,从来自数据源的所有数字数据字段中推断(19114)第一数据字段和第二数据字段的用途。
图20A-图20F提供了方法2000的流程图。方法2000也被称为过程。
方法2000在运行第一应用(例如,客户端应用224)的电子设备102处执行(2002)。
电子设备102包括(2004)一个或多个处理器202和存储器216。存储器存储(2006)配置为由一个或多个处理器202执行的一个或多个程序。在一些实施方式中,图4至17所示的操作对应于存储在存储器216或其他非暂时性计算机可读存储介质中的指令。计算机可读存储介质可以包括磁盘或光盘存储设备、固态存储设备(例如,闪存)或其他非易失性存储设备。存储在计算机可读存储介质上的指令可以包括源代码、汇编语言代码、目标代码或由一个或多个处理器解释的其他指令格式中的一个或多个。方法1800中的一些操作可以组合和/或一些操作的顺序可以改变。
电子设备从与电子设备通信连接的服务器系统(例如,服务器系统300)下载(2008)视觉分析意图库(例如,视觉分析意图库323),该视觉分析意图库配置为跨包括第一应用在内的多个应用执行。
电子设备102基于运行第一应用的电子设备来配置(2010)视觉分析意图库,以在电子设备上执行。
在配置之后,电子设备102接收(2012)针对数据源的请求。该请求包括(2014)一个或多个意图类型。从针对数据源的数据分析操作的预定义集合中选择(2015)每个意图类型。
在一些实施方式中,一个或多个意图类型包括(2016)以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。
该请求还包括(2018)与一个或多个意图类型相关联的一个或多个预定义属性。一个或多个预定义属性中的每个限制(2019)相应意图类型的相应数据分析操作。
根据该请求,对于一个或多个意图类型中的每个,电子设备102根据视觉分析意图库来制定(2020)相应意图规范,包括根据相应的一个或多个预定义特性以及根据来自数据源的在请求中指定的数据字段来确定相应意图规范的一个或多个相应属性。
在一些实施方式中,电子设备具有第一设备类型。在一些实施方式中,视觉分析意图库配置为跨包括第一设备类型在内的多种设备类型执行。
在一些实施方式中,对于每个意图类型,在制定相应意图规范之后,电子设备102根据视觉分析意图库生成(2022)相应输出规范。相应输出规范包括(2024)从数据可视化类型的预定义集合针对数据源选择的相应推荐数据可视化类型。相应输出规范还包括(2026)一个或多个相应数据可视化参数,这些参数指定如何呈现相应推荐的数据可视化类型的数据可视化。
在一些实施方式中,一个或多个相应数据可视化参数包括(2028):数据整形信息、编码信息和/或对应于意图规范的标识符。
在一些实施方式中,在针对一个或多个意图类型中的每个生成相应输出规范之后,电子设备102响应于该请求,根据(i)一个或多个意图类型之一的至少一个输出规范和(ii)第一应用和/或电子设备的配置参数,可视地呈现(2030)数据分析。
在一些实施方式中,响应于该请求,可视地呈现数据分析还根据(2032)具有第一设备类型的电子设备102。
例如,在一些实施方式中,响应于该请求,可视地呈现数据分析还根据具有显示屏(或显示屏的尺寸)的电子设备或诸如音频输入和输出设备等外围设备。
在一些情况下,一个或多个意图类型之一的至少一个输出规范包括(2034)对应于第一意图类型并具有推断信息的第一输出规范。可视地呈现数据分析还包括在第一应用中显示(2036)推断信息。
在一些实施方式中,电子设备102以视觉上不同于请求中包括的信息的方式显示推断信息。在一些实施方式中,显示推断信息包括显示已经推断的数据字段的识别。在一些实施方式中,显示推断信息可以包括提供如何解释请求中的术语的描述。
在一些情况下,电子设备102显示(2038)数据窗口小部件(例如,数据窗口小部件1618,图16E),其使得能够修改推断信息。电子设备102接收(2040)用户与数据控件的交互。响应于(2042)用户交互,电子设备102编辑(2044)第一意图规范。电子设备102根据编辑的第一意图规范更新(2046)第一输出规范。电子设备102根据更新的第一输出规范和第一应用和/或电子设备的配置参数生成(2048)并可视地呈现更新的数据分析。
在一些实施方式中,电子设备102是(2050)语音助理设备(例如,不包括显示屏的图1中的语音助理设备102-3,或者包括显示屏1700的图17中的语音助理设备)。方法2000还包括:在生成相应输出规范之后,将相应输出规范转换(2054)成相应的言语响应,并输出(2056)相应的言语响应。
例如,图17C示出了响应于用户请求“给我看看最贵的品种”,电子设备将输出规范转换成相应的言语响应,并输出言语响应1710“最贵的品种是赤霞珠”。
在一些实施方式中,言语响应可以包括言语描述可视化的响应。在一些实施方式中,言语响应可以包括言语描述如何推断出请求中的模糊术语的响应。
在一些情况下,相应输出规范包括(2058)推断信息。输出相应的言语响应包括输出(2060)推断信息的言语描述(例如,解释、澄清等)。
在一些实施方式中,在输出响应之后,语音助理设备可以向用户表明后续问题,以澄清或确认推断信息与用户请求一致。
在一些实施方式中,第一应用包括(2062)图形用户界面。方法2000还包括经由图形用户界面接收(2064)请求,包括一个或多个意图类型的识别。
例如,如图14A至14J所示,第一应用224包括图形用户界面1400。该方法还包括经由图形用户界面1400接收请求,包括一个或多个意图类型的识别1408。
在一些情况下,电子设备102根据相应输出规范生成(2066)相应数据可视化。电子设备102在图形用户界面上显示(2068)数据可视化。这在图14D、14E、14F和14H中示出。
在一些实施方式中,第一应用是(2070)消息应用。方法2000还包括在生成(2072)相应输出规范之后:(1)将视觉规范转换(2074)成文本输出;以及(2)在消息应用中显示(2076)文本输出。
例如,在一些实施方式中,第一应用是消息应用,例如,图1中的聊天应用106或图15和16中的Slackbot应用。该方法还包括在生成相应输出规范之后:将视觉规范转换成文本输出,例如,图16E中的文本输出1612或图16G中的文本输出1622。该方法还包括在消息应用的用户界面1600中显示文本输出。
在一些实施方式中,在接收请求之前,电子设备102接收(2078)自然语言命令。电子设备102根据视觉意图规范语言来解析(2080)自然语言命令(例如,使用解析器226或解析器1506),以形成请求。
在一些情况下,电子设备102根据解析确定(2082)一个或多个意图类型包括根据具有术语“时间”或术语“趋势”的自然语言命令的趋势意图类型。
在一些情况下,电子设备102根据解析确定(2084)一个或多个意图类型包括根据自然语言命令的具有可度量形容词(例如,“最好”、“最差”、“高”、“低”或“最昂贵”等形容词)的聚焦意图类型。在一些实施方式中,可度量形容词是指具有可以用数字量化、分级或以特定顺序排列的属性的形容词。
在一些实施方式中,方法2000还包括通过将第一意图规范与在请求中制定的意图规范相关联来更新(2086)从先前请求制定的第一意图规范。
在一些情况下,先前请求包括(2088)来自数据源的第一数据字段。该请求指定用来自数据源的第二数据字段替换(2090)第一数据字段。更新第一意图规范包括用第二数据字段替换(2092)第一数据字段。
以上识别的可执行模块、应用或程序组中的每个可以存储在一个或多个前述存储设备中,并且对应于用于执行上述功能的指令集。以上识别的模块或程序(即指令集)不需要被实现为单独的软件程序、过程或模块,因此这些模块的各种子集可以在各种实施方式中组合或以其他方式重新排列。在一些实施方式中,存储器216存储上述模块和数据结构的子集。此外,存储器216可以存储以上未描述的附加模块或数据结构。
本文在本发明的描述中使用的术语仅仅是为了描述特定的实施方式,而不是为了限制本发明。如在本发明和所附权利要求的描述中所使用的,单数形式“一个”、“一种”和“该”也旨在包括复数形式,除非上下文清楚地另外指出。还应该理解,本文使用的术语“和/或”是指并包含一个或多个相关列出项目的任何和所有可能的组合。还应理解,术语“包括”和/或“包含”在本说明书中使用时,指定存在所述特征、步骤、操作、元件和/或部件,但不排除存在或添加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。
出于解释的目的,已经参考具体实施方式描述了前述描述。然而,上面的说明性讨论并不旨在穷举或将本发明限制于所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。选择和描述这些实施方式是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够最好地利用本发明和具有各种修改的各种实施方式,以适合于预期的特定用途。

Claims (52)

1.一种方法,包括:
在运行第一应用的电子设备处,所述电子设备包括一个或多个处理器和存储由所述一个或多个处理器执行的一个或多个程序的存储器:
接收针对数据源的请求,所述请求包括(i)一个或多个意图类型,每个意图类型选自针对所述数据源的数据分析操作的预定义集合,以及(ii)与所述一个或多个意图类型相关联的一个或多个预定义属性,所述一个或多个预定义属性中的每个限制相应意图类型的相应数据分析操作;
对于所述一个或多个意图类型中的每个:
根据所述请求制定相应意图规范,包括根据相应一个或多个预定义属性以及根据来自所述数据源的在所述请求中指定的数据字段,确定所述相应意图规范的一个或多个相应特性;和
生成相应输出规范,所述相应输出规范包括(i)从数据可视化类型的预定义集合针对所述数据源选择的相应推荐数据可视化类型,以及(ii)指定如何呈现所述相应推荐数据可视化类型的数据可视化的一个或多个相应数据可视化参数。
2.根据权利要求1所述的方法,其中所述一个或多个意图类型包括以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。
3.根据权利要求2所述的方法,其中:
所述请求包括所述趋势意图;和
制定所述相应意图规范包括从所述数据源识别(i)度量数据字段和(ii)表示时间的第一数据字段。
4.根据权利要求2所述的方法,其中:
所述请求包括所述趋势意图;和
制定所述相应意图规范包括从所述数据源识别(i)所有度量数据字段和(ii)表示时间的所有数据字段。
5.根据权利要求2所述的方法,其中:
所述请求包括所述聚焦意图;和
制定所述相应意图规范包括执行以下一项或多项:
排序操作,其按顺序排列来自所述数据源的数据行;
过滤操作,其将来自所述数据源的所述数据行过滤成特定数据字段具有特定数据值的数据行的子集;和
突出操作,其突出来自所述数据源的数据行的子集。
6.根据权利要求2所述的方法,其中:
所述请求包括所述编码意图以及指定第一数据字段;和
生成所述相应输出规范包括:
根据所述第一数据字段,添加指定呈现所述数据可视化的编码参数;或
根据所述第一数据字段,覆盖用于所述数据可视化的现有编码参数。
7.根据权利要求2所述的方法,其中:
所述请求包括所述字段意图以及指定第一数据字段;和
生成相应输出规范包括基于由所述第一数据字段施加的语义约束而应用一个或多个推断规则。
8.根据权利要求1所述的方法,还包括:
对于一个或多个意图类型中的每个:
应用对应于所述相应意图类型的一个或多个相应规则,以确定所述相应意图类型是否模糊和/或不详细;和
根据确定所述相应意图类型是模糊或不详细的,根据(i)所述一个或多个相应规则、(ii)所述数据源的元数据和(iii)所述请求中指定的数据字段的元数据而推断信息,以解决所述模糊和/或不详细的意图;和
根据推断信息,更新所述一个或多个相应数据可视化参数。
9.根据权利要求8所述的方法,其中应用所述一个或多个相应规则以确定所述相应意图类型是否模糊和/或不详细还包括:
根据确定所述请求指定可度量形容词而没有指定数量:
确定所述相应意图类型是模糊的;和
推断出所述数量的数值。
10.根据权利要求8所述的方法,其中所述数据源的所述元数据包括以下各项的元数据:数据字段的语义、对应于所述数据字段的数据字段类型、所述数据字段的统计、所述数据字段的派生和/或对应于所述数据字段的默认统计堆栈大小。
11.根据权利要求10所述的方法,其中所述数据字段类型包括以下一个或多个:分类字段类型、时间字段类型、地理字段类型、货币字段类型、数量相关字段类型、数量无关字段类型、纬度字段类型和经度字段类型。
12.根据权利要求8所述的方法,还包括:根据来自先前请求的上下文、所述先前请求中识别的数据字段、所述先前请求中识别的属性、用户提供的解释和/或用户提供的定义而推断信息,以解决所述模糊和/或不详细的意图。
13.根据权利要求1所述的方法,其中所述一个或多个相应数据可视化参数包括:数据整形信息、编码信息和/或对应于意图规范的标识符。
14.根据权利要求1所述的方法,还包括:
在针对所述一个或多个意图类型中的每个生成所述相应输出规范之后,响应于所述请求,根据(i)所述一个或多个意图类型之一的至少一个输出规范和(ii)所述第一应用和/或所述电子设备的配置参数,可视地呈现数据分析。
15.一种方法,包括:
在运行第一应用的电子设备处,所述电子设备包括一个或多个处理器和存储由所述一个或多个处理器执行的一个或多个程序的存储器:
接收针对数据源的请求,所述请求包括(i)一个或多个意图类型,每个意图类型选自针对所述数据源的数据分析操作的预定义集合,以及(ii)与所述一个或多个意图类型相关联的一个或多个预定义属性,所述一个或多个预定义属性中的每个限制相应意图类型的相应数据分析操作;
响应于所述请求,对于所述一个或多个意图类型中的每个:
根据所述请求制定相应意图规范,包括根据相应一个或多个预定义属性以及根据来自所述数据源的在所述请求中指定的数据字段,确定所述相应意图规范的一个或多个相应特性;
应用对应于所述相应意图类型的一个或多个相应规则,以确定所述相应意图类型是否模糊和/或不详细;和
根据确定所述相应意图类型是模糊和/或不详细的:
根据(i)所述一个或多个相应规则、(ii)所述数据源的元数据和(iii)所述请求中指定的数据字段的元数据而推断信息,以解决所述模糊和/或不详细的意图;和
根据推断信息,更新所述相应意图类型。
16.根据权利要求15所述的方法,还包括:
生成相应输出规范,所述相应输出规范包括(i)从数据可视化类型的预定义集合针对所述数据源选择的相应推荐数据可视化类型,以及(ii)一个或多个相应数据可视化参数,所述一个或多个相应数据可视化参数(1)包括所述推断信息以及(2)指定如何呈现所述相应推荐数据可视化类型的数据可视化。
17.根据权利要求15所述的方法,其中所述一个或多个意图类型包括以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。
18.根据权利要求15所述的方法,其中应用一个或多个相应规则以确定所述相应意图类型是否模糊和/或不详细还包括:
识别对应于所述相应意图类型的所述相应意图规范的数据特性集合;和
确定所述请求是否针对所述数据特性集合中的每个数据特性指定了属性,其中:
当所述请求针对所述数据特性集合中的数据特性指定了一个以上属性时,确定所述相应意图类型是模糊的;和
当所述请求没有针对所述数据特性集合中的至少一个数据特性指定属性时,确定所述相应意图类型是不详细的。
19.根据权利要求18所述的方法,还包括:
根据确定所述请求针对所述数据特性集合中的每个数据特性指定了恰好一个属性,确定所述相应意图类型被完全指定。
20.根据权利要求15所述的方法,其中应用一个或多个相应规则以确定所述相应意图类型是否模糊和/或不详细还包括:
根据确定所述请求指定了可度量形容词但没有指定数量:
确定所述相应意图类型是模糊的;和
推断所述数量的数值。
21.根据权利要求15所述的方法,其中:
所述相应意图类型是具有聚焦策略特性的聚焦意图;和
推断信息以解决所述不详细的意图还包括:
根据确定所述请求不包括从由“过滤”、“突出”和“缩放”组成的组中选择的术语,选择突出策略作为默认聚焦策略。
22.根据权利要求21所述的方法,其中:
选择所述突出策略作为所述默认策略还包括:
执行排序操作,所述排序操作根据所述数据源的数据表中的数据字段的数据值,以升序或降序排列来自所述数据表的数据行;和
执行突出操作,所述突出操作基于所述数据值的排序突出所述数据值的指定数字。
23.根据权利要求15所述的方法,其中:
所述相应意图类型是具有字段特性的聚焦意图;和
推断信息以解决所述不详细的意图还包括:
根据确定所述请求没有指定数据字段,从所述数据源选择具有文本数据类型并且具有大于或等于所述请求中指定的数量的域的数据字段。
24.根据权利要求15所述的方法,其中:
所述相应意图类型是具有字段特性的聚焦意图;和
推断信息以解决不详细的意图还包括:
根据确定所述数据源不包括具有文本数据类型和大于或等于指定数量的域的数据字段,从所述数据源选择其域包含所述请求中指定的数据值的数据字段。
25.根据权利要求15所述的方法,其中所述相应意图类型是聚焦意图,所述方法还包括:
根据确定所述请求包括价格形容词,确定所述数据源是否包括具有货币字段类型的数据字段;
根据确定所述数据源包括具有货币字段类型的数据字段,对所述数据字段执行排序操作;和
根据确定所述数据源不包括具有货币字段类型的数据字段:
识别所述数据源中的所有数字数据字段;和
对所述数字数据字段中的每个执行相应排序操作。
26.根据权利要求15所述的方法,其中所述数据源的所述元数据包括以下各项的元数据:数据字段的语义、对应于所述数据字段的数据字段类型、所述数据字段的统计、所述数据字段的派生和/或对应于所述数据字段的默认统计堆栈大小。
27.根据权利要求26所述的方法,其中所述数据字段类型包括以下一个或多个:分类字段类型、时间字段类型、地理字段类型、货币字段类型、数量相关字段类型、数量无关字段类型、纬度字段类型和经度字段类型。
28.根据权利要求15所述的方法,其中:
所述相应意图类型是具有包括分组字段和统计堆栈大小的分组特性的分布意图;和
推断信息以解决所述不详细的意图还包括:
根据确定所述请求没有指定分组字段:
识别所述数据源中具有数量相关字段类型、数量无关字段类型或货币字段类型的所有数据字段;和
将每个识别的数据字段指定为所述分组字段的所述推断信息。
29.根据权利要求28所述的方法,还包括:
根据确定所述请求指定了二进制文件大小,以指定的统计堆栈大小替换所述元数据中的统计堆栈大小信息。
30.根据权利要求15所述的方法,其中:
所述意图类型是具有包括度量数据字段和日期数据字段的趋势特性的趋势意图;和
推断信息以解决所述不详细的意图还包括:
根据确定所述请求不包括度量数据字段:
识别所述数据源中的所有数量相关字段;和
将每个定量相关字段指定为所述度量数据字段的推断信息;和/或
根据确定所述请求不包括具有时间字段类型的数据字段:
识别所述数据源中的所有时间数据字段;和
将每个时间数据字段指定为所述日期数据字段的所述推断信息。
31.根据权利要求15所述的方法,其中所述意图类型是使两个数字数据字段关联的关联意图;和
推断信息以解决所述不详细的意图还包括:
当所述请求指定仅一个数字数据字段时,从来自所述数据源的所有数字数据字段推断第二数据字段的用途;和
当所述请求没有指定数字数据字段时,从来自所述数据源的所有数字数据字段推断第一数据字段和第二数据字段的用途。
32.根据权利要求15所述的方法,其中还包括:根据来自先前请求的上下文、所述先前请求中识别的数据字段、所述先前请求中识别的特性、用户提供的解释和/或用户提供的定义而推断信息,以解决所述模糊和/或不详细的意图。
33.一种方法,包括:
在运行第一应用的电子设备处,所述电子设备包括一个或多个处理器和存储由所述一个或多个处理器执行的一个或多个程序的存储器:
从与所述电子设备通信连接的服务器系统下载视觉分析意图库,所述视觉分析意图库被配置为跨包括所述第一应用在内的多个应用执行;
基于运行所述第一应用的所述电子设备,配置所述视觉分析意图库以在所述电子设备上执行;
在所述配置之后,接收针对数据源的请求,所述请求包括(i)一个或多个意图类型,每个意图类型选自针对所述数据源的数据分析操作的预定义集合,以及(ii)与所述一个或多个意图类型相关联的一个或多个预定义属性,所述一个或多个预定义属性中的每个限制相应意图类型的相应数据分析操作;和
根据所述请求,对于所述一个或多个意图类型中的每个,根据所述视觉分析意图库制定相应意图规范,包括根据相应一个或多个预定义属性以及根据来自所述数据源的在所述请求中指定的数据字段而确定所述相应意图规范的一个或多个相应特性。
34.根据权利要求33所述的方法,还包括:
对于每个意图类型,在制定所述相应意图规范之后:
根据所述视觉分析意图库生成相应输出规范,所述相应输出规范包括(i)从数据可视化类型的预定义集合针对所述数据源选择的相应推荐数据可视化类型,以及(ii)指定如何呈现所述相应推荐数据可视化类型的数据可视化的一个或多个相应数据可视化参数。
35.根据权利要求34所述的方法,其中所述一个或多个相应数据可视化参数包括:数据整形信息、编码信息和/或对应于所述意图规范的标识符。
36.根据权利要求34所述的方法,还包括:
在针对所述一个或多个意图类型中的每个生成所述相应输出规范之后,响应于所述请求,根据(i)所述一个或多个意图类型之一的至少一个输出规范和(ii)所述第一应用和/或所述电子设备的配置参数,可视地呈现数据分析。
37.根据权利要求36所述的方法,其中响应于所述请求可视地呈现数据分析还根据具有第一设备类型的所述电子设备。
38.根据权利要求36所述的方法,其中:
所述一个或多个意图类型之一的所述至少一个输出规范包括对应于第一意图类型并且具有推断信息的第一输出规范;和
可视地呈现数据分析还包括在所述第一应用中显示所述推断信息。
39.根据权利要求38所述的方法,还包括:
显示使得能够修改所述推断信息的数据窗口小部件;
接收与所述数据窗口小部件的用户交互;和
响应于所述用户交互:
编辑所述第一意图规范;
根据编辑的第一意图规范,更新所述第一输出规范;和
根据更新的第一输出规范和所述第一应用和/或所述电子设备的所述配置参数,生成以及可视地呈现更新的数据分析。
40.根据权利要求34所述的方法,其中所述电子设备是语音助理设备,所述方法还包括:
在生成所述相应输出规范之后:
将所述相应输出规范转换成相应的言语响应,以及
输出所述相应的言语响应。
41.根据权利要求40所述的方法,其中:
所述相应输出规范包括推断信息;和
输出所述相应的言语响应包括输出所述推断信息的言语描述。
42.根据权利要求34所述的方法,其中所述第一应用包括图形用户界面,所述方法还包括:
经由所述图形用户界面,接收包括所述一个或多个意图类型的识别的所述请求。
43.根据权利要求40所述的方法,还包括:
根据所述相应输出规范,生成相应数据可视化;和
在所述图形用户界面上显示所述数据可视化。
44.根据权利要求34所述的方法,其中所述第一应用是消息应用,所述方法还包括在生成所述相应输出规范之后:
将所述视觉规范转换成文本输出;和
在所述消息应用中显示所述文本输出。
45.根据权利要求33所述的方法,其中所述一个或多个意图类型包括以下一个或多个:聚焦意图、趋势意图、关联意图、分布意图、地理意图、编码意图和字段意图。
46.根据权利要求33所述的方法,还包括在接收所述请求之前:
接收自然语言命令;和
根据视觉意图规范语言解析所述自然语言命令,以形成所述请求。
47.根据权利要求46所述的方法,还包括:
根据所述解析,确定所述一个或多个意图类型包括根据具有术语“时间”或术语“趋势”的所述自然语言命令的趋势意图类型。
48.根据权利要求46所述的方法,还包括:
根据所述解析,确定所述一个或多个意图类型包括根据具有可度量形容词的自然语言命令的聚焦意图类型。
49.根据权利要求33所述的方法,其中还包括:通过将第一意图规范与在所述请求中制定的意图规范相关联,更新根据先前请求制定的第一意图规范。
50.根据权利要求49所述的方法,其中:
所述先前请求包括来自所述数据源的第一数据字段;
所述请求指定以来自所述数据源的第二数据字段替换所述第一数据字段;和
更新所述第一意图规范包括以所述第二数据字段替换所述第一数据字段。
51.一种电子设备,包括:
一个或多个处理器;和
存储器,所述存储器联接至所述一个或多个处理器,所述存储器存储配置为由所述一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括指令,当由所述一个或多个处理器执行时,所述指令使得所述处理器执行根据权利要求1-50中任一项所述的方法。
52.一种存储一个或多个程序的非暂时性计算机可读存储介质,所述一个或多个程序包括指令,当由电子设备执行时,所述指令使得所述电子设备执行包括根据权利要求1-50中任一项所述的方法的操作。
CN202280039140.2A 2021-03-30 2022-03-30 应用可视化分析意图语言以生成数据可视化 Pending CN117882063A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/168,212 2021-03-30
US17/219,784 US11409763B1 (en) 2021-03-30 2021-03-31 Applying a visual analytics intent language to generate data visualizations
US17/219,784 2021-03-31
PCT/US2022/022625 WO2022212563A1 (en) 2021-03-30 2022-03-30 Applying a visual analytics intent language to generate data visualizations

Publications (1)

Publication Number Publication Date
CN117882063A true CN117882063A (zh) 2024-04-12

Family

ID=90583381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280039140.2A Pending CN117882063A (zh) 2021-03-30 2022-03-30 应用可视化分析意图语言以生成数据可视化

Country Status (1)

Country Link
CN (1) CN117882063A (zh)

Similar Documents

Publication Publication Date Title
US11244114B2 (en) Analyzing underspecified natural language utterances in a data visualization user interface
US20210034990A1 (en) Rule Assignments and Templating
WO2021169400A1 (zh) 基于人工智能的命名实体识别方法、装置及电子设备
US20230134235A1 (en) Applying a Visual Analytics Intent Language to Generate Data Visualizations
WO2015050909A1 (en) Extracting relational data from semi-structured spreadsheets
US20150286943A1 (en) Decision Making and Planning/Prediction System for Human Intention Resolution
US11474843B2 (en) AI-driven human-computer interface for associating low-level content with high-level activities using topics as an abstraction
KR102565455B1 (ko) 신속한 스크리닝을 위한 도메인-특정 언어 해석기 및 대화형 시각적 인터페이스
US11836172B2 (en) Facilitating generation of data visualizations via natural language processing
US20200004890A1 (en) Personalized artificial intelligence and natural language models based upon user-defined semantic context and activities
US20200005159A1 (en) Ai-synthesized application for presenting activity-specific ui of activity-specific content
Sánchez et al. Adaptive interface ecosystems in smart cities control systems
US20200005158A1 (en) Ai-driven human-computer interface for presenting activity-specific views of activity-specific content for multiple activities
US11561998B2 (en) Implementing a visual analytics intent language across multiple devices
US20210349950A1 (en) Utilizing Autocompletion as a Data Discovery Scaffold for Supporting Visual Analysis
CN117882063A (zh) 应用可视化分析意图语言以生成数据可视化
US11811712B2 (en) Conversational natural language interfaces for data analysis
US10664133B1 (en) Automated linking and merging of hierarchical data structures for animated transitions
US11494061B1 (en) Using a natural language interface to generate dashboards corresponding to selected data sources
US20240086432A1 (en) Dynamic interactive graphing for attributes
CN116724311A (zh) 使用词同现和情感分析解释视觉分析中的含糊意图修饰语
Fischer End-User Programming of Virtual Assistant Skills and Graphical User Interfaces
CN117540028A (zh) 一种用于科普知识智能交互的平台
Romanelli et al. Model of Knowledge Based Interaction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination