对话式的数据分析的制作方法

文档序号:33649137发布日期:2023-03-29 06:37阅读:48来源:国知局
对话式的数据分析的制作方法
对话式的数据分析
1.本技术是申请日为2016年9月29日、申请号为201610867019.5、发明名称为“对话式的数据分析”的中国发明专利申请的分案申请。


背景技术:

2.数据分析在数据驱动决策系统等诸多应用领域发挥非常重要的作用。用户可以向数据分析工具提交数据查询,以便从期望的角度查询数据和创建可视化报告。为了使得数据分析更加方便易用,已经提出了将自然语言处理应用于数据分析的用户界面的方案。自然语言处理是指利用计算机处理人类语言的技术,它使得计算机能够理解人类语言。
3.基于自然语言处理的传统数据分析方案主要基于单输入框(single input box)方式。当接收到用户输入的自然语言形式的数据分析请求时,机器执行相应的操作并且提供相应的结果。对于简单或基本的数据分析请求而言,这种数据分析方案通常能够得到相应的数据分析结果。然而,对于复杂的数据分析请求,现有的数据分析方案往往难以正确理解用户的真实意图,也就无法提供用户需要的数据分析结果。


技术实现要素:

4.为了解决上述和潜在的问题,本公开的实施例提供了双向对话式数据分析方法和设备。根据本公开的实施例,用户可以在与机器的对话中完成数据分析请求。在接收到用户的数据分析请求之后,可以基于该数据分析请求确定启发性信息。这里所称的启发性信息不是针对该数据分析请求的结果,而是可用于引导对话继续进行下去的信息。用户可以基于这种启发性信息提供与数据分析请求相关联的补充信息,例如澄清数据分析请求的含义、提出相关的进一步分析请求,等等。根据来自用户的补充信息,可以为用户提供其真正需要和有意义的数据分析结果。以此方式,数据分析将更加准确、有效。用户在获得真正有帮助的信息的同时也能具有良好的用户体验。
5.提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
6.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
7.图1示出了其中可以实施本公开的一个或多个实施例的计算环境100的框图;
8.图2示出了根据本公开的实施例的用于进行数据分析的数据集200的示意图;
9.图3示出了根据本公开的实施例的对于数据集200进行数据分析的示意图300;
10.图4a示出了根据本公开的实施例的对于数据集200进行数据分析的示意图400;
11.图4b示出了根据本公开的实施例基于图4a的启发性信息进行双向对话的数据分析过程示意图450;
12.图5示出了根据本公开的实施例的用于数据分析的方法500的流程图;
13.图6示出了根据本公开的实施例的用于数据分析的方法600的流程图;
14.图7示出了根据本公开的实施例的多个对话的用户界面700;以及
15.图8示出了根据本公开的实施例的用户界面800。
16.在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
17.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
18.一般地,在本公开的实施例中描述的“数据分析”是指用适当的统计分析方法对收集的大量数据(以下简称为“数据集”)进行分析、提取有用信息和形成结论,从而对数据加以详细研究和概括总结的过程。
19.本公开的实施例所使用的术语“启发性信息”是指用于对用户与数据分析设备之间的会话进行引导的信息,例如用于引导用户澄清数据分析请求的信息、用于向用户提供扩展性数据分析结果的信息,等等。启发性信息不同于针对用户的数据分析请求而产生的结果(以下也称为“数据分析结果”)。
20.本公开的实施例所使用的术语“内容项”是指用于表征数据集中的数据的语义单位,例如关于地点、时间、日期、事件、品牌、类别等的字词或短语。
21.本公开的实施例所使用的术语“代码片段”是指用于实现与内容项相关联的一个或多个操作的一段代码。当以内容项作为输入来运行这段代码时,可以将得到的输出作为数据分析请求的部分或全部结果。
22.本公开使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
23.传统上,数据分析方案采用的是单向对话方式,其仅能够针对简单或基本的数据分析请求提供相应的数据分析结果。当用户输入复杂的数据分析请求时,传统的数据分析方案通常难以理解此类复杂的数据分析请求,从而导致系统报错或者给出错误的数据分析结果。结果是,无法帮助用户获得他/她真正想要得到的数据分析结果,也就无法满足用户需求,导致数据分析失去其意义。
24.为此,本公开提出了一种双向对话方式的数据分析方法和设备,其不仅能接收来自用户的数据分析请求,而且能够通过分析该数据分析请求而生成启发性信息。在此使用的术语“启发性信息”是指在用于引导数据分析对话继续进行的、不是数据分析结果的信息。例如,启发性信息可以引导用户做出进一步的解释或补充,从而得到设备可以理解的问题。启发性信息也可以是数据分析设备主动推荐给用户的与用户当前分析相关的扩展性信息。这些扩展性信息例如可以是数据分析设备通过数据挖掘方法从所分析的数据中得到的。通过这种方式,本公开的实施例的方法和设备可以为用户提供更加满足需求的数据分析结果,显著提高了用户体验。
25.以下参考图1至图8来说明本公开的基本原理和若干示例实现方式。图1示出了其中可以实施本公开的实施例的数据分析设备的计算环境100的框图。应当理解,图1所示出的计算环境100仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。
26.如图1所示,计算环境100包括用户101和通用计算设备形式的计算系统/服务器105。计算系统/服务器105可以用于实施本公开的实施例的数据分析设备(以下也称为“数据分析设备105”)。用户101可以与计算系统/服务器105进行交互以提出数据分析请求102,并获得所需的数据分析结果180。计算系统/服务器105的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算系统/服务器105的并行处理能力。
27.计算系统/服务器105通常包括多个计算机存储介质。这样的介质可以是计算系统/服务器105可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或它们的某种组合。存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据170(例如数据集172)并且可以在计算系统/服务器105内被访问。应当理解,以上描述仅仅是示例性的,数据集172不仅能够存储在存储设备130中,也可以存储在网络存储设备或其他任何适当形式的存储装置中。
28.计算系统/服务器105可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器120可以包括一个或多个程序产品122,其具有一个或多个程序模块集合,这些程序模块被配置为执行本文所描述的各种实施例的功能。
29.通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算系统/服务器105的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算系统/服务器105可以使用与一个或多个其他服务器、网络个人计算机(pc)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
30.输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算系统/服务器105还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算系统/服务器105交互的设备进行通信,或者与使得计算系统/服务器105与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
31.如图1所示,存储设备130中存储有数据170,其包括数据集172(例如涉及关于各年
度鲨鱼攻击人类的统计数据),计算系统/服务器105能够通过输入设备150接收用户101输入的针对数据集172的数据分析请求102,基于数据分析请求102来确定用于引导对话的启发性信息103,并通过输出设备160将启发性信息103提供给用户101,用于引导用户101提供与数据分析请求相关联的补充信息。然后,计算系统/服务器105能够基于该补充信息完成数据分析过程,得到满足用户需求的数据分析结果180。逻辑上,数据分析结果180可以利用图形、表格、文本、音频、视频或其任意组合形式来进行展示。应当理解,数据分析结果180可以以任意适当的形式来展示,以上所述形式仅仅是示例性的,无意限制本公开的范围。
32.以下通过具体示例来进一步描述本公开的实施例。图2示出了根据本公开的实施例的用于进行数据分析的数据集200的示意图。虽然图2中采用了多维表格的形式来示出该数据集200,应当理解,数据集200可以具有任意适当的形式,图2中的示例无意限制本公开的范围。数据集200可以实现为图1的数据分析设备105中的数据集172。
33.在一些实施例中,数据集200可以是存储在数据库中的单个表格、逗号分隔数值(csv)文件或者任何其他适当形式的文件,也可以从多个表格联合得到。如图2所示,在此示例中,数据集200是一个包含世界范围内鲨鱼攻击记录的表格,其具有多行和多列。每一条记录是该表格中的一行,列“国家”210、“性别”220、“致命性”230、“活动”240、“攻击次数”250和“年度”260分别是数据的维度。针对数据集200可以预先建立一个数据模型,其中可以包括一个或多个内容项以及与这些内容项相关联的一个或多个操作。这些内容项可以包括数据的维度,也可以包括根据预定算法从这些内容项确定出其他内容项。
34.对于数据集200的数据分析任务可以包括多种联机分析技术(olap),例如聚合、交叉分析(slicing and dicing)、下钻(drill-down)和上卷(roll-up)等等。另外,数据分析任务还可以包括模式挖掘,诸如趋势、异常值或异常点、相关性,等等。复杂的数据分析任务可以包括多个子任务。通过基于语义来将数据分析请求解析成与查询语言(例如sql、dax和mdx)对应的操作,数据分析任务可以对数据集200执行这样的操作来得到针对该数据分析请求的结果。
35.根据本公开的一些实施例,数据分析设备105可以从用户101接收多种形式的数据分析请求102。这种数据分析请求可以是简单的短句;也可以是复杂句子,例如多个简单句子的组合或者具有很多限定的长句子。图3示出了根据本公开的实施例的对于数据集200进行数据分析的示意图300。在图3的实施例中,用户101输入的数据分析请求102为“请按年度列出危险国家”。当接收到该数据分析请求102后,数据分析设备105从中识别出一个或多个内容项,例如“年度”、“危险”、“国家”等。
36.然后,数据分析设备105将识别出来的内容项与针对数据集200预先建立的数据模型进行比较,从而确定与所识别的内容项相关联的操作。在该实施例中,“年度”和“国家”这两个内容项均已在数据模型中定义了相关联的操作,但是“危险”这一内容项并未定义相应操作。因此,数据分析设备105无法确定与内容项“危险”相关联的操作。可以理解,这种不确定性不是由于词语“危险”本身的含义不清楚造成的,而是指不能确定应该基于该词语而对数据集进行什么样的操作。
37.在这种情况下,数据分析设备105可以生成针对该数据分析请求102的问题,例如“请解释

