analyze-document
Описание
Анализирует входной документ на предмет взаимосвязей между обнаруженными элементами.
Типы возвращаемой информации следующие:
- Данные формы (пары ключ-значение). Связанная информация возвращается в двух объектах блока, каждый из которых имеет тип
KEY_VALUE_SET: объект KEYBlockи объект VALUEBlock. Например, Имя: Ана Сильва Каролина содержит ключ и значение. Имя: — это ключ. Ана Сильва Каролина — это значение. - Данные таблицы и ячейки таблицы. Объект TABLE
Blockсодержит информацию о найденной таблице. Для каждой ячейки таблицы возвращается объект CELLBlock. - Строки и слова текста. Объект LINE
Blockсодержит один или несколько объектов WORDBlock. Возвращаются все строки и слова, обнаруженные в документе (включая текст, не имеющий отношения к значениюFeatureTypes). - Подписи. Объект SIGNATURE
Blockсодержит информацию о расположении подписи в документе. При использовании совместно с формами или таблицами подписи могут быть связаны с парой «ключ-значение» или обнаружены в ячейке таблицы. - Запрос. Объект блока QUERY содержит текст запроса, псевдоним и ссылку на связанный объект блока результатов запроса.
- Результат запроса. Объект блока QUERY_RESULT содержит ответ на запрос и идентификатор, связывающий его с заданным запросом. Этот блок также содержит оценку уверенности.
Элементы выбора, такие как флажки и переключатели (кнопки радио), могут быть обнаружены в данных формы и в таблицах. Объект SELECTION_ELEMENT Block содержит информацию об элементе выбора, включая статус выбора.
Вы можете выбрать тип анализа, указав список FeatureTypes.
Вывод возвращается в списке объектов Block.
AnalyzeDocument — это синхронная операция. Для асинхронного анализа документов используйте StartDocumentAnalysis .Дополнительную информацию см. в разделе Анализ текста документа.
См. также: Документация API AWS
Синтаксис
analyze-document
--document <value>
--feature-types <value>
[--human-loop-config <value>]
[--queries-config <value>]
[--adapters-config <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--document (структура)
Входящий документ в виде закодированных в base64 байтов или объект Amazon S3. Если вы используете AWS CLI для вызова операций Amazon Textract, вы не можете передавать байты изображения. Документ должен быть изображением в формате JPEG, PNG, PDF или TIFF.
Если вы используете AWS SDK для вызова Amazon Textract, вам, возможно, не нужно кодировать изображение в base64, которое передаётся с помощью поля Bytes.
Bytes -> (blob)
Блок закодированных в base64 байтов документа. Максимальный размер документа, предоставляемого в блоке байтов, составляет 5 МБ. Байты документа должны быть в формате PNG или JPEG.
Если вы используете AWS SDK для вызова Amazon Textract, вам, возможно, не нужно кодировать изображение в base64, которое передаётся с помощью поля Bytes.
S3Object -> (структура)
Идентифицирует объект S3 в качестве источника документа. Максимальный размер документа, хранящегося в ведре S3, составляет 5 МБ.
Bucket -> (строка)
Name -> (строка)
Version -> (строка)
Сокращённый синтаксис:
Bytes=blob,S3Object={Bucket=string,Name=string,Version=string}
Синтаксис JSON:
{
"Bytes": blob,
"S3Object": {
"Bucket": "string",
"Name": "string",
"Version": "string"
}
}
--feature-types (список)
Список типов анализа, которые необходимо выполнить. Добавьте TABLES в список, чтобы получить информацию о таблицах, обнаруженных в входном документе. Добавьте FORMS, чтобы получить данные обнаруженных форм. Добавьте SIGNATURES, чтобы получить местоположения обнаруженных подписей. Добавьте LAYOUT в список, чтобы получить информацию о макете документа. Все обнаруженные в документе строки и слова включены в ответ (включая текст, не связанный со значением FeatureTypes).
(строка)
Синтаксис:
"string" "string" ...
Where valid values are:
TABLES
FORMS
QUERIES
SIGNATURES
LAYOUT
--human-loop-config (структура)
Настройка рабочего процесса «человек в цикле» для анализа документов.
HumanLoopName -> (строка)
FlowDefinitionArn -> (строка)
DataAttributes -> (структура)
Устанавливает атрибуты входных данных.
ContentClassifiers -> (список)
Устанавливает, содержит ли входное изображение информацию, позволяющую идентифицировать личность, или контент для взрослых.
(строка)
Сокращённый синтаксис:
HumanLoopName=string,FlowDefinitionArn=string,DataAttributes={ContentClassifiers=[string,string]}
Синтаксис JSON:
{
"HumanLoopName": "string",
"FlowDefinitionArn": "string",
"DataAttributes": {
"ContentClassifiers": ["FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent", ...]
}
}
--queries-config (структура)
Содержит запросы и псевдонимы для этих запросов, определённые входными данными.
Queries -> (список)
(структура)
Каждый запрос содержит вопрос, который вы хотите задать в тексте, и псевдоним, который хотите присвоить.
Text -> (строка)
Alias -> (строка)
Pages -> (список)
Pages — параметр, в который пользователь вводит страницы, к которым нужно применить запрос. Ниже приведены правила использования этого параметра.
- Если страница не указана, по умолчанию она устанавливается в
["1"]. - В строке параметра разрешены следующие символы:
0 1 2 3 4 5 6 7 8 9 - *. Пробелы не допускаются. - При использовании * для обозначения всех страниц он должен быть единственным элементом в списке.
- Можно использовать диапазоны страниц, например,
[“1-3”, “1-1”, “4-*”]. Где*обозначает последнюю страницу документа. - Указанные страницы должны быть больше 0 и меньше или равны количеству страниц в документе.
(строка)
Синтаксис JSON:
{
"Queries": [
{
"Text": "string",
"Alias": "string",
"Pages": ["string", ...]
}
...
]
}
--adapters-config (структура)
Указывает адаптер, который необходимо использовать при анализе документа.
Adapters -> (список)
Список адаптеров, которые необходимо использовать при анализе указанного документа.
(структура)
Адаптер, выбранный для использования при анализе документов. Содержит идентификатор адаптера и номер версии. Содержит информацию о страницах, выбранных для анализа при асинхронном анализе документов.
AdapterId -> (строка)
Pages -> (список)
Pages — параметр, в который пользователь вводит страницы, к которым нужно применить адаптер. Ниже приведены правила использования этого параметра.
- Если страница не указана, по умолчанию она устанавливается в
["1"]. - В строке параметра разрешены следующие символы:
0 1 2 3 4 5 6 7 8 9 - *. Пробелы не допускаются. - При использовании * для обозначения всех страниц он должен быть единственным элементом в списке.
- Можно использовать диапазоны страниц, например,
["1-3", "1-1", "4-*"]. Где*обозначает последнюю страницу документа. - Указанные страницы должны быть больше 0 и меньше или равны количеству страниц в документе.
(строка)
Version -> (строка)
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке предоставлены другие аргументы, эти значения переопределят значения, предоставленные JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного JSON, так как строка будет восприниматься буквально. Это не может быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод, не отправляя запрос к API. Если предоставлено значение без значения или значение input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он валидирует входные данные команд и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (boolean)
Включить отладку логирования.
--endpoint-url (string)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (boolean)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI проверяет SSL-сертификаты. Этот параметр переопределяет стандартное поведение проверки SSL-сертификатов.
--no-paginate (boolean)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один запрос для первой страницы результатов.
--output (string)
Стиль форматирования вывода команды.
- json
- text
- table
- yaml
- yaml-stream
--query (string)
Запрос JMESPath для фильтрации данных ответа.
--profile (string)
Использовать определенный профиль из файла учетных данных.
--region (string)
Регион для использования. Переопределяет настройки из конфигурации/окружения.
--version (string)
Отобразить версию этого инструмента.
--color (string)
Включить/отключить цветной вывод.
- on
- off
- auto
--no-sign-request (boolean)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.
--ca-bundle (string)
Файл с сертификатами CA для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/окружения.
--cli-read-timeout (int)
Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (int)
Максимальное время подключения сокета в секундах. Если значение равно 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (string)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, сопоставляемого с двоичным блоком fileb:// всегда будет обрабатываться как двоичный и использовать содержимое файла напрямую независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного параметра cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (boolean)
Отключить постраничную навигацию для вывода.
--cli-auto-prompt (boolean)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запросы параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Более подробную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования, похожие на Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки терминала. См. раздел «Использование кавычек со строками» в Руководстве пользователя AWS CLI.
Для анализа текста в документе
Следующий analyze-document пример демонстрирует, как анализировать текст в документе.
Linux/macOS:
aws textract analyze-document \
--document '{"S3Object":{"Bucket":"bucket","Name":"document"}}' \
--feature-types '["TABLES","FORMS"]'
Windows:
aws textract analyze-document \
--document "{\"S3Object\":{\"Bucket\":\"bucket\",\"Name\":\"document\"}}" \
--feature-types "[\"TABLES\",\"FORMS\"]" \
--region region-name
Вывод:
{
"Blocks": [
{
"Geometry": {
"BoundingBox": {
"Width": 1.0,
"Top": 0.0,
"Left": 0.0,
"Height": 1.0
},
"Polygon": [
{
"Y": 0.0,
"X": 0.0
},
{
"Y": 0.0,
"X": 1.0
},
{
"Y": 1.0,
"X": 1.0
},
{
"Y": 1.0,
"X": 0.0
}
]
},
"Relationships": [
{
"Type": "CHILD",
"Ids": [
"87586964-d50d-43e2-ace5-8a890657b9a0",
"a1e72126-21d9-44f4-a8d6-5c385f9002ba",
"e889d012-8a6b-4d2e-b7cd-7a8b327d876a"
]
}
],
"BlockType": "PAGE",
"Id": "c2227f12-b25d-4e1f-baea-1ee180d926b2"
}
],
"DocumentMetadata": {
"Pages": 1
}
}
Дополнительную информацию см. в разделе «Анализ текста документа с помощью Amazon Textract» в Руководстве разработчика Amazon Textract
Вывод
DocumentMetadata -> (структура)
Данные о проанализированном документе. Примером является количество страниц.
Pages -> (целое число)
Blocks -> (список)
Элементы, которые обнаруживаются и анализируются AnalyzeDocument.
(структура)
Block представляет элементы, распознанные в документе в группе пикселей, расположенных близко друг к другу. Информация, возвращаемая в объекте Block, зависит от типа операции. При обнаружении текста в документах (например, DetectDocumentText) вы получаете информацию о распознанных словах и строках текста. При анализе текста (например, AnalyzeDocument) вы также можете получить информацию о найденных полях, таблицах и элементах выбора в документе.
Массив объектов Block возвращается как синхронными, так и асинхронными операциями. В синхронных операциях, таких как DetectDocumentText, массив объектов Block содержит весь набор результатов. В асинхронных операциях, таких как GetDocumentAnalysis, массив возвращается в одном или нескольких ответах.
Дополнительную информацию см. в разделе Как работает Amazon Textract.
BlockType -> (строка)
Тип распознанного элемента текста. В операциях по обнаружению текста возвращаются следующие типы:
-
PAGE - Содержит список объектов LINE
Block, обнаруженных на странице документа. - WORD - Обнаруженное на странице документа слово. Слово — это один или несколько символов основного латинского алфавита, не разделенных пробелами.
- LINE - Строка табулированных, смежных слов, обнаруженных на странице документа.
В операциях по анализу текста возвращаются следующие типы:
-
PAGE - Содержит список дочерних объектов
Block, обнаруженных на странице документа. -
KEY_VALUE_SET - Хранит объекты KEY и VALUE
Blockдля связанного текста, обнаруженного на странице документа. Используйте полеEntityType, чтобы определить, является ли объект KEY_VALUE_SET объектом KEYBlockили VALUEBlock. - WORD - Обнаруженное на странице документа слово. Слово — это один или несколько символов основного латинского алфавита, не разделенных пробелами.
- LINE - Строка табулированных, смежных слов, обнаруженных на странице документа.
- TABLE - Обнаруженная на странице документа таблица. Таблица — это информация, основанная на сетке, с двумя или более строками или столбцами, с размахом ячейки по одной строке и одному столбцу.
- TABLE_TITLE - Заголовок таблицы. Заголовок, как правило, это строка текста над или под таблицей или вставлена в первую строку таблицы.
- TABLE_FOOTER - Подвал, связанный с таблицей. Подвал, как правило, это строка или строки текста под таблицей или вставлены в последнюю строку таблицы.
- CELL - Ячейка в обнаруженной таблице. Ячейка — это родительский элемент блока, содержащего текст в ячейке.
-
MERGED_CELL - Ячейка в таблице, содержимое которой занимает более одной строки или столбца. Массив
Relationshipsдля этой ячейки содержит данные из отдельных ячеек. -
SELECTION_ELEMENT - Элемент выбора, такой как кнопка выбора (кнопка радио) или флажок, обнаруженный на странице документа. Используйте значение
SelectionStatusдля определения состояния элемента выбора. - SIGNATURE - Местоположение и оценка уверенности в распознанной подписи на странице документа. Может возвращаться как часть пары «ключ-значение» или обнаруженной ячейки.
- QUERY - Вопрос, заданный во время вызова AnalyzeDocument. Содержит псевдоним и идентификатор, которые прикрепляют его к его ответу.
- QUERY_RESULT - Ответ на вопрос, заданный во время вызова analyze document. Имеет псевдоним и идентификатор для удобства поиска в ответе. Также содержит местоположение и оценку уверенности.
Следующие типы BlockTypes возвращаются только для Amazon Textract Layout.
-
LAYOUT_TITLE- Основной заголовок документа. -
LAYOUT_HEADER- Текст, расположенный в верхнем отступе документа. -
LAYOUT_FOOTER- Текст, расположенный в нижнем отступе документа. -
LAYOUT_SECTION_HEADER- Заголовки разделов в документе. -
LAYOUT_PAGE_NUMBER- Номер страницы документа. -
LAYOUT_LIST- Любая информация, сгруппированная в виде списка. -
LAYOUT_FIGURE- Указывает расположение изображения в документе. -
LAYOUT_TABLE- Указывает расположение таблицы в документе. -
LAYOUT_KEY_VALUE- Указывает расположение полей «ключ-значение» формы в документе. -
LAYOUT_TEXT- Текст, обычно присутствующий в качестве части абзацев в документах.
Confidence -> (число с плавающей точкой)
Text -> (строка)
TextType -> (строка)
RowIndex -> (целое число)
RowIndex не возвращается DetectDocumentText и GetDocumentTextDetection.ColumnIndex -> (целое число)
ColumnIndex не возвращается DetectDocumentText и GetDocumentTextDetection.RowSpan -> (целое число)
RowSpan не возвращается DetectDocumentText и GetDocumentTextDetection.ColumnSpan -> (целое число)
ColumnSpan не возвращается DetectDocumentText и GetDocumentTextDetection.Geometry -> (структура)
Расположение распознанного текста на изображении. Он включает осью-выровненную грубую границу, которая окружает текст, и полигон с более точной информацией о пространстве.
BoundingBox -> (структура)
Осью-выровненное грубое представление расположения распознанного элемента на странице документа.
Width -> (число с плавающей точкой)
Height -> (число с плавающей точкой)
Left -> (число с плавающей точкой)
Top -> (число с плавающей точкой)
Polygon -> (список)
Внутри области, полигон с более подробными данными о распознанном элементе.
(структура)
Координаты X и Y точки на странице документа. Возвращаемые значения X и Y являются отношениями к общему размеру страницы документа. Например, если входной документ имеет размер 700x200, а операция возвращает X=0,5 и Y=0,25, то точка находится в пиксельной координате (350,50) на странице документа.
Массив объектов Point, Polygon, возвращается DetectDocumentText. Polygon представляет собой полигон с более подробными данными о распознанном тексте. Дополнительную информацию см. в разделе Геометрия в руководстве разработчика Amazon Textract.
X -> (число с плавающей точкой)
Polygon.Y -> (число с плавающей точкой)
Polygon.Id -> (строка)
Relationships -> (список)
Список объектов отношений, описывающих взаимосвязь между блоками. Например, объект блока LINE содержит тип отношения CHILD с блоками WORD, составляющими строку текста. Объектов Relationships в списке нет для отношений, которые не существуют, например, когда текущий блок не имеет дочерних блоков.
(структура)
Информация о том, как блоки связаны друг с другом. Объект Block содержит 0 или более объектов Relation в списке Relationships. Дополнительную информацию см. в разделе Блок.
Элемент Type предоставляет тип отношения для всех блоков в массиве IDs.
Type -> (строка)
Тип отношения между блоками в массиве IDs и текущим блоком. Следующий список описывает типы отношений, которые могут быть возвращены.
- VALUE - Список, содержащий идентификатор блока VALUE, связанного с KEY пары «ключ-значение».
- CHILD - Список идентификаторов, определяющих блоки, найденные внутри текущего объекта блока. Например, блоки WORD имеют отношение CHILD к типу блока LINE.
- MERGED_CELL - Список идентификаторов, определяющих каждый из блоков типа MERGED_CELL в таблице.
- ANSWER - Список, содержащий идентификатор блока QUERY_RESULT, связанного с соответствующим блоком QUERY.
- TABLE - Список идентификаторов, определяющих связанные блоки типа TABLE.
- TABLE_TITLE - Список, содержащий идентификатор типа блока TABLE_TITLE в таблице.
- TABLE_FOOTER - Список идентификаторов, определяющих блоки типа TABLE_FOOTER в таблице.
Ids -> (список)
Массив идентификаторов связанных блоков. Вы можете получить тип отношения из элемента Type.
(строка)
EntityTypes -> (список)
Тип сущности.
Следующие типы сущностей могут быть возвращены анализом FORMS:
- KEY - Идентификатор поля в документе.
- VALUE - Текст поля.
Следующие типы сущностей могут быть возвращены анализом TABLES:
- COLUMN_HEADER - Идентифицирует ячейку, являющуюся заголовком столбца.
- TABLE_TITLE - Идентифицирует ячейку, являющуюся заголовком в таблице.
- TABLE_SECTION_TITLE - Идентифицирует ячейку, являющуюся заголовком раздела в таблице. Заголовок раздела — это ячейка, которая обычно охватывает всю строку над разделом.
- TABLE_FOOTER - Идентифицирует ячейку, являющуюся подвалом таблицы.
- TABLE_SUMMARY - Идентифицирует сводную ячейку таблицы. Сводная ячейка может быть строкой таблицы или дополнительной, меньшей таблицей, содержащей сводную информацию для другой таблицы.
- STRUCTURED_TABLE - Идентифицирует таблицу со столбцами заголовков, где содержимое каждой строки соответствует заголовкам.
- SEMI_STRUCTURED_TABLE - Идентифицирует неструктурированную таблицу.
EntityTypes не возвращается DetectDocumentText и GetDocumentTextDetection.(строка)
SelectionStatus -> (строка)
Page -> (целое число)
Page возвращается синхронными и асинхронными операциями. Значения страниц, большие 1, возвращаются только для документов с несколькими страницами в формате PDF или TIFF. Отсканированное изображение (JPEG/PNG), предоставленное асинхронной операции, даже если оно содержит несколько страниц документа, считается документом с одной страницей. Это означает, что для отсканированных изображений значение Page всегда равно 1.Query -> (структура)
Text -> (строка)
Alias -> (строка)
Pages -> (список)
Параметр Pages, который пользователь вводит, чтобы указать, к каким страницам применить запрос. Ниже приведен список правил для использования этого параметра.
- Если страница не указана, она устанавливается по умолчанию в значение
["1"]. - В строке параметра разрешены следующие символы:
0 1 2 3 4 5 6 7 8 9 - *. Пробелы не допускаются. - При использовании * для обозначения всех страниц, это должен быть единственный элемент в списке.
- Можно использовать интервалы страниц, такие как
[“1-3”, “1-1”, “4-*”]. Где*обозначает последнюю страницу документа. - Указанные страницы должны быть больше 0 и меньше или равны количеству страниц в документе.
(строка)
HumanLoopActivationOutput -> (структура)
Показывает результаты оценки человека в цикле.
HumanLoopArn -> (строка)
HumanLoopActivationReasons -> (список)
Показывает, нужна ли и почему была нужна проверка человеком.
(строка)
HumanLoopActivationConditionsEvaluationResults -> (строка)
AnalyzeDocumentModelVersion -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.