Модель макета аналитики документов

Внимание

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

Это содержимое относится к:v4.0 (предварительная версия) | Предыдущие версии:синий проверка markфлажокv3.1 (GA)v3.0 (GA)синий проверка markсиний проверка markv2.1 (GA)

Это содержимое относится к:v3.1 (GA)Последняя версияфиолетовый проверка mark:v4.0 (предварительная версия) | | Предыдущие версии:флажоксиний проверка markv3.0синий проверка markверсии 2.1

Это содержимое относится к:v3.0 (GA) | Последние версии:фиолетовый проверка markv4.0 (предварительная версия)фиолетовый проверка mark3.1 | Предыдущая версия:флажоксиний проверка markv2.1

Это содержимое относится к:v2.1 Последняя версиясиний проверка mark:флажокv4.0 (предварительная версия) |

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

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

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

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

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

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

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

Аналитика документов версии 4.0 (2024-02-29-preview, 2023-10-31-preview) поддерживает следующие средства, приложения и библиотеки:

Функция Ресурсы Model ID
Модель макета Аналитика
документов• REST API
• ПАКЕТ SDK
для C#

• Пакет SDK для Python• Пакет SDK для Java • Пакет SDK
java для JavaScript
prebuilt-layout

Аналитика документов версии 3.1 поддерживает следующие средства, приложения и библиотеки:

Функция Ресурсы Model ID
Модель макета Аналитика
документов• REST API
• ПАКЕТ SDK
для C#

• Пакет SDK для Python• Пакет SDK для Java • Пакет SDK
java для JavaScript
prebuilt-layout

Аналитика документов версии 3.0 поддерживает следующие средства, приложения и библиотеки:

Функция Ресурсы Model ID
Модель макета Аналитика
документов• REST API
• ПАКЕТ SDK
для C#

• Пакет SDK для Python• Пакет SDK для Java • Пакет SDK
java для JavaScript
prebuilt-layout

Аналитика документов версии 2.1 поддерживает следующие средства, приложения и библиотеки:

Функция Ресурсы
Модель макета Средство
аналитики документов • REST API
пакет SDK
для клиентской библиотеки • Контейнер Docker аналитики документов

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

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

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

    Модель PDF Изображение:
    JPEG/JPG, PNG, BMP, TIFF, HEIF
    Microsoft Office:
    Word (DOCX), Excel (XLSX), PowerPoint (PPTX) и HTML
    Читать
    Макет ✔ (2024-02-29-preview, 2023-10-31-preview)
    Документ общего назначения
    Готовое
    Настраиваемая функция извлечения
    Настраиваемая классификация ✔ (2024-02-29-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-МБ для нейронной модели.

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

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

Начало работы с моделью макета

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

  • Подписка Azure — ее можно создать бесплатно.

  • Экземпляр аналитики документов в портал Azure. Вы можете использовать ценовую категорию "Бесплатный" (F0), чтобы поработать со службой. После развертывания ресурса выберите Перейти к ресурсу, чтобы получить ключ и конечную точку.

Снимок экрана: расположение ключей и конечной точки на портале Azure.

Примечание.

Document Intelligence Studio доступна с API версии 3.0 и более поздними версиями.

Пример документа, обработанный с помощью Document Intelligence Studio

Снимок экрана:

  1. На домашней странице Document Intelligence Studio выберите "Макет".

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

  3. Нажмите кнопку "Выполнить анализ", а при необходимости настройте параметры анализа:

    Снимок экрана: кнопки

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

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

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

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

  3. В поле конечной точки службы аналитики документов вставьте конечную точку, полученную в подписке Аналитики документов.

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

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

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

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

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

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

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

См. страницу "Поддержка языка" — модели анализа документов для полного списка поддерживаемых языков.

Аналитика документов версии 2.1 поддерживает следующие средства, приложения и библиотеки:

Функция Ресурсы
API макета

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

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

Примечание.

Версии и 2023-10-31-previewболее поздние 2024-02-29-previewверсии поддерживают файлы Microsoft Office (DOCX, XLSX, PPTX) и HTML-файлы. Следующие возможности не поддерживаются:

  • Для каждого объекта страницы нет угла, ширины и высоты и единицы.
  • Для каждого обнаруженного объекта нет ограничивающего многоугольника или ограничивающего региона.
  • Диапазон страниц (pages) не поддерживается в качестве параметра.
  • Нет lines объекта.

Страницы

Коллекция страниц — это список страниц в документе. Каждая страница представлена последовательно в документе и включает угол ориентации, указывающий, поворачивается ли страница и ширина и высота (измерения в пикселях). Единицы страниц в выходных данных модели подсчитываются следующим образом:

Формат файлов Вычисленная единица страницы Всего страниц
Изображения (JPEG/JPG, PNG, BMP, HEIF) Каждое изображение = 1 единица страницы Всего изображений
PDF Каждая страница PDF = 1 единица страницы Всего страниц в PDF
TIFF Каждое изображение в TIFF = 1 единица страницы Общее количество изображений в TIFF
Word (DOCX) До 3000 символов = 1 единица страницы, внедренные или связанные изображения не поддерживаются Всего страниц до 3000 символов
Excel (XLSX) Каждый лист = 1 единица страницы, внедренные или связанные изображения не поддерживаются Всего листов
PowerPoint (PPTX) Каждый слайд = 1 единица страницы, внедренные или связанные изображения не поддерживаются Всего слайдов
HTML До 3000 символов = 1 единица страницы, внедренные или связанные изображения не поддерживаются Всего страниц до 3000 символов
"pages": [
    {
        "pageNumber": 1,
        "angle": 0,
        "width": 915,
        "height": 1190,
        "unit": "pixel",
        "words": [],
        "lines": [],
        "spans": []
    }
]

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

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

Абзацы

Модель макета извлекает все идентифицированные блоки текста в коллекции 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 коллекции с их специализированной ролью или типом, прогнозируемым моделью. Их лучше всего использовать с неструктурированными документами — это поможет разобраться в структуре извлеченного содержимого для более полного семантического анализа. Поддерживаются следующие роли абзаца:

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

Текст, строки и слова

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

Для Microsoft Word, Excel, PowerPoint и HTML, Аналитика документов версии 2024-02-29-preview и 2023-10-31-preview Layout model извлекает весь внедренный текст как есть. Тексты извлекаются как слова и абзацы. Внедренные образы не поддерживаются.

"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": [],
    }
]

