<< Click to Display Table of Contents >> Интеллектуальные возможности > Сервисы Directum Ario > Описание API Ario > Отладка моделей извлечения фактов Обучение модели извлечения фактов |
Обучение новой модели необходимо, когда базовых моделей извлечения фактов из поставки сервисов Directum Ario недостаточно или они не закрывают потребностей организации в обработке документов. Например, если нужно извлекать факты из других видов документов или их оформление в организации отличается от общепринятых форматов.
Перед обучением моделей подготавливаются и размечаются документы. В результате обучения для указанной в запросе грамматики создается новая модель извлечения фактов, обученная на подготовленной разметке.
Кроме того, для обучения модели извлечения фактов есть разные методы:
•асинхронный. Используется разработчиками для управляемой классификации за счет распараллеливания потоков;
•синхронный. Используется администраторами для упрощенной классификации за счет минимального количества действий со стороны администратора.
Синтаксис
POST {service_url}/api/factextractor/grammar/{grammarSetname}/trainasync
{
"file": "Путь до архива с выгруженной разметкой",
"Features": "["Список признаков для извлечения фактов из текста"]",
"Window": "[Область контекста]",
"TabbleFeatures": "["Список признаков для извлечения фактов из таблицы"]"
}
Параметры
•file – путь до ZIP-архива с выгруженной разметкой;
•Features – список признаков, на наличие которых проверяется каждое слово в документе. Необходимо выбирать признаки, свойственные фактам конкретного класса документов.
Пример: ["BOSRus", "EOSRus", "ContainsCurrency", "ContainsDigits", "ContainsAmount", "EndsWithColon"].
ВАЖНО. Для документов на русском языке должны использоваться признаки BOS, EOS и SentencePosition с постфиксом «Rus», для документов на английском – с постфиксом «Eng». Признаки BOS, EOS и SentencePosition без постфикса языка являются устаревшими и оставлены для обратной совместимости.
•Window – область контекста или количество слов вокруг слова, которое проверяется на признаки, указанные в параметре Features. Слова из области контекста также проверяются на наличие признаков.
Например, если в счетах на оплату над фактом Номер документа написано «Номер документа», модель учитывает область контекста и запоминает данный признак. При значении [4,2] область контекста у проверяемого слова состоит из четырех слов слева и сверху, двух слов справа и снизу;
•TableFeatures – список признаков, на наличие которых проверяется каждая распознанная ячейка таблицы в документе или ее значение. Параметр заполняется, если в наборе данных есть размеченные таблицы.
Пример запроса
POST http://smart:61100/api/factextractor/grammar/IncomingInvoice/trainasync
{
"file": "D:\\IncomingInvoice_bio.zip",
"Features": "["BOSRus", "EOSRus", "ContainsCurrency", "ContainsDigits", "ContainsAmount", "EndsWithColon", "EndsWithComa", "EndsWithDot", "EndsWithExclamation", "EndsWithQuotes", "IsDate", "IsDigit", "IsInitials", "IsLower", "IsTitle", "IsUpper", "IsMonth", "LegalForms", "Encode", "MostlyDigits", "Prefix", "SentencePosition", "StartsWithQuotes","Suffix", "TextPosition", "WordLength", "PagePosition", "BankNames", "PublicInstitutions", "CountriesRus", "IsTIN", "IsTINTRRC", "IsTRRC", "TilePosition", "Addresses", "Surnames", "PersonNames"]",
"Window": "[4,2]",
"TableFeatures": "["CellLongestWord", "CellOverlapsCol", "CellOverlapsRow", "CellShortestWord", "CellValueLength", "ColCount", "ColFirst", "ColLast", "ContainsAmount", "ContainsCurrency", "ContainsDigits", "EncodePrefix", "EncodeSuffix", "EndsWithColon", "EndsWithComa", "EndsWithDot", "EndsWithExclamation", "EndsWithQuotes", "IsDate", "IsDigit", "IsLower", "IsMonth", "IsMostlyDigits", "IsTIN", "IsTINTRRC", "IsTRRC", "IsUpper", "Prefix", "RowCount", "RowDifferent", "RowFirst", "RowFull", "RowLast", "RowOccupancy", "StartsWithQuotes", "Suffix", "Addresses", "BankNames", "CountriesRus", "LegalForms", "PersonNames", "PublicInstitutions", "Surnames", "TilePosition"]"
}
Ответ
Содержит информацию о грамматике, обученной модели и фактах, которые можно извлекаются с помощью нее:
{
"grammar": {...},
"factExtractorModel": null,
"taskId": 9,
"state": 0,
"started": "2019-10-24T09:56:39.6995186+04:00",
"finished": null
}
Где:
•grammar – секция с информацией о грамматике;
•factExtractorModel – информация о модели извлечения фактов;
•taskId – ИД задачи на обучение модели. По нему можно узнать статус обучения в запросе на получение информации о задаче на обучение модели извлечения фактов;
•state – состояние задачи. Возможные значения: 0 – новая задача, 1 – задача не завершена, 2 – задача завершена, 3 – произошла ошибка, 4 – обучение завершено, 5 – задача прекращена;
•started – дата и время начала обучения модели;
•finished – дата и время окончания обучения модели. Если обучение еще не завершено, параметр имеет значение null.
"grammar": { Содержит информацию о грамматике: •grammarId – ИД грамматики, для которой обучалась модель; •name – наименование грамматики, соответствующее виду документов; •description – описание грамматики; •grammarSetName – наименование грамматики для обращения к API Smart Service в других HTTP-запросах; •isSystem – признак того, что грамматика системная. Возможные значения: true – устанавливается для всех грамматик из поставки, false – устанавливается для грамматик, созданных пользователем; •state – статус грамматики. Возможные значения: 0 – активная (действующая), 1 – или неактивная (недействующая); •factExtractorModelId – ИД обученной модели извлечения фактов; •factExtractorModel – секция с информацией о созданной модели извлечения фактов. Подробнее описание параметров секции см. в разделе «Информационные запросы» в описании параметров одноименной секции ответа на запрос списка всех грамматик; •factExtractorModels – секция с информацией о моделях извлечения фактов, входящих в грамматику. Подробнее описание параметров секции см. в разделе «Информационные запросы» в описании параметров одноименной секции ответа на запрос списка всех грамматик. |
Синтаксис и параметры при обучении модели извлечения фактов такие же, как в аналогичном асинхронном запросе.
Ответ
Содержит информацию об обученной модели:
{
"factExtractorModelId": 67,
"classes": [...],
"created": "2019-10-24T09:43:41.1009583+04:00",
"metrics": {...},
"trainErrors": null
}
Где:
•factExtractorModelId – ИД обученной модели извлечения фактов;
•classes – секция с информацией о фактах, извлекаемых с помощью модели. Подробнее описание параметров секции см. в разделе «Информационные запросы» в описании параметров одноименной секции ответа на запрос списка всех грамматик;
•created – дата и время публикации модели извлечения фактов;
•metrics – секция с метриками модели извлечения фактов. Подробнее описание параметров секции см. в разделе «Информационные запросы» в описании параметров одноименной секции ответа на запрос списка всех грамматик;
•trainErrors – параметр с описанием ошибки. Если ошибки не возникали, указывается значение null.
© Компания Directum, 2024 |