Распознавание документов

Распознавание документов

В данном разделе конструктор распознавания документов помогает без навыков разработчика создать и обучить нейронную сеть распознавать документы и подгружать их в карточку должника автоматически после распознавания.
Раздел состоит из следующих подразделов (Рис. 1):
1. Проекты
1.1. Создание задачи
2. Разметка документов
3. Обучение
4. История обучений

Рис. 1.

1. Проекты

В данном подразделе создаются и отображаются созданные проекты документов, которые размечаются и обучаются.

Рис. 2.

Для создания нового проекта необходимо нажать в левом верхнем углу кнопку «+». При нажатии появляется дополнительная кнопка «Создать новый проект». Нажимаем, появляется поле для ввода данных (Рис. 2):

Имя — задаем понятное название проекта на русском языке. Обязательное поле для заполнения;
Скопировать настройки из проекта — при нажатии на поле отображается список созданных проектов, при выборе подтянуться настройки и переменные другого проекта, которые можно использовать для создаваемого проекта;
Переменные – это список переменных, которые в последующем будут использоваться для разметки и извлечения данных из документа. Выбираем уже созданные переменные или создаем новые переменные нажимая на кнопку «Добавить переменную» (Рис. 3). При нажатии на кнопку «Добавить переменную» отобразится поле «Имя переменной», нажимаем на поле «Имя переменной» появится сплывающее окно со списком переменных, которые могут быть дополнены по запросу: (Рис. 2):
— Адрес – адрес объекта;
— Адрес регистрации должника;
— Дата – календарная дата;
— Дата выдачи паспорта;
— Дата выдачи сертификата – о рождении ребенка;
— Дата протокола – общего собрания собственников;
— Дата регистрации – на объекте недвижимости (прописка);
— Дата рождения;
— Долг — (переименовать на задолженность)
— ИНН;
— ИНН организации;
— КПП;
— Квартира – номер квартиры;
— Кем выдан паспорт;
— Кем выдан сертификат – о рождении ребенка;
— Лицевой счет \ Договор;
— Место рождения;
— Номер – номер в документе;
— Номер паспорта;
— Номер приказа;
— Номер приложения;
— Номер сертификата о рождении;
— ОГРН организации;
— Паспорт;
— Пени — переименовать на — сумма пени;
— Пошлина – переименовать на — сумма пошлины;
— РСП;
— СНИЛС;
— Сумма – переименовать на — сумма задолженности;
— Суммарный долг – переименовать — общая задолженность;
— Тип документа – паспорт, свидетельство о рождении, водительские права и т.п. документы;
— ФИО;
— ФИО пристава;
— ФИО руководителя;
— ФИО судьи;
— Юридический адрес;
— Адрес участка;
— Дата;
— Дата приложения;
— Наименование участка;

Рис. 3.

Правее расположена кнопки:

