Предметом разработки являются четыре модуля:
- Web панель настройки загрузчика
- Загрузчик объявлений с https://e-disclosure.ru/ (с использованием официального API).
- Web панель настройки модуля извлечения именованных сущностей (NER).
- Модуль извлечения именованных сущностей (NER).
Данное описание описывает концепцию и основные функциональные блоки.
Посмотреть диаграмму на отдельной вкладкеWeb панель настройки загрузчика
Основные требования:
- Настройки подключения (идентификаторы, ключи и т.п.)
- Интерфейс настройки компаний, публикации которых подлежат загрузки.
- Интерфейс мониторинга активности
- Последнее время загрузки.
- Кол-во полученный сообщений за выбранный период
Загрузчик объявлений
Основные требования:
- Непрерывная работа
- Учёт параметров загрузки публикаций без перезагрузки (периодическая проверка конфигурации и учёт изменений в ней)
- Минимизация времени задержки получения публикаций
- Передача полученных сообщений в очередь (предположительно в Apache Kafka)
Web панель настройки модуля извлечения именованных сущностей (NER)
- Ввод и редактирование правил извлечения.
- Интерфейс песочницы для тестирования правил. Интерфейс предлагает поле для ввода текста, выбора набора правил и вывод результата их применения.
Извлечение именованных сущностей (NER)
Требуется разработать алгоритм или модель для извлечения сумм и дат. Задача состоит в создании программного решения, которое автоматически сканирует входные тексты и извлекает значения, удовлетворяющие правилам.
Основные требования и задачи:
- Собрать и подготовить тренировочный набор данных, содержащий разнообразные примеры публикаций с известными значениями наименования компании, дат и сумм.
- Разработать алгоритм или модель, используя регулярные выражения, подходы машинного обучения или обработки естественного языка, которая сможет извлечь искомые значения из текстов публикаций с минимизацией времени исполнения и максимизации качества извлечения.
- Протестировать разработанное решение на тренировочном наборе данных и оценить его точность и эффективность.
- Написать инструкцию по развёртыванию в нужном окружении.
- Предоставить документацию с описанием алгоритма, модели или программного решения, а также инструкции по его использованию.
Общие требования к модулям
- Логирование существенно значимых операций.
- Отправки данных об исключений в Sentry.
- .NET Core (C#) или Python.
- Инструкции по развёртыванию и обновлению.