Модель макета azure Распознаватель документов

Эта статья относится кфлажку Распознаватель документов версии 3.0Распознаватель документов версии 3.0. Более ранняя версия:Распознаватель документов версии 2.1

Эта статья относится кфлажку Распознаватель документов версии 2.1Распознаватель документов версии 2.1. Более поздняя версия:Распознаватель документов версии 3.0

модель макета Распознаватель документов — это расширенный API анализа документов на основе машинного обучения, доступный в Распознаватель документов облаке. Он позволяет принимать документы в различных форматах и возвращать структурированные представления данных документов. API макетирования сочетает в себе мощные возможности улучшенной версии оптического распознавания символов (OCR) с моделями глубокого обучения для извлечения текста, таблиц, меток выделения и структуры документа.

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

Анализ структуры документа — это процесс анализа документа для извлечения интересующих областей и их взаимосвязей. Цель состоит в извлечении текста и структурных элементов со страницы для создания более семантических моделей понимания. Существует два типа ролей, которые текст воспроизводит в макете документа:

  • Геометрические роли. Текст, таблицы и выделенные метки являются примерами геометрических ролей.
  • Логические роли. Заголовки, заголовки и нижние колонтитулы являются примерами логических ролей.

На следующем рисунке показаны типичные компоненты на изображении примера страницы.

Иллюстрация примера макета документа.

Образец документа, обработанный с помощью Студии Распознавателя документов

Снимок экрана: пример страницы газеты, обработанной с помощью Распознаватель документов Studio.

Варианты разработки

Распознаватель документов версии 3.0 поддерживает указанные ниже средства:

Компонент Ресурсы Идентификатор модели
Модель макета prebuilt-layout

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

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

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

    Моделирование PDF Изображение:
    JPEG/JPG, PNG, BMP и TIFF
    Microsoft Office:
    Word (DOCX), Excel (XLS), PowerPoint (PPT) и HTML
    Чтение Версия REST API
    2022/06/30-preview
    Layout
    Документ общего назначения
    Предварительно созданная
    Особые настройки

    ✱ Файлы Microsoft Office сейчас не поддерживаются в других моделях или версиях.

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

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

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

  • Размер страницы PDF-файла не должен превышать 17 x 17 дюймов, что соответствует размеру листа Legal или A3.

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

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

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

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

  • Поддерживаемые форматы файлов: JPEG, PNG, PDF и TIFF
  • Для документов формата PDF и TIFF обрабатывается до 2000 страниц. Для подписчиков уровня "Бесплатный" обрабатываются только две первые страницы.
  • Размер файла должен быть меньше 50 МБ, а размеры не менее 50 x 50 пикселей и не более 10 000 x 10 000 пикселей.

Попробуйте извлечь макет

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

Снимок экрана: расположение элемента

Студия Распознавателя документов

Примечание

Для доступа к Студии Распознавателя документов используется API версии 3.0.

Образец документа, обработанный с помощью Студии Распознавателя документов

Снимок экрана: Обработка макета газетной страницы в Студии Распознавателя документов.

  1. На домашней странице Студии Распознавателя документов выберите Макет

  2. Вы можете проанализировать образец документа или нажать кнопку + Добавить, чтобы отправить собственный образец.

  3. Нажмите кнопку Анализировать:

    Снимок экрана: меню анализа макета.

Пример средства создания меток в Распознавателе документов

  1. Перейдите к примеру средства Распознаватель документов.

  2. На домашней странице примера средства выберите Use Layout to get text, tables and selection marks (Использовать макет для получения текста, таблиц и отметок выбора).

    Снимок экрана: параметры подключения для процесса макета Распознаватель документов.

  3. В поле Form recognizer service endpoint (Конечная точка службы Распознавателя документов) вставьте значение конечной точки, полученной с помощью подписки Распознавателя документов.

  4. В поле Ключ вставьте ключ, полученный из ресурса Распознавателя документов.

  5. В поле Источник выберите URL-адрес в раскрывающемся меню Вы можете использовать наш пример документа:

  6. Выберите Run Layout (Выполнить макет). Пример средства маркировки данных Распознавателя документов вызовет API анализа макета и проведет анализ документа.

    Снимок экрана: раскрывающееся окно макета.

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

    Снимок экрана: параметры подключения для Распознаватель документов примера средства маркировки.

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

Модель Изображения PDF TIFF
Layout

Поддерживаемые языки и языковые стандарты

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

Извлечение данных

