Document Understanding
2022.4
False
横幅背景图像
Document Understanding 用户指南
上次更新日期 2024年3月13日

训练高效能模型

机器学习模型的强大功能在于,它们是由训练数据定义的,而不是由计算机代码中表示的显式逻辑定义的。这意味着在准备训练数据集时需要格外小心,因为模型最高仅能达到与训练数据集一样好的效果。从这个意义上说,UiPath Studio 对于 RPA 工作流来说,就相当于 Document Manager 对于机器学习功能。两者都需要一定的经验才能有效使用。

数据提取 ML 模型有什么作用?

ML 模型可以从单一类型的文档中提取数据,尽管它可能涉及多种不同的语言。至关重要的是,每个字段(“总计”,“日期”等)必须有一个一致的含义。如果人类可能对某个字段的正确值感到困惑,则 ML 模型也同样如此。

可能会出现歧义情况。例如,水电费账单是否就是另一种类型的发票?还是这两种不同的文档类型需要两种不同的 ML 模型?如果您需要提取的字段相同(即含义相同),则可以将其视为单个文档类型。但是,如果出于不同原因(不同的业务流程)需要提取不同的字段,则可能表明您需要将这些文档视为两种不同的文档类型,因此需训练两种不同的模型。

如有疑问,首先请训练一个模型,但要将文档保存在不同的 Document Manager 批次中(请参阅 Document Manager 视图顶部中心的“筛选”下拉列表),以便稍后在需要时轻松将其分开。这样,加标签的工作不会丢失。用于训练 ML 模型的数据越多越好。因此,拥有一个有充足数据的单个模型是一个很好的起点。

训练组件和评估组件

Document Manager 可用于构建两类数据集:训练数据集评估数据集。两者对于构建高效的 ML 模型都是必不可少的,并且您需要规划用于创建和维护两者的时间和精力。若没有代表生产文档流量的评估数据集,您将无法获得高性能的 ML 模型。

每个数据集类型都以不同的方式标记:

  • 训练数据集仅依赖于页面上代表您需要提取的不同信息的词的边框

    • 为训练集添加标签时,请仅关注页面本身和文字框。
  • 评估数据集仅依赖字段值,这些值显示在侧边栏(适用于常规字段)或顶部栏中(适用于列字段)。

    • 为评估集添加标签时,请注意侧边栏或顶部栏中字段名称下的值。这并不意味着您需要手动输入,事实上,这很容易出现印刷错误,因此,我们仍然建议您通过单击页面上的框来添加标签,但请确保检查值是否正确。

有关如何执行适当评估的更多详细信息,请参阅下文。

数据提取组件

数据提取依赖于以下组件:

  • 光学字符识别
  • 文字和线条构建

    • 将字符按词语分组中并将词语按从左到右的文本行分组
  • 页面上每个词/框的机器学习模型预测
  • 文本跨度的清理、解析和格式化

    • 例如,将多行中的词语分到一个地址中,将日期格式化为标准 yyyy-mm-dd 格式
  • 应用选择要返回的值的算法

    • 对于文档有 2 页或更多页且某些字段在多页显示的情况

构建高效的 ML 模型

为了获得最佳的自动化率结果(处理文档流所需的人工工作量每年每人每月减少的百分比),您需要仔细遵循以下步骤:

  1. 选择最适合您文档的 OCR 引擎

    • 这会影响 OCR 和字与行的构建(部分取决于 OCR),当然还会影响所有后续工作。
  2. 选择一个均衡且具有代表性的数据集进行训练
  3. 选择有代表性的数据集进行评估
  4. 定义要提取的字段
  5. 配置字段
  6. 标记训练数据集
  7. 标记评估数据集
  8. 在 AI Center 中训练和评估模型
  9. 定义并实施用于处理模型输出的业务规则
  10. (可选)选择提取的置信度阈值
  11. 使用来自验证站点的数据进行训练
  12. 自动微调循环(预览版)
  13. 部署自动化

1. 选择一个 OCR 引擎

