Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это содержимое относится к:
версии 4.0 (GA) | Предыдущие версии:
v3.1 (GA)
v3.0 (GA)
v2.1 (GA)
Модель макета аналитики документов Azure — это расширенный API анализа документов на основе машинного обучения. Модель доступна в облаке Аналитики документов. Его можно использовать для принятия документов в различных форматах и возврата структурированных представлений данных документов. Модель объединяет расширенную версию мощных возможностей оптического распознавания символов (OCR) с моделями глубокого обучения для извлечения текста, таблиц, меток выделения и структуры документов.
Анализ макета структуры документа
Анализ структуры документов — это процесс анализа документа для извлечения интересующих регионов и их взаимосвязей. Цель состоит в том, чтобы извлечь текст и структурные элементы со страницы, чтобы создать более семантические модели. В макете документа есть два типа ролей:
- Геометрические роли: текст, таблицы, цифры и знаки выделения являются примерами геометрических ролей.
- Логические роли: заголовки, заголовки и нижние колонтитулы являются примерами логических ролей текста.
На следующем рисунке показаны типичные компоненты на изображении примера страницы.
Варианты разработки
Аналитика документов версии 4.0: 2024-11-30 (GA) поддерживает следующие средства, приложения и библиотеки.
| Функция | Ресурсы | Идентификатор модели |
|---|---|---|
| Модель макета | • Аналитика документов• REST API • ПАКЕТ SDK • Пакет SDK • Пакет SDK для Java • Пакет SDK java для JavaScript |
prebuilt-layout |
Поддерживаемые языки
Полный список поддерживаемых языков см. в разделе " Поддержка языков: модели анализа документов".
Поддерживаемые типы файлов
Модель макета аналитики документов версии 4.0: 2024-11-30 (GA) поддерживает следующие форматы файлов:
| Модель | Формат pdf | Изображение: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML |
|---|---|---|---|
| Макет | ✔ | ✔ | ✔ |
Требования к входным данным
- Фотографии и сканы: для получения наилучших результатов укажите одну чистую фотографию или высококачественную проверку на документ.
- PDF и TIFFs: для PDF-файлов и TIFFs можно обрабатывать до 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 на портале Azure. Вы можете использовать бесплатную ценовую категорию (F0), чтобы попробовать службу. После развертывания ресурса выберите Перейти к ресурсу, чтобы получить ключ и конечную точку.
После получения ключа и конечной точки используйте следующие параметры разработки для создания и развертывания приложений аналитики документов.
Извлечение данных
Модель макета извлекает структурные элементы из документов. В оставшейся части этой статьи описаны следующие структурные элементы, а также рекомендации по их извлечению из входных данных документа:
- Страниц
- Пунктах
- Текст, строки и слова
- Метки выделения
- Таблицы
- Выходной ответ на markdown
- Цифра
- Сортовое железо
Запустите анализ образца документа макета в Studio Document Intelligence. Затем перейдите на вкладку результатов и получите доступ к полным выходным данным JSON.
Страницы
Коллекция pages — это список страниц в документе. Каждая страница представлена последовательно в документе и включает угол ориентации, указывающий, поворачивается ли страница, а также ширина и высота (измерения в пикселях). Единицы страницы в выходных данных модели вычисляются, как показано в следующей таблице.
| Формат файла | Единица вычисляемой страницы | Всего страниц |
|---|---|---|
| Изображения (JPEG/JPG, PNG, BMP, HEIF) | Каждое изображение = 1 единица страницы. | Всего изображений |
| Формат pdf | Каждая страница в ФОРМАТЕ PDF = 1 единица страницы. | Всего страниц в PDF |
| Ссора | Каждое изображение в 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}")
Извлечение выбранных страниц
Для больших документов с несколькими страницами используйте 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 коллекции с их специализированной ролью или типом, прогнозируемым моделью.
Рекомендуется использовать роли для абзацев с неструктурированными документами, чтобы понять структуру извлеченного контента для более глубокого семантического анализа. Поддерживаются следующие роли абзаца.
| Прогнозируемая роль | 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"
}
]
}
Текст, строки и слова
Модель макета документа в Аналитике документов извлекает текст в виде и рукописного текста lineswords. Коллекция 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}")
Стиль рукописного текста для текстовых строк
Ответ включает, находится ли каждая текстовая строка в рукописном стиле или нет, а также оценка достоверности. Дополнительные сведения см. в разделе "Поддержка рукописного текста". В следующем примере показан пример фрагмента КОДА 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}"
)
Таблицы
Извлечение таблиц является ключевым требованием для обработки документов, содержащих большие объемы данных, обычно отформатированных в виде таблиц. Модель макета извлекает таблицы в 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}'")
Выходной ответ на формат 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,
)
Числа
Цифры (диаграммы и изображения) в документах играют важную роль в дополнении и улучшении текстового содержимого. Они предоставляют визуальные представления, помогающие понять сложную информацию. Объект 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}'")
Разделы
Анализ иерархической структуры документов является ключевым в организации, понимании и обработке обширных документов. Этот подход жизненно важен для семантического сегментирования длинных документов для повышения понимания, упрощения навигации и улучшения получения информации. Появление создания дополненного в документе поколения (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,
)
Это содержимое относится к:
версия 3.1 (GA) | Последняя версия:
версия 4.0 (GA) | Предыдущие версии:
версия 3.0
версия 2.1
Это содержимое применимо к:
версия 3.0 (GA) | Последние версии:
версия 4.0 (GA)
версия 3.1 | Предыдущая версия:
версия 2.1
Это содержимое относится к:
v2.1 | Последняя версия:
версия 4.0 (GA)
Модель макета аналитики документов — это расширенный API анализа документов. Модель основана на машинном обучении и доступна в облаке Аналитики документов. Его можно использовать для принятия документов в различных форматах и возврата структурированных представлений данных документов. Он объединяет расширенную версию мощных возможностей OCR с моделями глубокого обучения. Его можно использовать для извлечения текста, таблиц, меток выделения и структуры документов.
Анализ макета документа
Анализ структуры документов — это процесс анализа документа для извлечения интересующих регионов и их взаимосвязей. Цель состоит в том, чтобы извлечь текст и структурные элементы со страницы, чтобы создать более семантические модели. В макете документа есть два типа ролей:
- Геометрические роли: текст, таблицы, цифры и знаки выделения являются примерами геометрических ролей.
- Логические роли: заголовки, заголовки и нижние колонтитулы являются примерами логических ролей текста.
На следующем рисунке показаны типичные компоненты на изображении примера страницы.
Поддерживаемые языки и локали
Полный список поддерживаемых языков см. в разделе " Поддержка языков: модели анализа документов".
Аналитика документов версии 2.1 поддерживает следующие средства, приложения и библиотеки.
| Функция | Ресурсы |
|---|---|
| Модель макета | • Средство аналитики документов • REST API • пакет SDK для клиентской библиотеки • Контейнер Docker аналитики документов |
Руководство по входным данным
Поддерживаемые форматы файлов:
| Модель | Формат pdf | Изображение: JPEG/JPG, PNG, BMP, TIFF, HEIF |
Office: Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML |
|---|---|---|---|
| Читать | ✔ | ✔ | ✔ |
| Макет | ✔ | ✔ | |
| Общий документ | ✔ | ✔ | |
| Готовое | ✔ | ✔ | |
| Настраиваемая функция извлечения | ✔ | ✔ | |
| Настраиваемая классификация | ✔ | ✔ | ✔ |
- Фотографии и сканы: для получения наилучших результатов укажите одну чистую фотографию или высококачественную проверку на документ.
- PDF-файлы и TIFFs: для PDF-файлов и TIFFs можно обрабатывать до 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 на портале Azure. Вы можете использовать бесплатную ценовую категорию (F0), чтобы попробовать службу. После развертывания ресурса выберите Перейти к ресурсу, чтобы получить ключ и конечную точку.
После получения ключа и конечной точки можно использовать следующие параметры разработки для создания и развертывания приложений Аналитики документов.
Примечание.
Document Intelligence Studio доступна с API версии 3.0 и более поздними версиями.
REST API
Инструмент маркировки образцов для интеллектуальной обработки документов
Перейдите к средству создания примеров меток аналитики документов.
На домашней странице примера средства выберите Use Layout to get text, tables and selection marks (Использовать макет для получения текста, таблиц и отметок выбора).
В поле конечная точка службы Document Intelligence вставьте конечную точку, полученную в подписке на Document Intelligence.
В поле ключа вставьте ключ, полученный из ресурса Аналитики документов.
В поле "Источник" выберите URL-адрес в раскрывающемся меню. Пример документа можно использовать:
Выберите "Получить".
Выберите Выполнить макет. Средство создания меток аналитики документов вызывает API анализа макета для анализа документа.
Просмотрите результаты. См. выделенный извлеченный текст, обнаруженные метки выделения и обнаруженные таблицы.
Аналитика документов версии 2.1 поддерживает следующие средства, приложения и библиотеки.
| Функция | Ресурсы |
|---|---|
| API макета | • Средство аналитики документов • REST API • пакет SDK для клиентской библиотеки • Контейнер Docker аналитики документов |
Извлечение данных
Модель макета извлекает структурные элементы из документов. Структурные элементы описаны здесь, и в следующем руководстве показано, как извлечь их из входных данных документа.
Извлечение данных
Модель макета извлекает структурные элементы из документов. Структурные элементы описаны здесь, и в следующем руководстве показано, как извлечь их из входных данных документа.
Стр.
Коллекция pages — это список страниц в документе. Каждая страница представлена последовательно в документе и включает угол ориентации, указывающий, поворачивается ли страница и ширина и высота (измерения в пикселях). Единицы страницы в выходных данных модели вычисляются, как показано в следующей таблице.
| Формат файла | Единица вычисляемой страницы | Всего страниц |
|---|---|---|
| Изображения (JPEG/JPG, PNG, BMP, HEIF) | Каждое изображение = 1 единица страницы. | Всего изображений |
| Формат pdf | Каждая страница в ФОРМАТЕ PDF = 1 единица страницы. | Всего страниц в PDF |
| Ссора | Каждое изображение в 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}"
)
Извлечение выбранных страниц из документов
Для больших документов с несколькими страницами используйте 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"
}
]
}
Текст, строка и слово
Модель макета документа в Аналитике документов извлекает печатный и рукописный текст в виде строк и слов. Коллекция 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}"
)
Рукописный стиль
Ответ включает классификацию того, является ли каждая текстовая строка стилем рукописного ввода или нет, а также оценка достоверности. Дополнительные сведения см. в разделе "Поддержка рукописного текста". В следующем примере показан пример фрагмента КОДА 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}"
)
Таблица
Извлечение таблиц является ключевым требованием для обработки документов, содержащих большие объемы данных, обычно отформатированных в виде таблиц. Модель макета извлекает таблицы в 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)}'"
)
Заметки
Модель макета извлекает заметки в документах, таких как проверки и кресты. Ответ включает в себя вид заметки, а также оценку достоверности и ограничивающий многоугольник.
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
Естественный порядок чтения для выводимых данных (только для языков на основе латиницы)
Используя параметр запроса readingOrder, можно указать порядок, в котором будут выводиться текстовые строки. Используйте natural для более удобного для чтения выходные данные порядка чтения, как показано в следующем примере. Эта функция поддерживается только для латинских языков.
Выбор номера страницы или диапазона для извлечения текста
Для больших документов с несколькими страницами используйте pages параметр запроса, чтобы указать определенные номера страниц или диапазоны страниц для извлечения текста. В следующем примере показан документ с 10 страницами с текстом, извлеченным для обоих случаев, всеми страницами (1-10) и выбранными страницами (3-6).
Операция получения результата анализа макета
Второй шаг — вызов операции Получить результат анализа макета. Эта операция принимает в качестве входных данных идентификатор результата, созданный операцией Analyze Layout . Она возвращает ответ в формате JSON, содержащий поле Состояние со следующими возможными значениями.
| Поле | Тип | Возможные значения |
|---|---|---|
| статус | строка |
notStarted: операция анализа не запущена.running: операция анализа выполняется.failed: операция анализа завершилась ошибкой.succeeded: операция анализа завершилась успешно. |
Вызывайте эту операцию итеративно до возвращения значения succeeded. Чтобы избежать превышения частоты запросов в секунду, используйте интервал от трех до пяти секунд.
Если поле состояния имеет succeeded значение, ответ JSON включает извлеченный макет, текст, таблицы и знаки выделения. Извлеченные данные включают извлеченные текстовые строки и слова, ограничивающие поля, внешний вид текста с рукописным указанием, таблицами и метками выделения с выбранным или неизбираемым.
Рукописная классификация текстовых строк (только для латинских языков)
Ответ включает классификацию того, является ли каждая текстовая строка стилем рукописного текста или нет, а также оценка достоверности. Эта функция поддерживается только для латинских языков. В следующем примере представлена рукописная классификация для текста в изображении.
Пример выходного JSON-файла
Ответ на Get Analyze Layout Result операцию представляет структурированное представление документа со всеми извлеченными сведениями.
См . пример файла документа и его структурированные выходные выходные выходные данные макета.
Выходные данные JSON имеют две части.
- Узел
readResultsсодержит все распознанный текст и знак выделения. Иерархия текстовой презентации — это страница, а затем строка, а затем отдельные слова. - Узел
pageResultsсодержит таблицы и ячейки, извлеченные с ограничивающими прямоугольниками, уверенностью и ссылкой на строки и слова вreadResultsполе.
Пример результата
Текст
API макета извлекает текст из документов и изображений с несколькими углами текста и цветами. Он принимает фотографии документов, факсов, печатных и/или рукописных (только на английском языке) и смешанных режимов. Текст извлекается, и предоставляется информация о строках, словах, ограничивающих прямоугольниках, показателях достоверности и стиле (рукописный или иной). Вся текстовая информация включена в раздел readResults выходных данных JSON.
Таблицы с заголовками
API макета извлекает таблицы в pageResults разделе выходных данных JSON. Вы можете сканировать, сфотографировать или оцифровать документы. Таблицы могут быть сложными с объединенными ячейками или столбцами, с границами или без них, а также с неровными углами.
Извлеченные сведения о таблице включают количество столбцов и строк, диапазон строк и диапазон столбцов. Каждая ячейка с ограничивающей рамкой выводится вместе с информацией о том, распознается ли эта область как часть заголовка или нет. Ячейки заголовков, прогнозируемые моделью, могут охватывать несколько строк и не обязательно являются первыми строками в таблице. Они также работают с повёрнутыми таблицами. Каждая ячейка таблицы также содержит полный текст со ссылками на отдельные слова в readResults разделе.
Метки выделения (документы)
API макета также извлекает метки выбора из документов. У извлеченных меток выделения указаны ограничивающий прямоугольник, достоверность и состояние (выбрана/не выбрана). В разделе readResults выходных данных JSON извлекаются сведения о метках выделения.
Руководство по миграции
- Чтобы узнать, как использовать версию 3.1 в приложениях и рабочих процессах, выполните действия, описанные в руководстве по миграции Document Intelligence версии 3.1.
Связанный контент
- Узнайте, как обрабатывать собственные формы и документы с помощью Document Intelligence Studio.
- Завершите краткое руководство по анализу документов и создайте приложение для обработки документов на выбранном языке разработки.
- Узнайте, как обрабатывать собственные формы и документы с помощью средства маркировки образца документов.
- Завершите краткое руководство по анализу документов и создайте приложение для обработки документов на выбранном языке разработки.