Система автоматизирует обработку документов соискателей и освобождает HR-специалистов и отделы кадров от трудоемкого ручного ввода данных. За счет этого бизнес может в 10-15 раз снизить затраты на работу с документами и масштабировать найм без увеличения нагрузки на сотрудников. Алгоритмы ИИ мгновенно и точно извлекают данные соискателей, исключая ошибки человеческого фактора.
ИИ Smart Engines обучен одновременно обрабатывать сразу несколько документов на одном изображении. Алгоритмы автоматически находят границы каждого из документов, определяют их типы и точно извлекают все данные. При работе с многостраничными формами система самостоятельно соотносит распознанные поля. Это позволяет обрабатывать целые комплекты документов за одно действие, не обрезая фотографии и не снимая каждый документ по отдельности.
Решение автоматически классифицирует кадровые документы и проверяет комплектность пакета. Система отметит, если соискатель не приложил паспорт, СНИЛС, ИНН, трудовую книжку, приписное свидетельство, диплом или любые другие необходимые для трудоустройства документы.
ИИ Smart Engines легко встраивается в кадровые платформы и системы КДО через REST API и другие стандартные интерфейсы. Извлеченные данные автоматически передаются в HR-, ERP- и учетные системы, благодаря чему решение бесшовно интегрируется в существующие бизнес-процессы.
Система поддерживает распознавание документов, подтверждающих квалификацию и образование (трудовые книжки, дипломы, сертификаты), аттестацию (протоколы, выписки, свидетельства) и допуск к работе (удостоверения, приказы, медицинские книжки).
Решение обеспечивает потоковое распознавание кадровых документов непосредственно на конечном устройстве пользователя — данные не отправляются на обработку во внешние сервисы и остаются внутри контура заказчика (on-premise). Документы автоматически классифицируются, а извлеченные данные передаются в учетные системы сразу по мере поступления. Производительность решения достигает 50 страниц в секунду без использования GPU, что позволяет справляться с большим потоком документов при массовом найме.
Программный продукт распознает и проверяет полный комплект документов мигрантов из 210 стран и юрисдикций, включая паспорта иностранных граждан, виды на жительство, разрешения на временное проживание (РВП), патенты на работу, разрешения на работу, миграционные карты и регистрации по месту пребывания. Преднастроенные шаблоны более чем 5 тысяч типов документов позволяют системе «знать», где расположено каждое из полей, и справляться с задачей ввода данных намного быстрее и эффективнее, чем человек.
Решение распознает как печатные, так и рукописные реквизиты в кадровых документах с точностью до 99,9%. Алгоритмы ИИ корректно обрабатывают практически любой почерк — от аккуратного до трудноразборчивого — а также текст, написанный ручкой, карандашом или пером. По каждому распознанному символу система предоставляет численную метрику уверенности в результате.
Проверка кадровых документов на подлинность осуществляется с помощью специальной мультимодальной модели ИИ «Шерлок 2о». Модель способна одновременно работать с изображениями документов из оптического, ультрафиолетового и инфракрасного спектров, видеопоследовательностями, текстовыми полями, данными бесконтактного NFC-чипа, штрихкодами, метаданными и сигнатурами. В общей сложности система осуществляет свыше 600 антифрод-проверок и обнаруживает любые подделки, включая документы с переклеенными фотографиями, муляжи и дипфейки.
Smart Document Engine автоматизирует распознавание кадровых документов при приеме на работу. Сокращает издержки на ввод в 10–15 раз за счет автоматической классификации и проверки комплектности.
Поддерживает распознавание нескольких документов на одном изображении и рукописных данных. Обрабатывает документы мигрантов из 210 стран и документы, подтверждающие квалификацию. Интегрируется через REST API с системами КДО. Работает on-premise со скоростью до 50 страниц в секунду без GPU. Поддерживает более 100 языков, распознает паспорта СНГ, документы РФ, сканы, фото и выгрузки с Госуслуг. Включает антифрод «Шерлок 2о».
DocEngine engine = DocEngine.Create(<PATH_TO_CONFIGURATION_FILE>, true);
DocSessionSettings settings = engine.CreateSessionSettings();
settings.SetCurrentMode("hiring");
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("hiring");
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("hiring");
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("hiring")
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()
Автовыбор документов из списка, отсеивание ненужных документов
Уверенность распознавания, координаты объектов, вырезание полей и документов
Возврат зоны принятия решения для проверок подлинности