Постобработка фактов
<< Click to Display Table of Contents >> Интеллектуальные возможности > Сервисы Directum Ario > Адаптация сервисов Ario под бизнес-задачи компании Постобработка фактов |
Сервисы Directum Fact Extractor Rules Service (DFES-R) и Directum Fact Extractor Learn Service (DFES L) извлекают значения из фактов в исходном виде, то есть так, как они написаны в тексте документа. Например, дата входящего документа извлекается в формате «01» января 2022, сумма по договору – прописью. Чтобы заполнить извлеченными фактами карточки документов в прикладной системе, факты проходят постобработку или в самой системе, или в сервисах Ario. Постобработка позволяет:
•приводить извлеченные значения к единому в системе формату заполнения полей. Например, все даты документов – к формату ДД.ММ.ГГГГ, а все суммы прописью – к числовому формату;
•исправлять некорректно распознанные значения фактов. Например, поле факта «000 ТехноСистемы» привести к виду «ООО ТехноСистемы», где организационно-правовая форма, извлеченная цифрами «000», приводится к верному буквенному виду – «ООО»;
•разделить одно поле факта на отдельные поля. Например, слитно написанные в документе «ИНН/КПП» разделить на отдельные «ИНН» и «КПП»;
•объединять значения нескольких фактов в один. Например, объединить извлеченные наименование, организационно-правовую форму, ИНН, КПП и ФИО подписанта в факт Контрагент, чтобы упростить ответ сервисов, который передается в прикладную систему.
Для постобработки с помощью сервисов Ario используются форматеры.
Форматеры
Форматеры выполняют постобработку каждого факта по отдельности или постобработку на уровне сразу всех фактов документа определенного типа. И используются, например, для удаления лишних символов, изменения регистра и форматирования значений, объединения нескольких фактов в один или удаления незначимых распознанных данных. Выделяются два основных типа форматеров: форматеры фактов и грамматические форматеры.
Fact formatters (форматеры фактов). Применяются ко всем фактам одного типа независимо от вида распознаваемого документа, например, ко всем датам, номерам или ИНН. Приводят извлеченные факты к принятому формату, что позволяет корректно обработать их и впоследствии заполнить соответствующие поля в карточке документа в прикладной системе. Подразделяются на два вида:
•strip-форматеры. Используются для очистки извлеченного факта от лишних символов по краям значения. Например, в дате документа «01 января 2022,» символ «,» не позволит корректно обработать извлеченный факт и привести его к виду «01.01.2022», поэтому strip форматер StripDateFormatter удаляет лишний символ;
•replace-форматеры. Используются для полной или частичной замены значения извлеченного факта, когда:
•факт распознан некорректно. Например, когда сокращение «ООО» распознано цифрами 0 вместо букв, то replace-форматер ReplaceCounterpartyLegalFormFormatter заменяет цифры на буквы;
•нужно очистить факт от лишних слов. Например, replace-форматер ReplaceCounterpartyAddressFormatter в извлеченном адресе контрагента «ул. Свободы, д. 13а (2), кабинет 302» удаляет лишнее слово «(2)»;
•лишние символы расположены не по краям извлеченного значения, из-за чего невозможно применить подходящий strip-форматер. Например, чтобы очистить извлеченное название организации «ТехноСистемы (АО)» от символов «()» нужно использовать replace форматер ReplaceCorrespondentNameFormatter.
Grammar formatters (грамматические форматеры). Используются после fact formatters. Применяются ко всем фактам документов одного типа, то есть на уровне конкретной грамматики. Нужны для реализации определенной логики обработки фактов в документах организации. Например, для удаления значений фактов, которые не должны попадать в карточку документа в прикладной системе, или для разделения полей фактов, написанных слитно или через /.
Для постобработки можно использовать готовые базовые форматеры из поставки. После установки сервисов они по умолчанию находятся в папке C:\inetpub\Ario\FactExtractorServices\formatters. Кроме того, можно разработать собственные форматеры. Например, для постобработки фактов нового вида документа или для постобработки фактов, не входящих в базовый набор. Логика работы форматеров фиксируется в файлах с расширением *.ру, написанных на языке программирования Python.
Подключение базовых форматеров фактов
В конфигурационном файле formatters.json, который по умолчанию находится в папке с сервисом DFES-B C:\inetpub\Ario\FactExtractorService\formatters.json уже настроено использование форматеров фактов, входящих в поставку. Дополнительных действий для их подключения не требуется.
ВАЖНО. Для корректной постобработки не меняйте порядок следования базовых форматеров.
Пример подключенных форматеров для факта Document:
[
{
"type": "fact",
"formatters": [
{
"Document": [
"StripDocumentFormatter",
"StripDateFormatter",
"StripOtherDateFormatter",
"DocumentDateFormatter",
"StripFinancialDocumentNumberFormatter",
"ReplaceDocumentNumberFormatter",
"StripWhiteSpaceFormatter"
]
},
...
]
}
...
]
В примере Document – наименование факта, к которому в порядке перечисления применяются указанные форматеры.
Подключение базовых грамматических форматеров
В конфигурационном файле formatters.json, который по умолчанию находится в папке с сервисом DFES-B в подпапке с конкретной грамматикой C:\inetpub\Ario\FactExtractorService\grammar\<Название грамматики>\formatters.json уже настроено использование грамматических форматеров, входящих в поставку. Дополнительных действий для их подключения не требуется.
Пример файла, содержащего список подключенных грамматических форматеров для грамматики Letter:
[
"DocumentNumberGrammarFormatter",
"LetterCorrespondentGrammarFormatter",
"LetterCounterpartyGrammarFormatter",
"CounterpartyTinTrrcSplitGrammarFormatter",
"CounterpartyTinValidationGrammarFormatter",
"CounterpartyRemoveDuplicatesByTinGrammarFormatter",
"LetterAddresseeGrammarFormatter",
"DocumentDateRangeGrammarFormatter",
"LetterSubjectGrammarFormatter",
"LetterConfidentialGrammarFormatter",
"DeleteNullFactsGrammarFormatter"
]
© Компания Directum, 2024 |