CN105051721B - 为电子表格将自然语言描述转换为因因域而异而异的语言的程序 - Google Patents

为电子表格将自然语言描述转换为因因域而异而异的语言的程序 Download PDF

Info

Publication number
CN105051721B
CN105051721B CN201480006645.4A CN201480006645A CN105051721B CN 105051721 B CN105051721 B CN 105051721B CN 201480006645 A CN201480006645 A CN 201480006645A CN 105051721 B CN105051721 B CN 105051721B
Authority
CN
China
Prior art keywords
program
row
description
domain
electrical form
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.)
Active
Application number
CN201480006645.4A
Other languages
English (en)
Other versions
CN105051721A (zh
Inventor
S·吉尔瓦尼
M·马龙
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
Publication of CN105051721A publication Critical patent/CN105051721A/zh
Application granted granted Critical
Publication of CN105051721B publication Critical patent/CN105051721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • 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
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

用于电子表格的将自然语言描述转换为因域而异的语言的程序的系统和方法。方法包括生成电子表格的模型。模型包括对每一列的列描述,以及与每一列相关联的一个或多个类型。该方法还包括通过删除禁用词以及将匹配列名称或数据值的部分替换为参数化的占位符来对描述进行标准化。该方法涉及以交错的、自下而上方式以及动态编程样式来应用基于规则的转换以及关键字或基于类型的程序合成,其中短语被按它们长度的递增顺序映射到子程序。规则描述了如何将特定部分自然语言短语映射到部分子程序。此外,该方法还包括生成若干个潜在的程序,并根据它们的预期的可能性来对这些程序进行排序。

Description

为电子表格将自然语言描述转换为因因域而异而异的语言的 程序
背景
电子表格是在许多计算设备上找得到的常用软件工具。电子表格允许用户以表的形式来组织信息。表包括以表的行和列排列的各个数据单元格。每一单元格可包含各种类型的数据。
公式或程序通过对电子表格数据运行特定的运算来自动地生成结果。例如,使用求和运算符来对一列或一行数值中的所有值求和。另外,电子表格还基于电子表格数据来提供图形工具,诸如图表。圆饼图、直方图、曲线图等等根据由电子表格软件调用的公式或程序来生成。
尽管公式或程序有用,但是许多电子表格用户却不能有效地使用这些工具。许多用户缺乏编写程序的专业技能,或者可能被技术吓倒。
发明内容
下面呈现了本发明的概要,以便提供此处所描述的某些方面的基本概念。此概要不是所要求保护的主题的详尽的概述。既不旨在指出所要求保护的主题的关键性元素,也没有描述本发明的范围。其唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前序。
所要求保护的主题提供了用于电子表格的将自然语言描述转换为因域而异的语言的程序的方法。方法包括生成电子表格的模型。模型包括对每一列的列描述,以及与每一列相关联的一个或多个类型。该方法还包括基于删除禁用词以及将与列名称或数据值匹配的部分描述替换为特定参数来对标准化基于模型的描述进行标准化。该方法涉及以交错的、自下而上方式以及动态编程样式应用基于规则的转换以及关键字/基于类型的程序合成,其中短语被按它们的长度的递增顺序映射到子程序。规则描述了如何将特定的部分自然语言短语映射到部分子程序。此外,该方法还包括生成若干个潜在的程序,并根据它们的预期的可能性对这些程序进行排序。
另外,所要求保护的主题还包括计算机可读取的存储介质。计算机可读取的存储介质包括被配置成指示处理器生成电子表格的模型的代码。模型包括针对电子表格的每一列的列描述,以及与每一列相关联的一个或多个类型。进一步,生成因域而异的描述的若干个潜在的程序。因域而异的描述包括一个或多个子表达式。基于多个程序的多个规则,将因域而异的描述与程序相关联。规则将多个因域而异的描述与多个程序中的每一个相关联。另外,还基于一个潜在的解释与程序相关联的可能性来呈现潜在的解释中的第一解释。进一步,与对一个或多个列的选择相关联地呈现程序的结果,其中列与子表达式相关联,并且结果基于列。
下面的描述和附图详细地阐述了所要求保护的主题的某些说明性方面。然而,这些方面只是表示可以使用本发明的原理的各种方式中的一些方式,并且所要求保护的主题旨在包括所有这些方面和等效内容。通过与附图一起阅读下面的本发明的详细描述,所要求保护的主题的其他优点和新颖的特点将变得显而易见。
附图简述
图1是根据所要求保护的主题的示例性电子表格;
图2是根据所要求保护的主题操作的将自然语言描述转换为基础因域而异的语言的表达式或程序的电子表格程序;
图3是根据所要求保护的主题的用于将描述转换为程序的方法的流程图;
图4是根据所要求保护的主题的电子表格的示例模型;
图5是根据所要求保护的主题的用于将自然语言描述转换为程序的方法的流程图;
图6是根据所要求保护的主题的用于将自然语言描述转换为程序的示例用户界面的框图;
图7是根据所要求保护的主题的用于将自然语言描述转换为底层的因域而异的语言的程序的示例用户界面的框图;
图8是其中可以使用所要求保护的主题的各方面的示例性网络环境的框图;以及
图9是用于实现所要求保护的主题的各方面的示例性运算环境的框图。
具体实施方式
现在参考附图来描述所要求保护的主题,所有附图中使用相同的附图标记来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对本发明的全面理解。然而,很明显,所要求保护的主题可以在没有这些具体细节的情况下实施。在其他情况下,以框图形式示出了各个已知的结构和设备以便于描述本发明。
如此处所使用的,术语“组件”、“系统”、“客户端”等等旨在表示计算机相关的实体,其可以是硬件、软件(例如,在执行中)、固件、或其结合。例如,组件可以是,在处理器上运行的进程、对象、可执行码、程序、函数、库、子例程,计算机,或软件和硬件的组合。
作为说明,在服务器上运行的应用和该服务器两者都可以是组件。一个或多个组件可以驻留在进程中,组件可以位于一个计算机内和/或分布在两个或更多计算机之间。术语“处理器”一般被理解为是指诸如计算机系统的处理单元之类的硬件组件。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。在此使用的术语“制品”旨在涵盖可以从任何计算机可读设备、介质访问的计算机程序。
计算机可读存储介质可以包括,但不限于磁存储设备(例如,硬盘、软盘、以及磁带,等等-)、光盘(例如,紧致盘(CD)、以及数字多功能盘(DVD),等等)、智能卡,以及闪存设备(例如,卡、棒、钥匙驱动器,等等-)。相比之下,计算机可读介质一般(即,不一定,存储介质)可以另外包括通信介质,诸如用于无线信号的传输介质等等。
当然,本域的技术人员将会认识到,在不背离所要求保护的主题的范围或精神的前提下可以对这一配置进行许多修改。此外,在此使用词语“示例性”意指用作示例、实例或说明。本文中被描述为“示例性”的任何方面或设计不一定被解释为优选于或更优于其他方面或设计。
所要求保护的主题的一个实施例允许用户提供自然语言描述以在电子表格中加入表达式。该描述使用因域而异的语言。以此方式,用户可以通过使用属于因域而异的语言的众多关键字中的任何一个来引用表达式的单一程序。例如,在财务域,用于执行求和运算的关键字可包括:总计、相加、或求和。如此,用户可以通过使用这些关键字中的任何一个,并指定程序可以对其运算的合适的单元格,来引用执行求和运算的程序。
图1是根据所要求保护的主题的示例性电子表格100。电子表格100包含描述每一行104中的数据的列102。在所要求保护的主题的一个实施例中,用户可以点击单元格106,并提供任务或程序的自然语言描述108。电子表格软件提供对描述108的反馈,给用户与对描述108的改正、或其他可能的修改有关的信息。
在一个实施例中,使用自下而上的动态编程过程来执行描述转换。此过程(以任意方式)将规则驱动的转换和关键字驱动的合成过程进行组合。规则驱动的转换是精准的,但是对用户表达描述108的方式敏感。关键字驱动的合成过程没有规则驱动的转换精准,但是具有高记忆度。这两种方法的有意义的组合使系统对描述108的结构具有稳定性。
有利地,这一方法可以成功地转换被限定于关键字的描述;带有诸多不需要的、错误的、或不相关的单词的描述;以及,甚至其中关键字的顺序是随机的描述。例如,电子表格100的简单的求和命令的所有下列变化可以被成功地转换:对国会山店的吧员的总报酬求和(sum the totalpay for the capitol hill baristas);对国会山店吧员总报酬求和(sum totalpay capitol hill baristas);计算机请对在国会山店位置工作的吧员的总报酬值求和(computer please sum up the totalpay values for the baristas thatwork at the capitol hill location);为国会山店的每个吧员对他们的总报酬求和(foreach barista at capitol hill sum their totalpay)。
此转换在无需大的规则集(或训练数据)的情况下完成。此外,自下而上的动态编程过程甚至在使用描述108的新变体并且之前没有在训练集中看见类似的句子的情况下成功。
图2是根据所要求保护的主题运算的将自然语言描述转换为底层的因域而异的语言的表达式或程序的电子表格程序200。电子表格程序200是促成电子表格202的创建和维护的软件。电子表格程序200还包括电子表格模型204、程序206、因域而异的语言定义208、模式规则210、转换器212,以及客户端界面214。
每一电子表格202都可以具有一个对应的模型204。电子表格模型204提供用于将描述108转换为表达式的上下文信息。电子表格模型204记录电子表格102中的列名称、列值、以及数据的类型。参考图4更详细地描述了电子表格模型204。在一个实施例中,电子表格程序200包括电子表格202中所使用的表达式的历史(未示出)。该历史提供了可用于转换描述108的额外的上下文信息。
回头参考图2,程序206是由电子表格程序200执行的用于执行表达式中调用的特定功能的软件。描述108被转换为因域而异的语言208的表达式/程序206。例如,第二域可以是电子表格程序200专用的宏语言。在一个实施例中,使用训练数据(未示出)来生成模式规则210。训练数据提供各种程序206的自然语言描述的示例。因域而异的语言208是可扩展的(即可以添加新构造),从而扩展电子表格程序200的能力以给出对描述108的逻辑或编程解释。
模式规则210中的每一个都将部分自然语言短语映射到某种部分子程序。例如,一个示例部分子程序AddCS(%2,%1),将单一值(通过参数,%1来表示)与列中的每一数字(通过参数,%2来表示)相加。一个规则可以将部分自然语言短语“<#add-op>%1to everyvalue in%2”映射到部分子程序AddCS(%2,%1),其中<#add-op>表示用于加法(例如,sum、add、total)运算的关键字中的任何一个,%1表示要相加的值,而%2表示数字的列表。规则210还指定参数的数据类型。在此示例中,两个参数的数据类型都可以是数字。此规则210匹配描述108,诸如“add 5to every value in the hours column that is largerthan 40”(将5加到小时数列中每一个大于40的值),其中,%1对应于数字5,%2对应于“thehours column that is larger than 40”。
转换器212使用模型104、定义280、以及模式规则210来将描述108转换为表达式。参考图3,5,6,以及7更详细地描述了转换器212。
客户端界面214呈现关于描述108以及转换的反馈。例如,可以利用突出显示来标识按照表达式作了运算的单元格。还可以标识描述中的没有被转换引擎采用的单词。另外,还可以确定描述108的多个潜在的转换,并在电子表格100上呈现。每一潜在的转换都是因域而异的语言208的电子表格程序。在选择了对潜在的转换中的一个之际,对电子表格执行对应的程序,结果被显示在单元格106中。有利地,所要求保护的主题的各实施例允许用户通过简单地提供因域而异的语言的程序的自然语言描述来为电子表格100填充不同功能的程序。
在一个实施例中,客户端界面214包括集成在自然语言接口上面的语音识别引擎,以及用于突出显示要被程序运算的相关单元格的基于触摸的手势。
图3是根据所要求保护的主题的用于将描述108转换为程序的方法300的流程图。值得注意的是,流程图不旨在指示执行的特定顺序。方法300从框302开始,在那里,为电子表格202构建模型204。分析电子表格202中的所有值,以标识它们的类型。类型包括数字、字符串、字符、日期、货币等等。额外的类型包括列中的值是否表示主键或枚举的值。枚举的值是固定的值集。如果列只包括来自固定集的值,则值是枚举的值。电子表格202的列标题也被存储在模型204中。在一个实施例中,随着用户对电子表格202作出更新,增量地生成模型204。参考图4更详细地描述了模型204。
回头参考图3,在框304,描述108被转换为若干个潜在的程序。转换器212使用自下而上的动态编程过程来标识潜在的表达式。下面参考图5更详细地描述了此过程。
回头参考图3,在框306,客户端界面214呈现潜在的程序供选择。另外,客户端界面214可以向用户呈现关于每一潜在的程序是什么意思的说明。在一个实施例中,可以以它们的句法形式或作为等同的电子表格公式来呈现潜在的程序。可另选地,可以呈现潜在的程序的英语(或其他语言)释义。另外,还可以评估潜在的程序,并可以突出显示对应的程序206对其运算的电子表格单元格。以此方式,用户可以判断转换器212是否标识了表达式的正确的单元格。可以说明潜在的程序的另一种方式是评估潜在的程序,即运行对应的程序206,并在选定的单元格中显示结果。
图4是根据所要求保护的主题的电子表格202的示例模型400。模型400包括列名称或值402、名称或值指示符404、数据类型406,以及枚举的值或主键指示符408。模型400包括列名称“总报酬”,以及“基本报酬”,以及数据值“国会山店”以及“艾伦萨奇”。电子表格202中的值的数据类型包括字符串、数字、日期、货币等等。如果列的所有值都是唯一的,则列可以表示主键。如果仅仅有几个值,在行之间有诸多重复,则列可以表示枚举的值。如果符合这些条件中的任何一个,则可以相应地设置指示符408。在所有其他情况下,指示符408可以保留空白。
图5是根据所要求保护的主题的用于将自然语言描述转换为程序的方法500的流程图。该方法500可以由转换器212执行。方法500从框502开始,在那里,转换器标识描述108中的禁用词。禁用词表示不被转换器212识别的任何单词。
在框504,转换器212基于模型204,标识描述的匹配那些列中的列名称或数据值的部分。
在框506,转换器212生成标准化的描述。生成此描述以促进标识适用的模式规则210。通过从描述108中删除标识的禁用词,并通过将标识的列名称和数据值替换为参数位置占位符来生成标准化的描述。示例描述,“computer please sum up the totalpayvalues for the baristas that work at the capitol hill location”包括禁用词:computer、please、the、that、work以及at;列名称:totalpay和location;以及数据值:baristas以及capitol hill。相应地,示例描述的模板可以是,<#t-sum-op>sum up%1for(%2=='capitol hill')(%3=='baristas')。
在框508,转换器212标识与此标准化的描述匹配的规则210。以自下而上的方式反复应用这些规则以执行转换。此基于规则的转换还与基于类型的程序合成混合,以便在转换的每一级别生成可能的子程序。
转换器212组合两个组件过程。一个过程基于一组用于标识自然语言命令中的常见的成语的模式规则。此过程一般是精准的。另一过程基于类型驱动的合成,该合成相对于特定结构或用户输入的单词顺序是不变的。转换器212组合该过程是其被任意交错。换言之,模式规则过程在转换过程中的任何时间使用类型合成的结果,反之亦然。
在一个实施例中,转换器212使用动态编程算法,该动态编程算法增量地填充自然语言描述108的所有子字符串的解释表,从长度1的基本情况子序列开始,接着是长度2的子序列,依次类推,每一次将长度递增1个单词。在每一步骤,解释算法使用表中的预先计算出的值来应用模式规则210。转换器212基于类型的合成的变体来确保可在前面的步骤中导出的公式不被重算计算。在一个实施例中,这是通过跟踪用于导出每一公式的单词组来执行的。在合成过程中,转换器212仅限于执行涉及不包括转换的前一迭代的子序列的单词组的推导。
在一个实施例中,转换器212可以使用来自模型204的上下文信息来填充描述中的遗漏信息。例如,如果电子表格只包括一个带有数值数据的列,并且描述108指定加法运算,但是未能指定列名称,则转换器212自动地确定使用该列。在框510,转换器212基于与描述的相关性来对潜在的程序进行排序,并按相关性的降序呈现程序。
图6是根据所要求保护的主题的用于将自然语言描述转换为程序的示例用户界面600的框图。用户界面600包括命令行602、禁用词604、替代选择单选按钮506,以及“应用”,以及“撤消”按钮608。禁用词604被加了下划线,以将用户的注意力吸引到描述所存在的可能的问题。替代选择单选按扭506允许用户从描述108的潜在的替代解释中进行选择。如此,点击替代1将用下一潜在程序来替换当前的潜在程序。
响应于按下应用按钮608,程序被加入到电子表格202中。撤消按钮608允许用户退回被加入到电子表格中的潜在程序。
图7是根据所要求保护的主题的用于将自然语言描述转换为基础因域而异的语言的程序的示例用户界面700的框图。用户界面700包括突出显示的列702、被选中的单元704、以及潜在表达式706。在此示例中,当提供描述时,用户选中了单元704。用户界面700将“Addthe OTPAY and the BASEPAY”(将加班报酬与基本报酬相加)标识为由用户所提供的描述。在点击应用按钮之际,系统生成一组潜在的程序,其中排序最高的是“AddRR(SelectColumn(basepay),SelectColumn(otpay)”。当审查潜在的程序时,在之星程序的同时突出显示使用的列会是有用的。相应地,突出显示了最高排序的程序的列702,以允许用户确认正在对合适的数据进行运算。
图8是其中可以使用所要求保护的主题的各方面的示例性网络环境800的框图。此外,可以使用示例性网络环境800来实现解决众包的分类问题的系统和方法。
网络环境800包括一个或多个客户端802。客户端802可以是硬件和/或软件(例如,线程、进程、计算设备)。作为示例,客户端802可以通过诸如因特网之类的通信框架808提供对服务器804的访问的客户端设备。
环境800还包括一个或多个服务器804。服务器804也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器804可包括服务器设备。服务器804可以被客户端802访问。
客户机802和服务器804之间的一种可能的通信可以是以适于在两个或更多计算机进程之间传输的数据包的形式。环境800包括通信框架808,该通信框架1050可以被用来促进客户机802和服务器804之间的通信。
类似地,客户机802可操作地连接到一个或多个客户机数据存储器810,可以使用这些客户机数据存储器950来存储客户机802本地的信息。客户端数据存储810可以位于客户端802上,或位于远程,诸如在云服务器中。类似地,服务器804可操作地连接到一个或多个服务器数据存储器806,可以使用这些服务器数据存储器806来存储服务器804本地的信息。
参考图9,示出了用于实现所要求保护的主题的各方面的示例性操作环境900。示例性操作环境900包括计算机902。计算机902包括处理单元904、系统存储器906以及系统总线908。
系统总线908将系统组件,包括,但不仅限于,系统存储器906耦合到处理单元904。处理单元904可以是各种可用的处理器中的任何一种。也可以使用双微处理器及其他多处理器体系结构作为处理单元904。
系统总线908可以是使用所属域的技术人员已知的各种可用的总线体系结构中的任何一种的多种总线结构类型中的任何一种,包括存储器总线、外围总线或外部总线,和/或局部总线。系统存储器906包括计算机可读取的存储介质,包括易失性存储器910以及非易失性存储器912。
基本输入/输出系统(BIOS)通常存储在非易失性存储器912中,包含例如在启动过程中帮助在计算机912内的元件之间传输信息的基本例程。作为说明,而不是限制,非易失性存储器912可包括只读存储器(ROM)、可编程序只读存储器(PROM)、电可编程序只读存储器(EPROM)、电可擦可编程序只读存储器(EEPROM)或闪存。
易失性存储器910包括充当外部高速缓冲存储器的随机存取存储器(RAM)。作为说明而不是限制,RAM可以有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强的SDRAM(ESDRAM)、SynchlinkTMDRAM(SLDRAM)、直接型RAM(RDRAM),直接型动态RAM(DRDRAM),以及动态RAM(RDRAM)。
计算机602也包括其他计算机可读介质,诸如可移动的/不可移动的,易失性/非易失性的计算机存储介质。图9示出了,例如,磁盘存储器914。磁盘存储器914包括但不仅限于,诸如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒之类的设备。
另外,盘存储914还可包括存储介质,分开地或与其他存储介质相结合,包括,但不仅限于,诸如光盘ROM设备之类的光盘驱动器(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)。为便于磁盘存储设备914连接到系统总线908,通常使用诸如接口916之类的可移动或不可移动接口。
可以理解,图9描述了在合适的操作环境900中在用户和所描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统918。可以存储在盘存储918上的操作系统914用于控制和分配计算机系统902的资源。
系统应用程序920利用由操作系统918通过存储在系统存储器906或者存储在盘存储914上的程序模块922和程序数据924对资源的管理。可以理解,所要求保护的主题可以利用各种操作系统或操作系统的组合来实现。
用户通过输入设备926向计算机902输入命令或信息。输入设备926包括,但不限于,指示设备(诸如鼠标、轨迹球、指示笔等等)、键盘、麦克风、游戏杆、碟形卫星天线、扫描仪、TV调谐器卡、数码相机、数字摄像机、网络摄像头等等。输入设备926通过系统总线904经由接口端口928连接到处理单元904。接口端口928包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。
输出设备930与输入设备926使用一些相同类型的端口。如此,例如,可以使用USB端口来向计算机902提供输入,以及从计算机902向输出设备930输出信息。
提供了输出适配器932,以示出有诸如监视器、扬声器,以及打印机之类的一些输出设备930,还有可通过适配器访问的其他输出设备930。输出适配器932包括,作为说明而不是限制,在输出设备930和系统总线908之间提供连接装置的视频卡和声卡。应该注意,其他设备和设备的系统提供诸如远程计算机934之类的输入和输出两种功能。
计算机902可以是使用到一个或多个远程计算机(如远程计算机934)的逻辑连接,在联网环境中托管各种软件应用程序的服务器。
远程计算机934可以是配置有web浏览器、PC应用程序、移动电话应用程序等等的客户端系统。
远程计算机934可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、移动电话、对等设备或其他公共网络节点等等,并通常包括上文参考计算机902所描述的许多或全部元件。
为了简洁起见,与远程计算机936一起,只示出了存储器存储设备934。远程计算机934通过网络接口938在逻辑上连接到计算机902,然后,经由无线通信连接940来连接。
网络接口938涵盖诸如局域网(LAN)和广域网(WAN)之类的无线通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网、令牌环网等等。WAN技术包括,但不限于,点对点链路、电路交换网,如综合业务数字网(ISDN)以及其变体,分组交换网络以及数字用户线(DSL)。
通信连接940是指用来将网络接口938连接到总线908的硬件/软件。尽管用于清楚起见通信连接940被示为在计算机902内部,但是,它也可以位于计算机902外部。用于连接到网络接口938的硬件/软件可以包括,只作示例,内部和外部技术,如,调制解调器,包括常规电话分级调制解调器、电缆调制解调器和DSL调制解调器、ISDN适配器以及以太网网卡。
用于服务器的示例性处理单元904可以是包括Xeon CPU的计算集群。磁盘存储器914可以包括企业数据存储系统,例如,保存成千上万个镜像。
上文所描述的包括本发明的示例。当然,不可能出于描述所要求保护的主题的目的而描述组件或方法的每个可能的组合,但是,本域技术人员可以认识到,本发明的许多进一步的组合和置换都是可以的。因此,所要求保护的主题旨在包含在所附权利要求书的精神和范围内的所有这样的更改、修改和变化。
具体来说,对于由上述组件、设备、电路、系统等等执行的各种功能,除非另外指明,否则用于描述这些组件的术语(包括对装置摂的引用)旨在对应于执行所描述的执行此处在所要求保护的主题的示例性方面所示的功能的所描述的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。关于这一点,还应认识到,本发明还包括了具有用于执行所要求保护的主题的各种方法的动作和/或事件的计算机可执行指令的系统以及计算机可读存储介质。
有多种实现本发明的方式,例如,使应用程序和服务能使用此处所描述的技术的适当的API、工具包、驱动程序代码、操作系统、控件、独立或可下载的软件对象等等。所要求保护的主题还构想从API(或其他软件对象)的观点来看,以及从根据此处所阐述的技术操作的软件或硬件对象的用途。如此,此处所描述的本发明的各种实现可以具有完全以硬件,部分以硬件而部分以软件,以及以软件来实现的方面。
如前所述的系统是利用多个组件之间的交互来描述的。可以了解,这样的系统和组件可以包括这些组件或其中指定的子组件,某些指定的组件或子组件,和/或附加的组件,并根据前述的内容的各种置换和组合。子组件也可以作为可通信地耦合到其他组件的组件来实现,而不是包括在父组件内(层次性)。
另外,应该注意的是,一个或多个组件也可以合并且到提供聚合功能的单一组件中,或者也可以分成多个单独的子组件,并且,可以提供诸如管理层之类的任何一个或更多中间层,以可通信地耦合到这样的子组件,以便提供集成的功能。此处所描述的任何组件也可以与一个或多个此处没有专门描述的但本域技术人员广泛地知道的其他组件进行交互。
此外,尽管可相对于若干实现中的仅一个实现来公开本发明的一个特定特征,但这一特征可以如对任何给定或特定应用所需且有利地与其他实现的一个或多个其他特征相组合。此外,就在“具体实施方式”或者权利要求书中使用术语“包括”、“具有”、“包含”或其变体,以及其他类似的词语而言,这些术语旨在以与术语“包括”相似的方式为包含性的,作为开放的过渡词,而不会排除任何额外的或其他的元素。

Claims (10)

1.一种用于电子表格文档的将自然语言描述转换为因域而异的语言的程序的方法,其特征在于,所述方法包括:
生成由电子表格程序所生成的电子表格文档的模型,所述模型包括对每一列的列描述,以及与每一列相关联的一个或多个类型;
基于所述模型来标识与列名称或列中的数据值匹配的自然语言描述的短语;
基于所标识的短语生成原始描述的标准化描述;
通过应用基于规则的转换和基于类型的程序合成的组合来从所述标准化描述中生成底层的因域而异的语言的多个潜在程序;以及
以反映所生成的程序的可能性的顺序对所生成的程序排序。
2.如权利要求1所述的方法,其特征在于,所述方法包括在客户端界面中标识不包括在所述模型中的禁用词。
3.如权利要求1所述的方法,其特征在于,所述方法包括与所述潜在程序相关联地呈现对于所述潜在程序中的每一个的说明。
4.如权利要求3所述的方法,其特征在于,所述说明包括下列各项中的一项:
所述潜在程序的自然语言释义;
对列的突出显示,该列的值按照所述潜在程序作了运算;以及
为用户所熟知的另一种因域而异的语言的语义上等同的程序。
5.如权利要求3所述的方法,其特征在于,所述方法包括对所述电子表格执行所述潜在程序,其中所述说明包括执行所述潜在程序的结果。
6.如权利要求1所述的方法,其特征在于,所述标准化过程包括下列各项中的一项:
删除禁用词;
将引用所述电子表格的列名称或所述电子表格中的数据值的短语替换为参数化的占位符。
7.如权利要求1所述的方法,包括:
判断所述自然语言描述不指定与所述潜在程序之一相关联的子程序的参数,其中所述参数包括数据类型,并且所述电子表格包括不超过一列是该所述数据类型的列;以及
将所述参数与所述一列相关联。
8.一种用于在电子表格文档中将自然语言描述转换为因域而异的语言的程序的系统,所述系统包括:
用于生成由电子表格程序所生成的电子表格文档的模型的装置,所述模型包括对每一列的列描述,以及与每一列相关联的一个或多个类型;
用于基于所述模型来标识与列名称或列中的数据值匹配的自然语言描述的短语的装置;
用于基于所标识的短语生成原始描述的标准化描述的装置;
用于通过应用基于规则的转换和基于类型的程序合成的组合来从所述标准化描述中生成底层的因域而异的语言的多个潜在程序的装置;以及
用于以反映所生成的程序的可能性的顺序对所生成的程序排序的装置。
9.如权利要求8所述的系统,其特征在于,标准化所述描述包括下列各项中的一项:
删除禁用词;以及
将引用所述电子表格的列名称或所述电子表格中的数据值的短语替换为参数化的占位符。
10.如权利要求8所述的系统,其特征在于,所述系统还包括:
用于判断所述因域而异的语言描述不指定与所述潜在程序之一相关联的子程序的参数的装置,其中所述参数包括数据类型,并且所述电子表格包括不超过一列是所述数据类型的列;以及
用于将所述参数与所述一列相关联的装置。
CN201480006645.4A 2013-01-29 2014-01-22 为电子表格将自然语言描述转换为因因域而异而异的语言的程序 Active CN105051721B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/753,507 2013-01-29
US13/753,507 US9330090B2 (en) 2013-01-29 2013-01-29 Translating natural language descriptions to programs in a domain-specific language for spreadsheets
PCT/US2014/012412 WO2014120518A2 (en) 2013-01-29 2014-01-22 Translating natural language descriptions to programs in a domain-specific language for spreadsheets

Publications (2)

Publication Number Publication Date
CN105051721A CN105051721A (zh) 2015-11-11
CN105051721B true CN105051721B (zh) 2018-03-30

Family

ID=50097845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480006645.4A Active CN105051721B (zh) 2013-01-29 2014-01-22 为电子表格将自然语言描述转换为因因域而异而异的语言的程序

Country Status (4)

Country Link
US (1) US9330090B2 (zh)
EP (1) EP2951726A2 (zh)
CN (1) CN105051721B (zh)
WO (1) WO2014120518A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600461B2 (en) * 2013-07-01 2017-03-21 International Business Machines Corporation Discovering relationships in tabular data
US10956433B2 (en) * 2013-07-15 2021-03-23 Microsoft Technology Licensing, Llc Performing an operation relative to tabular data based upon voice input
US9372672B1 (en) * 2013-09-04 2016-06-21 Tg, Llc Translation in visual context
US20150254211A1 (en) * 2014-03-08 2015-09-10 Microsoft Technology Licensing, Llc Interactive data manipulation using examples and natural language
US9760345B2 (en) * 2014-07-26 2017-09-12 Alfonso Diez Recursive ontology-based systems engineering
WO2017086999A1 (en) * 2015-11-20 2017-05-26 Hewlett Packard Enterprise Development Lp Generating and verifying instructions for a retail search appliance
US11775136B2 (en) 2016-04-27 2023-10-03 Coda Project, Inc. Conditional formatting
US12106039B2 (en) 2021-02-23 2024-10-01 Coda Project, Inc. System, method, and apparatus for publication and external interfacing for a unified document surface
US10360906B2 (en) 2016-06-14 2019-07-23 Microsoft Technology Licensing, Llc Computer proxy messaging bot
US10162817B2 (en) * 2016-06-14 2018-12-25 Microsoft Technology Licensing, Llc Computer messaging bot creation
US20180039693A1 (en) * 2016-08-05 2018-02-08 Microsoft Technology Licensing, Llc Learned data filtering
CN107818076B (zh) * 2016-09-12 2021-11-12 微软技术许可有限责任公司 针对自然语言的语义处理
CN106855807B (zh) * 2016-12-16 2020-04-21 北京创世乐享科技有限公司 多语言表单的呈现方法及系统
US10997227B2 (en) 2017-01-18 2021-05-04 Google Llc Systems and methods for processing a natural language query in data tables
US10565196B2 (en) * 2017-07-29 2020-02-18 Splunk Inc. Determining a user-specific approach for disambiguation based on an interaction recommendation machine learning model
CN111506362B (zh) * 2020-04-15 2023-11-10 上海莉莉丝科技股份有限公司 用于游戏的配置表格的处理方法、装置、存储介质和系统
US11074048B1 (en) 2020-04-28 2021-07-27 Microsoft Technology Licensing, Llc Autosynthesized sublanguage snippet presentation
US11327728B2 (en) 2020-05-07 2022-05-10 Microsoft Technology Licensing, Llc Source code text replacement by example
US11900080B2 (en) 2020-07-09 2024-02-13 Microsoft Technology Licensing, Llc Software development autocreated suggestion provenance
JPWO2022049693A1 (zh) * 2020-09-03 2022-03-10
US11526509B2 (en) 2020-12-31 2022-12-13 International Business Machines Corporation Increasing pertinence of search results within a complex knowledge base
US11941372B2 (en) 2021-04-01 2024-03-26 Microsoft Technology Licensing, Llc Edit automation using an anchor target list
US11875136B2 (en) 2021-04-01 2024-01-16 Microsoft Technology Licensing, Llc Edit automation using a temporal edit pattern

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1313972A (zh) * 1998-08-24 2001-09-19 Bcl计算机有限公司 自适应的自然语言接口
CN1670733A (zh) * 2004-03-18 2005-09-21 微软公司 用自然语言命令呈递表格
US7765097B1 (en) * 2006-03-20 2010-07-27 Intuit Inc. Automatic code generation via natural language processing

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175814A (en) * 1990-01-30 1992-12-29 Digital Equipment Corporation Direct manipulation interface for boolean information retrieval
JPH0744638A (ja) 1993-07-29 1995-02-14 Nec Corp 表データ検索装置
US5584024A (en) * 1994-03-24 1996-12-10 Software Ag Interactive database query system and method for prohibiting the selection of semantically incorrect query parameters
US5729659A (en) * 1995-06-06 1998-03-17 Potter; Jerry L. Method and apparatus for controlling a digital computer using oral input
US5995918A (en) * 1997-09-17 1999-11-30 Unisys Corporation System and method for creating a language grammar using a spreadsheet or table interface
US20020032564A1 (en) * 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
US20030004704A1 (en) * 2001-07-02 2003-01-02 Baron John M. System and method of spreadsheet-based string localization
EP1576739A4 (en) * 2002-10-01 2006-11-08 Christopher Frank Mcconnell SYSTEM AND METHOD FOR WIRELESS AUDIO COMMUNICATION WITH A COMPUTER
US20050043940A1 (en) * 2003-08-20 2005-02-24 Marvin Elder Preparing a data source for a natural language query
US7454701B2 (en) 2003-10-30 2008-11-18 Sap Ag Systems and methods for implementing formulas
US7415481B2 (en) * 2004-09-30 2008-08-19 Microsoft Corporation Method and implementation for referencing of dynamic data within spreadsheet formulas
US7788246B2 (en) * 2006-02-15 2010-08-31 Microsoft Corporation Linguistic structure for data flow diagrams
US8589869B2 (en) * 2006-09-07 2013-11-19 Wolfram Alpha Llc Methods and systems for determining a formula
US20080168341A1 (en) * 2007-01-10 2008-07-10 Raymond Payette Digital spreadsheet formula automation
US8996433B2 (en) * 2007-10-11 2015-03-31 Steven Ginzberg Automated natural language formula translator and data evaluator
US20110115702A1 (en) 2008-07-08 2011-05-19 David Seaberg Process for Providing and Editing Instructions, Data, Data Structures, and Algorithms in a Computer System
WO2011095988A2 (en) * 2010-02-03 2011-08-11 Puranik Anita Kulkarni A system and method for extraction of structured data from arbitrarily structured composite data
US8812298B1 (en) * 2010-07-28 2014-08-19 Wolfram Alpha Llc Macro replacement of natural language input
US8862458B2 (en) * 2010-11-30 2014-10-14 Sap Ag Natural language interface
US20120173476A1 (en) 2011-01-04 2012-07-05 Nasir Rizvi System and Method for Rule-Based Asymmetric Data Reporting
US20130013616A1 (en) * 2011-07-08 2013-01-10 Jochen Lothar Leidner Systems and Methods for Natural Language Searching of Structured Data
US9734252B2 (en) * 2011-09-08 2017-08-15 Wolfram Alpha Llc Method and system for analyzing data using a query answering system
US9851950B2 (en) * 2011-11-15 2017-12-26 Wolfram Alpha Llc Programming in a precise syntax using natural language
US9251143B2 (en) * 2012-01-13 2016-02-02 International Business Machines Corporation Converting data into natural language form
US10210151B2 (en) * 2012-12-17 2019-02-19 Thomson Reuters (Grc) Llc Dynamic function builder
US9069882B2 (en) * 2013-01-22 2015-06-30 International Business Machines Corporation Mapping and boosting of terms in a format independent data retrieval query

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1313972A (zh) * 1998-08-24 2001-09-19 Bcl计算机有限公司 自适应的自然语言接口
CN1670733A (zh) * 2004-03-18 2005-09-21 微软公司 用自然语言命令呈递表格
US7765097B1 (en) * 2006-03-20 2010-07-27 Intuit Inc. Automatic code generation via natural language processing

Also Published As

Publication number Publication date
CN105051721A (zh) 2015-11-11
EP2951726A2 (en) 2015-12-09
US20140214399A1 (en) 2014-07-31
WO2014120518A3 (en) 2014-12-11
WO2014120518A2 (en) 2014-08-07
US9330090B2 (en) 2016-05-03

Similar Documents

Publication Publication Date Title
CN105051721B (zh) 为电子表格将自然语言描述转换为因因域而异而异的语言的程序
Xu et al. Survey on the analysis of user interactions and visualization provenance
US9268766B2 (en) Phrase-based data classification system
Zhou et al. Star: A system for ticket analysis and resolution
CN106250385A (zh) 用于文档的自动化信息抽象处理的系统和方法
CN111027309B (zh) 一种基于双向长短期记忆网络的实体属性值的抽取方法
US20140280173A1 (en) System and method for real-time dynamic measurement of best-estimate quality levels while reviewing classified or enriched data
CN108139918A (zh) 以每用户为基础定制程序特征
US11443102B1 (en) Methods and systems for artificial intelligence-assisted document annotation
Piirainen et al. The joint struggle of complex engineering: A study of the challenges of collaborative design
CN111221881B (zh) 用户特征数据合成方法、装置及电子设备
US20220318681A1 (en) System and method for scalable, interactive, collaborative topic identification and tracking
Niu et al. On-demand cluster analysis for product line functional requirements
Huang et al. Creating user interface mock-ups from high-level text descriptions with deep-learning models
US11790885B2 (en) Semi-structured content aware bi-directional transformer
Ang et al. Learning Semantically Rich Network-based Multi-modal Mobile User Interface Embeddings
Pittaras et al. A taxonomic system for failure cause analysis of open source AI incidents
Franch Data-driven requirements engineering: A guided tour
EP3750121A1 (en) Computer-implemented method for training a plurality of computers
Ucherek et al. Auto-Suggestive Real-Time Classification of Driller Memos into Activity Codes Using Natural Language Processing
Tarawneh Software requirements classification using natural language processing and SVD
Sergey et al. Using machine learning methods to establish program authorship
CN111242519B (zh) 用户特征数据生成方法、装置及电子设备
Jafari Sadr et al. Popular tag recommendation by neural network in social media
Qin et al. A framework and prototype system in support of workflow collaboration and knowledge mining for manufacturing value chains

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant