Ivan Begtin
8.07K subscribers
1.47K photos
3 videos
99 files
4.21K links
I write about Open Data, Data Engineering, Government, Privacy and Data Preservation and other gov and tech stuff
Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech

Contact @NMBabina for ads proposals
Download Telegram
К вопросу о поиске по данным и Dateno, я вскоре и чаще буду писать про проект на английском, у него значительно более широкая аудитория на самых разных языках. Но кое-что важное для России важно объяснить.

Если отфильтровать в Dateno российские данные то можно найти много геоданных, большая часть из которых будет из одного источника, ГИС Портала ДВС РАН созданного на базе геокаталога Geonetwork. Данные там, если честно, в плохом виде и, возможно, весь источник придётся убрать потому что ссылки внутри него не работают. Но, важно то что в РФ только геопорталы и только некоторые более-менее соответствуют международным стандартам. А вот почти все госпорталы открытых данных не поддерживают, ни API CKAN, ни стандарт DCAT, ни даже стандарт schema.org Dataset. В итоге чтобы проиндексировать эти каталоги надо писать парсеры под каждый. Оправданно ли это учитывая что на большинстве порталов данные не обновляют лет 6 и там редко когда более тысячи датасетов ? Неоправданно. Можно пытаться индексировать реестры данных которые соответствуют методрекомендациям Минэка, но... мягко говоря эти реестры не дотягивают по аттрибутивному составу до того что нужно для индексирования.

Вторая проблема в том что почти все госсайты и проекты госорганов теперь недоступны из-за рубежа. Чтобы проиндексировать российские госкаталоги данных надо иметь IP адрес в РФ. Итог, как Вы понимаете, удручающий.

Тем не менее в Dateno есть наш Hub of data, будет много данных о России из международных каталогов данных и ещё немало всего постепенно собираемого и вносимого.

Но про эти ограничения важно не забывать.

#opendata #russia #dateno #datacatalogs
Наконец-то уже можно представить широко, проект Dateno, поисковая система по датасетам, о которой я писал и выступал на днях открытых данных в Ереване и в России, теперь доступна для всех желающих.

Подробнее в анонсе на Product Hunt.
Там, кстати, не хватает Ваших лайков, если каждый у кого там есть аккаунт зайдёт и отметит его, то это очень поможет;)

Сейчас в Dateno 10 миллионов наборов данных из 4.9 тысяч каталогов данных, поддерживается 13 поисковых фасетов/фильтров и вскоре будет открытое API и дополнительно открытый код.

Отдельное спасибо всем бета тестерам за отклики и обратная связь всегда бесценна. Если найдете ошибки, неудобства или идеи - пишите обязательно.

#opendata #datasets #data #datacatalogs #dateno
Я в своих выступлениях про поисковик по данным Dateno рассказывал про то что один из приоритетов его развития - это повышение качества данных.

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

Вот пример одной из практических задач. В Dateno сейчас 3383 типа форматов файлов, но, в реальности, это лишь 129 форматов, потому что пользователи указывают в полях типа file format что попало, часто с ошибками. Помимо того что есть указания по которым вообще нельзя понять что это за файл, так есть ещё и много форм написания расширений и типов. На скриншотах примеры с форматами и расширениями которые приходится приводить в порядок, сейчас, полувручную. Похожая ситуация с типами MIME, они очень даже активно заполняются с ошибками, хотя, казалось бы, так быть не должно.

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

На скриншотах можно увидеть проверку в OpenRefine автоматически размеченных форматов и типов mime по одному из снапшотов базы Dateno. И это с оговоркой что сейчас проиндексированы далеко не самые "грязные" каталоги данных. Скорее всего ситуация будет сильно хуже с форматами когда начнём индексировать большие каталоги научных данных. Вот тут, конечно, хотелось бы найти инструмент который бы всё это делал без участия человека, но такого не наблюдается.

Потому что, например, определение форматов и типов mime относительно хорошо можно делать по содержанию файла, но скачивание всех-всех файлов для поисковика является весьма дорогостоящей задачей, и с точки зрения трафика и с точки зрения ресурсов.

