使用文档智能增量分类器

此内容适用于:选中标记v4.0(预览版)选中标记

Azure AI 文档智能是一项基于云的 Azure AI 服务,支持构建智能文档处理解决方案。 文档智能 API 可分析图像、PDF 和其他文档文件,以提取和检测各种内容、布局、样式和语义元素。

文档智能自定义分类模型是一种深度学习模型类型,结合了布局和语言特征,可准确检测和识别在应用程序中处理的文档。 自定义分类模型每次执行一页输入文件的分类,以识别其中的文档,还可以识别输入文件中的多个文档或单个文档的多个实例。

文档智能文档分类器可标识文件中的已知文档类型。 处理具有多个文档类型的输入文件或文档类型未知时,请使用分类器来标识文档。 每当进行以下更改时,应定期更新分类器:

  • 为现有类添加新模板。
  • 添加用于识别的新文档类型。
  • 分类器置信度低。

在某些情况下,不能再拥有用于训练分类器的原始文档集。 借助增量训练,只需使用新标记的示例即可更新分类器。

注意

增量训练仅适用于文档分类器模型,而不适用于自定义模型。

如果要提高自定义分类器的质量,增量训练会非常有用。 为现有类添加新的训练示例可以提高模型对现有文档类型的置信度。 例如,如果添加了现有表单的新版本,或者存在新的文档类型。 应用程序开始支持将新的文档类型作为有效输入的情况可以是一个示例。

增量训练入门

  • 增量训练不会引入任何新的 API 终结点。

  • 将会修改 documentClassifiers:build 请求有效负载以支持增量训练。

  • 增量训练会导致在现有分类器保持不变的情况下创建新的分类器模型。

  • 新的分类器包含旧分类器的所有文档示例和类型以及新提供的示例。 你需要确保更新应用程序以使用新训练的分类器。

    注意

    分类器的复制操作当前不可用。

创建增量分类器生成请求

增量分类器生成请求类似于 classify document 生成请求,但包含新的 baseClassifierId 属性。 将 baseClassifierId 设置为你要扩展的现有分类器。 还需要为示例集中的不同文档类型提供 docTypes。 通过提供存在于 baseClassifier 中的 docType,请求中提供的示例将会添加到训练基分类器时提供的示例。 增量训练中添加的新 docType 值只会添加到新的分类器。 指定样本的过程将保持不变。 有关详细信息,请参阅训练分类器模型

示例 POST 请求

生成增量文档分类器的示例 POST 请求

POST {your-endpoint}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview

{
  "classifierId": "myAdaptedClassifier",
  "description": "Classifier description",
  "baseClassifierId": "myOriginalClassifier",
  "docTypes": {
    "formA": {
      "azureBlobSource": {
        "containerUrl": "https://myStorageAccount.blob.core.chinacloudapi.cn/myContainer?mySasToken",
        "prefix": "formADocs/"
      }
    },
    "formB": {
      "azureBlobFileListSource": {
        "containerUrl": "https://myStorageAccount.blob.core.chinacloudapi.cn/myContainer?mySasToken",
        "fileList": "formB.jsonl"
      }
    }
  }
}

POST 响应

所有文档智能 API 都是异步的,轮询返回的操作位置会提供生成操作的状态。 分类器的训练速度很快,一两分钟后即可使用。

成功完成后:

  • 成功的 POST 方法会返回 202 OK 响应代码,指示服务已创建请求。
  • 翻译后的文档位于目标容器中。
  • POST 请求还会返回响应标头,其中包括 Operation-Location。 此标头的值包含 resultId,可以查询它来获取异步操作的状态,并通过相同的资源订阅密钥使用 GET 请求来检索结果。

示例 GET 请求

检索增量文档分类器结果的示例 GET 请求

GET {your-endpoint}/documentintelligence/documentClassifiers/{classifierId}/analyzeResults/{resultId}?api-version=2024-02-29-preview


{
  "classifierId": "myAdaptedClassifier",
  "description": "Classifier description",
  "createdDateTime": "2022-07-30T00:00:00Z",
  "expirationDateTime": "2023-01-01T00:00:00Z",
  "apiVersion": "2024-02-29-preview",

  "baseClassifierId": "myOriginalClassifier",

  "docTypes": {
    "formA": {
      "azureBlobSource": {
        "containerUrl": "https://myStorageAccount.blob.core.chinacloudapi.cn/myContainer",
        "prefix": "formADocs/"
      }
    },
    "formB": {
      "azureBlobFileListSource": {
        "containerUrl": "https://myStorageAccount.blob.core.chinacloudapi.cn/myContainer",
        "fileList": "formB.jsonl"
      }
    }
  }
}

GET 响应

增量训练的分类器的 GET 响应不同于标准分类器 GET 响应。 增量训练的分类器不会返回支持的所有文档类型。 它会返回在增量训练步骤和扩展基分类器中添加或更新的文档类型。 要获取文档类型的完整列表,必须列出基分类器。 删除基分类器不会影响使用增量训练的分类器。

限制

  • 仅当基分类器和增量训练分类器都在同一 API 版本上训练时,增量训练才会有效。 因此,增量训练的分类器与基分类器具有相同的模型生命周期

  • 增量分类器的训练数据集大小限制与其他分类器模型相同。 有关适用限制的完整列表,请参阅服务限制

后续步骤