CN114912427A - 响应于用户输入的数据表分析 - Google Patents

响应于用户输入的数据表分析 Download PDF

Info

Publication number
CN114912427A
CN114912427A CN202110185501.1A CN202110185501A CN114912427A CN 114912427 A CN114912427 A CN 114912427A CN 202110185501 A CN202110185501 A CN 202110185501A CN 114912427 A CN114912427 A CN 114912427A
Authority
CN
China
Prior art keywords
data table
user input
analysis operation
cell
determining
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
CN202110185501.1A
Other languages
English (en)
Inventor
侯智涛
张海东
王韵
张冬梅
楼建光
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202110185501.1A priority Critical patent/CN114912427A/zh
Priority to PCT/US2022/015008 priority patent/WO2022173635A1/en
Priority to US18/263,285 priority patent/US20240104297A1/en
Priority to EP22704720.6A priority patent/EP4291990A1/en
Publication of CN114912427A publication Critical patent/CN114912427A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

根据本公开的实现,提出了一种响应于用户输入来分析数据表的方案。在该方案中,确定在数据表的单元格中的用户输入。该数据表包括按照行和列排列的多个单元格。基于用户输入和数据表的语义,确定与用户输入相对应的针对数据表的分析操作。进而在数据表的区域中呈现分析操作的结果。以此方式,可以充分利用数据表的网格来提供用户期望的分析操作的结果,促进高效且用户友好的数据分析。

Description