危险国家’中的

危险’是什么意思?”。这一问题用于启发用户101提供关于内容项“危险”的澄清性信息,从而引导用户101与数据分析设备105之间的对话。
38.当接收到上述启发性信息103时,用户101可以输入澄清性信息,例如,“致命攻击次数高于100”。该澄清性信息进一步解释“危险”这一内容项的含义。这样,根据本公开的实施例,数据分析对话不会因为分析请求中的某些项所对应的操作不确定而终止或者报错。相反,系统将通过启发用户输入澄清性信息来引导数据分析对话正常进行。
39.由于“致命”和“攻击次数”均属于已建立的数据模型中的内容项,数据分析设备105可以根据这些内容项查找与其对应的操作,并对数据集200实施所查找到的操作。在该实施例中,数据分析设备105确定出澳大利亚和美国是致命攻击次数高于100的国家,即用户101所输入的“危险国家”。此外,数据分析设备105还按年度的攻击次数给出了这两个国家的攻击次数统计图,便于用户进一步查看相关信息。
40.利用这种双向对话方式,数据分析设备105可以通过让用户101提供澄清性信息来补充数据分析请求102,从而获取更加满足用户需求的数据分析结果。这种方式减少了数据分析设备105无法得到数据分析结果或者得到错误结果的可能性,显著提高了用户体验。
41.除了启发用户提供澄清性信息之外或者作为补充,数据分析设备105还可以向用户提供对于数据分析结果的扩展的启发性信息。图4a示出了根据本公开的实施例的对于数据集200进行数据分析的示意图400。在图4a所示的实施例中,用户101输入的数据分析请求102为“按年度查”。当数据分析设备105接收到该数据分析请求102后,从该请求中识别出内容项“年度”,并从数据模型中确定与“年度”相关联的一个或多个操作。通过执行这些操作,可以得到按年度统计的攻击次数曲线410。此外,数据分析设备105还将数据分析结果应用于一个或多个预定义的操作模板中,从而对曲线410中的异常值411进行了扩展性分析,得到了如下启发性信息:“想了解关于1960年异常值的问题吗?”并提供了相应的选项“好”或者“不,谢谢”。
42.根据本公开的实施例,预定义的操作模板可以是根据历史统计信息、用户101的简档或偏好、多个用户的访问记录等来建立的包括一个或多个操作的集合。在一些实施例中,预定义的操作模板可以是对异常数值的分析、对数据趋势的分析、对最高或最低数据的分析,等等。应当理解,上述关于预定义的操作模板的描述仅仅是示例性的,无意以任何方式限制本公开的范围。本领域技术人员可以理解,预定的操作模板可以以任何适当的形式来实现。
43.图4b示出了根据本公开的实施例基于图4a的启发性信息进行双向对话的数据分析过程示意图450。在图4b所示的实施例中,用户101根据数据分析设备105提供的启发性信息输入补充信息,例如输入“好”或者点击带有“好”的按钮。当接收到该补充信息之后,数据分析设备105利用预定义的操作模板或者根据用户输入的补充信息再次在操作模型中确定的操作,来得到相应的数据分析结果。
44.仍然参考图2的示例,该结果包括文字“如果按照活动来分解该异常值,“捕鱼”攻击次数在1960年的所有活动中占第一位”451、图表452以及进一步的启发性信息453,即“捕鱼具有2个主要方面,您需要了解哪一方面?”以及“男性”、“非致命性”和“不,谢谢”这三个按钮。用户101可以基于该进一步的启发性信息453继续提供补充信息,例如从“男性”、“非致命性”和“不,谢谢”这三个按钮中选择一个,从而得到相应的数据分析结果。
45.利用这种双向对话方式,数据分析设备105可以通过向用户101提供启发性信息来提供对数据分析结果的扩展,从而可以从多角度或者多方位提供更有可能满足用户进一步
需求的数据分析结果。这种方式有效提高了用户得到所需的进一步数据分析结果的可能性,显著改善了用户体验。
46.以下更详细地描述了关于双向对话方式的数据分析方法和设备的若干示例实施例。图5示出了根据本公开的实施例的用于数据分析的方法500的流程图。应当理解,方法500可以由参考图1所描述的处理单元110执行。
47.在510,在对话中接收来自用户的针对数据集的数据分析请求。以图1的实施例为例,用户101向数据分析设备105,例如数据分析设备105的输入设备150,来提供数据分析请求102。举例而言,用户101可以以文本、话音或其组合形式在对话框中输入数据分析请求101,也可以通过对按钮、下拉框、图形、曲线、文字的点击或触摸来输入数据分析请求101,又或者可以通过对预定控件、图形、文字等的拖拽来输入数据分析请求101。应当理解,上述用以输入数据分析请求101的示例仅仅是为了讨论的目的,其并非是限制性的,无意以任何方式限制本公开的范围。
48.在一些实施例中,当数据分析设备105接收到来自用户的文本、话音或其组合形式的数据分析请求101时,数据分析设备105可以将其保存到内存或预定存储空间以便后续使用。当检测到用户101对按钮、下拉框、图形、曲线、文字的点击或触摸时,数据分析设备105可以确定与该点击或触摸相关联的一个或多个事件,并基于该事件来得到与接收到的数据分析请求相关的信息。当检测到用户101对预定控件、图形、文字等的拖拽时,数据分析设备105可以确定与该拖拽相关联的一个或多个事件,并基于该事件来得到与接收到的数据分析请求相关的信息。
49.在520,基于数据分析请求,确定启发性信息。在本公开的实施例中,启发性信息是不同于针对用户的数据分析请求而产生的结果的、用于引导用户与数据分析设备之间的会话以使其不至于中断或报错的信息。例如,启发性信息可以引导用户澄清其输入的数据分析请求中的某些概念,或者向用户提供与数据分析结果有关的其他扩展信息,等等。
50.根据本公开的实施例,数据分析设备105可以通过多种方式来确定启发性信息。在一些实施例中,数据分析设备105可以通过从数据分析请求中提取内容项,例如,例如关于地点、时间、日期、事件、品牌、类别等的字词或短语。在一些替代性实施例中,数据分析设备105还可以基于所提取的内容项来确定与其相关性较高的内容项。随后,数据分析设备105可以确定是否能够基于所提取的内容项和/或所确定的内容项来确定将要被应用于数据集的至少一个操作。
51.例如,数据分析设备105可以对数据分析请求执行语言学分析,从而确定该数据分析请求中的字词具有的词性,例如“名词”、“代词”、“副词”等,确定该字词的限定作用,例如“状语”、“定语”、“谓语”等,和/或确定该字词的其他语言属性。应当理解,上述语言学分析过程可以通过利用传统的语言学分析算法(例如part-of-speech(pos)标记算法)来实现,在此不再赘述。
52.可选地,数据分析设备105还可以检测数据分析请求的上下文。在此过程中,数据分析设备105可以通过查询用户在输入该数据分析请求之前预定时段内或者在预定数目的语句中所输入的内容,来判断该数据分析请求是在什么环境下提出的、该请求中的代词指的是什么内容项、该请求中省略了什么内容,等等。
53.然后,数据分析设备105可以基于上述得到的内容项、语言学分析结果、上下文以
及预定义的数据模型,来尝试确定该至少一个操作。预定义的数据模型可以包括内容项以及与该内容项相关联的一个或多个操作。在一个实施例中,内容项的每个操作例如可以与不同的语言学模式有关。在这种情况下,数据分析设备105可以根据上述语言学分析结果和上下文来确定内容项的语言学模式,从而可以进一步确定具有该语言学模式的内容项的操作。
54.在一些实施例中,如果无法确定出任何操作,则数据分析设备105则可以认为所识别出的内容项具有无法理解的含义,需要用户进行澄清。在此情况下,数据分析设备105可以基于所识别的内容项生成针对数据分析请求的问题,用以启发用户提供关于内容项的澄清性信息。
55.作为备选方案,在另一些实施例中,如果数据分析设备105能够基于所识别的内容项确定一个或多个操作,则数据分析设备105可以确定用于实现所述至少一个操作的代码片段,并基于该代码片段确定上述启发性信息。根据本公开的实施例,代码片段例如是用于实现与内容项相关联的操作的程序或一段代码。内容项例如可以是这个代码片段的输入或者输入的一部分,并可以具有不同的类别、目的或用途。一个代码片段可能包括按照一定顺序执行的一个或多个操作。代码片段可以是按需、动态和/或自动生成的程序;也可以预先定义的、存储在特定存储器中的程序。应当理解,代码片段是可灵活配置的,其可以采用任何适当的编程语言或格式来实现,在此无意以任何方式限制本公开的范围。
56.在一些实施例中,如果数据分析设备105基于所识别的内容项确定出多个代码片段,则数据分析设备105可以对这多个代码片段进行排序,例如按照针对数据分析请求的语言学分析结果和/或上下文信息来对这些代码片段进行打分,继而按照该分数对代码片段进行排序。得分较高的代码片段意味着该代码片段更可能满足用户的数据分析需求。数据分析设备105可以将根据得分最高的代码片段所得到数据分析结果提供给用户101。此外,数据分析设备105可以将得分稍低的代码片段对应的选项或者根据这些代码片段所得到的结果作为启发性信息提供给用户101。这样的启发性信息包括了对于数据分析结果的扩展信息,从而提高了提供满足用户需求的数据分析结果的可能性。
57.根据本公开的一些备选实施例,数据分析设备105还可以通过基于数据分析请求中的内容项、针对数据分析请求的结果、预定的扩展规则等来扩展数据分析请求,来确定启发性信息。在一些实施例中,数据分析设备105可以确定与针对数据分析请求的结果相关联的其他操作,例如可以通过将该结果从提取内容项来根据预先建立的数据模型来查找匹配的操作。然后,数据分析设备105可以基于所确定的操作得到代码片段,并运行所得到的代码片段而得到结果,以便后续将该结果作为启发性信息提供给用户101。
58.作为替代方案,在另一些实施例中,数据分析设备105还可以将数据分析请求中的内容项、针对数据分析请求的结果中所提取的内容项等应用于预定的扩展规则,从而得到与已有内容项相关联的一个或多个扩展内容项。这时,数据分析设备105可以尝试确定与该扩展内容项相关联的操作,并得到相应的代码片段,进而通过运行代码片段来得到扩展分析结果。
59.在530,向用户提供启发性信息,以使用户能够基于启发性信息提供与数据分析请求相关联的补充信息。在一些实施例中,数据分析设备105可以将以上得到的扩展分析结果作为启发性信息提供给用户,以供用户选用。
60.在一些备选实施例中,数据分析设备105也可以仅向用户101提供与扩展内容项相关联的代码片段的标识作为启发性信息,例如以序号、关键字等形式展示给用户,仅当用户点击或输入相应序号或关键字时,数据分析设备105才运行对应的代码片段来得到扩展分析结果。通过这种方式,可以减少不必要的系统资源消耗,提高了运行效率和速度。
61.在另一些备选实施例,在530,数据分析设备105可以将基于所识别的内容项生成针对数据分析请求的问题作为启发性信息提供给用户,用以启发用户101提供关于该内容项的澄清性信息。
62.根据本公开的实施例,用户101接收到启发性信息后,可以提供与数据分析请求相关联的补充信息。该补充性信息可以是对于数据分析设备105关于数据分析请求所提出的问题的澄清性信息,也可以是对于是否查看扩展分析结果以及查看哪个扩展分析结果的选择性信息。数据分析设备105在接收到来自用户的补充信息后,可以确定与补充信息相关联的数据分析结果,并向用户提供所确定的数据分析结果。以此方式,可以有效提高用户得到所需数据分析结果的可能性,显著改善了用户体验。
63.根据本公开的实施例,数据分析设备105将数据分析请求和/或补充信息中的至少一项作为用户简档进行存储,以便后续基于该用户简档提供相关的数据分析结果。该用户简档可以包括用户的数据分析历史信息,可以准确反映用户的数据分析习惯。
64.在一些实施例中,即使用户没有提交任何数据分析请求,数据分析设备105也可以根据用户简档来对数据集中的数据进行自动挖掘,主动向用户提供启发性信息。在一些备选或附加实施例中,数据分析设备105还可以获取其他用户的简档,并基于该用户的简档和/或其他用户的简档来确定数据分析策略。例如,当大部分用户在过去一段时间内都希望得到数据的异常点时,数据分析策略例如可以是“分析异常点”。应当理解,这仅仅是示例性的。在本公开的实施例中,数据分析策略还可以包括分析数据的平均结果、极值或者其他信息,也可以包括这些分析的优先级或执行次序,还可以包括任何其他适当的分析方式。然后,数据分析设备105可以根据所确定的数据分析策略来分析数据,从而得到启发性信息并提供给用户。用户可以根据该启发性信息来确定想要查看的数据分析结果。通过这种方式,可以帮助用户更好地理解数据,有效引导数据分析对话。
65.现在结合图6更详细地描述关于根据本公开的双向对话方式的数据分析方法的实施例。图6示出了根据本公开的实施例的用于数据分析的方法600的流程图。应当理解,方法600可以由参考图1所描述的处理单元110执行,并且可以认为是方法500的一种具体实施方式。还应当理解,方法600仅仅是示例性的而不是限制性的,方法600中的各个操作可以适当的增减,也可以按其他任何适当的顺序执行。
66.在610,数据分析设备105接收来自用户针对数据集的数据分析请求。仍然参考图3所示的实施例,数据分析设备105接收到的来自用户101的数据分析请求例如为“请按年度列出危险国家”,如310所示。在620,数据分析设备105从数据分析请求中提取内容项。继续参考图3的实施例,数据分析设备105从数据分析请求“请按年度列出危险国家”中的内容项例如是“年度”、“危险”、“国家”。
67.在630,数据分析设备105确定是否能够基于内容项确定将应用于数据集的操作。在上述实施例中,由于“年度”和“国家”这两个内容项均已在数据模型中定义了相关联的操作,但是“危险”这一内容项并未定义相应操作,因此数据分析设备105无法确定与内容项“危险”相关联的操作。
68.在640,基于内容项生成针对数据分析请求的问题,来作为启发性信息。例如,数据分析设备105可以生成针对该数据分析请求102的问题,例如“请解释

