December 22, 2022

Задача №8 Сервис формирования задач для москвичей по контролю работ подрядчиков в сфере городского благоустройства

Актуальность:

Мониторинг хода выполнения работ по благоустройству отнимает у контрольных органов массу времени на аналитику закупочной документации. Описание работ по благоустройству в сметах излишне детализировано и замедляет процесс подготовки к обследованиям.

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

Описание:

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

Суть проекта:

Платформа «Живой город» решает проблемы оптимизации работы со сметами, проверки правильности заполненной сметы, проверку стоимости работ в смете, категоризацию разделов в смете, что делает наш продукт уникальным а рынке удобной работы со сметами и оптимизации расчётов, который не имеет аналогов. С платформой «Живой город», составление сметы будет занимать в два раза меньше времени, благодаря простоте платформы

Описание алгоритма получения результата:

Получив загруженный пользователем файл(ы) сметы, парсер первым делом проверяет формат сметы, выделяется шапка сметы из нее выделяются названия и положение колонок. После этого колонки проверяются на соответствие СН или ТСН структур. Далее определяются границы разделов, подразделов, и каждой отдельной записи. После этого каждая отдельная позиция преобразовывается в словарь в соответствии с именами колонок. Все словари складываются по разделам и подразделам. После этого обрабатывается итоговая сумма сметы и выделяются сущности из текста над шапкой. Алгоритм адаптивен и подстраивается под извлечение необходимых полей и их групп, формируя структуру обработанной сметы.

Сложности при обработке данных:

  • Мультистраничные файлы XLSX (определение наличия сметы на странице)
  • Шапка как и другие объекты сметы не имеют точного расположения
  • Присутствие объединенных колонок в таблице
  • Наличие формул с ссылками на ячейки из других вкладок
  • Разнородное название для вкладок с ведомостями в сметах
  • Отсутствие вкладок для расчета стоимости ресурсов в некоторых сметах
  • Множество единиц измерений
  • Наличие позиций с дробным номером (необходимо объединить к родительской позиции)
  • В некоторых листах смет присутствуют несколько локальных смет

Возможности сервиса:

  • Использование микросервисной архитектуры
  • Подготовлен API для последующего внедрения ЕАИСТ
  • Использование доп. классификаторов
  • Выделения адреса и сопостовление с ФИАС
  • Использование языковых и статистических моделей для вывления ключевых позиций
  • Многопоточная, быстрая обработка смет
  • Устойчивость к изменениям формата сметы

Описание алгоритма получения результата:

Получив загруженный пользователем файл(ы) сметы, парсер первым делом проверяет формат сметы, выделяется шапка сметы из нее выделяются названия и положение колонок. После этого колонки проверяются на соответствие СН или ТСН структур. Далее определяются границы разделов, подразделов, и каждой отдельной записи. После этого каждая отдельная позиция преобразовывается в словарь в соответствии с именами колонок. Все словари складываются по разделам и подразделам. После этого обрабатывается итоговая сумма сметы и выделяются сущности из текста над шапкой. Алгоритм подстраивается под извлечение необходимых полей и их групп, формируя структуру обработанной сметы.

1 место - Good Genius

Решение:

Платформа "Живой город" позволяет оптимизировать работы со сметами по благоустройству, а также в короткие сроки подготовить данные для взаимодействия с ЕАИСТ. При работе со сметами используется информация из дополнительных классификаторов и справочников (ФИАС, ОКЕИ и т. д.). Платформа проверяет правильность заполненной сметы, стоимости работ в смете и сопоставляет ключевые позиции с позициями справочника предметов госзаказа. Ключевая особенность сервиса – использование вероятностных алгоритмов, использующих возможности библиотеки FastText, расстояние Левенштейна и, как поправочный коэффициент, стоимость позиции.

https://github.com/progressionnetwork/livecity

Стек используемых технологий и библиотек:

  • Python/Pandas/regex
  • Levenshtein/TfidfVectorizer/NLTK
  • FastText/Pymorphy
  • Sbercloud IaaS/PaaS Infrastructure
  • Docker
  • React js
  • Django/python
  • Nginx
  • Postgresql
  • Rabbitmq

Тут мы, Good Genius, бежим за призом =)

https://vc.ru/dev/545938-kak-my-proveli-final-samogo-masshtabnogo-hakatona-rossii-v-2022-godu

https://www.ntv.ru/novosti/2733899/