响应于用户输入的数据表分析
背景技术
数据分析作为支持知识发现和决策的重要手段,已经被广泛应用。在实际应用中,人们经常将数据以数据表的方式进行组织,以用于数据的视觉呈现和分享。这种数据表通常呈现为由单元格组成的网格(grid),即,具有网格式界面。此外,人们可能期望对数据进一步挖掘,以从中获取其他期望的信息。一些数据的编辑或分析工具被开发用于操作原始数据表,但这要求用户具备一定的分析技能和对各种编辑或分析工具的熟练操作。
发明内容
根据本公开的实现,提出了一种响应于用户输入来分析数据表的方案。在该方案中,确定在数据表的单元格中的用户输入。该数据表包括按照行和列排列的多个单元格。基于用户输入和数据表的语义,确定与用户输入相对应的针对数据表的分析操作。进而在数据表的与该单元格相关的区域中呈现分析操作的结果。以此方式,可以利用数据表的网格特性来提供用户期望的分析操作的结果,促进简单高效且用户友好的数据分析。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
图1示出了能够实施本公开的多个实现的计算设备的框图;
图2示出了根据本公开的一些实现的处理模块的框图;
图3A示出了根据本公开的一些实现的用户输入的一个示例;
图3B示出了根据本公开的一些实现的用户输入的另一示例;
图3C示出了根据本公开的一些实现的用户输入的又一示例;
图4示出了根据本公开的一些实现的形式语言的示例;
图5示出了根据本公开的一些实现的数据表语义的示例表示;
图6A示出了根据本公开的一些实现的与相邻列有关的动作的一个示例;
图6B示出了根据本公开的一些实现的与相邻列有关的动作的另一示例;
图6C示出了根据本公开的一些实现的与相邻列有关的动作的又一示例;
图6D示出了根据本公开的一些实现的与相邻列有关的动作的又一示例;
图7A示出了根据本公开的一些实现的数据输入场景的示例;
图7B示出了根据本公开的一些实现的数据转变场景的示例;
图7C示出了根据本公开的一些实现的数据视觉呈现场景的示例;以及
图8示出了根据本公开的实现的用于数据表的分析操作方法的流程图。
这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。
如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本文中,术语“数据表”指的是电子文档工具中可编辑的表。数据表由以行和列布置的单元格形成,数据表的多个单元格组成网格,单元格中填充有内容,其也被称为“数据项”。可以以列主序或行主序的形式来组织数据表。提供可编辑数据表的电子文档诸如可以包括电子表单、可插入数据表的文本文档、演示文档等。很多电子文档工具,诸如电子表单应用、文字处理应用、演示文档应用等,可以提供数据表的数据、结构、格式等等方面的编辑。
如以上所提及的,通常以网格的形式来建立数据表,并且这种数据表具有庞大且多样的用户群。这种数据表的网格式界面非常灵活和强大。然而,供用户处理数据表(例如,分析数据表中的数据)的现有方案通常要求用户具备一定的数据分析技能,并且需要用户能够熟练使用数据表编辑和分析工具。
在一种现有方案中,用户需要利用公式以对数据表中的数据项进行分析。这种方案要求用户知晓所感兴趣的度量与数据表中已填充的数据项之间的关系,同时也需要用户掌握公式的语言。。另一种利用透视数据表的现有方案不易于进行复杂的分析和计算。此外,还有一些现有方案未利用数据表的网格式界面。因此,期望能够提供一种直观、易于用户使用且可以满足复杂分析要求的用于处理数据表的方案。
有鉴于此,根据本公开的实现,提供了一种响应于用户输入来处理数据表的方案,旨在解决上述问题以及其他潜在问题中的一个或多个。在该方案中,确定在数据表的单元格中的用户输入。该数据表包括按照行和列排列的多个单元格。换言之,该数据表具有网格形式。基于用户输入和数据表的语义,确定与用户输入相对应的针对数据表的分析操作。进而确定分析操作的结果,并且在数据表的与该单元格相关的区域中呈现分析操作的结果。在该方案中,与用户输入相对应的分析操作可以包括但不限于针对数据表的数据统计、数据选取、数据转变、数据输入、数据视觉呈现等。
在该方案中,利用由数据表的网格式界面提供的丰富信息来确定用户所期望的针对数据表的操作。该方案可以支持自然语言的用户输入,从而减少用户学习用于数据处理和分析的特定语言(例如,公式)的难度。并且,该方案能够在有效理解数据表的语义的基础上,根据所确定的在单元格中的用户输入,自动确定针对数据表的分析操作。此外,该方案直接在网格式界面的与用户输入相关的区域中提供分析操作的结果。以此方式,可以简单高效地实现复杂的数据分析和处理。同时,通过支持在数据表的单元格中提供用户输入,以及在与用户输入相关的区域中呈现操作结果,使得用户可以方便直观地针对数据表进行分析和操作,进而可以提升用户体验。
以下进一步结合附图来详细描述该方案的各种示例实现。
示例环境
图1示出了能够实施本公开的多个实现的计算设备100的框图。应当理解,图1所示出的计算设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。如图1所示,计算设备100包括通用计算设备形式的计算设备100。计算设备100的组件可以包括但不限于一个或多个处理器或处理单元110、存储器120、存储设备130、一个或多个通信单元140、一个或多个输入设备150以及一个或多个输出设备160。
在一些实现中,计算设备100可以被实现为具有计算能力的各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,计算设备100能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
处理单元110可以是实际或虚拟处理器并且能够根据存储器120中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备100的并行处理能力。处理单元110也可以被称为中央处理单元(CPU)、微处理器、控制器、微控制器。
计算设备100通常包括多个计算机存储介质。这样的介质可以是计算设备100可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器120可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或其某种组合。存储器120可以包括一个或多个模块,其具有一个或多个程序指令,这些模块可以由处理单元110访问和运行,以实现本文所描述的各种实现的功能。例如,存储器120可以包括分析模块122,用于响应于用户输入来提供针对数据表的操作结果。
存储设备130可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,其能够用于存储信息和/或数据并且可以在计算设备100内被访问。计算设备100可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图1中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
通信单元140实现通过通信介质与另外的计算设备进行通信。附加地,计算设备100的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备100可以使用与一个或多个其他服务器、个人计算机(PC)或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
输入设备150可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备160可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备100还可以根据需要通过通信单元140与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备100交互的设备进行通信,或者与使得计算设备100与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
在一些实现中,除了被集成在单个设备上之外,计算设备100的各个部件中的一些或所有部件还可以以云计算架构的形式被设置。在云计算架构中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。在一些实现中,云计算提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实现中,云计算使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过web浏览器或任何其他计算组件被访问。云计算架构的软件或组件以及相应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并或者它们可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商提供本文所描述的组件和功能。备选地,它们也可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。
计算设备100可以用于实施本公开的多种实现中的数据表处理。如图1所示,在一个示例中,计算设备100可以通过输入设备150接收数据表170。在另一示例中,计算设备100可以从存储设备130检索存储于其中的数据表170。在又一示例中,计算设备100可以经由通信单元140从外部接收数据表170。
在图1的示例中,数据表170以列主序的方式被组织。可以用“A”、“B”、“C”等字母来表示各个列,并且用“1”、“2”、“3”等阿拉伯数字来表示各个行。相应地,可以用字母和数字的组合来表示各个单元格。例如,单元格172可以被表示为“C13”。
数据表170的区域171,即列A至列E,已经被填充有数据项。在这一具体示例中,列A至列E分别指示“Year(年份)”、“Brand(品牌)”、“Category(类别)”、“Model(型号)”和“Sales(销售额)”。在被分析模块122处理之前,数据表170中的列F至列K尚未被填充数据项。
计算设备100能够通过输入设备150接收针对数据表170中的单元格的用户输入。图1示出了分别针对G6、H6、I6和J6单元格的用户输入190-1、190-2、190-3和190-4,其在下文中也可以统称或单独称为“用户输入190”。用户输入190可以是自然语言的输入。用户输入190也可以是自然语言和符号(例如,数学符号)相结合的输入。用户输入190可以包括词语、短语。在根据本公开的实现中,用户输入190可以不包括完整的语句。用户输入190指示要对数据表170进行操作。为此,用户输入190可以以预定符号开始。备选地或附加地,可以在呈现数据表170的应用中设置特定模式,在该特定模式启用时对数据表170中的单元格的输入可以指示要对数据表170进行操作。
在一些实现中,用户输入190可以是文本形式的输入。例如,用户输入190可以是以预定符号开始的自然语言输入。预定符号可以是任何合适的符号,例如冒号、问号。用户可以在单元格中输入以预定符号开始的文本。在这种实现中,响应于检测到单元格中以预定符号开始的用户输入,分析模块122可以开始处理数据表170以呈现用户所期望的分析操作的结果。以此方式,用户可以以简单且直接的方式触发对数据表的处理。
在一些实现中,用户输入190可以是从用户的语音输入转换的文本。例如,用户可以使用手指、触控笔等选择数据表170的某一单元格(例如,G6单元格),并利用语音输入设备说出词语、短语或语句。在这种实现中,响应于接收到针对单元格的语音输入,分析模块122可以将语音输入转换成文本,然后基于该文本处理数据表以呈现用户所期望的分析操作的结果。
数据表170和用户输入190被提供给分析模块122。分析模块122通过对用户输入190的解译,确定与用户输入190相对应的针对数据表170的分析操作。分析模块122至少基于数据表170中的数据项,确定分析操作的结果。计算设备100可以在数据表170的与用户输入的单元格相关的区域中呈现分析操作的结果。例如,计算设备100可以在接收到用户输入190的单元格所在的列中呈现分析操作的结果。
参考图1的示例,区域181、182、183和184中分别呈现了与用户输入190-1、190-2、190-3和190-4相对应的分析操作的结果。用户输入190-1、190-2、190-3和190-4可以被分别接收,并且相应分析操作的结果可以被分别呈现。计算设备100可以确定在单元格G6中的用户输入190-1,例如图1所示的“:list brands(:列举品牌)”。响应于用户输入190-1,计算设备100可以在区域181中呈现与用户输入190-1相对应的分析操作的结果,即列举品牌“AAA”和“BBB”。随后,计算设备100可以确定在单元格H6中的用户输入190-2,例如图1所示的“:SUV sales(:SUV销售额)”。响应于用户输入190-2,计算设备100可以在区域182中呈现与用户输入190-2相对应的分析操作的结果,即,针对品牌“AAA”和“BBB”分别示出SUV的销售额。接下来,计算设备100可以确定在单元格I6中的用户输入190-3,例如图1所示的“:sales(:销售额)”。响应于用户输入190-3,计算设备100可以在区域183中呈现与用户输入190-3相对应的分析操作的结果,即,针对品牌“AAA”和“BBB”分别示出总销售额。类似地,计算设备100可以随后确定在单元格J6中的用户输入190-4,例如图1所示的“:Ratio(:比例)”。响应于用户输入190-4,计算设备100可以在区域184中呈现与用户输入190-4相对应的分析操作的结果,即,针对品牌“AAA”和“BBB”分别示出SUV销售额相对于总销售额的比例。
如果数据表170中填充的数据项被更新,区域181、182、183和184中所呈现的结果也可以被及时更新。例如,如果品牌“AAA”2017年的SUV销售额被修改时,即单元格E2中的数据项被修改时,单元格H7、I7和J7中的数据项也相应被更新。又如,如果数据表170的列A至列E中添加了品牌“CCC”2017年至2019年的销售额,则可以在单元格G9、H9、I9和J9中分别填充如下的数据项,即品牌“CCC”、品牌“CCC”的SUV销售额、品牌“CCC”的总销售额和SUV销售额与总销售额的比例。
如果用户输入190被更新,与用户输入190有关的分析操作的结果也可以被相应更新。例如,如果用户输入190-4被更新,则区域184中呈现的结果可以被相应更新。又如,如果用户输入190-1被更新,则区域181、182、183和184中所呈现的结果均可能被相应更新。
应当理解,图1中所示的用户输入的数目及用户输入所针对的单元格的位置仅是示例性的。计算设备100可以处理更多或更少数目的用户输入,并且不同用户输入所针对的单元格可以相邻或不相邻。此外,虽然图1示出了列主序的数据表170,但根据本公开的实现也可以应用于行主序的数据表或以其他合适形式组织的数据表。当应用于行主序的数据表时,本文中描述的针对列的动作可以应用于行。
以下将参考图2至图8来详细描述分析模块122如何确定与用户输入190相对应的分析操作的结果。
工作原理和基本实现架构
图2示出了根据本公开的一些实现的分析模块122的示例架构。如图1所示,分析模块122可以被实现在图1的计算设备100中。例如,在一些实现中,分析模块122可以被实现为计算机程序模块。如图2所示,分析模块122总体上包括解译器210、组合器220、执行器230和语义抽象层240。应当理解,仅出于示例性的目的描述分析模块122的结构和功能而不是暗示对于本公开的范围的任何限制。本公开的实现也可以被实施在不同的结构和/或功能中。
语义抽象层240被配置为生成和维护数据表170的语义。语义抽象层240可以生成数据表170的语义,并且在数据表170被更新后相应地更新其语义。例如,语义抽象层可以生成数据表170的语义,以指示所填充数据项的区域171,以及列A至列E中所填充的数据项;在与用户输入190-1相对应的分析操作的结果被呈现在区域181中后,语义抽象层240可以更新数据表170的语义,以指示单元格G6至G8中所填充的数据项。
数据表170的语义可以指示构成数据表170的行和/或列、数据项所在区域等。数据表170的语义还可以指示数据表170中所填充的数据项的名称、属性、类型等信息。因此,数据表170的语义可以包括数据表170的模式信息(schema),其用于描述数据表170的数据项的组织和构成。例如,数据表170的语义可以指示数据项以列主序方式组织,构成数据表170的列,哪列或哪些列是维度(dimension),哪列或哪些列是度量(measure),哪列或哪些列是日期等。
除了模式信息,数据表170的语义还可以包括指示数据表170中所填充的数据项之间的关联的信息,其可以称为关联信息。关联信息可以指示数据项在数据表170中的位置关系,例如两个数据项填充在相邻列中。关联信息还可以指示数据项间的依赖关系,例如某个列中的数据项是基于其他列中的数据项计算的。
语义抽象层240可以使用任何合适的方式来表示所提取的语义信息。在一些实现中,语义抽象层240可以利用机器可读语言(诸如形式语言)来表示数据表170的语义。
解译器210被配置为通过解译用户输入190来确定与用户输入190相对应的针对数据表170的分析操作。在下文中,仅出于说明的目的而无意限制本公开的范围,与用户输入190相对应的针对数据表170的分析操作也称为“目标分析操作”。解译器210可以基于用户输入190和语义抽象层240所提取的数据表170的模式信息,确定目标分析操作将要执行的动作211,其在本文中也称为第一动作。
可以理解的是,用户输入190可以通过解译器210被转换成机器可读语言,如下文将描述的。在一些实现中,例如在用户输入190是自然语言输入的实现中,解译器210可以被实现为自然语言解译器。在一些实现中,例如在用户输入190是语音输入的实现中,解译器210可以附加地具有语音识别功能。
在一些实现中,解译器210可以从语义抽象层240获取数据表170的模式信息。解译器210可以基于数据表170的模式信息,确定数据表170中与用户输入190的语义相匹配的至少一个相关列。例如,解译器210可以从用户输入190中提取关键词,从模式信息中获取构成数据表170的列,并确定所提取的关键词是否与各列中的数据项在语义上相匹配。语义相匹配的列可以被确定为相关列。然后,解译器210可以确定目标操作将要执行的与至少一个相关列有关的第一动作211。
下面参考图3A至图3B的示例来描述如何确定相关列和第一动作211。图3A至图3B的示例分别对应于图1中所示的用户输入190-1和190-2。在图3A至图3B的示例中,用户输入190-1和190-2是以冒号“:”开始的自然语言输入。冒号“:”可以用于触发分析模块122处理数据表170。响应于检测到单元格中以冒号“:”开始的用户输入,分析模块122开始处理数据表170。
具体地,图3A示出了针对单元格301(即,数据表170的G6单元格)的用户输入190-1“:list brands”。解译器210可以从用户输入190-1中提取名词性的关键词“brands”。基于数据表170的模式信息,解译器210可以确定数据表170的B列中填充的数据项“brand”与关键词“brands”在语义上相匹配。相应地,解译器210可以将B列确定为相关列。解译器210还可以从用户输入190-1中提取动词性的关键词“list”。由此,解译器210可以将第一动作211确定为列举出B列中填充的数据项,即列举出“Brand”的取值。
图3B示出了针对单元格302(即,数据表170的H6单元格)的用户输入190-2“:SUVsales”。解译器210可以从用户输入190-2中提取关键词“SUV”和“sales”。基于数据表170的模式信息,解译器210可以确定数据表170的C列中填充的数据项“SUV”与所提取的关键词“SUV”在语义上相匹配,并且数据表170的E列中填充的数据项“sales”与所提取的关键词“sales”在语义上相匹配。相应地,解译器210可以将C列和E列确定为相关列。由于关键词“SUV”是C列中填充的数据项,解译器210可以将第一动作211确定为在C列中填充的数据项为“SUV”的情况下对E列中的数据项进行求和,即在“Category”取值为“SUV”的情况下对“Sales”进行求和。
在另一些实现中,如果基于数据表170的模式信息,解译器210没有找出与用户输入190的语义相匹配的相关列,则解译器210可以仅基于用户输入190确定第一动作211。例如,解译器210可以将自然语言的用户输入190转换为适当的机器可读语言,以确定第一动作211。
下面参考图3C来描述这种实现。图3C的示例对应于图1中所示的用户输入190-4。与图3A和图3B类似,在图3C的示例中,用户输入190-4也是以冒号“:”开始的自然语言输入。图3C示出了针对单元格304(即,数据表170的J6单元格)的用户输入190-4“:Ratio”。解译器210可以从用户输入190-4中提取关键词“Ratio”。基于数据表170的模式信息,解译器210未找出与关键词“Ratio”相匹配的列。也即,在这种实现中,解译器210没有找到与用户输入190-4的语义相匹配的相关列。由此,解释器210可以基于用户输入190-4的语义来确定第一动作211。例如,在图3C的示例中,第一动作211可以被确定为计算比例。
继续参考图2。由解译器210确定的第一动作211可以被提供给组合器(composer)220。来自语义抽象层240的数据表170的语义也被提供给组合器220。组合器220被配置为基于第一动作211和数据表170的语义来确定与用户输入190相对应的分析操作221。
组合器220可以根据由语义抽象层240提供的关联信息,基于第一动作211来确定目标分析操作221。在一些实现中,组合器220可以基于关联信息,确定与用户输入190所针对的单元格相邻的至少一个相邻列,并基于所确定的至少一个相邻列来确定目标分析操作221。通常而言,所确定的相邻列可以包括与用户输入190的单元格紧密相邻的列。在另一些实现中,也可以确定与用户输入190的单元格邻近的设定范围内的一个或多个列。
在一些实现中,如果相邻列中未被填充数据项,则组合器220可以将第一动作211确定为目标分析操作221。继续参考上文关于图3A的示例,其中第一动作211被确定为列举出B列中填充的数据项。基于数据表170的关联信息,组合器220可以确定与单元格301(即,图1中的单元格G6)相邻的F列和H列均未被填充数据项。在这种情况下,组合器220可以将解译器210所确定的第一动作211作为与用户输入190-1相对应的目标分析操作221。
在一些实现中,组合器220可以基于相邻列中所填充的数据项,确定与相邻列有关的动作,其在本文中也称为第二动作。在这种情况下,组合器220可以基于第二动作来确定与用户输入190相对应的目标分析操作221的表示。
继续参考上文关于图3B的示例,其中第一动作211被确定为在C列“Category”的数据项为“SUV”的情况下对E列“Sales”中的数据项进行求和。如上文所提及的,在与用户输入190-1相对应的分析操作的结果被呈现在区域181中后,语义抽象层240可以更新数据表170的语义,以指示列321(即,图1中所示的单元格G6至G8)中所填充的数据项。由此,组合器220可以基于所确定的第一动作211以及与单元格302相邻的列321(即,图1中G列)中填充的数据项,确定与相邻列321有关的第二动作(如箭头311所示)。相应地,组合器220基于第二动作确定目标分析操作221的表示。在图3B的示例中,目标分析操作221可以被确定为针对G列“Brand”的每个数据项“在C列“Category”的数据项为“SUV”的情况下对E列“Sales”中的数据项进行求和。
在此简述了组合器220的操作。下文将参考图4、图6来进一步描述组合器220的示例操作。尽管在图2中将解译器210和组合器220分开示出,但是应当理解上文参考解译器210和组合器220所描述的功能可以被实现在同一模块中。
可以用任何合适的机器可读语言来表示第一动作211、第二动作(未示出)以及目标分析操作221。在一些实现中,可以用结构化语言来表示第一动作211、第二动作以及目标分析操作221。这种结构化语言例如可以是结构化查询语言(SQL)。
在一些实现中,可以用逻辑表达式来表示第一动作211、第二动作以及目标分析操作221。在数据表处理中,期望这样的逻辑表达式是可组合的,并且具有高级语义。此外,还期望这样的逻辑表达式支持变量。有鉴于此,在一些实现中,可以用Lambda分析表达式(λ-AE)来表示第一动作211、第二动作以及目标分析操作221。λ-AE,作为一种形式语言,可以以数据表作为输入,并且以数据表作为输出。
现在参考图4。图4示出了根据本公开的一些实现的形式语言的示例。图4所示的λ-AE 410可以用于表示第一动作211,并且λ-AE 420可以用于表示目标分析操作221。如图4所示,λ-AE可以被实现为表达式树的序列或管道。
仅作为示例,而无意限制本公开的保护范围,图4所示的λ-AE 410和λ-AE 420是针对图3B所示的用户输入190-2生成的。如上文参考图3B所描述的,在用户输入190-2为“:SUVsales”的情况下,第一动作211可以被确定为在“Category”取值为“SUV”的情况下对“Sales”进行求和。相应地,λ-AE 410由用于过滤的表达式树411和用于求和的表达式树412的序列组成。表达式树411由节点413、414、415构成,并且指示“[Category]equals‘SUV’([Category]等于‘SUV’)”,即,对数据表170中的数据项进行过滤的条件是“Category”取值为“SUV”。在表达式树411之后的表达式树412可以指示在按表达式树411过滤后的数据表170中对“Sales”求和。
如上文参考图3B所描述的,组合器220将目标分析操作221确定为针对G列“Brand”的每个取值在“Category”取值为“SUV”的情况下对“Sales”进行求和。在图4中,λ-AE 420表示目标分析操作221。相应地,λ-AE 420由用于过滤的表达式树421和用于求和的表达式树422的序列组成。
如图4所示,与表达式树411相比,组合器220通过向表达式树411添加节点423、424、425、426来生成表达式树421。节点423、424、425用于表示确定相邻列(在此示例中为G列)“Brand”的各取值。节点426用于表示对“Brand”的每个取值与“Category“取值为”SUV“的情况进行组合。
从图4的示例中可以看出,表达式树的序列可以具有λ变量作为占位符。由节点425表示的λ变量“?X”可以耦合到一表达式树,例如,可以作为该表达式树的输出,该表达式树可以表示相邻列的语义。对于图3B的示例,该表达式树与G列有关,可以用于表示G列的语义。对此,下文还将参考图5来进一步描述。
从以上示例中可以看出,λ-AE是一种具有高级语义的、可组合的声明性语言。可以利用若干简单的λ-AE来灵活组合成复杂的分析程序来操作数据表。用户可以通过自然语言输入来指示所期望的针对数据表的操作,而不需要具有编程能力。
以上参考图4描述了目标分析操作的示例表示。继续参考图2,由组合器220确定的目标分析操作221被提供给执行器230。例如,表示目标分析操作221的λ-AE 420被输入到执行器230。执行器230通过对数据表170中的有关数据项执行目标分析操作221,来确定与用户输入190相对应的目标分析操作的结果250。在一些实现中,语义抽象层240可以将数据表170的语义提供给执行器230,以供执行器230获得数据表170中的有关数据项。
在一些实现中,执行器230可以将机器可读语言(例如以SQL或λ-AE形式)的目标分析操作221编译为机器可执行指令,从而基于数据表170中的数据项生成结果250。在一些实现中,执行器230可以被实现为转换器,其能够将目标分析操作221转换为公式。该公式进而可以由提供数据表170的文档应用执行并得出结果250。例如,如果数据表170由EXCEL文档应用提供,则执行器230可以将目标分析操作221转换为EXCEL公式。进而可以基于EXCEL公式确定目标分析操作的结果250。
在执行器230生成结果250之后,结果250被呈现在数据表170的与接收用户输入190的单元格相关的区域中。例如,结果250可以被呈现在与接收用户输入190的单元格位于相同列的一组单元格中。在图1的示例中,在G7和G8单元格中呈现与用户输入190-1相对应的操作的结果。结合图1和图3A可以看出,在操作的结果被呈现的同时,G6单元格中原本的用户输入“:list brands”被更新为“Brand”。
在这种实现中,在与用户输入的单元格空间上相关的单元格中呈现结果。以此方式,能够直观地向用户提供所期望的操作的结果,从而提升用户体验。
如果数据表170被更新,例如用户更新数据表170中的有关数据项,则所呈现的结果250可以被随之自动更新。在一些实现中,结果250可以响应于数据表170中的数据项的更新而被自动更新。当数据表170中的数据项(例如,A列至E列中的数据)被更新后,执行器230可以基于目标分析操作221和更新后的数据表170,自动更新结果250。相应地,在数据表170的与用户输入190的单元格相关的区域中所呈现的结果250也被更新。例如,响应于用户在数据表170的B列中添加了“CCC”品牌,执行器230可以更新结果250,并且在G9单元格中呈现“CCC”。
在一些实现中,结果250可以响应于用户输入190的更新而被自动更新。当用户输入190被更新时,分析模块122可以更新与用户输入190相对应的针对数据表170的分析操作,并呈现经更新的分析操作的结果。例如,在图1的示例中,在G列至J列中呈现结果250后,用户可以在G6单元格中提供更新的输入用户“:list brands except BBB”。由于H列至J列中呈现的操作结果也与G列相关,因此G列至J列中呈现的结果均被更新。在更新后的操作结果中,G8、H8、I8和J8单元格变为空。在这种实现中,更新结果的过程与上文参考图2所描述的呈现结果250的过程类似,在此不再重复对其描述。
在一些实现中,分析模块122还可以包括推荐单元(未示出)。由语义抽象层240生成的数据表170的语义可以被提供给该推荐单元。在用户提供针对单元格的用户输入时,推荐单元可以基于用户已输入的词语或符号以及数据表170的语义(例如,数据表170的模式信息),呈现可能的用户输入。例如,在用户已输入“:list bran”的情况下,可以呈现推荐的用户输入“list brands”、“list brands of SUV(列举SUV的品牌)”、“list brands withsales>100(列举销售额大于100的品牌)”。推荐单元可以基于数据表170中已填充的数据项来生成这样的推荐。
以上参考图2描述了根据本公开的数据表分析操作的工作原理和基本实现架构。尽管在本文的示例中,数据表170及用户输入190被示出为英文,但应当理解,这仅是示意性的而无意限制本公开的保护范围。根据本公开的实现的数据表分析操作适用于任何语言的用户输入和数据项。
数据表语义的示例表示
如上文参考图2所描述的,语义抽象层240被配置为生成和维护数据表170的语义。换言之,语义抽象层240实现对数据表170的网格的语义抽象。在一些实现中,语义抽象层240可以利用机器可读语言(诸如形式语言)来表示数据表170的语义。参考图5,其示出了根据本公开的一些实现的示例语义。图5以形式语言λ-AE作为机器可读语言的示例。
图5示出了示例性的数据表501,其包括A列、B列、C列。A列的语义511可以指示按照λ-AEA来确定Func_A的输出作为A列的数据项。B列的语义512可以指示按照λ-AEB来确定Func_B的输出作为B列的数据项,其中λ-AEB所需的变量的值由Func_A的输出来提供。C列的语义513可以指示按照λ-AEC来确定Func_C的输出作为C列的数据项,其中λ-AEC所需的变量的值由Func_B的输出来提供。
在这种实现中,可以利用与第一动作211和目标分析操作221相同的形式语言来表示数据表的关联信息,例如数据项之间的位置关系和依赖关系。以此方式,组合器220能够容易地基于第一动作211和数据表170的关联信息来确定目标分析操作221,例如构建表达式树的序列。
此外,还可以更新数据表170的关联信息。例如,参考图1,在接收到用户输入190-2之前,数据表170的关联信息可以指示H6-H8单元格为空。随后,计算设备100接收到用户输入190-2,并在H6-H8单元格中呈现对应的操作的结果。相应地,组合器220可以将表示与用户输入190-2相对应的分析操作的λ-AE提供给语义抽象层240。语义抽象层240基于该λ-AE来生成H6-H8单元格的语义,以更新数据表170的关联信息。
组合器的示例操作
如上文参考图2所描述的,组合器220可以利用与用户输入190所针对的单元格(也称为“所考虑的单元格”)相邻的至少一个相邻列来确定目标分析操作221。例如,组合器220可以基于至少一个相邻列的语义,确定与用户输入190相对应的分析操作的上下文。可以理解的是,在此描述的上下文是利用单元格在数据表170中的位置关系而确定的,因此这种上下文也可以称为“位置上下文”。
在一些实现中,可以使用与所考虑的单元格紧邻的相邻列来确定上下文。例如,在图3B的示例中,如箭头311所示,与所考虑的单元格302紧邻的列321可以用于确定上下文。由此,结合用户输入190-2“:SUV sales”,所确定的上下文可以是目标分析操作针对相邻列321(即,Brand)的每个数据项取值对SUV销售额求和。
在一些实现中,可以使用与所考虑的单元格邻近的多个列来确定上下文。例如,在图3C的示例中,与单元格304紧邻的列323以及与列323相邻的列322(即,H列和I列)表示相同类型的度量,即,在该示例中为销售额。如箭头312和313所示,列323和列323可以用于确定上下文。由此,结合用户输入190-4“:Ratio”,所确定的上下文可以是目标分析操作基于相邻列322和323计算SUV销售额占总销售额的比例。
为此,可以定义操作符来表示针对数据表170的分析操作将要执行的动作,并且可以定义操作数(operand)来表示动作所针对的列。
图6A至图6D示出了根据本公开的一些实现的动作的示例。图6A示出了由“<<”表示的附加(append)动作的一个示例。在图6A的示例中,列611是用于确定上下文的相邻列。响应于针对单元格601的用户输入,目标分析操作的结果将被呈现在用虚线框表示的列612中。在此示例中,组合器220确定与相邻列有关的动作是将列612附加到列611。
图6B示出了由“X”表示的交叉(cross)动作的一个示例。在图6B的示例中,列621是用于确定上下文的相邻列。响应于针对单元格602的用户输入,目标分析操作的结果将被呈现在用虚线框表示的列622中。在此示例中,组合器220确定与相邻列有关的动作是对列621和622执行交叉动作。由此,在经填充的列622中呈现了品牌为“EEE”的产品的销售额,以及品牌为“FFF”的产品的销售额。
图6C示出了由“X”表示的交叉动作的另一示例。在图6C的示例中,列631是用于确定上下文的相邻列。响应于针对单元格603的用户输入,目标分析操作的结果将被呈现在用虚线框表示的列632中。在此示例中,组合器220确定与相邻列有关的动作是对列631和632执行交叉动作。由于“Category”的取值包括“SUV”和“Midsize”,在经填充的列632中分别针对品牌“EEE”和“FFF”呈现了类别“SUV”和“Midsize”。
图6D示出了由“σ”表示的过滤动作的一个示例。在图6D的示例中,列641和列642是用于确定上下文的相邻列。响应于针对单元格604的用户输入,目标分析操作的结果将被呈现在用虚线框表示的列643中。在此示例中,组合器220确定与相邻列有关的动作是对列641和列642执行过滤动作,即,保留“Sales”取值大于50的行。由此,在更新后的数据表中仅呈现了品牌“EEE”的相关数据。
从以上描述中可以看出,组合器220可以基于至少一个相邻列,确定与用户输入190相对应的分析操作的上下文。因此,可以基于上下文感知计算实现组合器220,并且这种计算包括所定义的操作数和操作符。
应当理解,以上参考图6A至图6D所描述的与相邻列有关的动作仅是示例性的,而无意限制本公开的范围。还可以定义可由组合器220实现的多种动作。组合器220可以利用启发法(heuristic)从以上描述的动作和其他可能的动作中选择将要执行的与相邻列有关的动作。
示例场景
如上文所提及的,与用户输入相对应的针对数据表的分析操作可以包括数据统计、数据输入、数据转变和数据视觉呈现。以上主要结合数据统计场景描述了根据本公开的数据表处理方案。在此提出的数据表分析操作还可以应用于其他场景,包括但不限于,数据输入场景、数据转变场景、数据视觉呈现场景。
图7A示出了根据本公开的一些实现的数据输入场景的示例。图7A示出了针对单元格710的用户输入“:Weekends from now to October(从现在到十月的周末)”。计算设备100可以确定与该用户输入相对应的分析操作为数据输入,即,列举从当前时间至十月的所有周末。计算设备100进而可以基于系统的日历或其他数据源确定该操作的结果,并将所确定的日期呈现在单元格710下方的一组单元格中。
图7B示出了根据本公开的一些实现的数据转变场景的示例。如图所示,列721中呈现了“Michael Jordan”、“Allen Iverson”和“Kevin Durant”等“Name(名字)”。针对单元格720的用户输入为“:First name(名)”。计算设备100可以确定与该用户输入相对应的分析操作为数据转变,即,将列721中各个名字转变为“名”。相应地,计算设备100可以在单元格720下方的单元格中呈现“Michael”、“Allen”和“Kevin”等“First name”。
图7C示出了根据本公开的一些实现的数据视觉呈现场景的示例。如图所示,列731中呈现了“Sales(销售额)”。针对单元格730的用户输入为“:rating as stars(评为星级)”。计算设备100可以确定与该用户输入相对应的分析操作为数据视觉呈现,即,按照“Sales”的取值以星呈现评级。相应地,计算设备100可以在单元格730下方的单元格中呈现相应数目的星形图案作为“Rating(评级)”。
示例方法和示例实现
图8示出了根据本公开一些实现的用于处理数据表的方法800的流程图。方法800可以由计算设备100来实现,例如可以被实现在计算设备100的存储器120中的数据表分析模块122处。
如图8所示,在框810处,计算设备100确定在数据表的第一单元格中的第一用户输入(例如,用户输入190-1至190-4中的任一项)。数据表包括按照行和列排列的多个单元格。在一些实现中,第一用户输入是以预定符号开始的自然语言的输入。
在框820处,计算设备100基于第一用户输入和数据表的语义,确定与第一用户输入相对应的针对数据表的第一分析操作。
在一些实现中,确定第一分析操作包括:基于数据表的语义,确定数据表中与第一用户输入的语义相匹配的至少一个相关列和与第一单元格相邻的至少一个相邻列;以及基于与第一用户输入的语义相匹配的至少一个相关列和与第一单元格相邻的至少一个相邻列,确定第一分析操作。
在一些实现中,确定第一分析操作包括:基于至少一个相关列中填充的数据项,确定与至少一个相关列有关的第一动作;基于第一动作和至少一个相邻列中填充的数据项,确定与至少一个相邻列有关的第二动作;以及基于第二动作,确定第一分析操作的表示。
在框830处,计算设备100在数据表的与第一单元格相关的第一区域中呈现第一分析操作的结果。
在一些实现中,在第一区域中呈现第一分析操作的结果包括:基于多个单元格中的多个数据项中的至少一部分,来确定第一分析操作的结果;以及在与第一单元格位于相同列的一组单元格中呈现第一分析操作的结果。
在一些实现中,方法800还包括:确定在数据表的第二单元格中的第二用户输入,第二单元格与第一单元格相邻,并且第二用户输入指示要对数据表进行操作;基于第二用户输入、数据表的语义和第一分析操作的结果,确定与第二用户输入相对应的针对数据表的第二分析操作;以及在数据表的与第二单元格相关的第二区域中呈现第二分析操作的结果。例如,第一用户输入可以是用户输入190-1,并且第二用户输入可以是用户输入190-2。又如,第一用户输入可以是用户输入190-2,并且第二用户输入可以是用户输入190-3。
在一些实现中,方法800还包括:如果确定第一用户输入被更新,更新第一区域中呈现的第一分析操作的结果;以及基于经更新的第一分析操作的结果,更新第二区域中呈现的第二分析操作的结果。
以下列出了本公开的一些示例实现方式。
在一方面,本公开提供了一种计算机实现的方法。所述方法包括:确定在数据表的第一单元格中的第一用户输入,所述数据表包括按照行和列排列的多个单元格,并且所述第一用户输入指示要对所述数据表进行操作;基于所述第一用户输入和所述数据表的语义,确定与所述第一用户输入相对应的针对所述数据表的第一分析操作;以及在所述数据表的与所述第一单元格相关的第一区域中呈现所述第一分析操作的结果。
在一些实现中,确定所述第一分析操作包括:基于所述数据表的语义,确定所述数据表中与所述第一用户输入的语义相匹配的至少一个相关列和与所述第一单元格相邻的至少一个相邻列;以及基于与所述第一用户输入的语义相匹配的所述至少一个相关列和与所述第一单元格相邻的所述至少一个相邻列,确定所述第一分析操作。
在一些实现中,确定所述第一分析操作包括:基于所述至少一个相关列中填充的数据项,确定与所述至少一个相关列有关的第一动作;基于所述第一动作和所述至少一个相邻列中填充的数据项,确定与所述至少一个相邻列有关的第二动作;以及基于所述第二动作,确定所述第一分析操作的所述表示。
在一些实现中,方法还包括:确定在所述数据表的第二单元格中的第二用户输入,所述第二单元格与所述第一单元格相邻,并且所述第二用户输入指示要对所述数据表进行操作;基于所述第二用户输入、所述数据表的语义和所述第一分析操作的所述结果,确定与所述第二用户输入相对应的针对所述数据表的第二分析操作;以及在所述数据表的与所述第二单元格相关的第二区域中呈现所述第二分析操作的结果。
在一些实现中,方法还包括:如果确定所述第一用户输入被更新,更新所述第一区域中呈现的所述第一分析操作的结果;以及基于经更新的所述第一分析操作的结果,更新所述第二区域中呈现的所述第二分析操作的结果。
在一些实现中,所述第一用户输入是以预定符号开始的自然语言的输入。
在一些实现中,在所述第一区域中呈现所述第一分析操作的结果包括:基于所述多个单元格中的多个数据项中的至少一部分,来确定所述第一分析操作的结果;以及在与所述第一单元格位于相同列的一组单元格中呈现所述第一分析操作的所述结果。
在另一方面,本公开提供了一种电子设备。所述电子设备包括:处理单元;以及存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时,使得所述设备执行动作,所述动作包括:确定在数据表的第一单元格中的第一用户输入,所述数据表包括按照行和列排列的多个单元格,并且所述第一用户输入指示要对所述数据表进行操作;基于所述第一用户输入和所述数据表的语义,确定与所述第一用户输入相对应的针对所述数据表的第一分析操作;以及在所述数据表的与所述第一单元格相关的第一区域中呈现所述第一分析操作的结果。
在一些实现中,确定所述第一分析操作包括:基于所述数据表的语义,确定所述数据表中与所述第一用户输入的语义相匹配的至少一个相关列和与所述第一单元格相邻的至少一个相邻列;以及基于与所述第一用户输入的语义相匹配的所述至少一个相关列和与所述第一单元格相邻的所述至少一个相邻列,确定所述第一分析操作。
在一些实现中,确定所述第一分析操作包括:基于所述至少一个相关列中填充的数据项,确定与所述至少一个相关列有关的第一动作;基于所述第一动作和所述至少一个相邻列中填充的数据项,确定与所述至少一个相邻列有关的第二动作;以及基于所述第二动作,确定所述第一分析操作的所述表示。
在一些实现中,所述动作还包括:确定在所述数据表的第二单元格中的第二用户输入,所述第二单元格与所述第一单元格相邻,并且所述第二用户输入指示要对所述数据表进行操作;基于所述第二用户输入、所述数据表的语义和所述第一分析操作的所述结果,确定与所述第二用户输入相对应的针对所述数据表的第二分析操作;以及在所述数据表的与所述第二单元格相关的第二区域中呈现所述第二分析操作的结果。
在一些实现中,所述动作还包括:如果确定所述第一用户输入被更新,更新所述第一区域中呈现的所述第一分析操作的结果;以及基于经更新的所述第一分析操作的结果,更新所述第二区域中呈现的所述第二分析操作的结果。
在一些实现中,所述第一用户输入是以预定符号开始的自然语言的输入。
在一些实现中,在所述第一区域中呈现所述第一分析操作的结果包括:基于所述多个单元格中的多个数据项中的至少一部分,来确定所述第一分析操作的结果;以及在与所述第一单元格位于相同列的一组单元格中呈现所述第一分析操作的所述结果。
在又一方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
在又一方面,本公开提供了一种计算机可读介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行上述方面的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (20)

