Giter VIP home page Giter VIP logo

infoculture / blindprocurement Goto Github PK

View Code? Open in Web Editor NEW
6.0 3.0 3.0 101.3 MB

Blind Procurement. Code to find corrupted procurement in Russia. Слепые закупки. Код алгоритмов выявления искажения анонсов госзакупок так чтобы их не могли находить "чужие" поставщики

Home Page: http://clearspending.ru

License: MIT License

Python 100.00%
spending opengov opengovernment russian procurement

blindprocurement's Introduction

blindprocurement

Слепые закупки. Код алгоритмов выявления искажения анонсов госзакупок так чтобы их не могли находить "чужие" поставщики Этот код и данные датированы февралём-мартом 2013 года и являются результатом анализа миллионов извещений о закупках на портале zakupki.gov.ru. Все ссылки актуальны на начало 2013 года. Часть наработок использовалась в проекте Госзатраты http://clearspending.ru для анализа качества контрактных данных.

Презентация с результатами: https://github.com/infoculture/blindprocurement/blob/master/docs/opendata_blindprocurement.pdf Результаты исследования НАИЗ, НИУ ВШЭ и НП "Инфокультура" http://naiz.org/upload/iblock/faa/faac377dabf5757d79a599715b888f81.pdf

Искажения текстов определялись по 4-м основным направлениям:

  • латиница
  • опечатки
  • пробелы между буквами
  • "мусорные названия"

Латиница - это способ сокрытия информации через подмену символов кириллического алфавита на аналогичные по написанию символы латиницы. В результате для человека это написание незаметно, но система поиска перестаёт находить ключевые слова.

Опечатки - опечатки в значимых словах, например, написать, "моолко" вместо "молоко" или "машына" вместо "машина" приводит к том что поисковая система не понимает текст который она индексировала и поиск по ключевому слову без опечаток не выведет результаты

Пробелы между буквами - трюк с заменой слов на слова с пробелами между буквами. Вместо текста "молоко" появляется текст "м о л о к о" где каждая буква выглядит как отдельное слово.

Мусорные названия - трюк с записью название предмета контракта в форме без ключевых слов. Например, это может звучать как "поставка товара" или "Проведение аукциона в электронной форме для нужд больницы N17". При этом невозможно понять из текста что за товар, работа или услуга закупается.

Описание исходного кода

Большая часть кода слабодокументирована, весь основной код в файле https://github.com/infoculture/blindprocurement/blob/master/process_pur.py

с примерами определения каждого из правил искажений текстов.

Основные результаты анализа

В файле https://github.com/infoculture/blindprocurement/blob/master/export/final.xlsx приведены результаты анализа анонсов закупок:

  • weight - вес (значимость) искажений текстов
  • rules - признаки видов искажений текстове, перечислены через запятую. Могут быть: JU (junk) - мусорный текст, без ключевых слов, LT (latin) - текст содержащий латиницу внутри кириллических слов, MS (misspell) - ошибки и опечатки, SP (space) - наличие слов с пробелами между буквами
  • id - идентификатор закупки
  • url - ссылка
  • placement_type - тип процедуры размещения заказа
  • customer_regnum - регистрационный номер госзаказчика
  • customer_name - название организации госзаказчика
  • placer_regnum - регистрационный номер организации разместившей анонс закупки
  • placer_name - название организации разместившей анонс закупки
  • pubdate - дата публикации
  • okdp_codes - коды ОКДП
  • max_price - максимальная цена
  • text - текст предмета закупки
  • okogu_name - расшифровка кода ОКОГУ организации (принадлежность организации в системе госуправления)
  • subordinationType_description - уровень организации (федеральный, региональный, муниципальный)
  • factualAddress_region_fullName - точный адрес местонахождения организации
  • headAgency_fullName - полное название головной организации

Дополнительные результаты

blindprocurement's People

Contributors

ivbeg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dagron itshkinkot

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.