— Персональные данные – включение данной настройки необходима, если в распознаваемом документе есть множественное перечисление данных по должникам таких как ФИО, дата и место рождение, серия и номер паспорта, дата выдачи паспорта, дата выдачи сертификата о рождении, кем выдан паспорт, код подразделения, кем выдан сертификат о рождении, номер сертификата о рождении, ИНН, СНИЛС и других ПДн человека. При указании настройка «Персональные данные» нейронная сеть формирует массив данных по людям с перечислением данных по порядку.
Важно! В случае, если, настройку не включить для переменных документов, где идет перечисление ПДн людей, то нейронная сеть будет распознавать только данные одного человека. Пример документов — ВДК, ЕЖД, ФЛС, выписка из паспортного стола, договора и т.п. документы, в которых могут быть данные более одного человека.
— Тип переменной – данная настройка отвечает за выбор типа данных, который относится к переменной. Выбирая один из типов переменных, нейронная сеть обрабатывает распознанные данные с более высоким качеством. Список типов переменных будет описан с применением настройки «Персональные данные»:
— Строка – данный тип переменной распознает и извлекает данные как есть, без фильтра и дополнительной обработки. Применение настройки «Персональные данные» включается только при необходимости получения данных по разным людям, в случае их наличия в документе;
— ФИО – данный тип переменной дополнительно обрабатывает и осуществляет склонение ФИО человека в именительный падеж. Применение настройки «Персональные данные» для ФИО собирает список (массив) данных ФИО всех людей в документе. Включаем для документов, в которых идет перечисление данных по ФИО людей. Пример документов: ВДК, ЕЖД, ФЛС, выписка из паспортного стола, договора и т.п. документы, в которых могут быть данные более одного человека;
— Денежная единица – данный тип переменной дополнительно обрабатывает и осуществляет корректное извлечение данных по суммам. Применение настройки «Персональные данные» для денежной единицы включаем только тогда, когда необходимо закрепить сумму за разными людьми в документе, в случае их наличия в документе. Пример: 100 рублей 50 копеек конвертирует в 100.50;
— Дата – данный тип переменной дополнительно обрабатывает и осуществляет извлечение даты по стандарту (01.01.2023). Применение настройки «Персональные данные» для Даты собирает список (массив) данных дат всех людей в документе. Включаем для документов, в которых идет перечисление дат. Пример данных: дата рождения, дата выдачи паспорта, дата выдачи сертификата о рождении, дата подписания, заключения или расторжения договора, приложения. Пример: 01 июня 2021 года конвертирует в 01.06.2021;
— Число – данный тип переменной дополнительно обрабатывает и осуществляет фильтрацию и извлечение только чисел, если в разметке указаны другие данные. Пример, отображенный на рисунке №2 (6312, № \792531), в разметке есть лишние символы – запятая и номер (№), при выборе данного типа переменной извлечённые данные будет выглядеть так: 6312 792531.

Применение настройки «Персональные данные» для Числа собирает список (массив) данных чисел всех людей в документе. Включаем для документов, в которых идет перечисление чисел. Пример данных: серия и номер паспорта, код подразделения, дата номер сертификата о рождении, ИНН, СНИЛС и других ПДн;
Выбора цвета переменной «Изменить цвет переменной» (Рис. 2). Нажимаем появляется сплывающее окно «Выбор цвета» (Рис. 3), выбираем цвет переменной. Для подтверждения нажмите кнопку «Ок», для отмены кнопку «Отмена», для сброса параметров выбранного цвета нажмите кнопку «Сброс» (Рис. 3). Для удобства разметки документа рекомендуем каждой переменной задавать свой цвет, чтобы цвета переменных не были одинаковыми и на «глаз» можно было распознать, где какая переменная.
После выбора переменной, а также ее цвета, нажимаем кнопку «Продолжить» (Рис. 3).  переменная закрепляется за проектом, либо нажать кнопку «Отмена» для отмены действий с текущей переменной. Повторяем действие при добавлении новой переменной.
По окончанию добавления переменных в проект, нажимаем кнопку «Сохранить и открыть» (Рис. 3). и переходим в подраздел «Создание задачи».

Дополнительно:
В углу каждого проекта расположена кнопка «три точки» для удаления проекта (Рис. 4).

Рис. 4.

В левом верхнем углу расположено поле ввода для быстрого поиска проекта. Необходимо ввести имя проекта, нажать на кнопку «Лупа».

1.1. Создание задачи

Для разметки документов необходимо создать задачу и загрузить документы, которые будут размечаться. Для создание новой задачи необходимо нажать кнопку «+» (Рис. 5). При нажатии появляется дополнительная кнопка «Создать новую задачу» (Рис. 5.). Нажимаем, появляется поле для ввода данных:
— Имя — задаем понятное название задачи на русском языке (Рис. 5). Обязательное поле для заполнения;
Проект – название проекта, в котором создается задача (Рис. 5);
— Выберите файлы – нажимаем на окно загрузки файлов, выбираем директорию и выбираем файлы для загрузки (Рис. 3). Выбираем на компьютере или сервере файлы для загрузки, после загрузки нажимаем на кнопку «Сохранить и открыть» и ожидаем загрузки файлов на сервер. При загрузке документов, нейронная сеть определяет и переворачивает документ. После загрузки система переведет на окно подраздела «Разметки документов».

Рис. 5.

Примечание:
Формат загружаемых файлов только PDF. В случае, если файлы JPEG, JPG, PNG формата их можно конвертировать внешними онлайн сервисами в PDF формат.
Важно!!! Рекомендуем загружать до 200 документов в одну задачу, для удобной и быстрой разметки документов.

