【技术实现步骤摘要】
【国外来华专利技术】用于串变换的归纳合成的排序背景世界范围内的数百万人使用电子表格等来存储和操纵数据。这些数据操纵场景通常包括将大量的输入信息从一种格式转换为另一种格式以产生所需输出。通常,手动地或使用小的、通常是一次性的计算机程序来实现这些任务,这些计算机程序由终端用户创建或由程序员为终端用户来创建。另一种办法涉及采用计算机来合成程序以实现所需数据变换的尝试。存在合成程序的两种主要的办法:演绎和归纳。在演绎程序合成中,完整的高级规范被转换成对应的低级程序,其中使用一些公理来验证转换中的每个步骤。这一办法需要用户提供完整的规范,这在一些情况下可能潜在地比编写写程序本身更加困难。这导致归纳合成办法近来变得更加流行。在归纳程序合成办法中,从不完整的规范(诸如包括输入-输出示例集合的规范)来合成程序。它近来被用于合成从低级指针操纵代码到电子表格宏的各种领域内的程序。由于归纳程序合成办法中的规范是不完整的且经常是不清楚的,存在具有符合给定规范的底层领域专用语言的许多不同程序。为了消除不清楚以及收敛成想要的程序,用户需要通过提供附加的输入-输出示例来加强规范。示例的数目与领域专用语言的表达性直接成比例,即该语言表达的越多,收敛成想要的程序所需的输入-输出示例就越多。领域专用语言需要是可表达的以表达用户想要的最多任务,但同时不能预期用户提供数量繁重的输入-输出示例以学习想要的程序。
技术实现思路
本文中所描述的排序技术实施例一般涉及通过使用用户仅提供少量输入-输出示例的归纳程序合成过程来生成的排序候选变换程序。在一个实施例中,计算机被用于排序候选变换程序以建立对一个或多个变换程序的经排序组,每 ...
【技术保护点】
一种计算机实现的用于对候选变换程序进行排序以建立一个或多个变换程序的经排序组的过程,每个所述候选变换程序包括含子表达式的程序表达式,每个所述变换程序从用户输入的输入串产生具有用户想要形式的输出串,符合用户提供的一个或多个输入‑输出示例中的每一个,所述过程包括:使用计算机来执行以下过程动作:输入从用户提供的一个或多个输入‑输出示例归纳地合成的候选变换程序的集合,每个所述候选变换程序从用户提供的每个输入示例产生具有用户提供的每个输出示例所展现的形式的输出串;针对每个候选变换程序,对于已经为其建立了排序机制的按照从较小到较大次序的候选变换程序的每个子表达式,使用为所述子表达式建立的排序机制来建立似然度分数,以及从为所述候选变换程序建立的子表达式似然度分数计算针对所述候选变换程序的总排序分数。
【技术特征摘要】
【国外来华专利技术】2012.10.17 US 13/653,5811.一种计算机实现的用于对候选变换程序进行排序以建立一个或多个变换程序的经排序组的方法,每个所述候选变换程序包括含子表达式的程序表达式,每个所述变换程序从用户输入的输入串产生具有用户想要形式的输出串,符合用户提供的一个或多个输入-输出示例中的每一个,所述方法包括:使用计算机来执行以下方法动作:输入从用户提供的一个或多个输入-输出示例归纳地合成的候选变换程序的集合,每个所述候选变换程序从用户提供的每个输入示例产生具有用户提供的每个输出示例所展现的形式的输出串;针对每个候选变换程序,对于已经为其建立了排序机制的按照从较小到较大次序的候选变换程序的每个子表达式,使用为所述子表达式建立的排序机制来建立似然度分数,以及从为所述候选变换程序建立的子表达式似然度分数计算针对所述候选变换程序的总排序分数。2.如权利要求1所述的方法,其特征在于,子表达式或者是正则表达式,或者是位置表达式,或者是原子表达式,或者是连接表达式,并且建立所述排序机制以供按所述次序对所述正则表达式、位置表达式、原子表达式和连接表达式中的每一个进行排序。3.如权利要求2所述的方法,其特征在于,原子表达式或者是常量串表达式或者是子串表达式,并且建立用于原子表达式的排序机制的方法动作包括动作:标识所述原子表达式是常量串表达式还是子串表达式;输入任务的训练集合,其中每个任务包括多个输入-输出示例;从所述训练集合生成训练数据;以及训练机器学习分类器以向每个子串表达式和每个常量串表达式指派似然度分数。4.如权利要求3所述的方法,其特征在于,向每个子串表达式指派似然度分数的方法动作包括指派具有从0到1范围内的值的似然度分数,并且向每个常量串表达式指派似然度分数的方法动作包括指派规定的似然度分数值。5.如权利要求3所述的方法,其特征在于,从任务的所述训练集合生成训练数据的方法动作包括以下动作:针对所述训练集合中的每个任务,针对所述任务中的每个输入-输出示例,建立从所述输入-输出示例归纳地合成的变换程序的集合,其中每个所述变换程序从所述示例中的输入串的元组产生所述示例中的输出串,从所述变换程序的集合建立正训练子表达式集合,从所述变换程序的...
【专利技术属性】
技术研发人员:S·古尔瓦尼,R·辛格,
申请(专利权)人:微软公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。