跳转到主要内容
“假设筛选”容器将多个 Deep Learning 活动与一个 Extraction Rules 活动组合在一起。Deep Learning 活动的输出会传递给 Extraction Rules 活动,由其设置条件以选取所需的值。 尽管单个 Deep Learning 活动可以实现非常高质量的字段提取,但在某些情况下你可能仍希望对其输出进行控制。为此,你可以将一个或多个 Deep Learning 活动与一个 Extraction Rules 活动结合使用,该活动会对由 Deep Learning 活动获得的值应用条件。 当神经网络识别出完整词语而你只需要其中的特定部分,或需要滤除误捕获的噪声时,输出控制尤为重要。它还可用于识别较大字段(例如地址)的组成部分,这些部分可能会被神经网络忽略。此外,它还能让你在同一数值出现多个实例时选择最佳假设。例如,当 Vendor 名称在一份文档上多次出现时,你可以从多个实例中选取最准确的提取结果。
注意: 此技术当前以预览形式提供,未来版本将进一步改进。

设置“假设筛选”容器

  1. 点击包含 Deep Learning 活动的区块并选择筛选假设。这将创建一个新的“假设筛选”容器,并把所选的 Deep Learning 活动放入其中。
  2. (可选)将更多 Deep Learning 活动拖放到“假设筛选”容器上。这样可以组合并比较两个或多个 Deep Learning 活动的输出。例如,当同时处理文本 field 和表格时,可能需要两个活动。
  3. 向容器中添加一个 Extraction Rules 活动。您可以点击占位符创建新活动,或者将现有活动拖放到容器上。
  4. 配置 Extraction Rules 活动。针对由 Deep Learning 活动找到的每个值,添加一个 Deep Learning 搜索元素并设置其属性。您可以一次性添加某个 Deep Learning 活动的所有输出 fields。Deep Learning 搜索元素支持所有用于限制搜索区域及设定查找条件的属性。
  5. 将“假设筛选”容器的输入和输出连接到文档处理工作流中的其他区块。该容器的输出 fields 将与 Extraction Rules 活动的输出 fields 相同。
注意:如果您决定不再对 Deep Learning 活动的输出进行控制,请在容器内任意位置点击并选择不筛选假设。容器将被拆解,但活动本身不会被删除,您仍可在修改后的文档处理工作流中继续使用它们。

示例

注意: 以下示例仅演示如何使用 Hypothesis Filtering 容器。在许多其他场景中,你也可以利用此功能来控制神经网络的输出,并对字段提取进行微调。针对你所处理的文档需要进行哪些调整,只有你最清楚。我们鼓励你在每次深度学习活动的结果可能通过调优获益时都尝试使用这项技术。 下面的示例使用同一个示例 Skill,其中两个深度学习活动的输出被传递给一个 Extraction Rules 活动。

Skill 工作流程

AD_HypothesisFiltering_Container
  • Deep Learning 活动提取文本字段(Text fields)。
  • Deep Learning 2 活动提取表格。
  • Hypothesis Filtering 容器对结果进行筛选并合并。

提取规则活动中的搜索元素结构

AD_HypothesisFiltering_SearchElementTree 每个搜索元素都会映射到其对应的字段。

示例 1:修正由 Deep Learning 活动找到的值

在此示例中,Deep Learning 活动找到的文档编号值过长,因此创建了一个新的搜索元素来进行修正。 Deep Learning 活动找到的文档编号值包含了连字符后的部分: AD_HypothesisFiltering_ValueTooLong
  1. 为了修正 Document_Number 的值,创建一个新的搜索元素。该搜索元素命名为 DocNumber_Corrected,应位于 Document_Number 搜索元素的区域内,并且字符数应受限。
AD_HypothesisFiltering_CorrectedProperties
  1. 通过在元素的代码中添加以下行,将新元素的搜索区域限定为匹配 Document_Number 区域:
RestrictSearchArea: 95.Region;
  1. 已校正的搜索元素被映射到用于提取文档编号的字段:
AD_HypothesisFiltering_CorrectedMapping 因此,提取的文档编号将不包含连字符后的部分: AD_HypothesisFiltering_ValueCorrected

示例 2:从多个重复值中选择一个

在此示例中,Deep Learning 活动被训练用于查找所有文档编号的实例,但该 Skill 的最终结果只需要一个文档编号 field。为此,需要对 Document Number field 禁用 Allow Multiple Items 设置,并指定条件以选择正确的文档编号实例。
注意: 我们建议您先将已标注的文档集保存到文件夹中。当您为某个 field 禁用 Allow Multiple Items 设置时,该 field 的所有额外实例都会从标注中删除。在 Deep Learning 活动中训练的模型仍然可用,但如果您希望对其进行修改并重新训练,则需要加载原始文档集。
  1. 为 Document Number field 禁用 Allow Multiple Items 设置(可通过单击 Manage Fields 访问该设置)。
AD_HypothesisFiltering_NoMultiples
  1. 具有多个实例的 Document_Number 搜索元素无法映射到 Document Number field。因此,从 Deep Learning 活动的文档编号输出创建一个新的 Deep Learning 搜索元素,并将其映射到 Document Number field。
AD_HypothesisFiltering_MapNoMultiples
  1. 使用 Deep Learning 活动找到的多个文档编号实例来构建假设树,其中只有一个会被选为 Document_Number 搜索元素的值。
AD_HypothesisFiltering_HypTree
  1. 为找到特定实例,为 Document_Number 搜索元素添加相应条件(在此示例中,我们希望找到文档编号最靠上的实例)。
AD_HypothesisFiltering_TopmostInstance

示例 3:合并两个 Deep Learning 活动的输出

Hypothesis Filtering 容器可让你将两个或更多 Deep Learning 活动的结果合并,用于相互校验,或在同一活动中对这些结果进行细化调整。 在本示例中之所以需要两个 Deep Learning 活动,是因为单个 Deep Learning 活动无法同时训练以提取文本字段和表格。 添加了一个条件,规定 Company_Address 搜索元素必须始终位于 Goods_Table 搜索元素之上。这样,即使页面底部印有其他地址,也能定位到正确的地址。 AD_HypothesisFiltering_AboveTable