#dateno #data #howitworks #datasearch #dataquality
В продолжение про то какие бывают форматы общедоступных данных, есть важный факт индикатор пересечения открытых данных с областями data science. Из, примерно, 29 миллионов ресурсов (файлов) привязанных к датасетам в Dateno, только 4700 - это файлы Parquet, ни одного файла Avro или Orc.

Только около 7 тысяч файлов - это данные в виде дампов Sqlite, и то почти все они - это данные экспортируем из разного рода каталогов геоданных и входящих в файлы geopackage.

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

А самые популярные общедоступные (public domain и открытые данные) данные остаются CSV, XML, XLSX, JSON, TAB, XLS и менее известные в инженерной среде, но известные в научной NetCDF.

К этому можно добавить ещё пучок файлов геоданных, но в целом состав основных данных именно таков. Всё, скорее всего, немного поменяется когда закончится индексация Kaggle и HuggingFace, но за их пределами использования форматов для data science почти не наблюдается.

И это отдельный длинный разговор почему так происходит.

#opendata #dateno #datasets #statistics
Продолжаю рассказывать понемногу про поисковик Dateno и про то как в нём индексируются датасеты. Его особенность в тех индикаторах которые используются внутри для наполнения базы данных. Иначе говоря как мы понимаем что надо проиндексировать? Какие данные добавить в первую очередь? По каким критериям их собирать ? Эти вопросы важные, потому что сейчас проиндексирована только половина реестра всех каталогов данных и это только по числу каталогов, а если считать в датасетах, то не около 10% от всех (точно оценить сложно, никто просто не знает).

Так вот эти критерии - это:
- число проиндексированных датасетов - самое простое и очевидное, не нужно объяснять почему
- число охваченных каталогов данных - тоже важный показатель того как хорошо индексирование идёт
- число охваченных стран (geographic coverage) - это уже сложнее, условно по каждой стране должны находится наборы данных. Отчасти легко решается за счёт международных каталогов статистики, но лишь отчасти и с большим искаженим только в эту статистику.
- степень диверсификации данных (data diversity) - самостоятельно выдуманный термин основная идея которого в том что данные в поиске должны быть разные: геоданные, научные данные, открытые данные, статистика, данные для ML, микроданные и тд. Понятно что каких-то данных больше, каких-то меньше, но всех должно быть значимое количество. Условно не меньше 50% проиндексированных каталогов по типам, не меньше 50 тысяч датасетов каждого типа

Плюс, конечно, важен вопрос качества данных, качества метаданных, "настоящность" данных (очень часто наборами данных обзывают то что ими не является) и ещё многое другое.

Поэтому поисковый индекс Dateno с самого начала собирался сложным путём, по приоритетам достижения этих индикаторов. И 10 миллионов охваченных датасетов - это самоограничение именно такого подхода, потому что очень, действительно, очень просто сделать поисковик на 30-50 миллионов датасетов из которых 50% будет исследовательскими данными в США, ещё 25% исследовательскими данными Китая, ещё 20% научными данными ЕС и только 5% что-то ещё. Моментально получится поисковик по научным данным с лёгким добавлением всего остального.

Но для науки есть свои поисковые системы, поэтому в Dateno хотя и важным приоритетом является индексирование как можно большего объёма всех наборов данных, но не в ущерб их качеству.

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

#opendata #dateno #datasets #crawling
В продолжение размышлений о том как устроен доступ к данным во многих дата каталогах, кроме примера с доступом через API [1], есть много примеров когда каталоги данных интегрированы в платформы которые их предоставляют.

Например, Microsoft Planetary Computer [2], сервис визуализации и каталог особо крупных геоданных. Часть данных доступны только через API по спецификации STAC, часть данных лежат файлами в облаке Azure и ссылки на них выглядят как abfs://items/sentinel-3-synergy-vgp-l2-netcdf.parquet, а часть доступны только по запросу и тоже лежат файлами в разных форматах.

Кроме Microsoft подобное практикуют Amazon с их каталогом открытых данных [3] и ссылками на внутренние ресурсы S3 вроде таких arn:aws:s3:us-east-1:184438910517:accesspoint/bdsp-psg-access-point/PSG/

Похожее с датасетами в каталоге Google Earth [4] когда вместо данных отдаётся сниппет для подключения и код Javascript.

