Неочевидное использование открытых данных

в 21:32, , рубрики: открытое государство, открытые данные, электронное правительство, метки: ,

Я думал стоит ли писать этот пост или нет, потом решил что всё таки стоит —

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

Например, довольно давно еще я сделал алгоритм автоматического разбора ФИО в любом написании, определения пола и, возможно, этноса. Это не самая сложная задача, я привожу её не как нечто выдающееся, а как нечто рутинное и типовое. Однако решение этой, довольно типовой задачи, Вопрос в том как решать это нечто типовое.

И вот тут то и пригодились открытые данные.

Однако начну с начала.

1. Топливо для алгоритма

Вот мы практически все знаем что данные с сайта госзакупок доступны всем — их можно выкачать в огромном объеме с FTP сервера, разобрать и использовать в разных полезных целях и задачах. Много проектов появилось с тех пор как эти данные чиновники стали публиковать. Да и я сам использовал их довольно давно — для анализа госзакупок, автоматического выявления нарушений, анализа рынков — да много задач!

И вот, какое-то время назад, у меня возникло желание сделать возможность для гендерного анализа по любой выборке данных. К примеру, анализируем список депутатов — и очень хочется проставлять им пол не вручную по списку, а напустить робота и получить список с пометками. А по списку потом можно визуализировать — сколько мужчин, сколько женщин, уровень активности по полу, уровень доходов и так далее.

Отчасти задача решается всякими списками наиболее популярных имен, хорошо решается через отчество и так далее. Такой подход хорошо работает когда входной поток ФИО хорошо структурирован, а вот когда они пишутся самым разным образом от «Иван Петров» до «Петров И.А.» и еще с десяток вариантов, вот тогда оказывается что совсем простых и лобовых способов решения недостаточно. Поэтому я задумался о том что нужна эталонная база имен, отчеств и фамилий, а также распознавание структуры поступившего потока ФИО.

Для того чтобы сделать такие справочники нужна структурированная база ФИО которую можно было бы использовать для этой цели.

Вопрос — как найти оптимальное решение?

Решение было неподалеку. ФИО персон есть во многих больших массивах открытых данных что открывают органы власти. В частности ФИО в виде контактных персон, ответственных персон и так далее есть в анонсах закупок, протоколах закупок и описаниях контрактов. А также в контактной информации карточек организаций!

Да, там многие дублируютcя, не миллионы персон, а только сотни тысяч, но данные структурированны и осталось только правильно расклассифицировать эту выборку изначально, разобрать на справочники и потом уже их использовать для распознавания имен, отчеств и фамилий. Что и позволяет понять и структуру попадающего в алгоритм описания ФИО и точно определить пол.

Сейчас это алгоритм использует справочник в 26 тысяч имен, 40 тысяч отчеств и около 300 тысяч фамилий. С его помощью мы, например, улучшали базу участковых и сейчас у нас есть база с пометками пола (там где его удалось определить) и там же есть анализ гендерной структуры участковых. Вот тут это всё — http://data.openpolice.ru/dataset/mvd-uchast

Я, конечно же, не хочу сказать что нет других источников и баз с ФИО, однако тех чтобы были практически подготовлены к быстрому использованию немного.

2. Реконструкция справочников

Есть такая особенность для многие открытых и не очень государственных данных в том что они публиковаться-публикуются, а вот описание их найти сложно и еще сложнее найти справочники которые внутри их используются. Чаще всего это происходило не со зла (со зла просто стараются данные не публиковать вовсе), а от непонимания потребностей потенциальных пользователей данных.

Приведу несколько примеров.

Бюджетные справочники

Минфин России регулярно публикует данные о государственном бюджете и его исполнении. Это большие простыни в формате Excel файлов на их сайте — вот тут в разделе "Бюджетная роспись".

В файлах много самых разных строк и их особенность в том что в каждой из них множество справочников упоминаются. Ряд строк верхнего уровеня определяют Главных распорядителей бюджетных средств (ГРБСов), другие — ФКР (функциональная классификация расходов), ЦСР (Целевые статьи расходов), КВР (код видов расходов) и многие другие.

Как получить эти справочники? Некоторые из них доступны в виде открытых данных их разных государственных систем, но найти актуализированные не всегда получается. Поэтому самым действенным способом получается реконструировать справочники из самого массива данных. Учитывая что описание бюджета устроено так что строки в нем являются именно названиями строк справочников в зависимости от детализации — эти справочники восстанавливаются довольно таки быстро.

Зачем вообще это нужно? Во-первых эти справочники нужны для визуализации непосредственно бюджета. Во-вторых они упоминаются без расшифровки во многих других системах раскрытия информации, например, в старых данных реестров контрактов. Эти данные сложно анализировать когда не знаешь справочников на которые ссылаются записи в реестре.

3. Геопривязка

Предположим у нас есть список организаций с телефонами и желание понять к каким городам и регионам они относятся. Задача более чем частая и нужная для множества задач. Как это сделать? Самый действенный способ — это наличие справочника телефонов городов и по префиксам этих справочников определить город. Такие справочники есть на нескольких сайтах, например, на сайте Ростелекома или на сайте Россвязи в разделе ABC нумерации.

Одна лишь проблема — там города и регионы, но не детальнее и безо всяких классификационных кодов типа ОКАТО или КЛАДР. И справочники надо приводить к ОКАТО чтобы добиваться точности. Но есть и другой способ. Среди данных уже упоминавшегося мной сайта госзакупок и в данных сайта госучреждений (bus.gov.ru) есть множество карточек организаций. Эти данные содержат — как коды геопривязки (КЛАДР и ОКАТО), так и телефоны. Отсюда и решение. Вначале на этих базах формируется справочник которые позволяет сопоставлять префиксы телефонных номеров и геопривязку, а потом уже достаточно только телефона организации чтобы определить её вероятное местоположение.

4. Пустые данные

Когда в 2011 году Всемирный банк проводил конкурс Apps4Development одним из поданных туда проектов был проект Blind Data («слепые данные») — его суть была в том чтобы найти дыры, пустоты, пропуски данных в том что публиковал Всемирный банк. Сейчас этот проект недоступен кроме как на сайте их конкурса, но когда он был там было видно отсутствие данных по многим ключевым вопросам из большого числа стран.

Другой пример — проект ClearSpending созданный в Sunlight Foundation. Их специалисты проанализировали строки бюджета и данные о расходах по базе госконтрактов и выявили «пустые пространства» — отсутствие отчетности по огромным объемам средств. А то есть даже не случаи коррупции, а случаи когда нет никакой публичной информации о том что же и как закупалось.

Эти примеры лишь два из многих. Есть множество других которые используются для гражданского контроля. Когда публикация данных используется для того чтобы найти то о чем данных не публикуется и не публиковалось ранее. Данные можно сопоставлять, сравнивать и выявлять вопиющие необычные случаи. Надо всего лишь переключиться с того что есть, на поиск того чего нет.

5. И многое другое

Перечисленным выше всё не исчерпывается. Открытые данные как пример наиболее доступных данных применимы, и для разработки алгоритмов, и для других задач. И подобное их применение нельзя сбрасывать со счетов, особенно если в будущем будут доступны и другие интересные массивы данных.
Например:

  • базы GPS треков движения общественного транспорта для расчета время прибытия на остановки де-факто, а не по расписанию;
  • базы снимков веб-камер для автоматического определения анти-социального поведения или подсчета числа людей в толпе;
  • динамика заполненности парковок по дням и по времени суток — для предварительного планирования маршрута;
  • базы адресов для проверки алгоритмов их разбора.

и многое другое.

Всё что я хотел сказать этим постом — это то что результатом использования открытых данных могут быть не только сайты и мобильные приложения. Результатом могут быть алгоритмы и их совершенствование. А также применение данных для далеко не очевидных задач.

Автор: ibegtin

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js