Поделиться через


Пользовательская модель классификации аналитики документов

Внимание

  • Выпуски общедоступной предварительной версии Document Intelligence предоставляют ранний доступ к функциям, которые находятся в активной разработке. Функции, подходы и процессы могут изменяться до общедоступной доступности на основе отзывов пользователей.
  • Общедоступная предварительная версия клиентских библиотек Аналитики документов по умолчанию использует REST API версии 2024-07-31-preview.
  • Общедоступная предварительная версия 2024-07-31-preview в настоящее время доступна только в следующих регионах Azure. Обратите внимание, что пользовательская модель создания (извлечение полей документов) в AI Studio доступна только в регионе "Северная часть США":
    • Восточная часть США
    • Западная часть США2
    • Западная Европа
    • Северная часть США

Это содержимое относится к: версии 4.0 (предварительная версия) | Предыдущая версия:синяя галочка флажок версия 3.1 (GA)

Это содержимое относится к: версия 3.1 (GA) | Последняя версия: фиолетовый флажокфлажок версия 4.0 (предварительная версия)

Внимание

  • Модель 2024-07-31-preview пользовательской классификации по умолчанию не разделяет документы во время анализа.
  • Необходимо явно задать splitMode свойство для автоматического сохранения поведения из предыдущих выпусков. Значение splitMode по умолчанию — none.
  • Если входной файл содержит несколько документов, необходимо включить разделение, задав для этого значение splitMode auto.

Azure AI Document Intelligence — это облачная служба ИИ Azure, которая позволяет создавать интеллектуальные решения для обработки документов. API аналитики документов анализируют изображения, PDF-файлы и другие файлы документов для извлечения и обнаружения различных содержимого, макета, стиля и семантических элементов.

Пользовательские модели классификации — это типы моделей глубокого обучения, которые объединяют функции макета и языка для точного обнаружения и идентификации документов, обрабатываемых в приложении. Пользовательские модели классификации выполняют классификацию входного файла на одну страницу за раз, чтобы определить документы внутри, а также определить несколько документов или несколько экземпляров одного документа в входном файле.

Возможности модели

Примечание.

  • Начиная с API, пользовательские 2024-02-29-preview модели класификации поддерживают добавочное обучение. Вы можете добавить новые примеры в существующие классы или добавить новые классы, ссылаясь на существующий классификатор.

Пользовательские модели классификации могут анализировать документы с одним или несколькими файлами, чтобы определить, содержится ли любой из обученных типов документов в входном файле. Ниже приведены поддерживаемые в настоящее время сценарии:

  • Один файл, содержащий один тип документа, например форму заявки на кредит.

  • Один файл, содержащий несколько типов документов. Например, пакет заявки на кредит, содержащий форму заявки на кредит, payslip и банковский оператор.

  • Один файл, содержащий несколько экземпляров одного документа. Например, коллекция отсканированных счетов.

✔️ Для обучения пользовательского классификатора требуются по крайней мере two отдельные классы и минимум five примеров документов для каждого класса. Ответ модели содержит диапазоны страниц для каждого класса документов, определенных.

✔️ Максимально допустимое число классов 500. Максимально допустимое число примеров документов для каждого класса 100.

Модель классифицирует каждую страницу входного документа, если не указано, к одному из классов в помеченном наборе данных. Можно также указать номера страниц для анализа в входном документе. Чтобы задать пороговое значение для приложения, используйте оценку достоверности из ответа.

Добавочное обучение

С помощью пользовательских моделей необходимо поддерживать доступ к набору данных обучения, чтобы обновить классификатор с новыми примерами для существующего класса или добавить новые классы. Модели классификаторов теперь поддерживают добавочное обучение, где можно ссылаться на существующий классификатор и добавлять новые примеры для существующего класса или добавлять новые классы с примерами. Добавочное обучение позволяет сценариям, когда хранение данных является проблемой, и классификатору необходимо обновить, чтобы соответствовать изменяющимся бизнес-потребностям. Добавочное обучение поддерживается с моделями, обученными с помощью версии API и более поздних версий 2024-02-29-preview .

Внимание

Добавочное обучение поддерживается только с моделями, обученными с той же версией API. Если вы пытаетесь расширить модель, используйте версию API, с которым была обучена исходная модель, чтобы расширить модель. Добавочное обучение поддерживается только в API версии 2024-07-31-preview или более поздней версии.

Добавочное обучение требует предоставления исходного идентификатора модели в качестве идентификатора baseClassifierId. Дополнительные сведения об использовании добавочного обучения см. в статье о добавочном обучении .

Поддержка типов документов Office

Теперь можно обучать классификаторы для распознавания типов документов в различных форматах, включая PDF, изображения, Word, PowerPoint и Excel. При сборке обучающего набора данных можно добавить документы любого из поддерживаемых типов. Классификатор не требует явной метки конкретных типов. Рекомендуется убедиться, что набор данных для обучения имеет по крайней мере один пример каждого формата, чтобы повысить общую точность модели.

Сравнение пользовательских классификаций и составных моделей

