Система Smart Engines учитывает все необходимые регуляторные требования в рамках ПОД/ФТ (115-ФЗ) и распознает широкий перечень документов юридических лиц и бенефициарных владельцев. Решение поддерживает регистрационные, учредительные, финансовые, бухгалтерские и отчетные документы, а также паспорта, ID-карты, виды на жительство, доверенности, свидетельства ЗАГС и другие персональные документы руководителей компании.
ИИ Smart Engines распознает любые использующиеся в KYB-процессе документы, включая уставы, протоколы, решения, приказы, счета, акты и другие формы корпоративной документации. Суммарно система поддерживает свыше 80 преднастроенных шаблонов и покрывает полный спектр документов, запрашиваемых в целях ПОД/ФТ по 115-ФЗ.
Алгоритмы ИИ автоматически определяют тип документа из более чем 80 преднастроенных шаблонов, извлекают и структурируют все необходимые данные, а также обеспечивают контроль полноты и целостности сведений, формируя полноценное KYB-досье. Это позволяет выстроить управляемый и прозрачный KYB-процесс без ручной обработки.
Благодаря специализированному дизайнеру форм с ИИ-агентом от Smart Engines система быстро адаптируется к новым типам документов как с печатным, так и с рукописным заполнением. Для добавления нового документа не требуются навыки программирования — достаточно загрузить всего один пример в любом удобном формате. ИИ-агент автоматически определяет структуру, описывает поля и таблицы, формируя готовый шаблон для распознавания.
Система распознает печатные, рукопечатные и рукописные реквизиты с точностью до 99,9%. Алгоритмы ИИ позволяют считывать практически любой почерк — от аккуратного до трудноразборчивого — а также текст, написанный ручкой, карандашом или пером. Для задач распознавания системе не требуются словари и языковые модели.
Программный продукт извлекает данные документов в полностью автоматическом режиме и контролирует целостность, цветность, наличие и корректность подписей, печатей и штампов. Это позволяет использовать решение как инструмент первичной антифрод-проверки в KYB-процессе, что существенно снижает операционные издержки при работе с контрагентами и корпоративными клиентами.
Технология Smart Engines поддерживает паспорта, ID-карты, виды на жительство, доверенности, свидетельства ЗАГС и другие персональные документы из 210 стран и юрисдикций. Программный продукт распознает документы на более чем 100 языках, включая арабский, китайский, грузинский, армянский, греческий, иврит, корейский и другие языки со сложными графическими системами.
Производительность системы достигает 50 страниц в секунду без использования GPU — это делает возможной потоковую обработку при массовом онбординге юридических лиц. Решение автоматически извлекает данные и передает их в учетные системы без участия человека, обеспечивая обработку больших объемов документов в реальном времени.
Решение работает как на серверах компании, так и на десктопах, смартфонах и планшетах пользователей — интеграция возможна в мобильные приложения или браузер. Все вычисления выполняются локально — без передачи данных во внешние сервисы. Система подходит для выездных и удаленных сценариев проверки и не требует стабильного интернет-соединения.
Программный продукт позволяет быстро и точно распознавать документы компаний, ИП и их бенефициарных владельцев в целях ПОД/ФТ (115-ФЗ). Система автоматически обрабатывает учредительные, регистрационные, финансовые, бухгалтерские и отчетные корпоративные документы. Для проверки владельцев, контролирующих и управляющих и иных физических лиц, связанных с компанией, в системе реализовано высокоточное распознавание и проверка подлинности паспортов, ID-карт, доверенностей, ВНЖ и других персональных документов 210 стран мира. Система автоматически классифицирует документы в составе KYB-досье, снижает операционные затраты на проверку контрагентов и поддерживает потоковую обработку для массового онбординга юридических лиц. В ПО реализовано высокоточное распознавание печатного текста, рукописи и рукопечатных записей. Поддерживается работа на серверах в контуре заказчика и мобильных устройствах без интернета для выездных и удаленных сценариев проверки.
DocEngine engine = DocEngine.Create(<PATH_TO_CONFIGURATION_FILE>, true);
DocSessionSettings settings = engine.CreateSessionSettings();
settings.SetCurrentMode("primary_accounting");
settings.AddEnabledDocumentTypes("*");
DocSession session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>);
DocProcessingSettings proc_settings = session.CreateProcessingSettings();
Image image = Image.FromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image, proc_settings);
DocResult result = session.GetCurrentResult();
Document document = result.DocumentsBegin().GetDocument();
for (DocTextFieldsIterator iterator = doc.TextFieldsBegin(); !iterator.Equals(doc.TextFieldsEnd()); iterator.Advance()) {
String name = iterator.GetField().GetBaseFieldInfo().GetName();
String value = iterator.GetField().GetOcrString().GetFirstString().GetCStr();
}
std::unique_ptr<se::doc::DocEngine> engine(se::doc::DocEngine::Create(<PATH_TO_CONFIGURATION_FILE>, true));
std::unique_ptr<se::doc::DocSessionSettings> settings(engine->CreateSessionSettings());
settings->SetCurrentMode("primary_accounting");
settings->AddEnabledDocumentTypes("*");
std::unique_ptr<se::doc::DocSession> session(engine->SpawnSession(*settings, <PERSONALIZED_SIGNATURE>));
std::unique_ptr<se::doc::DocProcessingSettings> proc_settings(session->CreateProcessingSettings());
std::unique_ptr<se::common::Image> image(se::common::Image::FromFile(<PATH_TO_IMAGE>));
session->ProcessImage(*image, proc_settings.get());
const se::doc::DocResult& result = session->GetCurrentResult();
const se::doc::Document& doc = result.DocumentsBegin().GetDocument();
for (auto iterator = doc.TextFieldsBegin(); iterator != doc.TextFieldsEnd(); ++iterator) {
std::string name = iterator.GetFieldPtr()->GetBaseFieldInfo().GetName();
std::string value = iterator.GetFieldPtr()->GetOcrString().GetFirstString().GetCStr();
}
DocEngine engine = DocEngine.Create(<PATH_TO_CONFIGURATION_FILE>, true);
DocSessionSettings settings = engine.CreateSessionSettings();
settings.SetCurrentMode("primary_accounting");
settings.AddEnabledDocumentTypes("*");
DocSession session = engine.SpawnSession(session_settings, <PERSONALIZED_SIGNATURE>);
DocProcessingSettings proc_settings = session.CreateProcessingSettings();
Image image = Image.FromFile(<PATH_TO_IMAGE>);
session.ProcessImage(image, proc_settings);
DocResult result = session.GetCurrentResult();
doc_it = recog_result.DocumentsBegin()
Document doc = recog_result.DocumentsBegin().GetDocument();
for (DocTextFieldsIterator iterator = doc.TextFieldsBegin(); !iterator.Equals(doc.TextFieldsEnd()); iterator.Advance()) {
String name = iterator.GetField().GetBaseFieldInfo().GetName();
String value = iterator.GetField().GetOcrString().GetFirstString().GetCStr());
}
engine = pydocengine.DocEngine.Create(<PATH_TO_CONFIGURATION_FILE>)
settings = engine.CreateSessionSettings()
settings.SetCurrentMode("primary_accounting")
settings.AddEnabledDocumentTypes("*")
session = engine.SpawnSession(settings, <PERSONALIZED_SIGNATURE>)
proc_settings = session.CreateProcessingSettings()
image = pydocengine.Image.FromFile(<PATH_TO_IMAGE>)
session.ProcessImage(image, proc_settings)
result = session.GetCurrentResult()
doc_it = recog_result.DocumentsBegin()
doc = recog_result.DocumentsBegin().GetDocument()
iterator = doc.TextFieldsBegin()
while(iterator != doc.TextFieldsEnd()):
name = iterator.GetField().GetBaseFieldInfo().GetName()
value = iterator.GetField().GetOcrString().GetFirstString().GetCStr()
iterator.Advance()
Автовыбор документов из списка, отсеивание ненужных документов
Уверенность распознавания, координаты объектов, вырезание полей и документов
Возврат зоны принятия решения для проверок подлинности