Azure Form Recognizer — это когнитивная служба, позволяющая создать автоматизированный процесс извлечения данных, способный извлекать пары «ключ-значение» и табличные данные из таких документов, как PDF, JPG или PNG. Есть две возможности извлечения данных. Первое ключевое преимущество сервиса полностью управляемо и не требует ручной маркировки, а второй подход позволяет обучать пользовательские модели извлечению структурированных данных из ваших форм и документов.

Вы можете вызывать модели распознавателя форм с помощью REST API или SDK клиентской библиотеки, чтобы уменьшить сложность и интегрировать его в свое приложение. Мы начнем с интеграции REST API.

Предварительные условия

  1. Подписка Azure
  2. Подписка на распознаватель форм
  3. Учетная запись хранилища Azure

Подпишитесь на службу распознавания форм

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

Имя: дайтеописательное имя для вашего ресурса. Пример распознавателя демоформ.
Подписка. Выберите подписку Azure из раскрывающегося списка, к которой был предоставлен доступ.
Расположение:
любое расположение, которое вы можете выбрать из списка, но не повлияет на доступность вашего ресурса во время выполнения.
Ценовая категория:
стоимость вашего ресурса зависит от выбранной вами ценовой категории и вашего использования.
Группа ресурсов :
Группа ресурсов Azure, которая будет содержать ваш ресурс. Вы можете создать новую группу или добавить ее в уже существующую группу.

Когда вы закончите со всеми деталями, нажмите кнопку Review + Create. После ознакомления с деталями нажмите кнопку «Создать». При развертывании потребуется некоторое время для создания нового экземпляра.
Теперь вернитесь домой и нажмите «Все ресурсы» в меню портала. Щелкните экземпляр распознавателя форм и откройте обзор. Теперь нам нужно добавить ключи и конечную точку, как показано на экране ниже:
Примечание.Ключ1 и конечная точка будут использоваться для создайте проект в докере. Нам нужно будет заменить api_key на ключ, который мы скопируем из key1. Точно так же мы заменим custom_models_endpoint на URL конечной точки в коде Python позже.

Учетная запись хранения Azure

Нам нужна учетная запись хранения для загрузки образцов файлов и документов в формате PDF, которые мы будем использовать для обучения модели извлечению данных.
1. Введите учетную запись хранения в строке поиска и нажмите на нее.
2. Нажмите кнопку «Добавить», добавьте приведенные ниже сведения и нажмите кнопку Просмотреть + Создать.

Когда вы закончите с учетной записью хранения, щелкните созданную учетную запись, затем щелкните вкладку CORS в левой панели навигации и выберите Разрешенные методы в выделенном поле.

Перейдите на вкладку Подпись общего доступа в левой панели навигации и установите флажок, отмеченный на снимке экрана. Затем нажмите Создать строку подключения SAS. После этого вы увидите строку подключения, токен SAS и URL SAS службы BLOB-объектов.

Эта строка подключения будет использоваться для создания строки подключения на экране докера.
https://‹‹NameOfStorage››.blob.core.windows.net /‹‹PutNameOfContainer››?sv=2019-12-12&ss=b&srt=sco&sp=rwdlacx&se=2021-07-01T11:43:42Z&st=2020-12-09T03:43:42Z&spr=https&sig= X%2B1%2B4X6zRQTN8uy0PxomsKixoYEkpnYGlTaCSU%2Fim%2Fo%3D

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

Docker pull для контейнера Form Recognizer

В этом кратком руководстве вы будете использовать REST API Form Recognizer с образцом средства маркировки для обучения пользовательской модели.
Настройте образец средства маркировки
Чтобы запустить ниже команды docker должны быть настроены на вашем локальном компьютере. Что ж, делаем эту настройку для операционной системы Windows. Откройте командную строку и выполните приведенные ниже команды.

  1. Получите образец контейнера средства маркировки с помощью команды docker pull.
    docker pull mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-preview
  2. Теперь вы готовы запустить контейнер с помощью docker run.
    docker run -it -p 3000:80 mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest -preview eula=accept

После того, как вы закончите с командами, откройте URL-адрес http://localhost:3000/connections в браузере.

  1. Создайте соединение с помощью докера.
  2. Создайте проект в докере, используя подключение к докеру.

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

Когда вы закончите с маркировкой всех полей, щелкните вкладку «Обучение» в левой панели навигации и укажите имя модели, затем нажмите кнопку «Обучить». После завершения обучения идентификатор модели процесса появится на том же экране, и этот идентификатор модели мы передаем в качестве параметра из кода angular (замените ‹‹ModelId›› на идентификатор модели ).

Конечная точка службы Python
Теперь мы создадим службу python для обращения к конечной точке службы распознавания форм и будем обращаться к конечной точке службы из угла.

Вот код службы Python:

Вот код Angular для вызова конечной точки Python из пользовательского интерфейса.

Здесь — это код конечной точки службы Python и angular, которые вызывают службу python для извлечения данных из документов.