要选择 OCR 引擎,您应该创建不同的 Document Manager 会话,配置不同的 OCR 引擎,并尝试将相同的文件导入每个文件中以检查差异。您应将重点放在打算提取的区域上。例如,如果您需要提取发票中作为徽标的一部分显示的公司名称,则可能需要查看哪个 OCR 引擎在徽标中的文本上效果更好。

您的默认选项应为“UiPath 文档 OCR”,因为它是免费包含在 Document Understanding 许可证中的。但是,如果需要使用某些不受支持的语言,或者涉及到一些非常难读的文档,您可能需要尝试使用 Google Cloud(仅限云端)或 Microsoft Read(云端或本地部署),它们的语言覆盖范围更广。这些引擎需要付出一定的成本,但其实很低,但是,如果您的业务流程中某些关键数据字段的准确性较高,则强烈建议使用现有的最佳 OCR – 稍后您将发现其非常值得使用,因为所有后续工作均依赖于此。

请注意,“数字化文档”活动的“强制应用 OCR”设置默认情况下设置为“False”,这意味着在操作 .pdf 文档时,默认不使用 OCR 引擎,对于原生 .pdf 文档,直接从 .pdf 文档中提取文本。但是,许多原生 .pdf 文档可能包含未选取的徽标甚至页眉或页脚。其中可能包含与业务流程高度相关的公司识别信息,例如公司名称、地址、增值税代码或付款信息。如果您的流程遇到这种情况,请将“强制应用 OCR”设为“True”,以确保检测到所有文本,尽管这可能会减慢您的流程。

2. 创建训练数据集

机器学习技术的主要优势是能够以高度多样性处理复杂问题。在估计训练数据集的大小时,我们会先查看字段的数量及其类型和语言数量。只要不是中文/日语/韩语,一个模型就可以处理多种语言。中日韩场景通常需要单独的训练数据集和模型。

字段分为 3 种类型:

  • 常规字段(日期、总金额)
  • 对于常规字段,每个字段至少需要 20-50 个样本。因此,如果您需要提取 10 个常规字段,则至少需要 200-500 个样本。如果您需要提取 20 个常规字段,则至少需要 400-1000 个样本。您需要的样本数量会随着字段数量的增加而增加。更多的字段意味着您需要更多的样本,大约增加 20 到 50 倍。
  • 列字段(项目单价、项目数量)
  • 对于列字段,每个列字段至少需要 50-200 个样本,因此,对于 5 个列字段,使用干净简单的布局,您可能会通过 300 个样本获得良好结果,但对于高度复杂和多样化的布局,可能需要超过 1000 个。要涵盖多种语言,则假设每种语言涵盖所有不同的字段,您至少需要 200-300 个样本。因此,对于包含 2 种语言的 10 个标头字段和 4 个列字段,600 个样本可能就足够了(列和标头为 400 个样本,额外添加一种语言为 200 个),但在某些情况下可能需要 1200 个或更多。
  • 分类字段(币种)
  • 分类字段通常要求每个类至少提供 10 至 20 个样本。

上述准则假设您正在解决高度多样性的场景,例如具有数十到数百或数千种布局的发票或采购订单。但是,如果您要解决布局(少于 5 到 10 个)较少的税表或发票等低多样性场景,则数据集的大小更多地取决于布局的数量。在这种情况下,每个布局应从 20 到 30 页开始,并在需要时添加更多页面 - 尤其是当页面非常密集且要提取大量字段时。例如,创建一个用于从 2 个布局中提取 10 个字段的模型可能需要 60 页,但如果您需要从 2 个布局中提取 50 或 100 个字段,则可以从 100 或 200 页开始,并根据需要添加更多页面,以提高准确性。在这种情况下,常规字段/列字段的区别就不那么重要了。

重要提示:ML 技术旨在处理高度多样性的场景。使用它在低多样性场景(1-10 个布局)上训练模型时需要特别小心,以避免模型对 OCR 文本中的微小变化敏感。避免这种情况的一种方法是打印训练文档,然后使用手机扫描仪应用程序对其进行扫描或拍摄,以确保训练文档存在一定差异。轻微的变形或分辨率的变化会使模型更加稳健。

此外,这些估计值假定大多数页面都包含所有或大部分字段。如果您的文档包含多个页面,但大多数字段位于单个页面上,则相关页数是大多数字段出现的页面的示例数量。

