组合自定义模型

强调样式

此内容适用于:选中标记 v3.1 (GA) | 先前版本:蓝色复选标记 v3.0 蓝色复选标记 v2.1

此内容适用于: 选中标记 v3.0 (GA) | 最新版本: 紫色复原标记 v3.1 | 先前版本: 蓝色复选标记 v2.1

此内容适用于:选中标记 v2.1

重要

api-version=2024-11-30 的模型撰写行为已更改 (GA)。 有关详细信息,请参阅组合的自定义模型。 以下行为仅适用于 v3.1 及更早版本。

组合模型的创建方式是采用自定义模型的集合并将其分配到单个模型 ID。 最多可将 200 个经过训练的自定义模型分配到单个组合模型 ID。 将文档提交到组合模型时,服务会执行分类步骤,以确定哪个自定义模型可准确表示呈现用于分析的表单。 如果你训练了多个模型,并且要对它们进行分组以分析相似的表单类型,那么组合模型非常有用。 例如,组合模型可能包含为分析供应、设备和家具采购订单而进行训练的自定义模型。 可以使用组合模型为每次分析和提取确定适当的自定义模型,而不是手动尝试选择适当的模型。

有关详细信息,请参阅组合的自定义模型

本文介绍如何创建和使用组合的自定义模型来分析表单与文档。

先决条件

若要开始,你需要以下资源:

  • Azure 订阅。 可创建 Azure 订阅

  • 文档智能实例。 拥有 Azure 订阅后,请在 Azure 门户中创建文档智能资源,以获取密钥和终结点。 如果你有现成的文档智能资源,请直接前往资源页。 可以使用免费定价层 (F0) 试用该服务,然后再升级到付费层进行生产。

    1. 资源部署后,选择“转到资源”。

    2. 从 Azure 门户中复制“密钥和终结点”值,并将其粘贴到一个方便的位置,例如 Microsoft 记事本 需要密钥和终结点值才能将应用程序连接到文档智能 API。

显示如何访问资源密钥和终结点 URL 的静态照片。

提示

有关详细信息,请参阅创建文档智能资源

  • 一个 Azure 存储帐户。 如果你不知道如何创建 Azure 存储帐户,请按照 Azure 存储快速入门 - Azure 门户。 可以使用免费定价层 (F0) 试用该服务,然后再升级到付费层进行生产。

创建自定义模型

首先,需要准备好一组要组合的自定义模型。 可以使用文档智能工作室、REST API 或客户端库。 步骤如下:

收集训练数据集

生成自定义模型从建立训练数据集开始。 对于示例数据集,至少需要五个相同类型的已完成表单。 它们可以是不同的文件类型(jpg、png、pdf、tiff),并且包含文本和手写内容。 表单必须遵循文档智能的输入要求

提示

按照以下提示优化用于训练的数据集:

  • 如果可以,请使用基于文本的 PDF 文档而不是基于图像的文档。 扫描的 PDF 作为图像处理。
  • 对于填充表单,请使用填充了所有字段的示例。
  • 在每个字段中使用具有不同值的表格。
  • 如果表单图像质量较低,请使用较大的数据集(例如 10-15 张图像)。

有关如何收集训练文档的提示,请参见生成训练数据集

上传训练数据集

收集一组训练文档后,需要向 Azure Blob 存储容器上传训练数据

如果要使用手动标记的数据,则必须上传与训练文档对应的 .labels.json.ocr.json 文件。

训练自定义模型

当你使用带标签的数据来训练模型时,该模型会通过监督式学习使用你提供的带标签表单来提取关注的值。 带标签的数据会生成表现更好的模型,并且可以生成处理复杂表单或所含值没有键的表单的模型。

文档智能使用 prebuilt-layout 模型 API 来学习字样和手写文本元素的预期大小和位置并提取表。 然后,它使用用户指定的标签来习得文档中的键/值关联和表。 建议使用五个手动标记的相同类型(相同结构)的带标签表单来开始训练新模型。 然后,根据需要添加更多带标签的数据以提高模型准确性。 借助文档智能可以训练一个模型,以使用监督学习功能提取键值对和表。

在某些情况下,使用标签训练可改善效果。 若要使用标签进行训练,需要在 Blob 存储容器中添加特殊标签信息文件 (<filename>.pdf.labels.json) 和训练文档。

标签文件包含用户手动输入的键值关联,这些文件是标记数据训练所必需的。 但是,并非每个源文件都需要有相应的标签文件。 没有标签的源文件会被视为普通训练文档。 建议使用至少五个标记的文件进行可靠的训练。 可以使用文档智能工作室等 UI 工具来生成这些文件。

标签文件包含用户手动输入的键值关联。 这些文件是进行标记数据训练所需的,但并不是每个源文件都需要有相应的标签文件。 没有标签的源文件会被视为普通训练文档。 建议使用至少五个标记的文件进行可靠的训练。 可以使用文档智能工作室等 UI 工具来生成这些文件。

创建标签文件后,可以包含这些文件,只需调用训练方法并将 useLabelFile 参数设置为 true 即可。

显示 useLabelFile 可选参数的屏幕截图。

创建组合模型

备注

create compose model 操作仅适用于使用标签训练的自定义模型。 尝试组合未标记模型会生成错误。

使用创建组合模型操作,最多可将 100 个经过训练的自定义模型分配到单个模型 ID。 使用组合模型来分析文档时,文档智能首先将对提交的表单进行分类,然后选择匹配度最佳的已分配模型,并返回该模型的结果。 当传入的表单可能属于多个模板中的一个模板时,此操作非常有用。

成功完成训练过程后,可以开始生成组合模型。 下面是创建和使用组合模型的步骤:

