Skip to content

Проект в рамках ВКР под названием "Разработка программного модуля для анализа документов, подтверждающих индивидуальные достижения"

License

Notifications You must be signed in to change notification settings

koshkidadanet/lilt-finetuning-piad-ya-ocr

Repository files navigation

LiLT on Parsing Individual Ahievement Documents data

Цель проекта

Цель проекта - разработка программного модуля для анализа документов, подтверждающих индивидуальные достижения, который позволит автоматически извлекать важную информацию из отсканированных документов и формировать из нее таблицу.

Следующая информация из документов такого типа позволит подтвердить валидность документа, его принадлежность автору, а также позволит оценить значимость документа:

  • Дата получения
  • ФИО владельца
  • Тип документа
  • Причина получения
  • Место, которое занял владелец

Задачи

При разработке проекта были сформулированы следующие задачи:

  • Сбор датасета. В открытых источниках нет датасета с размеченными документами, подтверждающими индивидуальные достижения, поэтому принято решение собрать и разметить его самостоятельно.
  • Дообучение модели LiLT. В рамках исследования выбрана модель nielsr/lilt-xlm-roberta-base на основе токенизатора модели FacebookAI/xlm-roberta-base. Выбор данного стека позволяет использовать проект в коммерческих целях, так как модели распространяются под лицензией MIT.
  • Построение инференса модели, внедрение OCR. В качестве алгоритма OCR выбран Yandex Vision OCR.

Датасет

Датасет PIAD (Parsing Individual Ahievement Documents) включает в себя 215 отсканированных документов. Данный набор состоит из личных документов автора, документов, которыми поделились друзья и коллеги, и документов, найденных в открытых источниках. Разметка проводилась с помощью удобного инструмента ubiAI

Note

PIAD не выложен в открытый доступ, так как некоторые элементы содержат персональные данные.

Дообучение LiLT

Перед дообучением модели требуется привести датасет в формат, подходящий для обучения из формата, получаемого с ubiAI. За предобработку данных отвечает скрипт preprocessing_data.ipynb.

Скрипт finetuning_lilt_model_kgl.ipynb отвечает за дообучение модели на платформе Kaggle.

  • F1-score для всех сущностей - 0.877
  • F1-score для сущностей без Причина получения - 0.927

Инференс

Скрипт inference_kgl.ipynb отвечает за инференс алгоритма на платформе Kaggle с использованием Yandex Vision OCR. В данном скрипте можно увидеть пример работы алгоиртма на нескольких документах из валидационной выборки и итоговую таблицу в виде pd.DataFrame.

Пример разметки документа

About

Проект в рамках ВКР под названием "Разработка программного модуля для анализа документов, подтверждающих индивидуальные достижения"

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published