Skip to content

Latest commit

 

History

History
51 lines (39 loc) · 5.78 KB

README.md

File metadata and controls

51 lines (39 loc) · 5.78 KB

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 - полное название головной организации

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