使用矢量字段处理数据的制作方法_3

文档序号:9489767阅读:来源:国知局
预算,则转换生成三个输出记录,用于三种建议的汽车(AccordSedan、Civic和 Element)中的每一种。
[0073] 在一些实现方式中,该转换对于汽车选择使用"长度"函数计算全部可能的值,以 使得输出记录的数量已知。一旦该转换计算了全部可能的汽车输出值,该转换随后可以以 与输出记录一样多的次数调用"标准化"函数,以向每个输出记录分配值。
[0074] 在一些实现方式中,不使用如上所述的两阶段程序,而是该转换可以通过若干次 直接地调用"标准化"函数对于汽车选择计算全部可能的值直到再没有要计算的值。
[0075] 图5是用于对于输出变量508生成多个值504的示例规则集500。用户可能对知 道为什么特定的车辆被认为是无效(invalid)的所有的理由感兴趣,而不是仅知道第一个 理由。在某些例子中,如图6所示,第一步是用户使用编辑器的用户接口中的输出表格片段 600指定规则集500来产生多个输出值504。
[0076] 因而,用户指示输出变量508 "名称有效性消息(NameValidationMessage) "是 用于接收一系列的值504的累积变量。相应于输出变量508的输出类型604改变为指示 "累积器(accumulator) "608。
[0077] 在某些例子中,相应于输出变量508的标量值可以是"累积的(accumulated) "以 供"记分卡(score-card)"风格的规则集合使用。记分卡风格的规则集指的是用户指示正 分数或负分数以被包括到规则值中的一种商业规则。因此,不是将相应于输出变量508的 值存储为输出矢量,而是将相应于508的被累积的值的总和存储为标量值。
[0078] 在某些例子中,对于输出数据集中的每个记录,累积器输出变量508映射到可变 长度矢量或阵列。因而,如果输出变量508被当作阵列,贝lj用户可以为输出变量508指定大 小。用户可以通过改变最大计数(MaxCount)612参数来指定输出变量508的长度。因此, 字段614指示输出变量508被当作用于接收特定数量(例如,20)的值的阵列。在某些例 子中,在用户没有指定尺寸的情况下,作为默认,输出变量508可以接收无限数量的值。因 而,最大计数612参数指示,例如,"无限的(unlimited)"。在某些例子中,为了帮助区分累 积器类型输出变量和一次写入类型输出变量,编辑器可以禁止用户编辑用于一次写入变量 的最大计数612参数。在某些例子中,如果用户从累积器输出变量切换到一次写入输出变 量,则编辑器可以清空最大计数612参数。
[0079] 图7是示出多激发规则集,例如,"验证人员(ValidatePerson) "的示例规则表格 片段700。通过注解"一次写入输出(Write-OnceOutputs)"或"累积器输出(Accumulator Outputs) "将累积器输出708与一次写入输出712可视地区别开。此外,可能有多个其他 注解。例如,可以在规则表格片段700的顶端704处指示规则集的类型,S卩,"多激发规则 (Fire-ManyRule) "(产生累积器输出的规则),或"一次激发规则(Fire-OnceRule) "(产 生标量输出的规则),或者在一边的垂直注解712指示"一次激发"或"多激发"。在某些例 子中,不同的图标可以用于一次激发和多激发规则。在某些例子中,可以将被激发的所有的 规则例高亮度显示以用于由用户检查。
[0080] 图8是示出累积器输出变量801 "验证消息(ValidationMessage) "的内容的示 例结果表格片段800。如所示,输出变量801可以对于每个记录假定第一系列的值813,并 且第一系列的值813中的至少一个值(例如,相应于"TANGELASCHEPP"的值)可以假定显 示为逗号分开的值的汇集的第二系列的值816。在某些例子中,用户可以将鼠标指针"悬 停〃在累积器输出值之上以显现(uncover)示出累积的值的列表的工具提示(tooltip)。 在某些例子中,当执行包括,例如,基准(benchmark)数据的测试时,如果在基准数据中的 矢量以任何方式不同于在输出中的矢量,则输出可以被标记为是不同的。例如,不同可以包 括:基准矢量具有与输出矢量不同数量的项、基准矢量具有与输出矢量不同次序的项、以及 在每个矢量内的单独的项是不同的。
[0081] 如下所述,在操作中,累积器输出变量用于接收由多激发规则集产生的多个输出 值。例如,考虑在表格2中示出的如下规则集:
[0082]
[0083]表格2
[0084] 上面的规则集考虑,例如,家庭大小为4并且预算为$20, 000,而建议三种车 (AccordSedan、Civic和Element)。因此,在这种情况下,输出数据集中的输出变量"汽车 选择"被认为能够接收多个值。该规则集中的每个规则例都被评估并且任何时候规则例触 发时,来自该上面的规则集的值被添加到累积器输出变量。
[0085] 上面的规则集中的触发器可以是包括输入值、查找及其他输出值的任一标量变量 (非矢量)。在某些例子中,输出变量可以计算另一输出变量。在某些例子中,仅非矢量输 出可被用作触发器。在某些例子中,有可能通过使用聚集函数(aggregationfunction)来 间接地使用一个累积器输出变量以计算另一累积器输出变量。例如,考虑在表格3中示出 的如下规则集:
[0086]
[0087]表格 3
[0088] 上面的规则集计算称作"家庭成员"的累积器输出变量。现在,考虑在表格4中示 出的如下规则集:
[0089]
[0090]表格 4
[0091] 表格4中的规则集使用聚集函数计算称作"家庭大小"的标量(非矢量)。因此, 首先,计算包括全部我们的家庭成员的列表的输出矢量。随后计数函数计算列表中的人的 数量。该计数随后用作输入以计算汽车的列表。
[0092] 图9示出使用标量和矢量以对于使用累积器输出变量的其他标量和矢量计算值 的示例实现。如所示,S1,S2和S3表示标量变量。VI和V2表示矢量变量。S1用来计算 S2 ;随后S2用来计算VI的四个不同的值。随后VI的全部四个值用来计算S3 (例如,通过 使用聚集函数)。最后,S3用来计算V2的三个值。
[0093] 在一些实现方式中,当用户试图执行如下示例动作中的任何一个动作时编辑器可 以产生有效性错误:当在任一数据集中的字段的类型是任何除可变长度矢量以外的类型时 标记输出为累积器;当在任一数据集中的字段的类型是矢量时标记输出为"一次写入";(在 仅一次写入输出可以具有默认值的实现中)对于累积器提供默认值,使用累积器输出作为 比较触发器列;在单个规则内混合累积器和一次写入输出;以及在累积器输出变量的最大 计数参数中输入除无限或正数以外的值。
[0094] 在某些例子中,输入记录可以包括矢量。图10A是输入记录950的不例格式,输入 记录950包括至少两个矢量记录,S卩,驾驶员记录矢量952和车辆记录矢量954。图10B示 出用于输入记录950的示例数据956。
[0095] 聚集函数可以被包括在规则集中以将记录矢量952、954变换为标量。例如,规则 集可以包括规范"最年轻的驾驶员的年龄"。在一些实现方式中,规范表示为"最小(驾驶员 年纪)",或可以使用诸如"do_minimum(inO.drivers, 'age')"的数据操作语言(DML)。响 应于规则集,例如,(从图10B中的Pebbles的记录)产生标量值21。在某些例子中,在操 作中,函数可以循环通过驾驶员记录矢量952中的全部记录以找到驾驶员年龄的最小值。
[0096] 考虑另一示例,规则集中的规范可以是"对于最年轻的男性驾驶员的点数 (points)加一的数"。该规范可以表示为"最小(驾驶员年龄,驾驶员性别=男性,驾驶员 点数+1) "。响应于此规则集,例如,(从BamBam的记录)产生标量值14。在一些实现方式 中,该标量值可以被分配给为标量的中间变量或输出变量。
[0097] 在某些例子中,可以对于在记录矢量中的每个元素写入规则。例如,考虑在表格5 中示出的如下规则集:
[0098?
[0099]表格 5
[0100] 表格5的规则集中的规范是"对于每个汽车,对汽车的值计算调整,如果汽车有安 全带则该调整为100,如果汽车有气囊则该调整为150,以及如果汽车有安全带和气囊两者 则该调整为300"。如所示,输出变量"值调整"是矢量变量。响应于上述规则,产生矢量,例 如,[0, 300, 100]。在某些例子中,在操作中,多次运行规则集,对于车辆记录矢量954中的 每个记录都运行一次。
[0101] 在某些例子中,规则集还可以参考标量值,或者在其他矢量具有相同的长度的时 候参考其它矢量。例如,考虑在表格6中示出的如下规则集:
[0102]
[0103]表格6
[0104] 表格6的规则集中的规范是"对于每个汽车,计算调整的值,该调整的值是汽车 值、它的值调整和地理(geographic)危险性的总和。如果该汽车是大于两年的旧车,则减 去50"。在此规则中,"调整的值"是矢量变量。因此,为了避免由于不相等的矢量长度导致 的运行时错误,矢量变量"值调整"具有与车辆记录矢量954相同的长度。响应于此规则集, 产生矢量,例如,[1030,1880, 1330]。
[0105]在某些例子中,当XML记录是复数(complex)时,单个输入记录可用于通过利用关 键字关系关联逻辑记录来表示多个逻辑记录。例如,车辆记录矢量954中的每个车辆子记 录可以包括外关键字,例如,"驾驶员",以关联到驾驶员记录矢量952中的匹配关键字,例 如,"姓名"。用这样的方式,记录矢量952,954可以实现为查找文件或内部参考表格。例如, 与车辆记录矢量954相联系的内部参考表格可以如下:
[0106]PrimaryDriverName(primarykey)(主驾驶员姓名(主关键字))
[0107]PrimaryDriverAge(主驾驶员年龄)
[0108]PrimaryDriverSex(主驾驶员性
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1