1.一种计算机实现的方法,包括:
确定在数据表的第一单元格中的第一用户输入,所述数据表包括按照行和列排列的多个单元格,并且所述第一用户输入指示要对所述数据表进行操作;
基于所述第一用户输入和所述数据表的语义,确定与所述第一用户输入相对应的针对所述数据表的第一分析操作;以及
在所述数据表的与所述第一单元格相关的第一区域中呈现所述第一分析操作的结果。
2.根据权利要求1所述的方法,其中确定所述第一分析操作包括:
基于所述数据表的语义,确定所述数据表中与所述第一用户输入的语义相匹配的至少一个相关列和与所述第一单元格相邻的至少一个相邻列;以及
基于与所述第一用户输入的语义相匹配的所述至少一个相关列和与所述第一单元格相邻的所述至少一个相邻列,确定所述第一分析操作。
3.根据权利要求2所述的方法,其中确定所述第一分析操作包括:
基于所述至少一个相关列中填充的数据项,确定与所述至少一个相关列有关的第一动作;
基于所述第一动作和所述至少一个相邻列中填充的数据项,确定与所述至少一个相邻列有关的第二动作;以及
基于所述第二动作,确定所述第一分析操作的表示。
4.根据权利要求1所述的方法,还包括:
确定在所述数据表的第二单元格中的第二用户输入,所述第二单元格与所述第一单元格相邻,并且所述第二用户输入指示要对所述数据表进行操作;
基于所述第二用户输入、所述数据表的语义和所述第一分析操作的所述结果,确定与所述第二用户输入相对应的针对所述数据表的第二分析操作;以及
在所述数据表的与所述第二单元格相关的第二区域中呈现所述第二分析操作的结果。
5.根据权利要求4所述的方法,还包括:
如果确定所述第一用户输入被更新,更新所述第一区域中呈现的所述第一分析操作的结果;以及
基于经更新的所述第一分析操作的结果,更新所述第二区域中呈现的所述第二分析操作的结果。
6.根据权利要求1所述的方法,其中所述第一用户输入是以预定符号开始的自然语言的输入。
7.根据权利要求1所述的方法,其中在所述第一区域中呈现所述第一分析操作的结果包括:
基于所述多个单元格中的多个数据项中的至少一部分,来确定所述第一分析操作的结果;以及
在与所述第一单元格位于相同列的一组单元格中呈现所述第一分析操作的所述结果。
8.一种电子设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行以下动作:
确定在数据表的第一单元格中的第一用户输入,所述数据表包括按照行和列排列的多个单元格,并且所述第一用户输入指示要对所述数据表进行操作;
基于所述第一用户输入和所述数据表的语义,确定与所述第一用户输入相对应的针对所述数据表的第一分析操作;以及
在所述数据表的与所述第一单元格相关的第一区域中呈现所述第一分析操作的结果。
9.根据权利要求8所述的设备,其中确定所述第一分析操作包括:
基于所述数据表的语义,确定所述数据表中与所述第一用户输入的语义相匹配的至少一个相关列和与所述第一单元格相邻的至少一个相邻列;以及
基于与所述第一用户输入的语义相匹配的所述至少一个相关列和与所述第一单元格相邻的所述至少一个相邻列,确定所述第一分析操作。
10.根据权利要求9所述的设备,其中确定所述第一分析操作包括:
基于所述至少一个相关列中填充的数据项,确定与所述至少一个相关列有关的第一动作;
基于所述第一动作和所述至少一个相邻列中填充的数据项,确定与所述至少一个相邻列有关的第二动作;以及
基于所述第二动作,确定所述第一分析操作的表示。
11.根据权利要求8所述的设备,所述动作还包括:
确定在所述数据表的第二单元格中的第二用户输入,所述第二单元格与所述第一单元格相邻,并且所述第二用户输入指示要对所述数据表进行操作;
基于所述第二用户输入、所述数据表的语义和所述第一分析操作的所述结果,确定与所述第二用户输入相对应的针对所述数据表的第二分析操作;以及
在所述数据表的与所述第二单元格相关的第二区域中呈现所述第二分析操作的结果。
12.根据权利要求11所述的设备,所述动作还包括:
如果确定所述第一用户输入被更新,更新所述第一区域中呈现的所述第一分析操作的结果;以及
基于经更新的所述第一分析操作的结果,更新所述第二区域中呈现的所述第二分析操作的结果。
13.根据权利要求8所述的设备,其中所述第一用户输入是以预定符号开始的自然语言的输入。
14.根据权利要求8所述的设备,其中在所述第一区域中呈现所述第一分析操作的结果包括:
基于所述多个单元格中的多个数据项中的至少一部分,来确定所述第一分析操作的结果;以及
在与所述第一单元格位于相同列的一组单元格中呈现所述第一分析操作的所述结果。
15.一种计算机程序产品,包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行动作,所述动作包括:
确定在数据表的第一单元格中的第一用户输入,所述数据表包括按照行和列排列的多个单元格,并且所述第一用户输入指示要对所述数据表进行操作;
基于所述第一用户输入和所述数据表的语义,确定与所述第一用户输入相对应的针对所述数据表的第一分析操作;以及
在所述数据表的与所述第一单元格相关的第一区域中呈现所述第一分析操作的结果。
16.根据权利要求15所述的计算机程序产品,其中确定所述第一分析操作包括:
基于所述数据表的语义,确定所述数据表中与所述第一用户输入的语义相匹配的至少一个相关列和与所述第一单元格相邻的至少一个相邻列;以及
基于与所述第一用户输入的语义相匹配的所述至少一个相关列和与所述第一单元格相邻的所述至少一个相邻列,确定所述第一分析操作。
17.根据权利要求16所述的计算机程序产品,其中确定所述第一分析操作包括:
基于所述至少一个相关列中填充的数据项,确定与所述至少一个相关列有关的第一动作;
基于所述第一动作和所述至少一个相邻列中填充的数据项,确定与所述至少一个相邻列有关的第二动作;以及
基于所述第二动作,确定所述第一分析操作的表示。
18.根据权利要求15所述的计算机程序产品,所述动作还包括:
确定在所述数据表的第二单元格中的第二用户输入,所述第二单元格与所述第一单元格相邻,并且所述第二用户输入指示要对所述数据表进行操作;
基于所述第二用户输入、所述数据表的语义和所述第一分析操作的所述结果,确定与所述第二用户输入相对应的针对所述数据表的第二分析操作;以及
在所述数据表的与所述第二单元格相关的第二区域中呈现所述第二分析操作的结果。
19.根据权利要求18所述的计算机程序产品,所述动作还包括:
如果确定所述第一用户输入被更新,更新所述第一区域中呈现的所述第一分析操作的结果;以及
基于经更新的所述第一分析操作的结果,更新所述第二区域中呈现的所述第二分析操作的结果。
20.根据权利要求15所述的计算机程序产品,其中所述第一用户输入是以预定符号开始的自然语言的输入。
CN202110185501.1A 2021-02-10 2021-02-10 响应于用户输入的数据表分析 Pending CN114912427A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110185501.1A CN114912427A (zh) 2021-02-10 2021-02-10 响应于用户输入的数据表分析
PCT/US2022/015008 WO2022173635A1 (en) 2021-02-10 2022-02-03 Data table analysis in response to user input
US18/263,285 US20240104297A1 (en) 2021-02-10 2022-02-03 Analysis of spreadsheet table in response to user input
EP22704720.6A EP4291990A1 (en) 2021-02-10 2022-02-03 Data table analysis in response to user input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110185501.1A CN114912427A (zh) 2021-02-10 2021-02-10 响应于用户输入的数据表分析