上面的数字是一般准则,不是严格的要求。通常,您可以从较小的数据集开始,然后继续添加数据,直到获得良好的准确性为止。这在将 RPA 工作与模型构建并行化时尤其有用。此外,可以使用模型的第一个版本预标注额外数据(请参阅 Data Manager 中的“设置”视图和“预测”按钮),这可以加快为额外的训练数据添加标签。

深度学习模型可以变得通用

您不需要在训练集中表示每个布局。实际上,生产文档流程中的大多数布局可能在训练集中只有 0 个样本,或者可能只有 1 个或 2 个样本。这是可取的,因为您希望利用 AI 的强大功能来理解文档,并能够对训练期间未见过的文档作出正确的预测。每个布局的大量样本并不是强制性的,因为大多数布局可能根本不存在,或者仅出现 1 次或 2 次,而模型仍然能够根据从其他布局的学习情况进行正确预测。

训练开箱即用模型

一种常见情况是从发票中提取数据,但还有另外 2 个常规字段和 1 个列字段是开箱即用的发票模型所无法识别的。在这种情况下,您需要一个训练集,每个新的常规字段包含 50 个样本,每个新的列字段至少包含 100 个样本。因此,最好有 200 个页面。与从头开始训练所有字段相比,此数据集通常要小得多。

需要对这 200 个页面进行完全标记,包括开箱即用模型无法识别的新字段,以及开箱即用模型能够识别的原始字段。

分布不均匀的字段出现次数

有些字段可能出现在每个文档上(例如,日期、发票编号),而有些字段可能只出现在 10% 的页面上(例如,处理费用、折扣)。在这种情况下,您需要制定业务决策。如果这些稀有字段对自动化并不重要,则可以使用该特殊字段的少量样本(10-15 个),即包含该字段值的页面。但是,如果这些字段至关重要,则需要确保在训练集中至少包含 30-50 个该字段的样本,以确保涵盖全部多样性。

平衡数据集

对于发票而言,如果数据集包含来自 100 个供应商的发票,但数据集的一半仅包含来自 1 个供应商的发票,则这是一个非常不平衡的数据集。完全平衡的数据集是指每个供应商出现相同次数的情况。数据集不需要达到完美平衡,但您应避免有超过 20% 的整个数据集来自任何一个供应商。如果达到某个点,增加数据就无济于事,它甚至可能影响其他供应商的准确性,因为该模型将极大地优化(过拟合)一个供应商。

代表性数据集

应当选择数据来涵盖可能在生产工作流中看到的文档多样性。例如,如果您收到英语发票,但其中有一些发票来自美国、印度和澳大利亚,则发票看起来可能会有所不同,因此您需要确保从这三种发票中均获取样本。这不仅适用于模型训练本身,也适用于标注目的,因为在标注文档时,您可能会发现需要从其中一些区域提取新的不同字段,例如印度的 GSTIN 代码或澳大利亚的 ABN 代码。请参阅“定义字段”部分中的详细信息。

3. 创建评估数据集

在提及训练集时,页面和页面数量是最重要的,而对于评估集,我们仅指文档和文档的数量。v2021.10 及之后版本的分数是按文档计算的。

评估数据集可以更小。它们可以是 50 到 100 个文档(在低度多样性场景下甚至可以是 30 到 50 个),并且可以随着时间的推移增加到几百个文档。重要的是,它们必须代表生产数据流。因此,一个好的方法是从 RPA 工作流中处理的文档中随机选择。即使某些供应商的人数过多,也没关系。例如,如果单个供应商代表您的发票流量的 20%,也可以让该供应商也成为您的评估集的 20%,因此评估指标近似于您的业务指标,即减少每人每月人工文档处理花费的工作量。

将评估数据导入 Document Manager 时,您需要确保选中“导入”对话框窗口中的“将此作为评估集”复选框。通过这种方式,您可以确保在训练时保留数据,并且可以使用 Document Manager 的“筛选器”下拉列表中的“评估集”选项轻松导出数据以运行评估。