组合自定义模型

组合模型 API 接受要组合的模型 ID 的列表。

组合模型请求的屏幕截图。

分析文档

若要发出分析文档请求,请在请求参数中使用唯一的模型名称。

自定义模型请求 URL 的屏幕截图。

管理组合模型

在整个开发周期都可以管理自定义模型,包括复制列出删除模型。

很好! 你已学习了创建自定义模型和组合模型并在文档智能项目和应用程序中使用它们的步骤。

后续步骤

尝试使用我们的文档智能快速入门之一:

C#

文档智能使用高级机器学习技术检测和提取文档图像的信息,并在结构化 JSON 输出中返回提取的数据。 使用文档智能,你可以训练独立的自定义模型,或者组合自定义模型来创建组合模型。

  • 自定义模型。 通过文档智能自定义模型可以分析和提取特定于业务的表单和文档中的数据。 自定义模型针对不同的数据和用例进行训练。

  • 组合模型。 组合模型的创建方式是采用自定义模型的集合并将它们分配给包含表单类型的单个模型。 将文档提交到组合模型时,服务会执行分类步骤,以确定哪个自定义模型可准确表示呈现用于分析的表单。

本文介绍如何使用文档智能示例标记工具REST API客户端库来创建文档智能自定义模型和组合模型。

示例标记工具

尝试使用示例标记工具从自定义表单提取数据。 需要以下资源:

  • Azure 订阅 - 可以创建试用订阅

  • Azure 门户中的文档智能实例。 可以使用免费定价层 (F0) 来试用该服务。 在部署资源后,选择“转到资源”以获取密钥和终结点。

该屏幕截图显示了 Azure 门户中密钥和终结点的位置。

在文档智能 UI 中:

  1. 选择“使用‘自定义’通过标签训练模型和获取键值对”。

“FOTT”工具选择自定义模型选项的屏幕截图。

  1. 在下一个窗口中,选择“新建项目”:

“FOTT”工具选择新建项目选项的屏幕截图。

创建模型

生成、训练和使用自定义模型和组合模型的步骤如下所示:

收集训练数据集

生成自定义模型从建立训练数据集开始。 对于示例数据集,至少需要五个相同类型的已完成表单。 它们可以是不同的文件类型(jpg、png、pdf、tiff),并且包含文本和手写内容。 表单必须遵循文档智能的输入要求

上传训练数据集

需要将训练数据上传到 Azure Blob 存储容器。 如果不知道如何使用容器创建 Azure 存储帐户,请参阅 Azure 门户的 Azure 存储快速入门。 可以使用免费定价层 (F0) 试用该服务,然后再升级到付费层进行生产。

训练自定义模型

使用带标签的数据集训练你的模型。 标记的数据集依赖于 prebuilt-layout API,但包含了补充的人工输入,例如特定的标签和字段位置。 首先,为带标签的训练数据至少填写五个相同类型的表单。

当你使用带标签数据进行训练时,该模型会通过监督式学习使用提供的带标签表单提取关注的值。 带标签的数据会生成表现更好的模型,并且可以生成处理复杂表单或所含值没有键的表单的模型。

文档智能使用布局 API 来学习字样和手写文本元素的预期大小和位置并提取表。 然后,它使用用户指定的标签来习得文档中的键/值关联和表。 在训练新模型时,开始时建议先使用五个手动标记的同类型(同结构)表单。 根据需要添加更多带标签的数据,以提高模型准确性。 借助文档智能可以训练一个模型,以使用监督学习功能提取键值对和表。

开始使用标签进行训练

创建组合模型

备注

模型组合仅适用于使用标签训练的自定义模型。 尝试组合未标记模型会生成错误。

通过模型组合操作,最多可将 200 个经过训练的自定义模型分配给单个模型 ID。 使用组合模型 ID 调用“分析”时,文档智能会先对提交的表单进行分类、选择匹配度最佳的已分配模型,然后返回该模型的结果。 当传入的表单可能属于多个模板中的一个模板时,此操作非常有用。

使用文档智能示例标记工具、REST API 或客户端库,按照以下步骤设置组合模型:

  1. 收集自定义模型 ID
  2. 组合自定义模型

收集自定义模型 ID

成功完成训练过程后,系统将为自定义模型分配模型 ID。 可以按如下所示检索模型 ID:

REST API 会返回包含“位置”标头的 201 (Success) 响应。 此标头中最后一个参数的值是新训练的模型的模型 ID:

返回的位置标头的屏幕截图,其中包含模型 ID。

组合自定义模型

收集与单个窗体类型对应的自定义模型后,可以将它们组合到单个模型中。

使用 REST API 可以提出组合自定义模型请求,从现有模型创建单个组合模型。 请求正文需要进行组合的 modelIds 的字符串数组,可以选择定义 modelName

使用自定义模型或组合模型分析文档

自定义表单“分析”操作要求在调用文档智能时提供 modelID。 可以为 modelID 参数提供单个自定义模型 ID 或组合模型 ID。

使用 REST API 可以提出分析文档请求,以分析文档并提取键值对和表数据。

通过分析不属于训练数据集的表单来测试新训练的模型。 可能需要执行进一步的训练来改进模型,具体取决于报告的准确度。 可以继续执行进一步的训练以改进结果

管理自定义模型

可以查看订阅下的所有自定义模型列表、检索有关特定自定义模型的信息以及从帐户中删除自定义模型,从而在整个生命周期中管理自定义模型

很好! 你已学习了创建自定义模型和组合模型并在文档智能项目和应用程序中使用它们的步骤。

后续步骤

浏览我们的 API 参考文档,详细了解文档智能客户端库。