Пользовательская модель классификации может заменить составную модель в некоторых сценариях, но следует учитывать несколько различий.

Возможность Процесс пользовательского классификатора Процесс создания модели
Анализ одного документа неизвестного типа, относящегося к одному из типов, обученных для обработки модели извлечения. ● Требуется несколько вызовов.
• Вызов модели классификации на основе класса документа. Этот шаг позволяет проверить достоверность перед вызовом анализа модели извлечения.
● Вызов модели извлечения.
— требуется один вызов в составную модель, содержащую модель, соответствующую типу входного документа.
Анализ одного документа неизвестного типа, относящегося к нескольким типам, обученным для обработки модели извлечения. ●Требуется несколько вызовов.
• Вызов классификатора, который игнорирует документы, не соответствующие указанному типу для извлечения.
● Вызов модели извлечения.
● Требуется один вызов в составную модель. Служба выбирает пользовательскую модель в составной модели с наивысшим совпадением.
• Составная модель не может игнорировать документы.
Анализ файла, содержащего несколько документов известного или неизвестного типа, принадлежащих одному из типов, обученных для обработки модели извлечения. ● Требуется несколько вызовов.
• Вызовите модель извлечения для каждого определенного документа в входном файле.
● Вызов модели извлечения.
● Требуется один вызов в составную модель.
• Составная модель вызывает модель компонента один раз в первом экземпляре документа.
•Остальные документы игнорируются.

Поддержка языков

Модели классификации в настоящее время поддерживают только документы английского языка.

Теперь модели классификации можно обучить на документах различных языков. Полный список см . на поддерживаемых языках .

Требования к входным данным

Поддерживаемые форматы файлов:

Модель PDF Образ:
jpeg/jpg, , pngbmp, tiffheif
Microsoft Office:
Word (docx), Excel (xlxs), PowerPoint (pptx)
Читать
Макет ✔ (2024-02-29-preview, 2023-10-31-preview и более поздних версий)
Документ общего назначения
Готовое
Настраиваемая функция извлечения
Настраиваемая классификация
  • Для получения наилучших результатов предоставьте пять четких фотографий или высококачественные проверки на тип документа.

  • Для PDF и TIFF можно обрабатывать до 2000 страниц (с подпиской на бесплатный уровень только первые две страницы обрабатываются).

  • Размер файла для анализа документов составляет 500 МБ для платного уровня (S0) и 4 МБ для бесплатного уровня (F0).

  • Изображения должны иметь размеры в пределах от 50 x 50 до 10 000 x 10 000 пикселей.

  • Если PDF-файлы заблокированы паролем, перед отправкой необходимо снять блокировку.

  • Минимальная высота извлекаемого текста составляет 12 пикселей для изображения размером 1024 x 768 пикселей. Это измерение соответствует тексту о 8точке в 150 точек на дюйм (DPI).

  • Для обучения пользовательской модели максимальный объем обучающих данных составляет 500 страниц для пользовательской модели шаблона и 50 000 страниц для пользовательской нейронной модели.

  • Для обучения пользовательской модели извлечения общий размер обучающих данных составляет 50 МБ для модели шаблона и 1G-МБ для нейронной модели.

  • Для обучения пользовательской модели классификации общий размер обучающих данных составляет 1 ГБ, не более 10 000 страниц.

Разделение документов

При наличии нескольких документов в файле классификатор может определить различные типы документов, содержащиеся в входном файле. Ответ классификатора содержит диапазоны страниц для каждого из определенных типов документов, содержащихся в файле. Этот ответ может включать несколько экземпляров одного типа документа.

Теперь операция analyze включает splitMode свойство, которое обеспечивает детализированный контроль над поведением разделения.

  • Чтобы обрабатывать весь входной файл как один документ для классификации, задайте для splitMode значение none. При этом служба возвращает только один класс для всего входного файла.
  • Чтобы классифицировать каждую страницу входного файла, задайте для splitMode значение perPage. Служба пытается классифицировать каждую страницу как отдельный документ.
  • Задайте значение splitMode auto и службу определяет документы и связанные диапазоны страниц.

Рекомендации

Для обучения пользовательских моделей классификации требуется не менее пяти выборок на класс. Если классы похожи, добавление дополнительных примеров обучения повышает точность модели.

Классификатор пытается назначить каждый документ одному из классов, если ожидается, что модель будет видеть типы документов не в классах, входящих в набор данных обучения, следует запланировать установку порогового значения для оценки классификации или добавить несколько репрезентативных примеров типов документов в "other" класс. "other" Добавление класса гарантирует, что ненужные документы не влияют на качество классификатора.

Обучение модели

Пользовательские модели классификации поддерживаются API версии 4.0: 2024-02-29-preview, 2024-07-31-preview и версии 3.1: 2023-07-31 (GA). Document Intelligence Studio предоставляет пользовательский интерфейс без кода для интерактивного обучения пользовательского классификатора. Следуйте инструкциям по началу работы.

При использовании REST API при организации документов по папкам можно использовать azureBlobSource свойство запроса для обучения модели классификации.


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

