Классификация и извлечение фактов из файла
<< Click to Display Table of Contents >> Интеллектуальные возможности > Сервисы Directum Ario > Описание API Ario > Прикладные задачи классификации и извлечения фактов Классификация и извлечение фактов из файла |
Основной запрос на обработку документов. Он может выполняться асинхронно или синхронно. Асинхронный метод позволяет обрабатывать одновременно несколько файлов за счет распараллеливания потоков, при синхронном методе файлы обрабатываются в порядке очереди.
Синтаксис
POST {service_url}/api/Commons/processfileasync
{
"file": "Путь до файла, из которого извлекаются факты",
"Grammars": "Список грамматик, участвующих в извлечении фактов"
"ClassifierId": "ИД основного классификатора"
"AdditionalClassifierIds": "ИД дополнительных классификаторов"
"PageClassifierId": "ИД классификатора первых страниц"
"ProcessDocumentsCount": "Количество документов для обработки"
"UseFixedForms": "Признак поворота изображения до угла, кратного 90 градусам"
"Languages": "Языки документов",
"ConvertFactPositions": "Признак поворота документов",
"SaveUnprocessedDocuments": "Загрузка в систему необработанных документов из комплекта"
}
Параметры
•Grammars – список грамматик, которые участвуют в обработке документа. По виду документа, вычисленного классификатором, определяется конкретная грамматика и согласно ее модели из документа извлекаются факты. По умолчанию в список входят грамматики из поставки сервисов Directum Ario
Остальные параметры аналогичны тем, что задаются при запросах на классификацию файла одним или несколькими классификаторами и извлечении фактов из файла.
Пример запроса
POST http://smart:61100/api/Commons/processfileasync
{
"file": "D://Письмо от ООО Импульс от 11.09",
"Grammars": "Входящее письмо\Letter, Договор\Contract, Постановления\Resolution, Счет-фактура\TaxInvoice, Товарная накладная\Waybill, Акт выполненных работ\ContractStatement"
"ClassifierId": "1"
"AdditionalClassifierIds": "[2,3]"
"PageClassifierId": "4"
"ProcessDocumentsCount": "0"
"UseFixedForms": "False",
"ConvertFactPositions": False,
"Languages": ["eng", "rus"],
"SaveUnprocessedDocuments": False
}
Ответ
Содержит информацию о задаче классификации документа и извлечения фактов из документа:
{
"taskId": 5,
"state": 2,
"started": "2018-12-14T11:34:08.41526",
"finished": "2018-12-14T11:34:09.793622"
}
Где:
•taskId – ИД задачи на классификацию или извлечение фактов;
•state – состояние задачи. Возможные значения: 0 – новая задача, 1 – задача не завершена, 2 – задача завершена, 3 – произошла ошибка, 4 – обучение завершено, 5 – задача прекращена;
•started – дата и время начала выполнения задачи;
•finished – дата и время окончания задачи. Если обработка еще не завершена, параметр имеет значение null.
Подробную информацию о результате обработки документа можно получить с помощью запроса информации по конкретной задаче обработки.
Синтаксис и параметры такие же, как в асинхронном запросе на классификацию и извлечение фактов из файла.
Ответ
Содержит секции с результатами классификации документа и информацию об извлеченных из документа фактах:
{
"results":[
{
"extractionResult":{...},
"classificationResult":{...},
"message":""
}
]
}
Где:
•extractionResult – секция с результатами извлечения фактов из файла;
•classificationResult – секция с результатами классификации файла основным классификатором;
•message – информация об ошибках, которые возникли при выполнении запроса.
Содержит информацию об извлеченных из файла фактах: "extractionResult": { Где: •extractionResultId – ИД записи о результатах извлечения фактов в базе данных сервиса Directum Smart Service; •extracted – дата и время извлечения фактов; •facts – секция с коллекцией всех извлеченных из текста фактов; •grammar – секция с информацией о грамматике, которая использовалась для извлечения фактов; •guid – уникальный идентификатор PDF-документа, сконвертированного сервисами Directum Ario; •stamps – секция с информацией об извлеченных штампах; •signatures – секция с информацией об извлеченных подписях; •pages – секция с информацией о страницах документа: •number – порядковый номер страницы; •width – ширина страницы документа; •height – высота страницы документа; •length – длина страницы. Всегда принимает значение 0; •message – информационные сообщения о процессе извлечения фактов; •error – ошибки, возникшие при извлечении фактов из файла. |
"facts":[ Содержит информацию о коллекции извлеченных из документа фактов: •factId – ИД факта; •name – наименование факта; •position – номер начального символа; •length – количество символов в факте; •fields – секция с информацией о коллекции полей фактов. |
"fields":[ Содержит информацию о коллекции полей фактов: •factFieldId – ИД поля факта; •name – наименование поля факта; •hasError – наличие ошибки извлечения. Возможные значения: true – есть ошибка, false – нет ошибки; •value – обработанное значение поля факта, извлеченное из текста. Например, для приведения даты документа к формату информационной системы исходное значение 1 ноября 2021 обработано с помощью форматеров до вида 01.11.2021; •rawValue – исходное значение поля факта, извлеченное из текста; •probability – вероятность корректного извлечения поля факта. Принимает значение от 0 до 100. Информация о вероятности может использоваться для выбора наиболее подходящего факта из нескольких или для визуального выделения фактов в прикладной системе; •positions – секция с детальной информацией о позиции факта на странице. |
"positions":[ Содержит детальную информацию о позиции объекта, например факта, на странице: •page – номер страницы документа; •top – положение факта относительно верха страницы; •left – положение факта относительно левого края страницы; •center_x – положение факта относительно оси Х; •center_y – положение факта относительно оси Y; •width – ширина факта; •height – высота факта. |
"grammar":{ Содержит основную информацию о грамматике, которая использовалась для извлечения фактов из документа: •grammarId – ИД грамматики, которая использовалась для извлечения фактов из документа; •name – наименование грамматики кириллицей; •description – описание грамматики; •grammarSetName – наименование грамматики латиницей; •isSystem – признак системности грамматики; •state – статус грамматики. Возможные значения: 0 – активная (действующая), 1 – или неактивная (недействующая); •facts – секция с общей информацией о всех извлеченных из документа фактов. Параметры аналогичны параметрам аналогичной секции. |
"stamps":[ Содержит информацию об извлеченных фактах из документа: •probability – вероятность корректного извлечения штампа. Принимает значение от 0 до 100; •position – секция с детальной информацией о позиции штампа на странице. Параметры аналогичны параметрам аналогичной секции; •angle – угол поворота штампа. |
Содержит информацию об извлеченных подписях из документа. Параметры аналогичны параметрам секции stamps. |
Примечание. Если параметры, выделенные жиром, принимают значение null, значит вероятность соответствия содержимого файла всем классам в классификаторе ниже порогового значения. "classificationResult": { Содержит информацию о результатах классификации файла: •classificationResultId – ИД результата классификации файла; •classifierId – ИД классификатора; •classifier – секция с информацией о классификаторе, который используется для классификации файла. Подробнее описание параметров секции см. в разделе «Информационные запросы о классификаторе» в подразделе «Просмотр информации о классификаторе»; •classifierModelId – ИД действующей модели классификации; •classified – дата и время завершения классификации; •duration – продолжительность классификации; •classResults – секция с информацией о результатах классификации; •predictedClassId – ИД класса, которому соответствует файл; •predictedClass – секция с информацией о классе, которому соответствует файл. Подробнее описание параметров секции см. в разделе «Информационные запросы о классификаторе» в подразделе «Просмотр информации о классификаторе»; •predictedProbability – вероятность, с которой файл соответствует к классу •expectedClassId – ИД ожидаемого класса. Параметр всегда принимает значение null; •expectedClass – информация об ожидаемом классе. Параметр всегда принимает значение null; •guid – уникальный идентификатор PDF-документа, сконвертированного сервисами Directum Ario; •error – код ошибки, если классификация прекратилась из-за нее; •message – информация об ошибках, которые возникли при выполнении запроса. |
"classResults": [ Содержит информацию о соответствии файла к каждому классу в классификаторе: •classResultId – ИД записи о результатах классификации в базе данных сервиса Directum Smart Service; •classId – ИД класса; •class – секция с информацией о каждом классе классификатора. Подробнее описание параметров секции см. в разделе «Информационные запросы о классификаторе» в подразделе «Просмотр информации о классификаторе»; •probability – коэффициент вероятности, с которой документ соответствует тому или иному классу. Возможные значения варьируются от 0 до 1. Чем выше значение, тем больше вероятность, что документ относится к этому классу. |
© Компания Directum, 2024 |