欢迎来到沐鸣注册开户平台官网!

沐鸣新系统简化了Excel编程

作者:admin 发布时间:2019-10-07 14:39

Microsoft的Visual Basic编程语言允许Excel用户以各种节省时间的方式自定义电子表格,但很少有人利用它。尽管设计直观且易于使用,但Visual Basic对于没有以前编程经验的用户来说仍然是令人生畏的。
 
作为微软的实习生和咨询顾问,麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究生Rishabh Singh与微软研究院的Sumit Gulwani合作开发了一个沐鸣系统,让Excel用户可以通过简单的方式自定义他们的电子表格。举例说明他们希望如何处理数据。Singh和Gulwani在今年夏天在计算机辅助验证和超大型数据库会议上提交的两篇论文中描述了这项工作。
 
该沐鸣系统有两个主要组成部分。Singh和Gulwani在Singh第一次在Microsoft实习期间开发的第一个可以在几个例子的基础上修改文本字符串。例如,如果您有一个电子表格,其中的日期是以“2009年1月17日”的形式输入的,那么您只需在“Jan.”中输入一个或两个日期示例。2009年第17期“; 沐鸣系统会自动推断您希望月份和日期的顺序颠倒,前三个字母后截断的月份,以及在适当位置添加的标点符号。
 
换桌子
 
但是在过去的两年里,Singh和Gulwani通过允许它利用建立不同类型数据之间相关性的表格,极大地扩展了沐鸣系统的功能。假设您有一个来自旧数据库的数据列,其中日期“2009年1月17日”以“011709”的形式呈现。使用最新版本的沐鸣系统,您可以创建一个关联数字的12项表月份名称:1月份为“01”,2月份为“02”,依此类推。现在,再根据几个例子,沐鸣系统将学习将文本字符串中的数字转换为相应月份的名称。
 
基于表的相关性特别有用,因为在实践中,公司通常有多个数据库或电子表格,其中包含关于同一对象的不同类型的数据。例如,一家公司可能有来自不同零售商的Excel文件报告销售数据,并有单独的内部文档记录同一产品的研发费用。使用Singh和Gulwani的沐鸣系统,Excel用户可以创建一个新文件,通过提供几个示例,将汇总的销售数据与汇总的研发费用进行比较。用户甚至不需要指定哪些信息来自哪个表:沐鸣系统会自动查找不同来源的相关性。
 
将来,Singh和Gulwani的工作可以进入Excel的商业版本。实际上,Excel的最新测试版包括一个基于Gulwani早期工作的简单的基于示例的培训沐鸣系统。
 
爆炸
 
从技术上讲,设计沐鸣系统的主要挑战是处理任何一组示例的可能解释的爆炸性增长。假设您有军事格式的时间列表,您希望将其转换为传统的小时和分钟格式。你的第一个例子可能是将“1515”转换为“3:15”。但是第一个字符串中的哪15个对应于第二个字符串中的15个?字符串“3:15”甚至可能从“1515”中的第一个1开始,从第二个5开始取5,同样,前15个可能对应于3,但也可能是所有新字符串应该从3开始。
 
辛格说:“通常,我们有数以百万计的表达式实际上符合一个例子。”“然后我们有多个例子,我将把它们交叉起来,找到对所有这些例子都有效的公共表达式。”辛格解释说,诀窍是找到一种方法来表示由多个表达式共享的特性,每个表达式只有一次。在实验中,辛格和古尔瓦尼发现,他们不需要超过三个例子来训练他们的沐鸣系统。
 
“如果你看一下为了手动执行那些文本转换而必须编写的宏[小程序],与你作为最终用户做的少数演示相比,你可以避免做多少编程是相当惊人的通过这个沐鸣系统,“加州大学伯克利分校计算机科学副教授RastislavBodík说,他专攻自动程序综合。
 
Bodík说,研究人员解决了两个核心技术问题。第一个是“你需要搜索程序的巨大空间,”Bodík说,“所以你需要很好的算法来搜索可以有效修剪大量子空间的程序空间。”但第二个问题“是与用户,“博迪克说。“看起来他们想出了一个非常好的沐鸣系统,用户可以如何向程序的合成器传达他们想到的东西而不必知道底下发生了什么。”

上一篇:沐鸣实验室寻求使科幻成为现实

下一篇:沐鸣平台-硒纳米粒子减少葡萄球菌