Publications (1)

Publication Number Publication Date
CN114912427A true CN114912427A (zh) 2022-08-16

Family

ID=80786699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110185501.1A Pending CN114912427A (zh) 2021-02-10 2021-02-10 响应于用户输入的数据表分析

Country Status (4)

Country Link
US (1) US20240104297A1 (zh)
EP (1) EP4291990A1 (zh)
CN (1) CN114912427A (zh)
WO (1) WO2022173635A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1670733A (zh) * 2004-03-18 2005-09-21 微软公司 用自然语言命令呈递表格
CN102782675A (zh) * 2009-10-09 2012-11-14 微软公司 数据分析表达式
US20180203924A1 (en) * 2017-01-18 2018-07-19 Google Inc. Systems and methods for processing a natural language query in data tables
US10146751B1 (en) * 2014-12-31 2018-12-04 Guangsheng Zhang Methods for information extraction, search, and structured representation of text data
CN111625635A (zh) * 2020-05-27 2020-09-04 北京百度网讯科技有限公司 问答处理、语言模型的训练方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571192B2 (en) * 2005-06-15 2009-08-04 Oracle International Corporation Methods and apparatus for maintaining consistency during analysis of large data sets

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1670733A (zh) * 2004-03-18 2005-09-21 微软公司 用自然语言命令呈递表格
CN102782675A (zh) * 2009-10-09 2012-11-14 微软公司 数据分析表达式
US10146751B1 (en) * 2014-12-31 2018-12-04 Guangsheng Zhang Methods for information extraction, search, and structured representation of text data
US20180203924A1 (en) * 2017-01-18 2018-07-19 Google Inc. Systems and methods for processing a natural language query in data tables
CN111625635A (zh) * 2020-05-27 2020-09-04 北京百度网讯科技有限公司 问答处理、语言模型的训练方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
微软亚洲研究院AI头条: ""你已经是个成熟的表格,该学会NLP了"", 《HTTPS://BLOG.CSDN.NET/DQCFKYQDXYM3F8RB0/ARTICLE/DETAILS/85604455》, 1 January 2019 (2019-01-01), pages 1 - 9 *
微软亚洲研究院AI头条: ""你已经是个成熟的表格,该学会NLP了"", 《HTTPS://WWW.163.COM/DY/ARTICLE/E4H908AK0511K58A.HTML》, 2 January 2019 (2019-01-02), pages 1 - 8 *
微软亚洲研究院AI头条: ""你已经是个成熟的表格了,该学会自然语言处理了"", 《HTTPS://WWW.SOHU.COM/A/271937773_657157》, 29 October 2018 (2018-10-29), pages 1 - 4 *

Also Published As

Publication number Publication date
US20240104297A1 (en) 2024-03-28
WO2022173635A1 (en) 2022-08-18
EP4291990A1 (en) 2023-12-20

Similar Documents

Publication Publication Date Title
EP3605324B1 (en) Application development method and tool, and storage medium thereof
Matloff The art of R programming: A tour of statistical software design
CN100444158C (zh) 使用外部计划主题的Web网页绘制机制
US9104657B2 (en) Using lexical analysis and parsing in genome research
CA2684822C (en) Data transformation based on a technical design document
CN112860727B (zh) 基于大数据查询引擎的数据查询方法、装置、设备及介质
WO2013071305A2 (en) Systems and methods for manipulating data using natural language commands
US20200218746A1 (en) Method and apparatus for presenting information
CN109710220B (zh) 关系型数据库查询方法、装置、设备及存储介质
CN109522341A (zh) 实现基于sql的流式数据处理引擎的方法、装置、设备
US20220284371A1 (en) Method, device and medium for a business function page
KR102277240B1 (ko) 키워드 관계 구조를 이용한 동의어 추출 방법 및 시스템
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
CN111126073B (zh) 语义检索方法和装置
KR20200097949A (ko) 키워드 관계 구조를 이용한 동의어 추출 방법 및 시스템
KR20200103133A (ko) 하둡 기반의 빅데이터 시스템에서 etl 절차를 수행하는 방법 및 장치
CN114912427A (zh) 响应于用户输入的数据表分析
CN112181370B (zh) 数据交互关系的生成方法、计算机设备和存储介质
CN115033436A (zh) 页面测试方法及装置、电子设备、存储介质
CN114020245A (zh) 页面构建方法及装置、设备和介质
CN112364053A (zh) 一种搜索优化方法、装置、电子设备及存储介质
CN112464092A (zh) 一种信息推荐方法、装置、计算机设备和存储介质
CN117235236B (zh) 对话方法、装置、计算机设备和存储介质
CN117891531B (zh) 用于saas软件的系统参数配置方法、系统、介质及电子设备
CN117891930B (zh) 基于知识图谱增强大语言模型的图书知识问答方法

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