Начиная с общедоступной версии 3.0, она извлекает абзацы и дополнительные сведения о структуре, такие как заголовки, заголовки разделов, верхний колонтитул страницы, нижний колонтитул страницы, номер страницы и сноска. Эти структурные элементы являются примерами логических ролей, описанных в предыдущем разделе. Эта возможность поддерживается для PDF-документов и изображений (JPG, PNG, BMP, TIFF).

Модель Текстовые Метки выделения Таблицы Абзацы Логические роли
Layout

Поддерживаемые логические роли для абзацев. Роли абзаца лучше всего использовать с неструктурированными документами. Роли абзаца помогают анализировать структуру извлеченного содержимого для улучшения семантического поиска и анализа.

  • title
  • sectionHeading
  • footnote
  • pageHeader
  • pageFooter
  • pageNumber

Извлечение данных

Модель Текстовые Таблицы Метки выделения
Layout

Распознаватель документов версии 2.1 поддерживает указанные ниже средства:

Компонент Ресурсы
API макета

Извлечение модели

Модель макета извлекает из ваших документов текст, метки выделения, таблицы, абзацы и типы абзацев (roles).

Извлечение абзаца

Модель макета извлекает все идентифицированные блоки текста в коллекции paragraphs как объект верхнего уровня в разделе analyzeResults. Каждая запись в этой коллекции представляет блок текста и включает извлеченный текст как content, а также координаты ограничивающего polygon. Сведения span указывают на фрагмент текста в свойстве верхнего уровня content, содержащем весь текст из документа.

"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

Роли абзаца

Новое обнаружение объекта страницы на основе машинного обучения извлекает логические роли, такие как заголовки, заголовки разделов, верхние колонтитулы страницы и многое другое. Модель макета Распознаватель документов назначает определенные текстовые блоки в paragraphs коллекции с их специализированной ролью или типом, спрогнозированным моделью. Их лучше всего использовать с неструктурированными документами — это поможет разобраться в структуре извлеченного содержимого для более полного семантического анализа. Поддерживаются следующие роли абзаца:

Прогнозируемая роль Описание
title Основные заголовки на странице
sectionHeading Одие или несколько подзаголовков на странице
footnote Текст в нижней части страницы
pageHeader Текст по верхнему краю страницы
pageFooter Текст по нижнему краю страницы
pageNumber Номер страницы
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Извлечение страниц

Коллекция pages — это первый объект, который отображается в ответе службы.

"pages": [
    {
        "pageNumber": 1,
        "angle": 0,
        "width": 915,
        "height": 1190,
        "unit": "pixel",
        "words": [],
        "lines": [],
        "spans": [],
        "kind": "document"
    }
]

Извлечение текстовых строк и слов

Модель макета документа в Распознаватель документов извлекает печатный и рукописный текст в виде lines и words. Модель выводит ограничивающие polygon координаты и confidence для извлеченных слов. Коллекция styles включает любой рукописный стиль для строк, если они обнаружены вместе с диапазонами, указывающими на связанный текст. Эта функция применяется к поддерживаемым языкам рукописного ввода.

"words": [
    {
        "content": "While",
        "polygon": [],
        "confidence": 0.997,
        "span": {}
    },
],
"lines": [
    {
        "content": "While healthcare is still in the early stages of its Al journey, we",
        "polygon": [],
        "spans": [],
    }
]

Извлечение меток выделения

Модель макета также извлекает метки выбора из документов. Извлеченные метки выделения отображаются в коллекции pages для каждой страницы. Сюда входят ограничивающие метки polygon, confidence и метки выделения state (selected/unselected). Если извлекается связанный текст, он также включается как начальный индекс (offset) и length, которые ссылаются на свойство верхнего уровня content, содержащее весь текст из документа.

{
    "selectionMarks": [
        {
            "state": "unselected",
            "polygon": [],
            "confidence": 0.995,
            "span": {
                "offset": 1421,
                "length": 12
            }
        }
    ]
}

Извлечение таблиц из документов и изображений

Извлечение таблиц является ключевым требованием для обработки документов, содержащих большие объемы данных, обычно отформатированных как таблицы. Модель макета извлекает таблицы в pageResults разделе выходных данных JSON. Извлеченные сведения о таблице включают число столбцов и строк, диапазон строк и диапазон столбцов. Каждая ячейка с ограничивающим многоугольником выводится вместе с информацией о том, распознается ли она как columnHeader . Модель поддерживает извлечение вращаемых таблиц. Каждая ячейка таблицы содержит индекс строки и столбца и координаты ограничивающего многоугольника. Для текста ячейки модель выводит сведения span, содержащие начальный индекс (offset). Модель также выводит length в содержимом верхнего уровня, которое содержит полный текст из документа.