Такое неслучайно, такие порталы чаще всего включают внешние данные, например, данные НАСА или научных проектов, прошедшие обработку, очистку и приведенные в формат используемой платформы. Такие владельцы, по сути BigTech, публикуют датасеты чтобы привлечь к себе аудиторию разработчиков и удержать её. Для компаний владеющих инфраструктурой и привлекающей пользователей - это вполне логичная бизнес стратегия, причём даже с некоторой социальной составляющей, поскольку это даёт и бесплатное пространство нужное для некоторых данных и быстрый доступ ко многим данным, опять же, по цене аренды сервера который ты, возможно, и так бы арендовал.

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

Эти примеры немногочисленны количественно и многочисленны качественно. Датасетов от BigTech компаний в лучшем случае тысячи, правда объёмы там идут на петабайты. А есть есть и другой пример. Очень многие порталы со статистикой отдают данные только по POST запросу. В этом, может быть, когда-то была логика, когда 10-15 лет назад они создавались, а сейчас у этих индикаторов нет ссылок на данные. Иногда и на сам индикатор явной ссылки нет. Что делать? Проиндексировать их возможно, но как помогать пользователю получать данные? Делать копию не только метаданных, но и данных и отдавать их из своей БД? Это уже другой продукт. Делать прокси для POST запросов? Для типовых порталов возможно, для нетиповых это большое усложнение.

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

Это лишь один из примеров задач относящихся к сложности создания поисковика Dateno и ответов на вопросы "А это точно дата каталог?", "А он типовой?", "А как индексировать оттуда данные?" и многое другое.

Ссылки:
[1] https://t.me/begtin/5526
[2] https://planetarycomputer.microsoft.com
[3] https://registry.opendata.aws
[4] https://developers.google.com/earth-engine/datasets
[5] https://dateno.io

#opendata #datasets #data #datacatalogs #dateno
Те кто регулярно работает с научными данными знают о таком протоколе как OAI-PMH, это стандарт описывающий интерфейсы обмена данными для любых цифровых коллекций и метаданных. Активно применяемый в библиотечной, академической и архивной среде . Например, такие движки как DSpace или EPrints используются университетами для публикации научных работ, а эти материалы доступны по протоколу OAI-PMH. Его используют различные агрегаторы научных работ такие как BASE, OpenAIRE и Google Scholar.

Для индексации данных достаточно, казалось бы, было бы реализовать индексирование OAI-PMH и всего лишь отфильтровать результаты извлекая из них только записи относящиеся к данным, геоданным и тд. Это было бы самым простым и, с первого взгляда, очевидным решением, но, вместо него в Dateno сейчас применяется принциально другой подход в написании парсеров под несколько десятков разных API и интерфейсов под разные типы ПО . Почему это так?

1. OAI-PMH поддерживается, преимущественно, научными каталогами данных и некоторыми каталогами геоданных. Это существенная часть, но далеко не все порталы открытых данных. Если поддержать только его, то это означает создать очередной поисковик по научным данным которых уже много есть.
2. Это довольно старый протокол не позволяющий делать массовую выгрузку метаданных, с со множеством ограничений. Например, в OAI-PMH нет понятия файлов/ресурсов и если в каталоге данных больше одного файла, то через OAI-PMH они не будут видны. Поэтому каталоги типа OpenAIRE содержат ссылки на карточки датасетов, но не файлы внутри.
3. Существующие инструменты харвестинга OAI-PMH также часто архаичные, чаще пишут что-то свое. Написать под него парсер несложно, в любом случае.

Из всего этого самое критичное - отсутствие ссылок на файлы. Во внутренних метриках качества Dateno отсутствие ссылок на файлы у датасета пессимизирует его в выдаче и, в принципе, признак низкого качества самого датасета. Поэтому если сейчас добавить наборы данных из каталогов с OAI-PHM, это это глобально снизит качество поиска в Dateno и харвестинг OAI-PHM отложен пока есть более качественные каталоги данных. К большой радости, многие каталоги поддерживают OAI-PHM исключительно как legacy, для поисковиков по научным работам и, параллельно, имеют в реализации от одного до нескольких других API.

#opendata #datasets #dateno #data #datacatalogs #oai-pmh
Как и где искать наборы данных? Помимо Dateno, поисковика над которым работает наша команда, в мире существует некоторое количество поисковых систем в которых можно попробовать найти нужные данные.