Стиль рукописного текста для текстовых строк

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

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

Если включить возможность добавления шрифта и стиля, вы также получите результат шрифта и стиля в составе styles объекта.

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

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

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

Таблицы

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

Примечание.

Таблица не поддерживается, если входной файл — XLSX.

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

Заметки (доступны только в 2023-02-28-preview API.)

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

    {
    "pages": [
    {
        "annotations": [
        {
            "kind": "cross",
            "polygon": [...],
            "confidence": 1
        }
        ]
    }
    ]
}

Выходные данные в формате markdown

API макета может выводить извлеченный текст в формате markdown. outputContentFormat=markdown Используйте для указания формата выходных данных в markdown. Содержимое markdown выводится в рамках content раздела.

"analyzeResult": {
"apiVersion": "2024-02-29-preview",
"modelId": "prebuilt-layout",
"contentFormat": "markdown",
"content": "# CONTOSO LTD...",
}

Цифры

Цифры (диаграммы, изображения) в документах играют важную роль в дополнении и улучшении текстового содержимого, предоставляя визуальные представления, которые помогают понять сложную информацию. Объект цифр, обнаруженный моделью макета, имеет такие ключевые свойства, как boundingRegions (пространственные расположения рисунка на страницах документа, включая номер страницы и координаты многоугольника, которые обрисовывают границу фигуры), (сведения о диапазонах текста, связанных с рисунком, spans указывая их смещение и длину в тексте документа. Это соединение помогает при связывании фигуры с соответствующим текстовым контекстом), elements (идентификаторы текстовых элементов или абзацев в документе, связанных с ним или описывающие рисунок), а caption также при наличии каких-либо элементов.

{
    "figures": [
      {
        "boundingRegions": [],
        "spans": [],
        "elements": [
          "/paragraphs/15",
          ...
        ],
        "caption": {
          "content": "Here is a figure with some text",
          "boundingRegions": [],
          "spans": [],
          "elements": [
            "/paragraphs/15"
          ]
        }
      }
    ]
}

Разделы

Анализ иерархической структуры документов является ключевым в организации, понимании и обработке обширных документов. Этот подход жизненно важен для семантического сегментирования длинных документов для повышения понимания, упрощения навигации и улучшения получения информации. Появление получения дополненного поколения (RAG) в генерируемом документе ИИ подчеркивает важность иерархического анализа структуры документов. Модель макета поддерживает разделы и подразделы в выходных данных, определяющие связь разделов и объектов в каждом разделе. Иерархическая структура поддерживается в elements каждом разделе. Выходные данные можно использовать для форматирования markdown, чтобы легко получить разделы и подразделы в markdown.

{
    "sections": [
      {
        "spans": [],
        "elements": [
          "/paragraphs/0",
          "/sections/1",
          "/sections/2",
          "/sections/5"
        ]
      },
...
}

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

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

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

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

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

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

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

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

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

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

failed: операция анализа завершилась ошибкой.

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

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

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

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

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

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

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

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

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

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

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

Текст

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

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

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

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

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

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

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

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

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