重要提示:从 Automation Cloud 中的 21.9 预览版和 21.10 GA 本地部署版开始,Document Manager 已转为处理多页文档,而不是像以前那样将每个页面作为单独的实体进行处理。这是一个重大变化,尤其是对于评估,这是其主要动机。评估需要代表运行时流程,并在运行时将多页文档作为一个整体进行处理,而不是作为单独的页面进行处理。要在 21.10 版或更高版本的 ML 包中受益,您只需在“导出”对话框中取消选中“向后兼容导出”框。如果选中此框,则数据集将以以前的逐页方式导出,并且评估分数将不能代表运行时性能。

4. 定义字段

定义字段是一场需要与拥有业务流程本身的主题专家或领域专家进行的对话。对于发票,它将是应付账款流程的所有者。此对话非常重要,需要在标注任何文档之前进行以避免浪费时间,并且还需要一起查看至少 20 个随机选择的文档样本。为此,我们需要预留一个小时的时间段,通常需要在几天后重复该时间段,因为准备数据的人员会遇到模棱两可的情况或极端情况。

对话开始时通常会假设您需要提取 10 个字段,然后提取 15 个字段。下面的小节将介绍一些示例。

您需要了解的一些关键配置:

  • 内容类型
  • 这是最重要的设置,因为它决定值的后处理,尤其是对于“日期”(检测格式是美式还是非美式,然后将其转换为 yyyy-mm-dd 格式)和“数字”(检测小数分隔符,即逗号或句点)。“ID 编号”会清除冒号或散列符号之前的所有内容。“字符串”内容类型不执行任何清理操作,可以在您希望在 RPA 工作流中执行自己的解析时使用。
  • 多行复选框
  • 这用于解析可能出现在多行文本中的字符串,如地址。
  • 隐藏字段
  • 可以为标记为“隐藏”的字段加标签,但在导出数据时会保留这些字段,因此不会对其应用训练模型。当正在为字段加标签、字段太稀少或其优先级较低时,这很方便。
  • 计分
  • 这仅与评估管道相关,并且会影响准确度分数的计算方式。使用“Levenshtein”的字段评分更宽松:如果 10 个字符中的单个字符有误,则分数为 0.9。但是,如果分数是“精确匹配”,则评分会更严格:错误输入单个字符将导致分数为零。默认情况下,所有字段均为“精确匹配”。仅“字符串”类型字段具有选择“Levenshtein”评分的选项。

水电费账单金额

总金额看似足够简单,但水电费账单中包含很多金额。有时您需要待支付的总金额,有时您只需要当前的账单金额,而无需从前一个计费期结转的金额。在后一种情况下,即使当前账单和总金额可以相同,您也需要以不同的方式标注标签。概念不同,金额通常也有所不同。

注意:每个字段都代表一个不同的概念,因此需要尽可能清晰简洁地定义字段,以免造成混淆。如果人类可能将其混淆,则 ML 模型也将混淆。

此外,当前账单金额有时可以由一些不同的金额、费用和税款组成,并且可能不会在账单上的任何位置进行个性化定制。一个可能的解决方案是创建两个字段:“先前费用”字段和“总费用”字段。两者在水电费账单上始终显示为不同的显式值。然后,可以获取当前账单金额作为两者之间的差额。为了在当前账单金额显式出现在文档中的情况下进行一些一致性检查,您甚至可能希望包括所有 3 个字段(“先前费用”“总费用”和“当前费用”)。因此,在某些情况下,您可以使用一到三个字段。

发票上的采购订单编号

PO 编号可以显示为发票的单个值,也可以显示为发票上的行项目表格的一部分,其中每个行项目都有不同的 PO 编号。在本例中,设置两个不同的字段可能较合适:po-noitem-po-no。通过在视觉上和概念上保持每个字段的一致性,该模型可能会做得更好。但是,您需要确保“训练”和“评估”数据集都充分体现了这一点。

发票上的供应商名称和付款地址名称

公司名称通常显示在发票或水电费账单的顶部,但有时可能不可读,因为只有徽标,公司名称也没有明确写出。或可能有其他图章、手写文本或起皱的文本。在这种情况下,人们可能会在水电费账单工资单的“收款人”部分中标注右下角出现的名称。该名称通常是相同的,但并不总是相同的,因为它是一个不同的概念。可以向其他母公司、控股公司或其他联属公司实体付款,但其单据看起来会有所不同。这可能会导致模型性能下降。在本例中,您需要创建 2 个字段,即“vendor-name”和“payment-addr-name”。然后,您可以在供应商数据库中查找并使用匹配的数据库,或者在缺少供应商名称时使用“payment-addr-name”