危险国家’中的

危险’是什么意思?”。在680,数据分析设备105向用户提供该启发性信息,即向用户呈现上述问题,如图3的320所示。
69.在690,接收到来自用户的补充信息。在图3所示的实施例中,用户101输入如下澄清性信息:“致命攻击次数高于100”,如330所示,用以解释“危险”这一内容项的含义。然后,方法600继续进行到620,数据分析设备105从用户的补充信息中提取内容项。例如,数据分析设备105可以从补充信息“致命攻击次数高于100”中提取到内容项“致命”和“攻击次数”等。
70.然后,在630,数据分析设备105确定否能够基于所提取的内容项确定将应用于数据集的操作。在该实施例中,假设“致命”和“攻击次数”均属于已建立的数据模型中的内容项,所以数据分析设备105在640可以根据这些内容项确定出与其对应的、将应用于数据集200的操作。然后,在650,数据分析设备105确定用于实现所确定的操作的代码片段。在660,数据分析设备105可以通过执行该代码片段,来生成相应的数据分析结果,并将该结果提供给用户101。
71.应当理解,以上示例仅仅是说明性的,而不是限制性的。在根据本公开的另一些实施例中,如果数据分析设备105在630判断根据由补充信息所确定的内容项(例如,“致命”和“攻击次数”)仍然无法得到将应用于数据集的操作,则数据分析设备105可以继续向用户101提供启发性信息,以便用户101提供进一步的澄清性信息。
72.在根据本公开的另一些实施例中,如果数据分析设备105在610接收的数据分析请求如图4a中的420所示,即,“按年度查”,则数据分析设备105在620从该请求中识别出内容项“年度”。由于数据模型中存储有与“年度”相关联的操作,因此数据分析设备105在630判定能够基于内容项确定将应用于数据集的操作。
73.然后,在650,数据分析设备105确定用于实现上述操作的代码片段。在660,数据分析设备105可以通过执行该代码片段,来生成相应的数据分析结果,并将该结果提供给用户101,如430所示。
74.在一些实施例中,数据分析设备105还可以基于数据分析结果来确定启发性信息。如图6的实施例所示,数据分析设备105在660将数据分析结果(即,按年度的攻击次数的曲线)提供给用户101之后,还可以在670基于该数据分析结果确定扩展分析结果,并在680将该扩展分析结果作为启发性信息提供给用户101。该启发性信息例如“想了解更多关于1960年异常值的问题吗?”,如图4的440所示,以及相应的候选项441和442。
75.在690,数据分析设备105接收来自用户的补充信息,例如图4b中由443所指示的“好”。在一些实施例中,通过上下文分析,数据分析设备105可以将用户输入的补充信息确定为“想了解更多关于1960年异常值的问题”。然后在620,数据分析设备105从该补充信息中提取内容项,例如“1960”和“异常值”等。
76.然后,在630,数据分析设备105确定否能够基于所提取的内容项确定将应用于数据集的操作。在该实施例中,由于“1960”和“异常值”均属于已建立的数据模型中的内容项,所以数据分析设备105在640可以根据这些内容项确定出与其对应的、将应用于数据集200
的操作。然后,在650,数据分析设备105确定用于实现所确定的操作的代码片段。在660,数据分析设备105通过执行该代码片段,来生成相应的数据分析结果,并将该结果提供给用户101,如451和452所示。
77.应当理解,以上示例仅仅是说明性的,而不是限制性的。在根据本公开的另一些实施例中,在提供了上述数据分析结果之后,数据分析设备105还可以向用户101继续提供启发性信息,例如图4b中的453,以便用户查看更多相关数据分析结果。
78.根据本公开的实施例,用户101与数据分析设备105之间的用户界面可以包括一个或多个对话。在一些实施例中,以上结合图5-图6的实施例所描述的对话可以认为是用户界面中的第一对话。数据分析设备105可以在接收到来自用户101的另一数据分析请求时,以拖拽方式建立不同于第一对话的第二对话,并可以在第二对话中向用户提供针对该另一数据分析请求的数据分析结果。图7示出了根据本公开的实施例的多个对话的用户界面700。在图7所示的实施例中,在第一对话710进行过程中,用户101通过点击或拖拽用户界面左侧的文字或按钮“性别”(由701所示)来创建了第二对话720。在该第二对话中,数据分析设备105可以提供针对“性别”这一数据分析请求721的结果,如722所示。通过这种方式,用户可以在多个对话中同时进行多个数据分析任务,有效提高了工作效率,方便了用户使用。
79.根据本公开的进一步的实施例,可以在各个对话中提供给用户候选项以仅呈现与数据分析结果有关的部分。图8示出了根据本公开的实施例的用户界面800。在图8中,用户通过点击用户界面上的相关按钮或控件,来仅使得与数据分析结果有关的部分810、820和830可见。用户可以通过拖拽这些部分810、820和830来进行视图的排列和尺寸的缩放等。此时,与数据分析请求、启发性信息等有关的部分是不可见的。通过这种方式,用户可以方便地获取所需的数据分析结果,例如直接生成报表或图表。这样,在一定程度上方便了用户使用,提高了用户体验。
80.根据本公开的实施例,数据分析设备105可以通过学习用户101的数据分析请求来确定用户的偏好或者兴趣,从而建立用户简档。数据分析设备105还可以在与用户101的对话中对用户简档进行更新和完善,以便更好地理解和分析用户的需求和意图。例如,关于鲨鱼攻击记录这个数据集200,如果用户101正在准备写一篇有关澳大利亚鲨鱼攻击分析的文字,该用户很有可能不需要有关美国的数据分析,而是仅需要有关澳大利亚的数据分析。在此情况下,数据分析设备105可以认为有关澳大利亚这一内容项的各种操作所组成的程序片段具有较高得分。这样,数据分析设备105提供给用户的数据分析结果有很大可能性是有关澳大利亚的,从而能够更好地满足用户需求。
81.本文中所描述的方法和功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。
82.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
83.在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储
以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
84.此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
85.以下列出了本公开的一些示例实现方式。
86.本公开的实施例包括一种计算机实现的方法。该方法包括:在对话中接收来自用户的针对数据集的数据分析请求;基于所述数据分析请求,确定用于引导所述对话的、不同于针对所述数据分析请求的结果的启发性信息;以及向所述用户提供所述启发性信息以使所述用户能够基于所述启发性信息提供与所述数据分析请求相关联的补充信息。
87.在一些实施例中,确定启发性信息包括:从所述数据分析请求中提取内容项;确定是否能够基于所识别的内容项确定将要应用于所述数据集的至少一个操作;以及响应于无法基于所述内容项确定所述至少一个操作,基于所识别的内容项生成针对所述数据分析请求的问题,所述问题用以启发所述用户提供关于所述内容项的澄清性信息。
88.在一些实施例中,确定是否能够基于所识别的内容项确定将要应用于所述数据集的至少一个操作包括:对所述数据分析请求执行语言学分析;检测所述数据分析请求的上下文;以及基于上述内容项、所述语言学分析结果、所述上下文以及预定义的数据模型,来尝试确定所述至少一个操作。
89.在一些实施例中,该方法还可以包括:响应于能够基于所识别的内容项确定所述至少一个操作,确定用于实现所述至少一个操作的代码片段;以及基于所述代码片段确定所述启发性信息。
90.在一些实施例中,确定启发性信息包括:通过基于以下至少一项扩展所述数据分析请求,来生成所述启发性信息:所述数据分析请求中的内容项,针对所述数据分析请求的结果,以及预定的扩展规则。
91.在一些实施例中,该方法还可以包括:响应于接收到来自所述用户的所述补充信息,确定与所述补充信息相关联的数据分析结果;以及向所述用户提供所确定的数据分析结果。
92.在一些实施例中,所述对话是用户界面中的第一对话,并且该方法还可以包括:响应于接收到来自所述用户的进一步的数据分析请求,以拖拽方式建立不同于所述第一对话的第二对话;以及在所述第二对话中向所述用户提供针对所述进一步的数据分析请求的数据分析结果。
93.在一些实施例中,该方法还可以包括:将数据分析请求和补充信息中的至少一项作为用户简档进行存储,以便基于用户简档提供相关数据分析结果。
94.本公开的实施例包括一种电子设备,包括:处理单元;存储器,耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:在对话中接收来自用户的针对数据集的数据分析请求;基于所述数据分析请求,确定用于引导所述对话的、不同于针对所述数据分析请求的结果的启发性信息;以及向所述用户提供所述启发性信息以使所述用户能够基于所述启发性信息提供与所述数据分析请求相关联的补充信息。
95.在一些实施例中,确定启发性信息可以包括:从所述数据分析请求中提取内容项;确定是否能够基于所识别的内容项确定将要应用于所述数据集的至少一个操作;以及响应于无法基于所述内容项确定所述至少一个操作,基于所识别的内容项生成针对所述数据分析请求的问题,所述问题用以启发所述用户提供关于所述内容项的澄清性信息。
96.在一些实施例中,确定是否能够基于所识别的内容项确定将要应用于所述数据集的至少一个操作可以包括:对所述数据分析请求执行语言学分析;检测所述数据分析请求的上下文;以及基于上述内容项、所述语言学分析结果、所述上下文以及预定义的数据模型,来尝试确定所述至少一个操作。
97.在一些实施例中,所述动作还可以包括:响应于能够基于所识别的内容项确定所述至少一个操作,确定用于实现所述至少一个操作的代码片段;以及基于所述代码片段确定所述启发性信息。
98.在一些实施例中,确定启发性信息可以包括:通过基于以下至少一项扩展所述数据分析请求,来生成所述启发性信息:所述数据分析请求中的内容项,针对所述数据分析请求的结果,以及预定的扩展规则。
99.在一些实施例中,所述动作还可以包括:响应于接收到来自所述用户的所述补充信息,确定与所述补充信息相关联的数据分析结果;以及向所述用户提供所确定的数据分析结果。
100.在一些实施例中,所述对话是用户界面中的第一对话,并且所述动作还可以包括:响应于接收到来自所述用户的进一步的数据分析请求,以拖拽方式建立不同于所述第一对话的第二对话;以及在所述第二对话中向所述用户提供针对所述进一步的数据分析请求的数据分析结果。
101.在一些实施例中,所述动作还可以包括:将所述数据分析请求和所述补充信息中的至少一项作为用户简档进行存储,以便基于所述用户简档提供相关数据分析结果。
102.本公开的实施例还提供了一种计算机程序产品,所述计算机程序产品被存储在非瞬态计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在设备中运行时使得所述设备:在对话中接收来自用户的针对数据集的数据分析请求;基于所述数据分析请求,确定用于引导所述对话的、不同于针对所述数据分析请求的结果的启发性信息;以及向所述用户提供所述启发性信息以使所述用户能够基于所述启发性信息提供与所述数据分析请求相关联的补充信息。
103.在一些实施例中,所述机器可执行指令在设备中运行时还使得所述设备:从所述数据分析请求中提取内容项;确定是否能够基于所识别的内容项确定将要应用于所述数据集的至少一个操作;以及响应于无法基于所述内容项确定所述至少一个操作,基于所识别
的内容项生成针对所述数据分析请求的问题,所述问题用以启发所述用户提供关于所述内容项的澄清性信息。
104.在一些实施例中,所述机器可执行指令在设备中运行时还使得所述设备:对所述数据分析请求执行语言学分析;检测所述数据分析请求的上下文;以及基于上述内容项、所述语言学分析结果、所述上下文以及预定义的数据模型,来尝试确定所述至少一个操作。
105.在一些实施例中,所述机器可执行指令在设备中运行时还使得所述设备:响应于能够基于所识别的内容项确定所述至少一个操作,确定用于实现所述至少一个操作的代码片段;以及基于所述代码片段确定所述启发性信息。
106.在一些实施例中,所述机器可执行指令在设备中运行时还使得所述设备:通过基于以下至少一项扩展所述数据分析请求,来生成所述启发性信息:所述数据分析请求中的内容项,针对所述数据分析请求的结果,以及预定的扩展规则。
107.在一些实施例中,所述机器可执行指令在设备中运行时还使得所述设备:响应于接收到来自所述用户的所述补充信息,确定与所述补充信息相关联的数据分析结果;以及向所述用户提供所确定的数据分析结果。
108.在一些实施例中,所述对话是用户界面中的第一对话,并且所述机器可执行指令在设备中运行时还使得所述设备:响应于接收到来自所述用户的进一步的数据分析请求,以拖拽方式建立不同于所述第一对话的第二对话;以及在所述第二对话中向所述用户提供针对所述进一步的数据分析请求的数据分析结果。
109.在一些实施例中,所述机器可执行指令在设备中运行时还使得所述设备:将所述数据分析请求和所述补充信息中的至少一项作为用户简档进行存储,以便基于所述用户简档提供相关数据分析结果。
110.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1