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

脚本规则示例

  • 此脚本规则用于在总计字段的数值后添加三字母币种代码。该规则首先检查Country 字段的值。若该字段的值为“USA”或“United States”,则在总计字段的数值后添加“USD”代码。若Country 字段的值为“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 重复字段包含文档前言中列出的所有组织名称,这些名称由命名实体识别(NER)活动提取。脚本规则设定为:如果 Preamble Org 字段包含超过两个组织名称,则第一个提取的值将填入 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。如果规则未按预期运行,请检查脚本是否编写正确。此外,请检查脚本规则中所用各字段的抽取质量。