表格行

我们需要牢记两个不同的概念:表格行和文本行。表格行包含该行中所有列字段的所有值。有时,它们可能全部属于页面上同一行文本的一部分。在其他情况下,它们可能位于不同的行中。

如果表格行包含多行文本,则需要使用“/”热键对表格行中的所有值进行分组。当您执行此操作时,将出现一个绿色框,覆盖整个表格行。这是一个表格示例,其中前 2 行包含多行文本,需要使用“/”热键进行分组,而第三行是单行文本,不需要进行分组。



这是一个表格示例,其中每个表格行都由一行文本组成。您无需使用“/”热键对这些活动进行分组,因为这是由 Document Manager 隐式完成的。



拆分项目

拆分项目”是仅对“列”字段显示的设置,它可帮助模型知道某个行项目何时结束,另一个行项目何时开始。人工查看文档时,您可能要看一下右侧的行数,以便了解行中有多少金额。每个金额通常指的是一个行项目。这表明,“行金额”是一列,您应在其中启用“拆分项目”。如果 OCR 缺少行金额或模型无法识别行金额,则也可以标记其他列:“数量”和“单价”通常也标记为“拆分项目”。

5. 配置字段

最重要的配置是内容类型,但字符串除外:

  • 数字
  • 日期
  • 电话
  • ID 编号

这些都会影响后处理,尤其是清理、解析和格式化。最复杂的是日期格式,但数字格式也需要确定小数点分隔符和千位修饰符。在某些情况下,如果解析失败,您可以选择向 UiPath 支持团队报告问题,并返回不进行解析的字符串内容类型。在这种情况下,您需要解析 RPA 工作流逻辑中的值。

另一个相关的配置是“多行”复选框,该复选框主要与字符串类型字段相关。每当其他字段产生意外结果或没有结果时,首先要尝试将其更改为“字符串多行”字段,以查看模型预测的未更改输出。

6. 标记训练数据集

为训练数据添加标签时,您需要重点关注 Document Manager 文档窗格中文字的边框。右侧或顶部侧栏中的解析值并不重要,因为它们不会用于训练。

每当字段在页面上多次出现时,只要它们表示相同的概念(请参阅上面的“定义字段”部分),则应为所有字段加上标签。

当 OCR 漏掉一个词语或弄错几个字符时,只要标记边框(如果有),如果没有漏掉或弄错的情况,则跳过这步,继续操作。无法在 Document Manager 中添加词,因为即使您这样做,该词在运行时仍会丢失,因此添加它根本无法帮助模型。

当您标记标签时,请保持警觉,注意可能具有多个或重复含义/概念的字段(以防您可能需要将一个字段拆分为两个单独的字段),或者可能不需要的字段(但如果为其添加标签,可能帮助您在 RPA 工作流中执行某些验证或自我一致性检查逻辑)。典型的示例是发票行项目中的数量单价金额。“行金额”是数量和单价的乘积,但这在无需设置置信度的情况下检查一致性时非常有用。

7. 标记评估数据集

在为评估数据集(也称为测试数据集)添加标签时,您需要重点关注与为训练数据集添加标签稍有不同的内容。而对于训练数据集,只有文档上字段的边框重要,而对于评估数据集,只有字段的很重要。您可以通过单击右侧或顶部侧栏中的值来编辑它们。要返回自动解析的值,请单击锁形图标。

注意:为方便快捷起见,并避免输入错误,我们建议在添加标签时单击文档上的框,并仅手动进行更正。手动键入完整值比较慢,而且更容易出错。

8. 训练和评估模型

允许导出整个数据集,包括训练和测试批次,因为 AI Center 中的训练管道会忽略测试数据。但是,无论评估管道是由训练数据还是测试数据构成,评估管道都会对整个评估数据集运行评估。给定文档的类型显示在 Document Manager 窗口顶部中央的文件名下方。

