跳转到主要内容
Script 活动用于在 Skill 中实现脚本规则,作为各类提取活动内置规则的补充。脚本可以包含用于处理或更正其他活动所提取数据的规则。在以下情况下,您可能需要使用脚本规则:
  • 规范化 field 值,例如将字母代码(三字母币种代码)与文档中指定的金额分离。
  • 在多个 field 值中进行选择,例如当同一 field 的值由多个活动提取时,指定应选择并记录到结果 field 的值。
  • 计算在文档中未找到的 field 值,例如当所有含应税金额的 field 都已提取时,使用已知的税率计算应付税额。
与业务规则不同,脚本规则不会在人工校验期间高亮显示包含错误的值。这是因为脚本规则旨在对处理 documents 时获得的各类数据进行补充和修正,并且是 Document skill 的重要组成部分。 要设置 Script 活动,请按以下步骤操作:
  1. Activities 选项卡中将 Script 活动添加到文档处理流程中。请注意,应在规则可能涉及的其他 field 提取活动之后添加该活动。
  2. Activity Properties 窗格中,单击 Script Editor
  3. 在打开的对话框中,使用 JavaScript 以脚本形式设置规则,创建可执行所有所需操作的脚本。您可以使用屏幕上方的快速编辑按钮,将预设代码片段添加到脚本中。以下是一些可供使用的示例脚本规则。

示例脚本规则

  • 此脚本规则用于在总计字段的数值后添加三字母货币代码。该规则首先检查Country field 的值。若该 field 的值为“USA”或“United States”,则在总计字段的数值后添加“USD”代码。若Country field 的值为“United Kingdom”或“Great Britain”,则在总计字段的数值后添加“GBP”代码。
if ( Context.GetField("Country").Value == "USA"|"United States" ) {
               Context.GetField("Total").Value = Context.GetField("Total").Value + " USD";
} else 
if( Context.GetField("Country").Value == "United Kingdom"|"Great Britain" ) {
               Context.GetField("Total").Value = Context.GetField("Total").Value + " GBP";
}
  • 此脚本规则用于将选定组织的名称添加到指定字段。Preamble Org 重复 field 包含文档序言中列出的所有组织名称,这些名称由 Named Entities(NER)活动提取。脚本规则设置为:如果 Preamble Org field 包含多于两个组织名称,则第一个提取的值将放入 Party 1 字段,最后一个将放入 Party 2 字段。
var preambleOrgsFields = Context.GetFields("Preamble Org");
 
if (preambleOrgsFields.length > 2)
{
   Context.GetField("Party 1").Value = preambleOrgsFields[1].Value;
   Context.GetField("Party 2").Value = preambleOrgsFields[preambleOrgsFields.length - 1].Value;
}
  1. 脚本准备就绪后,单击 Save。随后,Activity Properties 窗格将显示一个列表,包含脚本中使用的所有字段。请确认该列表包含所有必需字段。
  2. 单击 Test Activity 测试你的 Skill,并分析提取结果。如果规则未按预期运行,请检查脚本是否编写正确。此外,请检查脚本规则中所有字段的提取质量。