组合自定义模型
此内容适用于: v2.1
重要
Api-version=2024-07-31-preview 及更高版本的模型组合行为即将发生变更,有关详细信息,请参阅组合的自定义模型。 以下行为仅适用于 v3.1 及更早版本
组合模型的创建方式是采用自定义模型的集合并将其分配到单个模型 ID。 最多可将 200 个经过训练的自定义模型分配到单个组合模型 ID。 将文档提交到组合模型时,服务会执行分类步骤,以确定哪个自定义模型可准确表示呈现用于分析的表单。 如果你训练了多个模型,并且要对它们进行分组以分析相似的表单类型,那么组合模型非常有用。 例如,组合模型可能包含为分析供应、设备和家具采购订单而进行训练的自定义模型。 可以使用组合模型为每次分析和提取确定适当的自定义模型,而不是手动尝试选择适当的模型。
有关详细信息,请参阅组合的自定义模型。
本文介绍如何创建和使用组合的自定义模型来分析表单与文档。
先决条件
若要开始,你需要以下资源:
Azure 订阅。 可创建 Azure 订阅。
文档智能实例。 拥有 Azure 订阅后,请在 Azure 门户中创建文档智能资源,以获取密钥和终结点。 如果你有现成的文档智能资源,请直接前往资源页。 可以使用免费定价层 (F0) 试用该服务,然后再升级到付费层进行生产。
资源部署后,选择“转到资源”。
从 Azure 门户中复制“密钥和终结点”值,并将其粘贴到一个方便的位置,例如 Microsoft 记事本。 需要密钥和终结点值才能将应用程序连接到文档智能 API。
提示
有关详细信息,请参阅创建文档智能资源。
一个 Azure 存储帐户。 如果你不知道如何创建 Azure 存储帐户,请按照 Azure 存储快速入门 - Azure 门户。 可以使用免费定价层 (F0) 试用该服务,然后再升级到付费层进行生产。
创建自定义模型
首先,需要准备好一组要组合的自定义模型。 可以使用文档智能工作室、REST API 或客户端库。 步骤如下:
收集训练数据集
生成自定义模型从建立训练数据集开始。 对于示例数据集,至少需要五个相同类型的已完成表单。 它们可以是不同的文件类型(jpg、png、pdf、tiff),并且包含文本和手写内容。 表单必须遵循文档智能的输入要求。
提示
按照以下提示优化用于训练的数据集:
- 如果可以,请使用基于文本的 PDF 文档而不是基于图像的文档。 扫描的 PDF 作为图像处理。
- 对于填充表单,请使用填充了所有字段的示例。
- 在每个字段中使用具有不同值的表格。
- 如果表单图像质量较低,请使用较大的数据集(例如 10-15 张图像)。
有关如何收集训练文档的提示,请参见生成训练数据集。
上传训练数据集
收集一组训练文档后,需要向 Azure Blob 存储容器上传训练数据。
如果要使用手动标记的数据,则必须上传与训练文档对应的 .labels.json 和 .ocr.json 文件。
训练自定义模型
当你使用带标签的数据来训练模型时,该模型会通过监督式学习使用你提供的带标签表单来提取关注的值。 带标签的数据会生成表现更好的模型,并且可以生成处理复杂表单或所含值没有键的表单的模型。
文档智能使用 prebuilt-layout 模型 API 来学习字样和手写文本元素的预期大小和位置并提取表。 然后,它使用用户指定的标签来习得文档中的键/值关联和表。 建议使用五个手动标记的相同类型(相同结构)的带标签表单来开始训练新模型。 然后,根据需要添加更多带标签的数据以提高模型准确性。 借助文档智能可以训练一个模型,以使用监督学习功能提取键值对和表。
若要创建自定义模型,请先配置项目:
使用“创建项目”命令来启动“新建项目配置”向导。
输入项目详细信息,选择 Azure 订阅和资源,并选择包含你的数据的 Azure Blob 存储容器。
查看并提交设置,然后创建项目。
创建自定义模型时,可能需要从文档中提取数据集合。 集合可能表现为两种格式之一。 使用表作为视觉对象模式:
给定一组字段(列)的值(行)的动态或变量计数
给定一组字段(列和/或行)的值的特定集合
请参阅文档智能工作室:标记为表
创建组合模型
注意
create compose model
操作仅适用于使用标签训练的自定义模型。 尝试组合未标记模型会生成错误。
使用创建组合模型操作,最多可将 100 个经过训练的自定义模型分配到单个模型 ID。 使用组合模型来分析文档时,文档智能首先将对提交的表单进行分类,然后选择匹配度最佳的已分配模型,并返回该模型的结果。 当传入的表单可能属于多个模板中的一个模板时,此操作非常有用。
成功完成训练过程后,可以开始生成组合模型。 下面是创建和使用组合模型的步骤:
收集模型 ID
使用文档智能工作室训练模型时,模型 ID 位于项目下的模型菜单中:
组合自定义模型
选择一个自定义模型项目。
在该项目中,选择
Models
菜单项。从出现的模型列表中,选择要组合的模型。
选择左上角的“组合”按钮。
在弹出窗口中,为新组合的模型命名,然后选择“组合”。
操作完成后,新组合的模型会出现在列表中。
模型准备就绪后,使用“测试”命令通过测试文档对其进行验证并观察结果。
分析文档
自定义模型“分析”操作要求在调用文档智能时提供 modelID
。 应为应用程序中的 modelID
参数提供组合模型 ID。
管理组合模型
在自定义模型的整个生命周期中都可对其进行管理:
- 测试和验证新文件。
- 下载要在应用程序中使用的模型。
- 在模型的生命周期结束后将其删除。
很好! 你已学习了创建自定义模型和组合模型并在文档智能项目和应用程序中使用它们的步骤。
后续步骤
尝试使用我们的文档智能快速入门之一:
文档智能使用高级机器学习技术检测和提取文档图像的信息,并在结构化 JSON 输出中返回提取的数据。 使用文档智能,你可以训练独立的自定义模型,或者组合自定义模型来创建组合模型。
自定义模型。 通过文档智能自定义模型可以分析和提取特定于业务的表单和文档中的数据。 自定义模型针对不同的数据和用例进行训练。
组合模型。 组合模型的创建方式是采用自定义模型的集合并将它们分配给包含表单类型的单个模型。 将文档提交到组合模型时,服务会执行分类步骤,以确定哪个自定义模型可准确表示呈现用于分析的表单。
本文介绍如何使用文档智能示例标记工具、REST API 或客户端库来创建文档智能自定义模型和组合模型。
示例标记工具
尝试使用示例标记工具从自定义表单提取数据。 需要以下资源:
在文档智能 UI 中:
选择“使用‘自定义’通过标签训练模型和获取键值对”。
在下一个窗口中,选择“新建项目”:
创建模型
生成、训练和使用自定义模型和组合模型的步骤如下所示:
收集训练数据集
生成自定义模型从建立训练数据集开始。 对于示例数据集,至少需要五个相同类型的已完成表单。 它们可以是不同的文件类型(jpg、png、pdf、tiff),并且包含文本和手写内容。 表单必须遵循文档智能的输入要求。
上传训练数据集
需要将训练数据上传到 Azure Blob 存储容器。 如果不知道如何使用容器创建 Azure 存储帐户,请参阅 Azure 门户的 Azure 存储快速入门。 可以使用免费定价层 (F0) 试用该服务,然后再升级到付费层进行生产。
训练自定义模型
使用带标签的数据集训练你的模型。 标记的数据集依赖于 prebuilt-layout API,但包含了补充的人工输入,例如特定的标签和字段位置。 首先,为带标签的训练数据至少填写五个相同类型的表单。
当你使用带标签数据进行训练时,该模型会通过监督式学习使用提供的带标签表单提取关注的值。 带标签的数据会生成表现更好的模型,并且可以生成处理复杂表单或所含值没有键的表单的模型。
文档智能使用布局 API 来学习字样和手写文本元素的预期大小和位置并提取表。 然后,它使用用户指定的标签来习得文档中的键/值关联和表。 在训练新模型时,开始时建议先使用五个手动标记的同类型(同结构)表单。 根据需要添加更多带标签的数据,以提高模型准确性。 借助文档智能可以训练一个模型,以使用监督学习功能提取键值对和表。
创建组合模型
注意
模型组合仅适用于使用标签训练的自定义模型。 尝试组合未标记模型会生成错误。
通过模型组合操作,最多可将 200 个经过训练的自定义模型分配给单个模型 ID。 使用组合模型 ID 调用“分析”时,文档智能会先对提交的表单进行分类、选择匹配度最佳的已分配模型,然后返回该模型的结果。 当传入的表单可能属于多个模板中的一个模板时,此操作非常有用。
使用文档智能示例标记工具、REST API 或客户端库,按照以下步骤设置组合模型:
收集自定义模型 ID
成功完成训练过程后,系统将为自定义模型分配模型 ID。 可以按如下所示检索模型 ID:
使用文档智能示例标记工具训练模型时,模型 ID 位于“训练结果”窗口中:
组合自定义模型
收集与单个窗体类型对应的自定义模型后,可以将它们组合到单个模型中。
使用示例标记工具可以快速开始训练模型,并将它们组合为单个模型 ID。
完成训练后,按如下所示组合模型:
在左侧滑轨菜单上,选择“模型组合”图标(合并箭头)。
在主窗口中,选择要分配给单个模型 ID 的模型。 带有箭头图标的模型是已组合的模型。
选择左上角的“组合”按钮。
在弹出窗口中,为新组合的模型命名,然后选择“组合”。
操作完成后,新组合的模型会出现在列表中。
使用自定义模型或组合模型分析文档
自定义表单“分析”操作要求在调用文档智能时提供 modelID
。 可以为 modelID
参数提供单个自定义模型 ID 或组合模型 ID。
在工具的左窗格菜单上,选择
Analyze
图标(灯泡)。选择要分析的本地文件或图像 URL。
选择“运行分析”按钮。
该工具在边界框中应用标记,并报告每个标记的置信度百分比。
通过分析不属于训练数据集的表单来测试新训练的模型。 可能需要执行进一步的训练来改进模型,具体取决于报告的准确度。 可以继续执行进一步的训练以改进结果。
管理自定义模型
可以查看订阅下的所有自定义模型列表、检索有关特定自定义模型的信息以及从帐户中删除自定义模型,从而在整个生命周期中管理自定义模型。
很好! 你已学习了创建自定义模型和组合模型并在文档智能项目和应用程序中使用它们的步骤。
后续步骤
浏览我们的 API 参考文档,详细了解文档智能客户端库。