评估 ML 模型时,最有用的工具是在 artifacts/eval_metrics 文件夹中生成的 evaluation.xlsx 文件。在此 Excel 文件中,您可以查看哪些预测失败以及对哪些文件失败,您还可以立即查看其是 OCR 错误还是 ML 提取错误或解析错误,以及是否可以通过 RPA 工作流中的简单逻辑进行修复,或者需要其他 OCR 引擎或更多训练数据,或者改进 Document Manager 中的标签或字段配置。

此 Excel 文件对于识别需要在 RPA 工作流中应用的最相关业务规则也非常有用,以便在路由到 Action Center 中的验证站点以进行手动审核时捕获常见错误。到目前为止,业务规则是检测错误的最可靠方法。

对于业务规则无法捕获的错误,您还可以使用置信度级别。此 Excel 文件还包含每个预测的置信度级别,因此您可以使用 Excel 功能(例如排序和筛选)来确定适合您的业务场景的置信度阈值。

总体而言,evaluation.xlsx Excel 文件是您需要重点关注的关键资源,以便从 AI 自动化中获取最佳结果。

9. 定义并实施业务规则

在此步骤中,您应该关注模型错误及其检测方法。有 2 种主要方法用于检测错误:

  • 通过执行业务规则
  • 通过强制执行最低置信度级别阈值

检测错误的最有效、最可靠的方法是定义业务规则。置信度级别永远不可能达到 100% 完美,始终会有一小部分(但非零)的正确预测(低置信度)或错误预测(高置信度)。此外,也许最重要的是,缺少的字段没有置信度,因此置信度阈值永远无法捕获根本不会提取任何字段的错误。因此,置信度级别阈值只能用作回退和安全保障,而不能用作检测关键业务错误的主要方法。

业务规则示例:

  • 净额加税额必须等于总金额
  • 总金额必须大于或等于净额
  • “发票编号”、“日期”和“总金额”(可能还有其他字段)必须存在
  • PO 编号(如果有)在 PO 数据库中必须存在
  • 发票日期必须是过去的日期,且不能超过 X 个月
  • 到期日期必须是未来日期,且不能超过 Y 天/月
  • 对于每个行项目,数量乘以单价必须等于行金额
  • 行金额之和必须等于净额或总金额
  • 等等。

具体来说,列字段的置信度级别绝不应用作错误检测机制,因为列字段(例如,发票或 PO 上的行项目)可能包含数十个值,因此针对如此多的值设置最小阈值是特别不可靠的,因为一个值很有可能具有较低的置信度,这将导致多次不必要地路由大部分或全部文档以进行人工验证。

业务规则必须作为 RPA 工作流的一部分强制执行,并且最好将业务规则失败传递给人工验证者,以便引起他们的注意并加快流程。

10. (可选)选择置信度阈值

定义业务规则后,有时可能会保留少量没有业务规则的字段,或者业务规则不太可能捕获所有错误。为此,您可能需要使用置信度阈值作为最后的手段。

用于设置此阈值的主要工具是 AI Center 中的评估管道功能,具体来说是 Excel 电子表格,该电子表格由评估管道在“Outputs”>“artifacts”>“eval_metrics”文件夹中输出。

该电子表格包含两个列,一个表示每个字段,另一个表示每个预测的置信度。您可以添加一个名为 min_confidence 的列,该列采用所有字段中的最低置信度,这些字段对您的业务流程很重要,但尚未被业务规则覆盖。例如,您可能不想为行项目的可信度设置阈值,而是为供应商名称、总金额、日期、到期日期、发票编号和其他必填字段设置阈值。通过根据 min_confidence 列对表格进行排序,您可以查看开始出现错误的位置,并设置一个高于该级别的阈值,以确保仅发送正确提取的文档。

11. 使用来自验证站点的数据进行训练

验证站点数据可以帮助改进模型预测,但事实证明,在大多数情况下,大多数错误并非归因于模型本身,而是归因于 OCR、标签错误或不一致问题,或者归因于后处理问题(例如,日期或数字格式设置)。因此,第一个关键方面是,应仅在验证和优化其他数据提取组件后使用验证站点数据,以确保较高的准确度,而剩下的唯一改进领域是模型预测本身。

