Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это содержимое относится к:
версии 4.0 (GA) | Предыдущие версии:
версии 3.1 (GA)
версии 3.0 (вывод из эксплуатации)
версии 2.1 (вывод из эксплуатации)
Модель макета Azure Document Intelligence в средстве Foundry — это расширенный API для анализа документов, использующий технологии машинного обучения. Модель доступна в облаке Аналитики документов. Его можно использовать для принятия документов в различных форматах и возврата структурированных представлений данных документов. Модель объединяет расширенную версию мощных возможностей оптического распознавания символов (OCR) с моделями глубокого обучения для извлечения текста, таблиц, меток выделения и структуры документов.
Анализ макета структуры документа
Анализ структуры документов — это процесс анализа документа для извлечения интересующих регионов и их взаимосвязей. Цель состоит в том, чтобы извлечь текст и структурные элементы со страницы, чтобы создать более семантические модели. В макете документа есть два типа ролей:
- Геометрические роли: текст, таблицы, цифры и знаки выделения являются примерами геометрических ролей.
- Логические роли: заголовки, заголовки и нижние колонтитулы являются примерами логических ролей текста.
На следующем рисунке показаны типичные компоненты на изображении примера страницы.
Варианты разработки
Аналитика документов версии 4.0: 2024-11-30 (GA) поддерживает следующие средства, приложения и библиотеки.
| Функция | Ресурсы | Идентификатор модели |
|---|---|---|
| Модель макета | • Студия интеллектуальной обработки документов • REST API • SDK для C# • SDK для Python • SDK для Java • SDK для JavaScript |
prebuilt-layout |
Поддерживаемые языки
Полный список поддерживаемых языков см. в разделе " Поддержка языков: модели анализа документов".
Поддерживаемые типы файлов
Модель макета аналитики документов версии 4.0: 2024-11-30 (GA) поддерживает следующие форматы файлов:
| Модель | Изображение: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Макет | ✔ | ✔ | ✔ |
Требования к входным данным
- Фотографии и сканы: для получения наилучших результатов предоставьте одну четкую фотографию или высококачественный скан на каждый документ.
- PDF и TIFF: для PDF и TIFF можно обрабатывать до 2000 страниц. (С подпиской на бесплатный уровень обрабатываются только первые две страницы.)
- Блокировки паролей. Если pdf-файлы заблокированы паролем, необходимо удалить блокировку перед отправкой.
- Размер файла: размер файла для анализа документов составляет 500 МБ для платного уровня (S0) и 4 МБ для бесплатного уровня (F0).
- Размеры изображения: размеры изображения должны находиться в диапазоне от 50 пикселей до 10 000 пикселей x 10 000 пикселей.
- Высота текста: минимальная высота извлеченного текста составляет 12 пикселей для изображения 1024 x 768 пикселей. Это измерение соответствует примерно 8-точечному тексту при 150 точках на дюйм.
- Обучение пользовательской модели: максимальное количество страниц для обучающих данных составляет 500 для пользовательской модели шаблона и 50 000 для пользовательской нейронной модели.
- Обучение пользовательской модели извлечения: общий размер обучающих данных составляет 50 МБ для модели шаблона и 1 ГБ для нейронной модели.
- Обучение пользовательской модели классификации: общий размер обучающих данных составляет 1 ГБ, не более 10 000 страниц. Для 2024-11-30 (GA) общий размер обучающих данных составляет 2 ГБ с максимум 10 000 страниц.
- Типы файлов Office (DOCX, XLSX, PPTX): максимальная длина строки составляет 8 миллионов символов.
Дополнительные сведения об использовании модели, квотах и ограничениях служб см. в разделе "Ограничения службы".
Начало работы с моделью макета
Узнайте, как данные, включая текст, таблицы, заголовки таблиц, метки выделения и сведения о структуре, извлекаются из документов с помощью аналитики документов. Вам потребуются следующие ресурсы:
Подписка Azure. Вы можете создать его бесплатно.
Экземпляр Document Intelligence на портале Microsoft Azure. Вы можете использовать бесплатную ценовую категорию (F0), чтобы попробовать службу. После развертывания ресурса выберите "Перейти к ресурсу" , чтобы получить ключ и конечную точку.
После получения ключа и конечной точки используйте следующие параметры разработки для создания и развертывания приложений аналитики документов.
Извлечение данных
Модель макета извлекает структурные элементы из документов. В оставшейся части этой статьи описаны следующие структурные элементы, а также рекомендации по их извлечению из входных данных документа:
- Страницы
- Абзацы
- Текст, строки и слова
- Метки выделения
- Таблицы
- Выходной ответ на markdown
- Цифры
- Разделы
Запустите анализ образца документа макета в Studio Document Intelligence. Затем перейдите на вкладку результатов и получите доступ к полным выходным данным JSON.
Страницы
Коллекция pages — это список страниц в документе. Каждая страница представлена последовательно в документе и включает угол ориентации, указывающий, поворачивается ли страница, а также ширина и высота (измерения в пикселях). Единицы страницы в выходных данных модели вычисляются, как показано в следующей таблице.
| Формат файла | Единица вычисляемой страницы | Всего страниц |
|---|---|---|
| Изображения (JPEG/JPG, PNG, BMP, HEIF) | Каждое изображение = 1 единица страницы. | Общее количество изображений |
| Каждая страница в ФОРМАТЕ PDF = 1 единица страницы. | Всего страниц в ФОРМАТЕ PDF | |
| TIFF | Каждое изображение в TIFF = 1 единица страницы. | Общее количество изображений в TIFF |
| Word (DOCX) | До 3000 символов = 1 единица страницы. Внедренные или связанные изображения не поддерживаются. | Общее количество страниц, на каждой из которых до 3000 символов |
| Excel (XLSX) | Каждый лист = 1 единица страницы. Внедренные или связанные изображения не поддерживаются. | Всего листов |
| PowerPoint (PPTX) | Каждый слайд = 1 единица страницы. Внедренные или связанные изображения не поддерживаются. | Всего слайдов |
| HTML | До 3000 символов = 1 единица страницы. Внедренные или связанные изображения не поддерживаются. | Общее количество страниц, на каждой из которых до 3000 символов |
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
Просмотрите примеры на GitHub.
Извлечение выбранных страниц
Для больших документов с несколькими страницами используйте pages параметр запроса, чтобы указать определенные номера страниц или диапазоны страниц для извлечения текста.
Параграфы
Модель макета извлекает все определенные блоки текста в paragraphs коллекции как объект верхнего уровня в разделе analyzeResults. Каждая запись в этой коллекции представляет текстовый блок и включает извлеченный текст как content и ограничивающие polygon координаты. Сведения spans указывают на фрагмент текста в свойстве верхнего уровня 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 |
Основные заголовки на странице | 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"
}
]
}
Текст, строки и слова
Модель макета документа в системе Document Intelligence извлекает текст, напечатанный и рукописный, в виде lines и words. Коллекция styles содержит любой рукописный стиль для строк, если он обнаружен, а также диапазоны, указывающие на связанный текст. Эта функция применяется к поддерживаемым языкам рукописного ввода.
Для Microsoft Word, Excel, PowerPoint и HTML модель макета Document Intelligence версии 4.0 2024-11-30 (GA) извлекает весь внедренный текст в неизменном виде. Тексты извлекаются как слова и абзацы. Внедренные образы не поддерживаются.
# Analyze lines.
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{line.polygon}'"
)
# Analyze words.
for word in words:
print(f"......Word '{word.content}' has a confidence of {word.confidence}")
Просмотрите примеры на GitHub.
Стиль рукописного текста для текстовых строк
Ответ включает, находится ли каждая текстовая строка в рукописном стиле или нет, а также оценка достоверности. Дополнительные сведения см. в разделе "Поддержка рукописного текста". В следующем примере показан пример фрагмента КОДА JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Если включить возможность надстройки шрифта и стиля, вы также получите результат шрифта или стиля в рамках styles объекта.
Метки выделения
Из документов модель компоновки также извлекает метки выбора. В коллекции pages извлеченные знаки выделения отображаются на каждой странице. К ним относятся ограничивающие polygon, confidence, и выделение state (selected/unselected). Текстовое представление (то есть :selected: и :unselected) также включается в качестве начального индекса (offset) и length ссылается на свойство верхнего уровня content , содержащее полный текст документа.
# Analyze selection marks.
if page.selection_marks:
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
)
Просмотрите примеры на GitHub.
Таблицы
Извлечение таблиц является ключевым требованием для обработки документов, содержащих большие объемы данных, обычно отформатированных в виде таблиц. Модель макета извлекает таблицы в pageResults разделе выходных данных JSON. Извлеченные сведения о таблице включают количество столбцов и строк, протяженность строк и столбцов.
Каждая ячейка с ограничивающим многоугольником выводится вместе с информацией о том, распознается ли область как columnHeader или нет. Модель поддерживает извлечение таблиц, которые поворачиваются. Каждая ячейка таблицы содержит индекс строки и столбца и ограничивающие координаты многоугольника. Для текста ячейки модель выводит span сведения, содержащие начальный индекс (offset). Модель также выводит length содержимое верхнего уровня, содержащее полный текст документа.
Ниже приведены некоторые факторы, которые следует учитывать при использовании возможностей извлечения баллов аналитики документов:
- Представлены ли данные, которые вы хотите извлечь, в виде таблицы, и является ли структура таблицы значимой?
- Может ли данные помещаться в двухмерную сетку, если данные не в формате таблицы?
- Охватывают ли таблицы несколько страниц? Если это так, чтобы избежать необходимости помечать все страницы, разделите PDF на страницы перед отправкой в Интеллектуальную обработку документов. После анализа выполните постобработку страниц в одну таблицу.
- Если вы создаете пользовательские модели, ознакомьтесь с табличными полями . Динамические таблицы имеют переменное количество строк для каждого столбца. Фиксированные таблицы имеют постоянное количество строк для каждого столбца.
Примечание
Анализ таблиц не поддерживается, если входной файл — XLSX. Для 2024-11-30 (GA) ограничивающие области для фигур и таблиц охватывают только основное содержимое и исключают связанные подписи и сноски.
if result.tables:
for table_idx, table in enumerate(result.tables):
print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
if table.bounding_regions:
for region in table.bounding_regions:
print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
# Analyze cells.
for cell in table.cells:
print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
if cell.bounding_regions:
for region in cell.bounding_regions:
print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")
Просмотрите примеры на GitHub.
Вывести ответ в формате Markdown
API макета может выводить извлеченный текст в формате Markdown.
outputContentFormat=markdown Используйте для указания формата выходных данных в Markdown. Содержимое Markdown выводится в рамках content раздела.
Примечание
Для версии 4.0 2024-11-30 (GA) представление таблиц изменяется на HTML-таблицы, чтобы включить отрисовку таких элементов, как объединенные ячейки и многострочные заголовки. Другое связанное изменение заключается в использовании символов флажка Юникода ☒ и ☐ для меток выделения вместо :selected: и :unselected:. Это обновление означает, что содержимое полей метки выбора содержит :selected:, даже если их диапазоны ссылаются на символы Юникода в верхнем уровне диапазона. Полное определение элементов Markdown см. в формате выходных данных Markdown.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Просмотрите примеры на GitHub.
Цифры
Цифры (диаграммы и изображения) в документах играют важную роль в дополнении и улучшении текстового содержимого. Они предоставляют визуальные представления, помогающие понять сложную информацию. Объект figures , обнаруженный моделью макета, имеет такие ключевые свойства:
-
boundingRegions: пространственные расположения фигуры на страницах документа, включая номер страницы и координаты многоугольника, которые описывают границу фигуры. -
spans: диапазоны текста, которые связаны с рисунком и специфицируют их смещение и длину в тексте документа. Это соединение помогает при связывании фигуры с соответствующим текстовым контекстом. -
elements: идентификаторы текстовых элементов или абзацев в документе, которые связаны или описывают рисунок. -
caption: описание, если есть одно.
При output=figures указании во время начальной операции анализа служба создает обрезанные изображения для всех обнаруженных цифр, к которым можно получить доступ./analyeResults/{resultId}/figures/{figureId} Значение FigureId представляет собой идентификатор, включенный в каждый объект фигуры, следуя не задокументированной конвенции {pageNumber}.{figureIndex}, где figureIndex сбрасывается до единицы на каждой странице.
Для версии 4.0 2024-11-30 (GA) ограничивающие области для фигур и таблиц охватывают только основное содержимое и исключают связанные субтитры и сноски.
# Analyze figures.
if result.figures:
for figures_idx,figures in enumerate(result.figures):
print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
for region in figures.bounding_regions:
print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")
Просмотрите примеры на GitHub.
Разделы
Анализ иерархической структуры документов является ключевым в организации, понимании и обработке обширных документов. Этот подход жизненно важен для семантического сегментирования длинных документов для повышения понимания, упрощения навигации и улучшения получения информации. Появление дополненной генерации (RAG) в документной генеративной ИИ подчеркивает значимость иерархического анализа структуры документов.
Модель макета поддерживает разделы и подразделы в выходных данных, определяющие связь разделов и объектов в каждом разделе. Иерархическая структура поддерживается в elements для каждого раздела. Вы можете использовать выходной ответ в формате Markdown , чтобы легко получить разделы и подразделы в Markdown.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Просмотрите примеры на GitHub.
Это содержимое относится к:
версии 3.1 (GA) | Последняя версия:
версии 4.0 (GA) | Предыдущие версии:
версии 3.0
версии 2.1
Important
API Azure Document Intelligence версии 3.0 (2022-08-31) перестанет поддерживаться с 30 марта 2029 года. Чтобы избежать сбоев в рабочей среде, используйте Azure Аналитика документов 2024-11-30 версии 4.0 для всех новых разработок и перенос существующих рабочих нагрузок в Azure Аналитика документов 2024-11-30 версии 4.0 до этой даты. См. руководство по миграции Document Intelligence, чтобы получить рекомендации по миграции.
Это содержимое относится к:
версия 2.1 | Последняя версия:
версия 4.0 (GA)
Модель макета аналитики документов — это расширенный API анализа документов. Модель основана на машинном обучении и доступна в облаке Аналитики документов. Его можно использовать для принятия документов в различных форматах и возврата структурированных представлений данных документов. Он объединяет расширенную версию мощных возможностей OCR с моделями глубокого обучения. Его можно использовать для извлечения текста, таблиц, меток выделения и структуры документов.
Анализ макета документа
Анализ структуры документов — это процесс анализа документа для извлечения интересующих регионов и их взаимосвязей. Цель состоит в том, чтобы извлечь текст и структурные элементы со страницы, чтобы создать более семантические модели. В макете документа есть два типа ролей:
- Геометрические роли: текст, таблицы, цифры и знаки выделения являются примерами геометрических ролей.
- Логические роли: заголовки, заголовки и нижние колонтитулы являются примерами логических ролей текста.
На следующем рисунке показаны типичные компоненты на изображении примера страницы.
Поддерживаемые языки и локали
Полный список поддерживаемых языков см. в разделе " Поддержка языков: модели анализа документов".
Аналитика документов версии 2.1 поддерживает следующие средства, приложения и библиотеки.
| Функция | Ресурсы |
|---|---|
| Модель макета | • Средство разметки Document Intelligence • REST API • SDK клиентской библиотеки • Контейнер Docker Document Intelligence |
Руководство по входным данным
Поддерживаемые форматы файлов:
| Модель | Изображение: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML |
|
|---|---|---|---|
| Прочитать | ✔ | ✔ | ✔ |
| Макет | ✔ | ✔ | |
| Общий документ | ✔ | ✔ | |
| Предварительно собранный | ✔ | ✔ | |
| Настраиваемое извлечение | ✔ | ✔ | |
| Настраиваемая классификация | ✔ | ✔ | ✔ |
- Фотографии и сканы: для получения наилучших результатов предоставьте одну четкую фотографию или высококачественный скан на каждый документ.
- PDF-файлы и TIFF-файлы: для PDF-файлов и TIFF-файлов можно обрабатывать до 2000 страниц, используя бесплатную подписку. Обрабатываются только первые две страницы.
- Размер файла: размер файла для анализа документов составляет 500 МБ для платного уровня (S0) и 4 МБ для бесплатного уровня (F0).
- Размеры изображения: размеры изображения должны находиться в диапазоне от 50 пикселей до 10 000 пикселей x 10 000 пикселей.
- Блокировки паролей. Если pdf-файлы заблокированы паролем, необходимо удалить блокировку перед отправкой.
- Высота текста: минимальная высота извлеченного текста составляет 12 пикселей для изображения 1024 x 768 пикселей. Это измерение соответствует примерно 8-точечному тексту при 150 точках на дюйм.
- Обучение пользовательской модели: максимальное количество страниц для обучающих данных составляет 500 для пользовательской модели шаблона и 50 000 для пользовательской нейронной модели.
- Обучение пользовательской модели извлечения: общий размер обучающих данных составляет 50 МБ для модели шаблона и 1 ГБ для нейронной модели.
- Обучение пользовательской модели классификации: общий размер обучающих данных составляет 1 ГБ, не более 10 000 страниц. Для 2024-11-30 (GA) общий размер обучающих данных составляет 2 ГБ с максимум 10 000 страниц.
- Типы файлов Office (DOCX, XLSX, PPTX): максимальная длина строки составляет 8 миллионов символов.
Руководство по входным данным
- Поддерживаемые форматы файлов: JPEG, PNG, PDF и TIFF.
- Поддерживаемо количество страниц: для PDF и TIFF обрабатываются до 2000 страниц. Для подписчиков уровня "Бесплатный" обрабатываются только первые две страницы.
- Поддерживаемый размер файла: размер файла должен быть меньше 50 МБ, а размеры должны быть не менее 50 x 50 пикселей и не более 10 000 x 10 000 пикселей.
Начало работы
Аналитика документов позволяет извлекать такие данные, как текст, таблицы, заголовки таблиц, метки выделения и сведения о структуре из документов. Вам потребуются следующие ресурсы:
- Подписка Azure. Вы можете создать его бесплатно.
- Экземпляр Document Intelligence на портале Microsoft Azure. Вы можете использовать бесплатную ценовую категорию (F0), чтобы попробовать службу. После развертывания ресурса выберите "Перейти к ресурсу" , чтобы получить ключ и конечную точку.
После получения ключа и конечной точки можно использовать следующие параметры разработки для создания и развертывания приложений Аналитики документов.
Примечание
Document Intelligence Studio доступна с API версии 3.0 и более поздними версиями.
REST API
Средство разметки образцов для анализа документов
Перейдите к инструменту разметки примеров для анализа документов.
На главной странице инструмента выберите "Использовать макет для извлечения текста, таблиц и меток выделения".
В поле конечной точки службы аналитики документов вставьте конечную точку, полученную в подписке Аналитики документов.
В поле ключа вставьте ключ, полученный из ресурса Аналитики документов.
В поле "Источник" выберите URL-адрес в раскрывающемся меню. Можно использовать данный пример документа.
Выберите Получить.
Выберите "Выполнить макет". Инструмент разметки документов вызывает API «Анализ макета» для анализа документа.
Просмотрите результаты. Просмотрите выделенный извлеченный текст, выявленные метки выбора и найденные таблицы.
Аналитика документов версии 2.1 поддерживает следующие средства, приложения и библиотеки.
| Функция | Ресурсы |
|---|---|
| API компоновки | • Средство разметки Document Intelligence • REST API • SDK клиентской библиотеки • Контейнер Docker Document Intelligence |
Извлечение данных
Модель макета извлекает структурные элементы из документов. Структурные элементы описаны здесь, и в следующем руководстве показано, как извлечь их из входных данных документа.
Извлечение данных
Модель макета извлекает структурные элементы из документов. Структурные элементы описаны здесь, и в следующем руководстве показано, как извлечь их из входных данных документа.
Страница
Коллекция pages — это список страниц в документе. Каждая страница представлена последовательно в документе и включает угол ориентации, указывающий, поворачивается ли страница и ширина и высота (измерения в пикселях). Единицы страницы в выходных данных модели вычисляются, как показано в следующей таблице.
| Формат файла | Единица вычисляемой страницы | Всего страниц |
|---|---|---|
| Изображения (JPEG/JPG, PNG, BMP, HEIF) | Каждое изображение = 1 единица страницы. | Общее количество изображений |
| Каждая страница в ФОРМАТЕ 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": []
}
]
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
Просмотрите примеры на GitHub.
Извлечение выбранных страниц из документов
Для больших документов с несколькими страницами используйте 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 коллекции с их специализированной ролью или типом, прогнозируемым моделью. Лучше всего использовать роли абзаца с неструктурированными документами, это поможет понять макет извлеченного содержимого для более богатого семантического анализа. Поддерживаются следующие типы ролей абзацев.
| Прогнозируемая роль | Описание | Поддерживаемые типы файлов |
|---|---|---|
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"
}
]
}
Текст, строка и слово
Модель макета документа в Аналитике документов извлекает печатный и рукописный текст в виде строк и слов. Коллекция styles включает рукописный стиль линий в случае их выявления вместе с диапазонами, указывающими на связанный текст. Эта функция применяется к поддерживаемым языкам рукописного ввода.
Для Word, Excel, PowerPoint и HTML модель макета Document Intelligence версии 4.0 от 2024-11-30 (GA) извлекает весь встроенный текст как есть. Тексты извлекаются как слова и абзацы. Внедренные образы не поддерживаются.
"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": [],
}
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
words = line.get_words()
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{format_polygon(line.polygon)}'"
)
# Analyze words.
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
Просмотрите примеры на GitHub.
Стиль рукописного текста
Ответ включает классификацию того, является ли каждая текстовая строка стилем рукописного ввода или нет, а также оценка достоверности. Дополнительные сведения см. в разделе "Поддержка рукописного текста". В следующем примере показан пример фрагмента КОДА 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
}
}
]
}
# Analyze selection marks.
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
)
Просмотрите примеры на GitHub.
Таблица
Извлечение таблиц является ключевым требованием для обработки документов, содержащих большие объемы данных, обычно отформатированных в виде таблиц. Модель макета извлекает таблицы в pageResults разделе выходных данных JSON. Извлеченные сведения о таблице включают количество столбцов и строк, протяженность строк и столбцов. Каждая ячейка с ограничивающим многоугольником выводится вместе с информацией о том, распознается ли область как columnHeader или нет.
Модель поддерживает извлечение таблиц, которые поворачиваются. Каждая ячейка таблицы содержит индекс строки и столбца и ограничивающие координаты многоугольника. Для текста ячейки модель выводит span сведения, содержащие начальный индекс (offset). Модель также выводит length содержимое верхнего уровня, содержащее полный текст документа.
Ниже приведены некоторые факторы, которые следует учитывать при использовании возможностей извлечения баллов аналитики документов:
- Представлены ли данные, которые вы хотите извлечь, в виде таблицы, и является ли структура таблицы значимой?
- Может ли данные помещаться в двухмерную сетку, если данные не в формате таблицы?
- Охватывают ли таблицы несколько страниц? Если это так, чтобы избежать необходимости помечать все страницы, разделите PDF на страницы перед отправкой в Интеллектуальную обработку документов. После анализа выполните постобработку страниц в одну таблицу.
- Если вы создаете пользовательские модели, ознакомьтесь с табличными полями . Динамические таблицы имеют переменное количество строк для каждого столбца. Фиксированные таблицы имеют постоянное количество строк для каждого столбца.
Примечание
Анализ таблиц не поддерживается, если входной файл — XLSX. Аналитика документов версии 4.0 2024-11-30 (GA) поддерживает ограничивающие регионы для фигур и таблиц, охватывающих только основное содержимое, и исключает связанные субтитры и сноски.
{
"tables": [
{
"rowCount": 9,
"columnCount": 4,
"cells": [
{
"kind": "columnHeader",
"rowIndex": 0,
"columnIndex": 0,
"columnSpan": 4,
"content": "(In millions, except earnings per share)",
"boundingRegions": [],
"spans": []
},
]
}
]
}
# Analyze tables.
for table_idx, table in enumerate(result.tables):
print(
f"Table # {table_idx} has {table.row_count} rows and "
f"{table.column_count} columns"
)
for region in table.bounding_regions:
print(
f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
)
for cell in table.cells:
print(
f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
)
for region in cell.bounding_regions:
print(
f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
)
Просмотрите примеры на GitHub.
Аннотации
Модель макета извлекает аннотации в документах, такие как галочки и крестики. Ответ включает в себя тип аннотации, а также оценку достоверности и ограничивающий многоугольник.
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
Выходные данные естественного порядка чтения (только латиница)
Можно указать порядок вывода текстовых строк с параметром readingOrder запроса. Используйте natural для более удобного для чтения порядка выводимых данных, как показано в следующем примере. Эта функция поддерживается только для латинских языков.
Выбор номера страницы или диапазона для извлечения текста
Для больших документов с несколькими страницами используйте pages параметр запроса, чтобы указать определенные номера страниц или диапазоны страниц для извлечения текста. В следующем примере показан документ с 10 страницами с текстом, извлеченным для обоих случаев, всеми страницами (1-10) и выбранными страницами (3-6).
Операция получения результата анализа макета
Второй шаг — вызов Get Analyze Layout Result операции. Эта операция принимает в качестве входных данных идентификатор результата, созданный операцией Analyze Layout . Он возвращает ответ JSON, содержащий поле состояния со следующими возможными значениями.
| Поле | Тип | Возможные значения |
|---|---|---|
| Статус | Строка |
notStarted: операция анализа не запущена.running: операция анализа выполняется.failed: операция анализа завершилась ошибкой.succeeded: операция анализа завершилась успешно. |
Вызовите эту операцию итеративно, пока она не вернет succeeded значение. Чтобы избежать превышения частоты запросов в секунду, используйте интервал от трех до пяти секунд.
Если поле состояния имеет succeeded значение, ответ JSON включает извлеченный макет, текст, таблицы и знаки выделения. Извлеченные данные включают извлеченные текстовые строки и слова, ограничительные рамки, внешний вид текста с указанием рукописности, таблицы и метки выделения с указанием выбранности/невыбранности.
Классификация рукописного текста для текстовых строк (только латиница)
Ответ включает классификацию того, является ли каждая текстовая строка стилем рукописного текста или нет, а также оценка достоверности. Эта функция поддерживается только для латинских языков. В следующем примере показана классификация рукописного текста на изображении.
Пример выходных данных JSON
Ответ на Get Analyze Layout Result операцию представляет структурированное представление документа со всеми извлеченными сведениями.
См. файл документа sample и структурированные выходные данные sample layout output.
Выходные данные JSON состоит из двух частей:
- Узел
readResultsсодержит весь распознанный текст и маркер выделения. Иерархия текстовой презентации — это страница, а затем строка, а затем отдельные слова. - Узел
pageResultsсодержит таблицы и ячейки, извлеченные с их ограничивающими рамками, уровнем уверенности и ссылкой на строки и слова в полеreadResults.
Пример выходных данных
Текст
API макета извлекает текст из документов и изображений с несколькими углами текста и цветами. Он принимает фотографии документов, факсов, напечатанный и/или написанный от руки текст (только на английском языке), а также тексты с комбинированными типами. Текст извлекается с информацией в виде строк, слов, ограничительных рамок, оценок достоверности и стиля (рукописного или другого). Все текстовые сведения включены в readResults раздел выходных данных JSON.
Таблицы с заголовками
API макета извлекает таблицы в разделе pageResults выходных данных JSON. Вы можете сканировать, сфотографировать или оцифровать документы. Таблицы могут быть сложными с объединенными ячейками или столбцами, с границами или без нечетных углов.
Извлеченные сведения о таблице включают количество столбцов и строк, протяженность строк и столбцов. Каждая ячейка с ограничивающим полем выводится вместе с тем, распознается ли область как часть заголовка. Ячейки заголовков, прогнозируемые моделью, могут охватывать несколько строк и не обязательно являются первыми строками в таблице. Они также работают с повернутыми таблицами. Каждая ячейка таблицы также содержит полный текст со ссылками на отдельные слова в readResults разделе.
Метки выделения (документы)
API разметки также извлекает метки выбора из документов. Извлеченные знаки выбора включают ограничивающий прямоугольник, достоверность и состояние (выбранный или неизбранный). В разделе readResults выходных данных JSON извлекаются сведения о метке выделения.
Руководство по миграции
- Чтобы узнать, как использовать версию 3.1 в приложениях и рабочих процессах, выполните действия, описанные в руководстве по миграции Document Intelligence версии 3.1.
- Если вы используете версию 3.0, перейдите на версию 4.0 до 30 марта 2029 г. Воспользуйтесь руководством по миграции для Document Intelligence и кратким руководством по версии 4.0.
Связанное содержимое
- Узнайте, как обрабатывать собственные формы и документы с помощью Document Intelligence Studio.
- Завершите краткое руководство по анализу документов и создайте приложение для обработки документов на выбранном языке разработки.
- Узнайте, как обрабатывать собственные формы и документы с помощью средства разметки образцов документов.
- Завершите краткое руководство по анализу документов и создайте приложение для обработки документов на выбранном языке разработки.