Google Dataset Search
Все ещё имеет исследовательский статус, но уже содержит десятки миллионов ссылок на датасеты. Для индексирования использует описание Dataset из Schema.org что даёт возможность индексировать всё что вебмастера отметили как датасеты, и индексировать немало спама тоже.
Плюс: широта охвата, много данных для бизнеса, много научных данных
Минус: мало данных не научных и не коммерческих, сильная загрязненность SEO, не индексируется всё что не по Schema.org

BASE (Bielefeld Academic Search Engine)
Как видно из название система поиска по академическим результатам, более 363 миллионов разного рода research outputs (научных результатов) включая наборы данных которых там 21 миллион. Охватывает только научные источники и научные данные. Индексирует с помощью OAI-PMH краулера со всеми его достоинствами и недостатками.
Плюсы: много научных данных, хорошие фильтры для сужения поиска
Минус: мало ненаучных данных, невозможно скачивать ресурсы с файлами прямо из поиска

Datacite Commons
Поисковик по научным работам от DataCite, сервиса выдачи DOI для данных. Умеет искать по всем тем датасетам которым присвоен DOI. Охватывает несколько десятков миллионов научных данных и научных предметов. Дело в том что DOI могут присваиваться не только датасету, но и,к примеру, виду животных или химической формуле.
Плюсы: широкий охват научных данных
Минусы: отсутствие любых ненаучных данных, много мусора поскольку часто исследователи присваивают DOI документам и изображениям а не датасетам.

FinData
Китайский поисковик по научным данным от Центра компьютерных сетей при Академии наук. Охватывает , преимущественно, китайские и связанные с Китаем датасеты, в первую очередь из SciDB.
Плюсы: очень много очень китайских научных данных
Минусы: совсем нет ничего другого, мало фильтров при поиске

Итого поисковики есть, из крупных - это Google. У Bing и Yandex нет поиска по наборам данных. Большая часть остальных научные. Кроме них ещё есть немало поисковиков как агрегаторов, о них я тоже позже расскажу.

#datasearch #opendata #data #search #datasets #dateno
Для тех кто интересуется поиском по данным и каталогами данных, реестр каталогов переехал на сайт Dateno и теперь доступен по адресу dateno.io/registry и содержит ещё и статистику из самого портала Dateno, по странам и по каждому каталогу в числе датасетов.

Собственно Dateno - это крупнейший открытый индекс и поисковик по данным и раскрытие по масштабу индексирования - это про то как он работает.

Пока в качестве преданонса, в поисковик загружаются ещё миллионы датасетов и это то что будет в следующем его обновлении. А вскоре будет и обещанное API, в первую очередь для beta тестирования и по запросу, а когда сделаем личный кабинет на сайте то и доступное для всех.

#dateno #datacatalogs #datasearch #data #opendata
Очередные обновления в Dateno:
- загружены более 4.9 миллионов карточек датасетов, удалены часть недоступных, почищены часть дубликатов. Итого в поисковом индексе сейчас 14.85 миллионов наборов данных
- из добавленного: индикаторы Всемирного банка, индикаторы множества национальных статслужб таких как Финляндия, Латвия, Эстония, Филлипины, Швеция и многих других
- Улучшилась фильтрация по форматам файлов, все форматы теперь приводятся к стандатизированным значениям
- Появился фильтр по типу данных таким как: геоданные, семантические данные, архивы, изображения, итд. включая просто data (привычные дата файлы) . Построен поверх фильтра по форматам файлов.
- Из небольшого и необычного, проиндексированы датасеты инсталляций ПО Aleph, используемых журналистами расследователями и частично открытые через интерфейс и API. Таких датасетов чуть более 300, но они бывают весьма большими.

Список изменений можно почитать тут, а новость на английском чуть позже на наших ресурсах в соц сетях.

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

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

Не могу не напомнить что Dateno создаётся в Армении, небольшой распределённой командой и цель проекта в том чтобы дать современный удобный быстрый и насколько только возможно большой поисковик и поисковый индекс по всем общедоступным наборам данных.

#opendata #datasets #datacatalogs #datasearch #dateno