第二个关键方面是,验证站点数据的信息密度低于 Document Manager 中标记的数据。从根本上讲,验证站点用户只关心一次获取正确的值。如果发票有 5 页,并且发票编号出现在每页上,则验证站点用户只需在第一页上对其进行验证。因此,80% 的值保持未标记状态。在 Document Manager 中,所有值都已标记。

最后,请记住,需要将验证站点数据添加到手动标记的原始数据集,以便您始终拥有单个训练数据集,该数据集的大小会随时间而增加。您将始终需要在次要版本为 0(零)的 ML 包上进行训练,该版本是 UiPath 发布的开箱即用版本。

重要提示:

始终将验证站点数据添加到同一个数据集,并在 ML 包次要版本 0(零)上进行训练

用户经常错误地认为,使用验证站点数据的方法是迭代地重新训练先前的模型版本,因此使用当前批次来训练包 X.1 以获取 X.2。然后,下一个批次在 X.2 上训练以获取 X.3,依此类推。以这种方式使用本产品是错误的。每个验证站点批次都需要导入到与最初手动标记的数据相同的 Document Manager 会话中,以创建更大的数据集,然后始终必须使用该数据集在 X.0 ML 包版本上进行训练。

验证站点数据的数量可能会比这大得多,因为它在生产工作流中使用。因此,鉴于模型训练需要时间和基础架构,因此您需要了解关于可能有用的数据量的指南。此外,您不希望数据集被验证站点数据淹没,因为上述信息密度问题可能会降低模型的质量。

建议将添加的数据量限制在 Document Manager 数据页面数量的 2 到 3 倍以内,除此之外,只挑选那些您发现了主要故障的供应商或样本。如果已知生产数据发生重大变化,例如使用新语言,或者将新的地理区域加入到业务流程中(从美国扩展到欧洲或南亚),则应将这些语言和区域的代表性数据添加到 Document Manager 中进行手动标记。验证站点数据不适用于此类主要范围扩展。

以下是一个示例场景。您已选择合适的 OCR 引擎,在 Document Manager 中标记了 500 页,从而获得良好的性能,并且已在生产 RPA 工作流中部署了模型。验证站点将开始生成数据。您应该从验证站点中随机选取最多 1000 到 1500 页,并将其与前 500 页一起导入到 Document Manager 中,然后重新训练 ML 模型。随后,您应运行评估管道以确保模型得到了实际改进,然后将新模型部署到生产环境中。

12. 自动微调循环(预览版)

自动微调循环是一项预览版功能,在维护您使用上述步骤创建的高性能模型时非常有用。为了确保自动微调能够生成更好的模型版本,拥有良好的评估数据集以及使用自动重新计划的完整管道(同时运行训练和评估)至关重要。这样,您可以查看最近的训练是否生成了比上次更准确的模型,如果是,便可将新模型部署到机器人在业务流程中调用的 ML 技能。

注意:随着数据的传入以及 Document Manager 按照“计划导出”对话框中的计划导出数据,训练数据集会不断变化。评估在管道中指定的同一个评估数据集上运行。评估数据集永远不会自动改变,它们始终需要手动策划、标记和导出。您应该很少地更改评估集,以便可以比较不同训练运行之间的准确性分数。

重新训练 ML 包的新版本时,AI Center 可以自动更新 ML 技能。但是,此自动更新未考虑完整管道的分数,因此,建议您不要将此功能与 Document Understanding 自动重新训练管道一起使用。

如上文“创建评估数据集”部分所述,ML 包 21.10 版或更高版本的评估管道实现按文档计算分数 - 这会准确反映您在 RPA 工作流中看到的结果。这假设您的数据集已在 Document Manager 中按文档进行标记。如果您可以像在常规 PDF 阅读器中一样自然地滚动页面,则可以判断是否在每个文档的基础上为多页文档添加了标签。如果您需要单击“下一步”以从某一页转到下一页,则每一页都被视为一个单独的文档。

13. 部署自动化

请务必使用 Studio 开始屏幕中“模板”部分中的 Document Understanding 流程,以便在企业 RPA 架构中应用最佳实践。

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.