- Состав команды
- Описание работы программы
- Описание файлов репозитория
- Способы улучшения программы
- Завидов Егор Николаевич
- Кораблев Денис Андреевич
- Панфилов Павел Андреевич
- Петров Григорий Евгеньевич
- Ввиду ограничений по времени и железу, было выбрано отказаться от использования LLM и свести задачу к тривиальной.
- Среднее время работы программы для 150 страниц: 2 минуты на CPU
- Рекомендуемое оборудование: NVIDIA карты с поддержкой CUDA ядер (2 GB) для более быстрой обработки. Скорость обработки с помощью модели можно увеличить до 10 раз.
- Оцифровка: Начальный этап включает оцифровку документов.
- Извлечение текста: Извлечение текста в *.txt файл, содержащий оцифрованные строки.
- Обработка текста: Обработка строк с помощью дообученной модели ruBERTa. Датасет для этой модели был собран и размечен вручную.
- Дополнительные шаги: Дополнительные шаги обработки по мере необходимости.
- Запуск программы: необходимо запустить app.py и открыть html форму.
- app.py: Реализует API составляющую проекта.
- bert.py: Обрабатывает *.txt файл с помощью LM модели.
- bert_fine_tuning_for_cls.ipynb: Содержит процесс обучения и обработки датасета.
- bert_context_tuning.ipynb: Попытки научить контексту оказались хуже, чем классика.
- pdfoutline.py, project.py: Отвечают за оцифровку и разметку PDF файлов.
- upload_form.html: Содержит форму для отправки PDF на обработку.
- Проверка на правописание: Добавление функции проверки на правописание. Текущие open-source spell-checker'ы не удовлетворили наши ожидания, поэтому можно дообучить небольшую модель.
- Оцифровка документов: Улучшение процесса оцифровки. Текущий метод имеет небольшие недочеты.
- Управление заголовками: Добавление или удаление цифр в заголовках и создание иерархии.
Для удобства проверки решения написан бот, располагающийся в телеграме по адресу @GrogFishingBot. Телеграм накладывает ограничение на размер скачиваемых ботом файлов, поэтому маскимальный объём проверяемого документа составляет 20мб. Файлы большего размера можно проверить с помощью кода, представленного в репозитории.