- 入门指南
- 框架组件
- ML 包
- 管道
- Data Manager
- OCR 服务
- 部署在 Automation Suite 中的 Document Understanding
- 在 AI Center 独立版中部署的 Document Understanding
- 深度学习
- 训练高效能模型
- 许可
- 参考
- UiPath.Abbyy.Activities
- UiPath.AbbyyEmbedded.Activities
- UiPath.DocumentUnderstanding.ML.Activities
- UiPath.DocumentUnderstanding.OCR.LocalServer.Activities
- UiPath.Intelligent OCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.DocumentProcessing.Contracts
- UiPath.OmniPage.Activities
- UiPath.PDF.Activities
机器学习模型的强大功能在于,它们是由训练数据定义的,而不是由计算机代码中表示的显式逻辑定义的。这意味着在准备训练数据集时需要格外小心,因为模型最高仅能达到与训练数据集一样好的效果。从这个意义上说,UiPath Studio 对于 RPA 工作流来说,就相当于 Data Manager 对于机器学习功能。两者都需要一定的经验才能有效使用。
数据提取 ML 模型有什么作用?
ML 模型可以从单一类型的文档中提取数据,尽管它可能涉及多种不同的语言。至关重要的是,每个字段(“总计”,“日期”等)必须有一个一致的含义。如果人类可能对某个字段的正确值感到困惑,则 ML 模型也同样如此。
可能会出现歧义情况。例如,水电费账单是否就是另一种类型的发票?还是这两种不同的文档类型需要两种不同的 ML 模型?如果您需要提取的字段相同(即含义相同),则可以将其视为单个文档类型。但是,如果出于不同原因(不同的业务流程)需要提取不同的字段,则可能表明您需要将这些文档视为两种不同的文档类型,因此需训练两种不同的模型。
如有疑问,首先请训练一个模型,但要将文档保存在不同的 Data Manager 批次中(请参阅 Data Manager 视图顶部中心的“筛选”下拉列表),以便稍后在需要时轻松将其分开。这样,加标签的工作不会丢失。用于训练 ML 模型的数据越多越好。因此,拥有一个有充足数据的单个模型是一个很好的起点。
训练组件和评估组件
Data Manager 可用于构建两类数据集:训练数据集和评估数据集。两者对于构建高效的 ML 模型都是必不可少的,并且您需要规划用于创建和维护两者的时间和精力。若没有代表生产文档流量的评估数据集,您将无法获得高性能的 ML 模型。
每个数据集类型都以不同的方式标记:
-
训练数据集仅依赖于页面上代表您需要提取的不同信息的词的边框。
为训练集添加标签时,请仅关注页面本身和文字框。
-
评估数据集仅依赖字段值,这些值显示在侧边栏(适用于常规字段)或顶部栏中(适用于列字段)。
为评估集添加标签时,请注意侧边栏或顶部栏中字段名称下的值。这并不意味着您需要手动输入,事实上,这很容易出现印刷错误,因此,我们仍然建议您通过单击页面上的框来添加标签,但请确保检查值是否正确。
有关如何执行适当评估的更多详细信息,请参阅下文。
数据提取组件
数据提取依赖于以下组件:
-
光学字符识别
-
文字和线条构建
将字符按词语分组中并将词语按从左到右的文本行分组
-
页面上每个词/框的机器学习模型预测
-
文本跨度的清理、解析和格式化
例如,将多行中的词语分到一个地址中,将日期格式化为标准 yyyy-mm-dd 格式
-
应用选择要返回的值的算法
对于文档有 2 页或更多页且某些字段在多页显示的情况
构建高效的 ML 模型
为了获得最佳的自动化率结果(处理文档流所需的人工工作量每年每人每月减少的百分比),您需要仔细遵循以下步骤:
1. 选择一个 OCR 引擎
这会影响 OCR 和字与行的构建(部分取决于 OCR),当然还会影响所有后续工作。
要选择 OCR 引擎,您应该创建不同的 Data Manager 会话,配置不同的 OCR 引擎,并尝试将相同的文件导入每个文件中以检查差异。您应将重点放在打算提取的区域上。例如,如果您需要提取发票中作为徽标的一部分显示的公司名称,则可能需要查看哪个 OCR 引擎在徽标中的文本上效果更好。
您的默认选项应为“UiPath 文档 OCR”,因为它是免费包含在 Document Understanding 许可证中的。但是,如果需要使用某些不受支持的语言,或者涉及到一些非常难读的文档,您可能需要尝试使用 Google Cloud(仅限云端)或 Microsoft Read(云端或本地部署),它们的语言覆盖范围更广。这些引擎需要付出一定的成本,但其实很低,但是,如果您的业务流程中某些关键数据字段的准确性较高,则强烈建议使用现有的最佳 OCR – 稍后您将发现其非常值得使用,因为所有后续工作均依赖于此。
Please be aware that the Digitize Document activity has the ForceApplyOCR setting set to False by default, which means when operating on .pdf documents by default the OCR engine is not used at all, the text is extracted directly from the .pdf document itself in the case of native .pdf documents. However, many native .pdf documents may contain logos or even headers or footers which are not picked up. These may contain the identifying information of the company, such as its name, address, VAT code or payment information, which is highly relevant in business processes. If your process has this situation, then set ForceApplyOCR to True to ensure that all text is detected, though it might slow down your process.
2. 创建训练数据集
机器学习技术的主要优势是能够以高度多样性处理复杂问题。在估计训练数据集的大小时,我们会先查看字段的数量及其类型和语言数量。只要不是中文/日语/韩语,一个模型就可以处理多种语言。中日韩场景通常需要单独的训练数据集和模型。
字段分为 3 种类型:
- Regular fields (date, total amount) For Regular fields, you need at least 20-50 samples per field. So, if you need to extract 10 regular fields, you would need at least 200-500 samples. If you need to extract 20 regular fields, you would need at least 400-1000 samples. The amount of samples you need increases with the number of fields. More fields means you need more samples, about 20-50X more.
- Column fields (item unit price, item quantity) For Column fields, you need at least 50-200 samples per column field, so for 5 column fields, with clean and simple layouts you might get good results with 300 samples, but for highly complex and diverse layouts, it might require over 1000. To cover multiple languages, then you need at least 200-300 samples per language assuming they cover all the different fields. So, for 10 header fields and 4 column fields with 2 languages, 600 samples might be enough (400 for the columns and headers plus 200 for the additional language), but in some cases might require 1200 or more.
- Classification fields (currency) Classification fields generally require at least 10-20 samples from each class.
上述准则假设您正在解决高度多样性的场景,例如具有数十到数百或数千种布局的发票或采购订单。但是,如果您要解决布局(少于 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% 的整个数据集来自任何一个供应商。如果达到某个点,增加数据就无济于事,它甚至可能影响其他供应商的准确性,因为该模型将极大地优化(过拟合)一个供应商。
代表性数据集
Data should be chosen to cover the diversity of the documents likely to be seen in the production workflow. For example, if you get invoices in English but some of them come from the US, India and Australia, they will likely look different, so you need to make sure you have samples from all three. This is relevant not only for the model training itself, but also for labeling purposes because as you label the documents you might discover that you need to extract new, different fields from some of these regions, like GSTIN code from India, or ABN code from Australia. See more in the Define fields section.
3. 创建评估数据集
在提及训练集时,页面和页面数量是最重要的,而对于评估集,我们仅指文档和文档的数量。v2021.10 及之后版本的分数是按文档计算的。
评估数据集可以更小。它们可以是 50 到 100 个文档(在低度多样性场景下甚至可以是 30 到 50 个),并且可以随着时间的推移增加到几百个文档。重要的是,它们必须代表生产数据流。因此,一个好的方法是从 RPA 工作流中处理的文档中随机选择。即使某些供应商的人数过多,也没关系。例如,如果单个供应商代表您的发票流量的 20%,也可以让该供应商也成为您的评估集的 20%,因此评估指标近似于您的业务指标,即减少每人每月人工文档处理花费的工作量。
将评估数据导入 Data Manager 时,您需要确保选中“导入”对话框窗口中的“将此作为评估集”复选框。通过这种方式,您可以确保在训练时保留数据,并且可以使用 Data Manager 的“筛选器”下拉列表中的“评估集”选项轻松导出数据以运行评估。
Starting with the 21.9 Preview release in Automation Cloud and the 21.10 GA On Premises release, Data Manager has switched to handling multi-page documents rather than each page as a separate entity as was the case previously. This is a major change, especially for Evaluations, which were its main motivation. Evaluations need to be representative of the runtime process, and at runtime multipage documents are processed as a whole, rather than as separate pages. To benefit from this enhancement in ML Packages with version 21.10 or later, you just need to leave the "Backward compatible export" box unchecked in the Export dialog. If you check this box, the dataset will be exported in the old page-by-page way, and evaluation scores will not be as representative of the runtime performance.
4. 定义字段
定义字段是一场需要与拥有业务流程本身的主题专家或领域专家进行的对话。对于发票,它将是应付账款流程的所有者。此对话非常重要,需要在标注任何文档之前进行以避免浪费时间,并且还需要一起查看至少 20 个随机选择的文档样本。为此,我们需要预留一个小时的时间段,通常需要在几天后重复该时间段,因为准备数据的人员会遇到模棱两可的情况或极端情况。
对话开始时通常会假设您需要提取 10 个字段,然后提取 15 个字段。下面的小节将介绍一些示例。
您需要了解的一些关键配置:
-
内容类型
This is the most important setting as it determines the postprocessing of the values, especially for dates (detects if the format is US-style or non-US style, and then formats them as yyyy-mm-dd) and for numbers (detects the decimal separator – comma or period). ID numbers clean up anything coming before a colon or hash symbol. String content type performs no cleanup and can be used when you want to do your own parsing in the RPA workflow.
-
多行复选框
这用于解析可能出现在多行文本中的字符串,如地址。
-
隐藏字段
可以为标记为“隐藏”的字段加标签,但在导出数据时会保留这些字段,因此不会对其应用训练模型。当正在为字段加标签、字段太稀少或其优先级较低时,这很方便。
-
计分
This is relevant only for Evaluation pipelines, and it affects how the accuracy score is calculated. A field that uses Levenshtein scoring is more permissive: if a single character out of 10 is wrong, the score will be 0.9. However, if scoring is Exact Match it is more strict: a single character wrong will lead to a score of zero. All fields are by default Exact Match. Only String type fields have the option to select Levenshtein scoring.
水电费账单金额
总金额看似足够简单,但水电费账单中包含很多金额。有时您需要待支付的总金额,有时您只需要当前的账单金额,而无需从前一个计费期结转的金额。在后一种情况下,即使当前账单和总金额可以相同,您也需要以不同的方式标注标签。概念不同,金额通常也有所不同。
每个字段都代表一个不同的概念,因此需要尽可能清晰简洁地定义字段,以免造成混淆。如果人类可能将其混淆,则 ML 模型也将混淆。
Moreover, the current bill amount can sometimes be composed of a few different amounts, fees, and taxes and may not appear individualized anywhere on the bill. A possible solution to this is to create two fields: a previous-charges field and a total field. These two always appear as distinct explicit values on the utility bill. Then the current bill amount can be obtained as the difference between the two. You might even want to include all 3 fields (previous-charges,total, and current-charges) in order to be able to do some consistency checks in cases where the current bill amount appears explicitly on the document. So you could go from one to three fields in some cases.
发票上的采购订单编号
PO 编号可以显示为发票的单个值,也可以显示为发票上的行项目表格的一部分,其中每个行项目都有不同的 PO 编号。在本例中,设置两个不同的字段可能较合适:“po-no”和“item-po-no”。通过在视觉上和概念上保持每个字段的一致性,该模型可能会做得更好。但是,您需要确保“训练”和“评估”数据集都充分体现了这一点。
发票上的供应商名称和付款地址名称
公司名称通常显示在发票或水电费账单的顶部,但有时可能不可读,因为只有徽标,公司名称也没有明确写出。或可能有其他图章、手写文本或起皱的文本。在这种情况下,人们可能会在水电费账单工资单的“收款人”部分中标注右下角出现的名称。该名称通常是相同的,但并不总是相同的,因为它是一个不同的概念。可以向其他母公司、控股公司或其他联属公司实体付款,但其单据看起来会有所不同。这可能会导致模型性能下降。在本例中,您需要创建 2 个字段,即“vendor-name”和“payment-addr-name”。然后,您可以在供应商数据库中查找并使用匹配的数据库,或者在缺少供应商名称时使用“payment-addr-name”。
表格行
我们需要牢记两个不同的概念:表格行和文本行。表格行包含该行中所有列字段的所有值。有时,它们可能全部属于页面上同一行文本的一部分。在其他情况下,它们可能位于不同的行中。
如果表格行包含多行文本,则需要使用“/”热键对表格行中的所有值进行分组。当您执行此操作时,将出现一个绿色框,覆盖整个表格行。这是一个表格示例,其中前 2 行包含多行文本,需要使用“/”热键进行分组,而第三行是单行文本,不需要进行分组。
这是一个表格示例,其中每个表格行都由一行文本组成。您无需使用“/”热键对这些活动进行分组,因为这是由 Data Manager 隐式完成的。
拆分项目
“拆分项目”是仅对“列”字段显示的设置,它可帮助模型知道某个行项目何时结束,另一个行项目何时开始。人工查看文档时,您可能要看一下右侧的行数,以便了解行中有多少金额。每个金额通常指的是一个行项目。这表明,“行金额”是一列,您应在其中启用“拆分项目”。如果 OCR 缺少行金额或模型无法识别行金额,则也可以标记其他列:“数量”和“单价”通常也标记为“拆分项目”。
5. 配置字段
最重要的配置是内容类型,但字符串除外:
- 数字
- 日期
- 电话
- ID 编号
这些都会影响后处理,尤其是清理、解析和格式化。最复杂的是日期格式,但数字格式也需要确定小数点分隔符和千位修饰符。在某些情况下,如果解析失败,您可以选择向 UiPath 支持团队报告问题,并返回不进行解析的字符串内容类型。在这种情况下,您需要解析 RPA 工作流逻辑中的值。
另一个相关的配置是“多行”复选框,该复选框主要与字符串类型字段相关。每当其他字段产生意外结果或没有结果时,首先要尝试将其更改为“字符串多行”字段,以查看模型预测的未更改输出。
6. 标记训练数据集
为训练数据添加标签时,您需要重点关注 Data Manager 文档窗格中文字的边框。右侧或顶部侧栏中的解析值并不重要,因为它们不会用于训练。
Whenever a field appears multiple times on a page, as long as they represent the same concept (see the Define fields section above), all of them should be labeled.
当 OCR 漏掉一个词语或弄错几个字符时,只要标记边框(如果有),如果没有漏掉或弄错的情况,则跳过这步,继续操作。无法在 Data Manager 中添加词,因为即使您这样做,该词在运行时仍会丢失,因此添加它根本无法帮助模型。
As you label remain vigilant about fields that may have multiple or overlapping meanings/concepts, in case you might need to split a field into two separate fields, or fields that you potentially do not explicitly need, but which, if labeled, might help you to do certain validation or self-consistency check logic in the RPA workflow. Typical examples are quantity,unit-price, and line-amount on invoice line items. Line-amount is the product of quantity and unit-price, but this is very useful to check for consistency without the need for confidence levels.
7. 标记评估数据集
在为评估数据集(也称为测试数据集)添加标签时,您需要重点关注与为训练数据集添加标签稍有不同的内容。而对于训练数据集,只有文档上字段的边框重要,而对于评估数据集,只有字段的值很重要。您可以通过单击右侧或顶部侧栏中的值来编辑它们。要返回自动解析的值,请单击锁形图标。
为方便快捷起见,并避免输入错误,我们建议在添加标签时单击文档上的框,并仅手动进行更正。手动键入完整值比较慢,而且更容易出错。
8. 训练和评估模型
允许导出整个数据集,包括训练和测试批次,因为 AI Center 中的训练管道会忽略测试数据。但是,无论评估管道是由训练数据还是测试数据构成,评估管道都会对整个评估数据集运行评估。给定文档的类型显示在 Data Manager 窗口顶部中央的文件名下方。
评估 ML 模型时,最有用的工具是在 artifacts/eval_metrics 文件夹中生成的 evaluation.xlsx 文件。在此 Excel 文件中,您可以查看哪些预测失败以及对哪些文件失败,您还可以立即查看其是 OCR 错误还是 ML 提取错误或解析错误,以及是否可以通过 RPA 工作流中的简单逻辑进行修复,或者需要其他 OCR 引擎或更多训练数据,或者改进 Data Manager 中的标签或字段配置。
此 Excel 文件对于识别需要在 RPA 工作流中应用的最相关业务规则也非常有用,以便在路由到 Action Center 中的验证站点以进行手动审核时捕获常见错误。到目前为止,业务规则是检测错误的最可靠方法。
对于业务规则无法捕获的错误,您还可以使用置信度级别。此 Excel 文件还包含每个预测的置信度级别,因此您可以使用 Excel 功能(例如排序和筛选)来确定适合您的业务场景的置信度阈值。
总体而言,evaluation.xlsx Excel 文件是您需要重点关注的关键资源,以便从 AI 自动化中获取最佳结果。
9. 定义并实施业务规则
在此步骤中,您应该关注模型错误及其检测方法。有 2 种主要方法用于检测错误:
- 通过执行业务规则
- 通过强制执行最低置信度级别阈值
检测错误的最有效、最可靠的方法是定义业务规则。置信度级别永远不可能达到 100% 完美,始终会有一小部分(但非零)的正确预测(低置信度)或错误预测(高置信度)。此外,也许最重要的是,缺少的字段没有置信度,因此置信度阈值永远无法捕获根本不会提取任何字段的错误。因此,置信度级别阈值只能用作回退和安全保障,而不能用作检测关键业务错误的主要方法。
业务规则示例:
- 净额加税额必须等于总金额
- 总金额必须大于或等于净额
- Invoice number,Date,Total amount (and potentially other fields) must be present
- PO 编号(如果有)在 PO 数据库中必须存在
- 发票日期必须是过去的日期,且不能超过 X 个月
- 到期日期必须是未来日期,且不能超过 Y 天/月
- 对于每个行项目,数量乘以单价必须等于行金额
- 行金额之和必须等于净额或总金额
- 等等。
具体来说,列字段的置信度级别绝不应用作错误检测机制,因为列字段(例如,发票或 PO 上的行项目)可能包含数十个值,因此针对如此多的值设置最小阈值是特别不可靠的,因为一个值很有可能具有较低的置信度,这将导致多次不必要地路由大部分或全部文档以进行人工验证。
业务规则必须作为 RPA 工作流的一部分强制执行,并且最好将业务规则失败传递给人工验证者,以便引起他们的注意并加快流程。
10. (可选)选择置信度阈值
定义业务规则后,有时可能会保留少量没有业务规则的字段,或者业务规则不太可能捕获所有错误。为此,您可能需要使用置信度阈值作为最后的手段。
用于设置此阈值的主要工具是 AI Center 中的评估管道功能,具体来说是 Excel 电子表格,该电子表格由评估管道在“Outputs”>“artifacts”>“eval_metrics”文件夹中输出。
该电子表格包含两个列,一个表示每个字段,另一个表示每个预测的置信度。您可以添加一个名为 min_confidence 的列,该列采用所有字段中的最低置信度,这些字段对您的业务流程很重要,但尚未被业务规则覆盖。例如,您可能不想为行项目的可信度设置阈值,而是为供应商名称、总金额、日期、到期日期、发票编号和其他必填字段设置阈值。通过根据 min_confidence 列对表格进行排序,您可以查看开始出现错误的位置,并设置一个高于该级别的阈值,以确保仅发送正确提取的文档。
11. 使用来自验证站点的数据进行训练
Validation Station data can help improve the model predictions, yet, in many cases, it turns out that most errors are not due to the model itself but to the OCR, labelling errors or inconsistencies, or to postprocessing issues (e.g., date or number formatting). So, the first key aspect is that Validation Station data should be used only after the other Data Extraction Components have been verified and optimized to ensure good accuracy, and the only remaining area of improvement is the model prediction itself.
第二个关键方面是,验证站点数据的信息密度低于 Data Manager 中标记的数据。从根本上讲,验证站点用户只关心一次获取正确的值。如果发票有 5 页,并且发票编号出现在每页上,则验证站点用户只需在第一页上对其进行验证。因此,80% 的值保持未标记状态。在 Data Manager 中,所有值都已标记。
最后,请记住,需要将验证站点数据添加到手动标记的原始数据集,以便您始终拥有单个训练数据集,该数据集的大小会随时间而增加。您将始终需要在次要版本为 0(零)的 ML 包上进行训练,该版本是 UiPath 发布的开箱即用版本。
It if often wrongly assumed that the way to use Validation Station data is to iteratively retrain the previous model version, so the current batch is used to train package X.1 to obtain X.2. Then the next batch trains on X.2 to obtain X.3 and so on. This is the wrong way to use the product. Each Validation Station batch needs to be imported into the same Data Manager session as the original manually labeled data making a larger dataset, which must be used to train always on the X.0 ML Package version.
验证站点数据的数量可能会比这大得多,因为它在生产工作流中使用。因此,鉴于模型训练需要时间和基础架构,因此您需要了解关于可能有用的数据量的指南。此外,您不希望数据集被验证站点数据淹没,因为上述信息密度问题可能会降低模型的质量。
建议将添加的数据量限制在 Data Manager 数据页数的 2 到 3 倍以内,除此之外,只挑选那些您发现了主要故障的供应商或样本。如果已知生产数据发生重大变化,例如使用新语言,或者将新的地理区域加入到业务流程中(从美国扩展到欧洲或南亚),则应将这些语言和区域的代表性数据添加到 Data Manager 中进行手动标记。验证站点数据不适用于此类主要范围扩展。
以下是一个示例场景。您已选择合适的 OCR 引擎,在 Data Manager 中标记了 500 页,从而获得良好的性能,并且已在生产 RPA 工作流中部署了模型。验证站点将开始生成数据。您应该从验证站点中随机选取最多 1000 到 1500 页,并将其与前 500 页一起导入到 Data Manager 中,然后重新训练 ML 模型。随后,您应运行评估管道以确保模型得到了实际改进,然后将新模型部署到生产环境中。
12. 自动微调循环(预览版)
The Auto-Fine-tuning loop is a Preview capability that becomes useful for maintaining a high-performing model which you have already created using the steps described above. To ensure that auto-fine-tuning produces better versions of the model it is critical that you have a good Evaluation dataset and that you use an automatically rescheduled Full Pipeline which runs both Training and Evaluation at the same time. In this way, you can see if the most recent Training produced a more accurate model than the previous one, and if so, you are ready to deploy the new model to the ML Skill invoked by the Robots in your business process.
The Training dataset keeps changing as more data comes in and Data Manager exports periodically as scheduled in the Scheduled Export dialog. The Evaluation runs on the same Evaluation dataset you specify in the pipeline. Evaluation datasets never change automatically, they always need to be curated, labeled and exported manually. You should change your Evaluation set rarely so that accuracy scores can be compared between different Training runs.
重新训练 ML 包的新版本时,AI Center 可以自动更新 ML 技能。但是,此自动更新未考虑完整管道的分数,因此,建议您不要将此功能与 Document Understanding 自动重新训练管道一起使用。
As mentioned above in the Create an Evaluation Dataset section, Evaluation Pipeline implementations for ML Packages release 21.10 or later calculate scores on a per-document basis - which reflects accurately the results you see in an RPA workflow. This assumes your dataset was labelled on a per-document basis in Data Manager. You can tell if a multi-page document is labeled on a per-document basis if you can scroll naturally through the pages like in a regular PDF reader. If you need to click next to pass from one page to the next, then each page is considered a separate document.
13. 部署自动化
Make sure to use the Document Understanding Process from the Templates section in the Studio start screen in order to apply best practices in Enterprise RPA architecture.