2. Разметка документов

2.1. Описание

В данном подразделе отображен список всех задач, созданных для разметки, по которым будет обучаться нейронная сеть.

Для создания и разметки новых задач необходимо нажать на кнопку «+» описанных в пункте 1.1.

Рекомендуем первый раз создать одну задачу, разметить переменные в документе и обучить проект, так как после обучения нейронная сеть автоматически может уже распознавать переменные в документе на основе ранее размеченных данных, тем самым сократив время на разметку. Важно понимать, что качество распознавания будет повышаться с увеличением количества обученных документов.
Для качественного распознавания и извлечения данных из документов необходимо более 5000 обучить документов.

В проекте присутствуют следующие данные: (Рис. 6):
— Наименование документа (при необходимости можно переименовать);
— Статус задачи:
— Ожидание – задача находится в работе и на проверке;
— Завершена – задача проверена и переведена в статус готовности.
— Кнопка «Открыть». При нажатии открывается задача.

Рис. 6.

Открываем задачу, где отображается подзадача со следующими колонками (Рис. 7):
— Наименование;
— Фрагмент – количество страниц в загруженных документах;— Этап:
— Распознавание;
— Проверка;
— Завершено.
— Статус – выполнения этапа по задаче;
— Дата начала;
— Длительность.

Рис. 7.

В правом верхнем углу задачи расположена кнопка:
— Распознание – кнопка ручного распознавания переменных, при нажатии на которую необходимо выбрать проект и после сопоставить данные переменных (Рис. 8).
Важно: Для автоматического распознавания переменных и появления проекта в поле выбора «Проект», необходимо провести первое обучение проекта.

Рис. 8.

По умолчанию после первого обучения, распознавание переменных происходит автоматически после загрузки документов (Рис. 9).

Рис. 9.

— «Действия 3 точки» — дает возможность переместить задачу в другой проект, а также удалить (Рис. 10).

— Переместить в проект состоит из (Рис. 11):
— Проект. Выбираем наименование проекта для переноса;
— Соответствие меток.

Рис. 11.

2.2. Разметка

Для разметки документов нажимаем на номер задачи и открывается окно разметки документов (Рис. 12). Распознанный документ будет содержать переменные, которые были добавлены в выбранный Проект.
Для качественного обучения нейронной сети, размечаем только тот текст, который необходим для распознавания и извлечения, без дублирования. К примеру, в документе есть номер судебного приказа, который указан в шапке документа и дальше по тексту в документе. Для качественного обучения размечаем номер судебного приказа только в шапке документа, чтобы в последующем нейронная сеть распознавала данные из места документа. Если этого не сделать и разметить в двух местах, при извлечении текста из переменной, нейронная сеть на выбор отдаст один из двух вариантов размеченных данных. При плохом качестве документа извлекаемый текст может быть извлечён с ошибками, чтобы этого избежать необходимо размечать переменную только в одном месте.


Рис. 12.

В левой части экрана доступны следующие функции для разметки документа (Рис. 13):

Рис. 13.

— Курсор – дает возможность перемещать переменные по документу и осуществлять навигацию по документу, зажав левую клавишу мыши. Для быстрого переключения на «Курсор», нажимаем на клавишу «Esc» (Рис. 14);

Рис. 14.

— Переместить изображение — дает возможность осуществлять навигацию по документу, зажав левую клавишу мыши (Рис. 15);

Рис. 15.

— Повернуть изображение — дает возможность перевернуть изображение в случае необходимости. По умолчанию изображение нейронная сеть при загрузке документов переворачивает документ (Рис. 16). При необходимости вручную можно изменить вид документа:
— Повернуть против часовой стрелки. Для использования быстрых клавиш нажимаем комбинацию клавиш «Ctrl + Shift + R»;
— Повернуть по часовой стрелке. Для использования быстрых клавиш нажимаем комбинацию клавиш «Ctrl + R»;

Рис. 16.

— Подогнать под размер окна – сбрасывает масштаб просмотра документа (Рис. 17). Для использования быстрых клавиш нажимаем комбинацию клавиш «Двойной клик»;

