Результаты обсуждений идеи

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

Во первых пошли обсуждений сразу в нескольких местах: здесь — http://ivan.begtin.name/2010/08/24/opendataidea/ , здесь — http://ivbeg.livejournal.com/313161.html и здесь http://groups.google.com/group/opengovdataru/browse_thread/thread/5ef181f1c9e19c72 и тут http://ff.im/pE9Ww. Что мне особенно нравится обсуждение идёт конструктивное — за что спасибо всем участникам.

Во вторых, стоило мне объявить о том что я собираюсь такой конкурс сделать, даже до его объявления мне уже прислали несколько скриптов и массивов данных преобразованных массивов.  Я собрал их все на странице Wiki под названием «Как помочь проекту«. Отдельное спасибо Артемию Трегубенко (arty.name) и Сергею Кожину (http://github.com/skojin) за эти скрипты. А Алекс Капранов взялся за реестр недобросовестных поставщиков. Во всех случаях если не указано иное авторами, я буду размещать такие скрипты и данные под лицензиями PDDL (Public Domain Data License) и Creative Commons Attribution 3.0 Unported License. Да, никто из авторов не спросил денег за работу, но если всё таки  сочтёте что она денег стоит — пишите сразу мне.

В третьих не единожды мне уже написали о том что надо мотивировать не деньгами, а общественным благом. То есть надо описывать ту пользу которую мы создаём преобразуя эти данные. Тут есть не проблема, но вопрос понимания. Сложно доказать прямую пользу от открытых данных поскольку польза не прямая, а на основе производных от них проектов — таких как OpenCongress.org, да и РосГосЗатраты весь и целиком основан на открытых данных как и другие проекты. Создавая открытые данные мы меняем реальность поскольку далее на их основе может быть создано нечто новое, интересное и полезное и далеко не всегда можно предсказать что именно.

В четвёртых я услышал гениальное предложение что надо предлагать компаниям нанимающим программистов предлагать написание парсеров в качестве тестового задания. Если Вы ищите программистов и даёте им тестовые задания, обращайтесь ко мне — я Вам предоставлю список никем пока ещё не преобразованных данных для которых парсеры нужны. Если потом ещё и результаты будут в открытом доступе под Creative Commons — так вообще прекрасно. Точно также, если Вы обучаете студентов, даёте им тестовые задания — я готов, по мере возможностей, помочь с тем какими эти задания могли бы быть. По написанию парсеров, очистке данных, их преобразованию и так далее. Здесь все задачи живые, результаты будут общедоступные, общественное благо будет несомненным.

В пятых, я отвечу на ряд возникших вопросов.

1. Почему только скриптовые языки?

Потому как в большинстве случаев с ними проще управляться, легче использовать в веб-проектах и так далее. Я лично ничего не имею против различных вендоро-специфичных платформ/языков вроде .NET и Java, но не вижу смысла без поддержки самих вендоров на этих платформах.

2. Откуда требования к выходным форматам?

На основе мирового опыта, удобства для пользователей и так далее. Например, данные в CSV сравнительно просто загрузить в MS Excel, OpenOffice или, даже, в GridWorks. XML данные также легко преобразуются и есть много инструментов для работы с ними. JSON очень удобен при веб-разработке и загрузке в NoSQL базы вроде MongoDB.  Плюс, конечно, ещё есть KML формат для геоданных, но я лично считаю его производным от других. То есть вначале хорошо бы получить данные в CSV, а преобразовывать их это уже следующая задача.

3.  Почему среди лицензий нет GPL?

Потому как, GPL, несмотря на все свои плюсы и распространённость довольно жёсткая лицензия. Я считаю что автор должен иметь возможность использовать этот код и для коммерческих целей, равно как и все остальные.

4. Как быть с описанием структур?

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

5. Зачем всё это нужно?

Основная цель — создать фундамент для последующих гражданских проектов поскольку сейчас мы находимся, в некотором смысле, тупиковой ситуации. Когда государство не раскрывает данные поскольку исходит из того что они никому не нужны и «общество не готово», а гражданские проекты не появляются поскольку данных нет. Сейчас мы готовим набор ингридиентов на основе которых потом каждый сможет творить собственные блюда.  И чем больше ингридиентов появится, тем больше шансов что будет больше гражданских проектов на их основе.

6. Можно ли эти данные использовать в своих проектах?

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

——-

И в пятых. По результатам обсуждения я хочу немного трансформировать эту идею. Я вижу что на сравнительно простые массивы данных энтузиасты находятся и их преобразуют. Со сложными случаями, когда данные публикуются в форматах Excel’я, Word’а или PDF.  Или же когда используются сложные формы за которыми данные скрыты. Или же когда структура HTML неудобна для обработки.

Я предлагаю следующее. Я готов размещать в Wiki проекта, на сайте OpenGovData.ru и других ресурсах, на которых только дотянусь, статьи касающиеся преобразования данных различными инструментами. Особенно меня интересуют сложные случаи и статьи с примерами на основе данных OpenGovData.ru. Все статьи будут публиковаться с указанием автора под Creative Commons лицензией.

Соответственно, статья — это всё таки несколько большая работа чем просто преобразовать данные и я готов за такие статьи платить денежку. За обычную статью — 1000 рублей, за статью на особо интересные темы — 2000 рублей. С общим бюджетом в 10 тысяч рублей на месяц и оплатой через Яндекс.Деньги. А если кто-то готов написать, без денег — также милости прошу. Просто отметьтесь, скажите что готовы сделать это без денег.

Какие темы хотелось бы охватить: преобразование данных стандартными скриптовыми языками вроде Python, Ruby, PHP и так далее, обработка данных в общем случае, обзор форматов данных и другие связанные темы.

Темы которые особенно интересны лично мне:

— автоматическое извлечение данных из документов Word, Excel, PDF,

— сбор данных с веб-страниц закрытых за POSTBACK навигацией которая используется в сайтах на asp.net

— трюки, хитрости, сложные случаи

— обработка и очистка данных, в том числе автоматическая. например, интересен обзор работы с Freebase Gridworks;

— как визуализировать данные — строить графики на разных движках. Желательно opensource, но пойдут и другие

Если какие-то темы тут не упомянуты, но Вы считаете что они важны, прошу Вас, предлагайте.

С каждой статьей, соответственно, нужен пример открытых данных из OpenGovData.ru или какой-либо другой пример госданных который там не упомянут (заодно его туда добавим).

Соответственно если Вы захотите такую статью написать — пишите мне на ibegtin (собака) gmail.com или комментарием. Мне нужны тема и то какой массив данных вы в статье используете как пример.

А по преобразованию данных данных я предлагаю следующую схему.

1. Я еженедельно буду публиковать список из 10 массивов в «плохих форматах» с предложением волонтёрам их преобразовать.  К волонтёрам просьба — если возьметесь за работу, отпишите мне — чтобы я соответственно отметил этот массив и укажите если Вы берётесь за это бесплатно.

2. В течении недели, если кто-то за преобразование берётся, я отмечаю в Wiki проекта что этими данными занимаются и потом там же публикую результаты — скрипт и массив данных.

3. В конце недели публикуют отчет с итогами. Какие данные преобразованы, а какие нет и следующий список из 10 массивов.

4. Если какие-то данные небыли преобразованы в течении недели. Например, были волонтёрами неинтересны или же массивы сложности, я публикую все непреобразованные данные списком с указанием суммы которую я готов подарить за его преобразование.

5. В случаях сложных и больших массивов данных каждый из них будет выносится на широкое обсуждение.

Комментарии и живое обсуждение всячески приветствуется.

About This Author

  • http://kirushik.livejournal.com/ kirushik

    Написал краткий-краткий образец разбора .xls-фалов на Ruby с использованием гема 'roo' (http://roo.rubyforge.org/):
    http://gist.github.com/553248

    Сводные данные с сайта ФНС распарсились нормально, русский поддерживается. Всё, что остаётся — прописать организацию данных в конкретных отчётах. Боюсь, я не понимаю, о чём в отчёте говорится…

    • http://kirushik.livejournal.com/ kirushik

      С Вордом в Ruby много сложнее.
      Есть возможность либо использовать jruby в связке с джавовской библиотекой POI (http://poi.apache.org/), либо использовать установленный на данной машине Word через WIN32OLE:
      http://gist.github.com/553265
      (код не мой, работу я не проверял — нет винды под рукой)

      Второй вариант предпочтительнее, потому что точно будет совместим с любыми косяками родного парсера.
      Вопрос с поддержкой русских кодировок остаётся для проверки, тем не менее.

      • http://ivan.begtin.name Ivan Begtin

        Спасибо, это всё полезные материалы, я обязательно дам на них ссылки в вики проекта.
        А как Вы смотрите на то чтобы написать статью для OpenGovData.ru на пару страниц разобрав какой-нибудь источник данных в PDF, хоть бы даже и очень простой? Вот тут есть их список — http://www.opengovdata.ru/sources/?q=&org=-1&ty

        Соответственно, если интересно и нет возможности сделать забесплатно, то я готов 2000 рублей Яндекс.Деньгами за такую статью заплатить.

        • http://kirushik.livejournal.com/ kirushik

          В принципе, я готов написать какой-нибудь разбиратор. Даже обильно его закомментировать.
          Другое дело, что в написании статьи по итогам этого кодирования я не знаю, с какого конца браться. Поэтому обещать срока и качества результата не могу.

          Давайте так, программу я подготовлю где-нибудь к среде. В написании статьи мне бы очень помогли образец желаемого результата и/или какие-нибудь метрики качественного результата. Тогда я смогу понять, что поработал качественно, и буду чувствовать себя вправе получить за работу какое-либо вознаграждение.

    • http://kirushik.livejournal.com/ kirushik

      Выдалась ещё минутка — распарсил pdf на пробу: http://gist.github.com/553326
      Библиотека — http://pdf-toolkit.rubyforge.org/ (это враппер для утилит из комплекта pdftk)

      В выдаче много мусора, но русский держит нормально, не рушится на относительно сложных документах.

Яндекс.Метрика