{
    "tables": [
        {
            "rowCount": 9,
            "columnCount": 4,
            "cells": [
                {
                    "kind": "columnHeader",
                    "rowIndex": 0,
                    "columnIndex": 0,
                    "columnSpan": 4,
                    "content": "(In millions, except earnings per share)",
                    "boundingRegions": [],
                    "spans": []
                    },
            ]
        }
    ]
}

Рукописный стиль для текстовых линий (только латинские языки)

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

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Извлекает выбранные страницы из документов

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

Естественный порядок чтения для выводимых данных (только для языков на основе латиницы)

Используя параметр запроса readingOrder, можно указать порядок, в котором будут выводиться текстовые строки. Для более удобного человеку порядка чтения используйте параметр natural (естественный), как показано в следующем примере. Такая функция поддерживается только для языков на основе латиницы.

Снимок экрана: обработка порядка чтения модели макета.

Выбор номеров страниц или диапазонов для извлечения текста

Для больших многостраничных документов используйте параметр запроса pages, чтобы указать конкретные номера страниц или диапазоны страниц для извлечения текста. В следующем примере представлен документ в 10 страниц с текстом, извлеченным в двух вариантах — все страницы (1–10) и выбранные страницы (3–6).

Снимок экрана: выходные данные выбранных страниц модели макета.

Операция получения результата формирования макета

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

Поле Тип Возможные значения
status строка notStarted: операция анализа не запущена.

running: операция анализа выполняется.

failed: ошибка операции анализа.

succeeded: операция анализа выполнилась успешно.

Вызывайте эту операцию итеративно до возвращения значения succeeded. Используйте интервал от 3 до 5 секунд, чтобы избежать превышения скорости запросов в секунду (RPS).

Если поле status имеет значение succeeded, ответ JSON будет включать извлеченный макет, текст, таблицы и метки выделения. Извлеченные данные включают в себя извлеченные текстовые строки и слова, ограничивающие прямоугольники, внешний вид текста с указанием рукописного ввода, таблицы и метки выделения с указанием выделения или его отсутствия.

Рукописная классификация текстовых строк (только для латинских языков)

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

Снимок экрана: процесс классификации рукописного ввода модели макета.

Пример выходного JSON-файла

Ответ на операцию получения результата формирования макета — это структурированное представление документа со всеми извлеченными сведениями. См. здесь пример файла документа и структурированные данные распознавания в примере выходных данных макета.

Выходные данные JSON имеют две части.

  • Узел readResults содержит весь распознанный текст и все метки выделения. Текст упорядочивается по страницам, затем по строкам, а затем по отдельным словам.
  • Узел pageResults содержит извлеченные таблицы и ячейки, вместе с их ограничивающими прямоугольниками, уровень достоверности и ссылку на строки и слова в поле "readResults".

Пример выходных данных

текст

API макетирования извлекает текст из документов и изображений независимо от угла и цвета текста. Она принимает фотографии документов, факсов, печатный и (или) рукописный текст (только на английском языке) в различных комбинациях режимов. Текст извлекается, и предоставляется информация о строках, словах, ограничивающих прямоугольниках, показателях достоверности и стиле (рукописный или иной). Вся текстовая информация включена в раздел readResults выходных данных JSON.

Таблицы с заголовками

API макетирования извлекает таблицы в раздел pageResults выходных данных JSON. Документы могут быть отсканированными, сфотографированными или оцифрованными. Таблицы могут быть сложными с объединенными ячейками или столбцами, с границами или без них, а также с неровными углами. Извлеченные сведения о таблице включают число столбцов и строк, диапазон строк и диапазон столбцов. Каждая ячейка извлекается вместе с ограничивающим прямоугольником и сведениями о том, распознается ли она как часть заголовка. Ячейки заголовка, которые распознала модель, могут охватывать несколько строк и необязательно быть первыми строками в таблице. Повернутые таблицы также можно распознать. В разделе readResults содержится весь текст каждой ячейки со ссылками на отдельные слова.

Пример таблиц

Метки выделения

API макетирования также извлекает метки выделения из документов. Для извлеченных меток выделения указаны ограничивающий прямоугольник, достоверность и состояние (выбрана/не выбрана). Сведения о метках выделения извлекаются в раздел readResults выходных данных JSON.

Руководство по миграции

Дальнейшие действия