Рис. 17.

— Выбрать интересующую область – при нажатии на переменную в правом меню показывает выбранную переменную (Рис. 18). Удобно использовать, когда в документе очень много переменных и нужно проверить на наличие ошибок в переменной;

Рис. 18.

— Нарисовать новый Прямоугольник – дает возможность делать разметку, обводя необходимый текст (переменную) в документе. Для ручной разметки переменной необходимо выбрать из меню кнопку «Нарисовать новый Прямоугольник» и выбрать из списка «Переменная» необходимую переменную для разметки. Далее выбираем метод, по которому будет происходить разметка переменной:
— по 2 точкам (Рис. 19) – данный метод делает разметку по 2 точкам. Для этого необходимо поставить 1 точку с одной стороны текста и 1 точку с другой стороны, далее растянуть разметку вниз или вверх, в зависимости от того, где точки проставлялись;

Рис. 19.

— по 4 точкам (Рис. 20) — данный метод делает разметку по 4 точкам. Для этого необходимо поставить 2 точки с одной стороны сверху и снизу текста и 2 точки с другой стороны сверху и снизу;

Рис. 20.

После выбора настроек, описанных выше, нажимаем кнопку «Нарисовать», выбираем текст, необходимый для разметки и размечаем его и так размечаем все переменные необходимые в документе.
В правой части окна находится меню работы с переменными, которая состоит из следующих вкладок:
— Объекты — в данном разделе отображены все размеченные переменные в документе и текст распознанной переменной. (Рис. 21). В случае, если нейронная сеть распознала текст с ошибками, в поле «Текст» изменяем на корректный текст. Система автоматически проставит «галочку» в поле «исправлена ошибка»

Рис. 20.

Переменные:

В данном разделе будут отображены все переменные, использующиеся для выделения объектов в данном файле (Рис. 22).

Рис. 22.

Автоматически распознанные объекты иногда необходимо редактировать (Свободное пространство в выделении, захват части текста не относящегося к объекту).

Исходное выделение объекта (Рис. 23):

Рис. 23

Корректное выделение объекта (Рис. 24):

Рис. 24.

 

3. Обучение

В данном подразделе настраиваем и запускаем обучение размеченных документов. Для настройки формы «Обучения нейросети» необходимо выбрать следующее (Рис. 25):
— Выберите проект — в выпадающем списке выбираем проект, который необходимо отправить на обучение.
— Список задач – при выставлении в задаче статуса «Принятие» система автоматически добавит все задачи, в которых проставлен данный статус.
— Исходная модель для обучения – оставляем свой проект или в выпадающем списке выбираем готовую модель для обучения, если документ схожий с документами обученных проектов. Рекомендуем оставлять свой проект, так как под него и осуществлялась разметка документов;
— Имя новой модели – по умолчанию остается название выбранного для обучения проекта;
— Кол-во эпох при обучении – задается количество периодов обучения нейронной сети по документу. Минимальное: 100 эпох. Рекомендуем: 300 эпох.
— Обучить по размеченным данным – включаем при разметке документов;
— Обучить по исправленным ошибкам – включаем при исправлении ошибок после распознавания.

По окончанию настроек, необходимо нажать на кнопку «Запустить обучение» для запуска обучения или «Отмена» для закрытия окна.

Рис. 25.

4. История обучения

В данном подразделе отображена история обучения нейронной сети.

Рис. 26.

Подраздел состоит из следующих данных (Рис. 26):
— Идентификатор задачи – системное наименование задачи на обучении;
— Имя модели – наименование проекта;
— Кол-во эпох –количество периодов обучения нейронной сети по документу;
— Текущая эпоха – онлайн статистика периода обучения;
— Обучить по размеченным данным – отображается выбранный метод обучения;
— Обучить по исправленным ошибкам — отображается выбранный метод обучения;
— Количество исправлений разметки –количество размеченных и исправленных данных в документах, отправленных на обучение;
— Количество исправлений текста –количество исправленных ошибок в документах, отправленных на обучение;
— Список задач – номера задач обучающиеся;
— Состояние – онлайн статус обучения нейронной сети;
— Время обновления – последнее время обновления нейронной сети.