{
  "classifierId": "demo2.1",
  "description": "",
  "docTypes": {
    "car-maint": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "sample1/car-maint/"
            }
    },
    "cc-auth": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "sample1/cc-auth/"
            }
    },
    "deed-of-trust": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "sample1/deed-of-trust/"
            }
    }
  }
}

https://{endpoint}/formrecognizer/documentClassifiers:build?api-version=2023-07-31

{
  "classifierId": "demo2.1",
  "description": "",
  "docTypes": {
    "car-maint": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "{path to dataset root}/car-maint/"
            }
    },
    "cc-auth": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "{path to dataset root}/cc-auth/"
            }
    },
    "deed-of-trust": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "{path to dataset root}/deed-of-trust/"
            }
    }
  }
}

Кроме того, если у вас есть неструктурированный список файлов или планируется использовать несколько файлов в каждой папке для обучения модели, можно использовать azureBlobFileListSource свойство для обучения модели. Для этого шага требуется file list формат строк JSON. Для каждого класса добавьте новый файл со списком файлов, которые будут отправлены для обучения.

{
  "classifierId": "demo2",
  "description": "",
  "docTypes": {
    "car-maint": {
      "azureBlobFileListSource": {
        "containerUrl": "SAS URL to container",
        "fileList": "{path to dataset root}/car-maint.jsonl"
      }
    },
    "cc-auth": {
      "azureBlobFileListSource": {
        "containerUrl": "SAS URL to container",
        "fileList": "{path to dataset root}/cc-auth.jsonl"
      }
    },
    "deed-of-trust": {
      "azureBlobFileListSource": {
        "containerUrl": "SAS URL to container",
        "fileList": "{path to dataset root}/deed-of-trust.jsonl"
      }
    }
  }
}

Например, список car-maint.jsonl файлов содержит следующие файлы.

{"file":"classifier/car-maint/Commercial Motor Vehicle - Adatum.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Fincher.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Lamna.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Liberty.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Trey.pdf"}

Перезапись модели

Примечание.

Начиная с API пользовательские 2024-07-31-preview модели классификации поддерживают перезапись модели на месте.

Теперь можно обновить пользовательскую классификацию на месте. Прямая перезапись модели потеряет возможность сравнения качества модели перед решением заменить существующую модель. Перезапись модели допускается, если allowOverwrite свойство явно указано в тексте запроса. После выполнения этого действия невозможно восстановить перезаписанный исходный объект.



{
  "classifierId": "existingClassifierName",
  "allowOverwrite": true,  // Default=false
  ...
}

Копирование модели

Примечание.

Начиная с API пользовательские 2024-07-31-preview модели классификации поддерживают копирование модели в любой из следующих регионов:

  • Восточная часть США
  • Западная часть США2
  • Западная Европа

Используйте REST API или Document Intelligence Studio для копирования модели в другой регион.

Создание запроса на авторизацию копирования

Следующий HTTP-запрос получает авторизацию на копирование из целевого ресурса. Необходимо ввести конечную точку и ключ целевого ресурса в качестве заголовков.

POST https://myendpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers:authorizeCopy?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}

Текст запроса

{
  "classifierId": "targetClassifier",
  "description": "Target classifier description"
}

Вы получаете код ответа с текстом ответа, содержащим полезные 200 данные JSON, необходимые для запуска копии.

{
  "targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
  "targetResourceRegion": "targetResourceRegion",
  "targetClassifierId": "targetClassifier",
  "targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
  "accessToken": "accessToken",
  "expirationDateTime": "timestamp"
}

Запуск операции копирования

Следующий HTTP-запрос запускает операцию копирования в исходном ресурсе. Необходимо ввести конечную точку и ключ исходного ресурса в качестве URL-адреса и заголовка. Обратите внимание, что URL-адрес запроса содержит идентификатор классификатора исходного классификатора, который требуется скопировать.

POST {endpoint}/documentintelligence/documentClassifiers/{classifierId}:copyTo?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}

Текст запроса — это ответ, полученный на предыдущем шаге.

{
  "targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
  "targetResourceRegion": "targetResourceRegion",
  "targetClassifierId": "targetClassifier",
  "targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
  "accessToken": "accessToken",
  "expirationDateTime": "timestamp"
}

Ответ модели

Анализ входного файла с помощью модели классификации документов.

https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview

Начиная с 2024-07-31-preview API, можно указать страницы для анализа из входного документа с помощью pages параметра запроса в запросе.

https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31

Ответ содержит идентифицированные документы с соответствующими диапазонами страниц в разделе документов ответа.

{
  ...

    "documents": [
      {
        "docType": "formA",
        "boundingRegions": [
          { "pageNumber": 1, "polygon": [...] },
          { "pageNumber": 2, "polygon": [...] }
        ],
        "confidence": 0.97,
        "spans": []
      },
      {
        "docType": "formB",
        "boundingRegions": [
          { "pageNumber": 3, "polygon": [...] }
        ],
        "confidence": 0.97,
        "spans": []
      }, ...
    ]
  }

Следующие шаги

Узнайте, как создавать пользовательские модели классификации: