Что такое DataCrafter и зачем он создаётся
В любом наборе исходных данных самая надёжная величина, не требующая никакой проверки, является ошибочной. — Третий закон Финэйгла
Data sourcing или поиск данных - это, можно сказать, типовая задача, возникающая в каждом проекте который данные использует или полностью на данных основан.
Где взять <эти> данные?
Ответ на этот вопрос ограничен, как правило:
незнанием где данные есть (кто вообще ими владеет/кто создает)
отсутствием данных в открытом доступе
отсутствием контакта с владельцем/некооперативностью владельца
отсутствием данных в немашиночитаемых форматах
несоответствием форматов/объёмов/полноты/правил актуализации и ещё много чего с тем что есть на самом деле
Поиск данных часто может отнимать очень много времени, куда больше чем их последующая обработка и это, что называется, куда более рутинная работа чем их последующий анализ. Лично я не знаю ни одного исследователя которого сбор данных увлекал бы более чем их анализ, визуализация и представление результатов.
Существует отдельная большая индустрия именно поставки данных. Через API, в виде больших наборов данных, специальных платформ и в виде сервисов для доступа. Например, в мире существует несколько платформ торговли данными о пользователях собираемые мобильными приложениями, есть сервисы создающие альтернативные данные и предоставляющие их бизнесу, а также несколько крупных общедоступных каталогов таких как Splitgraph и Dolthub для доступа к десяткам тысячам открытых наборов данных.
Это та тема которой наша команда занималась и занимается много лет, в Инфокультуре создавая Хаб открытых данных и Карты данных, в коммерческой компании создавая APICrafter, сервис доступа к данным через API.
Что такое DataCrafter?
До того как в 2019 году я пришёл в команду Счетной палаты делать проект Госрасходы (spending.gov.ru) я занимался созданием проекта APICrafter. Это был сервис предоставления доступа к данным о юридических лицах через API. Он включал API к ЕГРЮЛ, данным госзакупок, бухгалтерских балансах и так далее. В отличие от сервисов проверки контрагентов - это конструктор где клиент мог сам организовать сбор данных о нужных ему организациях за значительно меньшие деньги.
Но кроме больших наборов данных есть сотни и тысячи баз данных меньшего размера, необходимые для работы, для аналитики и часто необходимые пользователями
Именно тогда в APICrafter’е началась работа над проектом DataCrafter. Она была почти закончена внутри, был создан движок обрабатывающий и собирающий данные, автоматизированное API, но потом работа была отложена на почти два года. Теперь, в июне 2021 года я вернулся к этому проекту, он наконец-то обрел форму бета-версии которую можно посмотреть онлайн beta.apicrafter.ru.
Так что такое DataCrafter? Это общедоступный каталог данных доступных через API бесплатный для некоммерческого использования и платный для использования в коммерческих целях.
В нём большой фокус на данные организаций, болеее 159 наборов данных только о юридических лицах, но много и данных в виде общедоступных сведений о физ. лицах, статистика, данные о госфинансах и многое другое.
Ключевое его отличие от иных каталогов - это автоматическая классификация типов данных и автоматическое документирование. Например, сейчас в реестре классифиционных признаков более 100 типов данных (значительная часть уже общедоступны), можно увидеть все реестры где содержатся коды ИНН или ОГРН или же можно увидеть загруженные наборы данных с кадастровыми номерами и ещё многое другое.
DataCrafter - это каталог полуфабрикатов, в отличие от данных на порталах открытых данных данные в нём уже структурированы и гармонизированы под универсальные интерфейсы. В отличие от специализированных API внесение данных не требует сверхусилий по проектированию каждой точки доступа к API.
Зачем делать каталог на основе данных которые и так доступны?
Как человек много лет занимающийся открытыми данными я также регулярно задаю этот вопрос себе и другим, какой должна быть добавленная стоимость к повторно публикуемым открытым данным чтобы ими начали пользоваться на твоей платформе, а не в первоисточнике?
Есть несколько довольно важных причин:
Находимость данных (data discovery) - очень часто данные есть, но найти их крайне сложно. Коммерческие каталоги данных частично решают эту проблему обеспечивая доступность данных которые так или иначе скрыты от классических поисковых систем. DataCrafter лишь в начале этого пути, но точно будут новые возможности для поиска данных.
Форматы и способы доступа - многие открытые данные публикуются лишь в XML/CSV/JSON форматах, неудобных для использования без последующей обработки. Доступность данных для инструментов используемых в data science и в форматах API важны для очень многих областей применения.
Но самое главное то что к примеру около половины данных в DataCrafter’е - это не открытые данные. Это данные выгружаемые из веб-сайтов органов власти путем скрейпинга страниц, недокументированного API, обработки Excel, DOC, PDF и иных документов.
Что дальше?
У DataCrafter’а много применений, например, для сбора данных о юр. лицах есть пример кода, в задачах проверки данных о физ. лицах и, конечно, чуть ли не основное его применение - это наполнение корпоративных озер данных. Изначально это наш собственный продукт который создавался как инфраструктура данных для собственных продуктов на данных. Тем не менее, мы решили сделать его публичным несмотря на то что он не завершён и находится в активной работе.
Как он будет развиваться, будет ли больше тщательно собранных больших данных, или же очень много наборов данных непонятной полезности, или же будут улучшенные интерфейсы для data scientist’ов, или же улучшенные алгоритмы классифицирующие все возможные поля данных? Будет всё это вместе и многое будет зависеть от обратной связи от пользователей.
А я обещаю больше писать о технических сложностях с которыми приходится сталкиваться при работе с очень разными источниками данных.