Ivan Begtin
7.99K subscribers
1.87K photos
3 videos
101 files
4.58K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts [email protected]
Download Telegram
Почему я в последнее время много думаю и пишу про геоданные?
Есть 4 основных типов общедоступных данных данных которые собираются в Dateno:
- открытые данные (opendata). С ними всё довольно понятно, их много, не не бесконечно много. Большая часть порталов известны, далее просто длительная методическая работа по их систематизации и сбору датасетов
- научные данные. Тут не всё так понятно, и этих данных по объёму более всего в мире, но в каждой науке свои виды каталогов данных, стандарты и тд. За пределами отдельных научных дисциплин у этих данных не так много пользы
- статистика и индикаторы. Нужны всем, чаще стандартизированы, поддаются систематизированному сбору и "расщепляются" на множество поддатасетов в привязке к конкретным странам и территориям. Много усилий требуется по агрегации национальных каталогов статистики.
- геоданные. Их много, чаще стандартизированы, но поиск и каталогизация явно недостаточны. Предыдущие попытки чаше безуспешны.

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

Существенный количественный рост данных в Dateno будет от трёх категорий: научные данные, данные индикаторов и геоданные.

При этом научные данные можно _очень быстро_ загрузить из 3-4 крупных источников и это добавит +20 млн датасетов и создаст огромные пузыри данных по нескольким языкам, категориям и темам.

Данные индикаторов стремительно превратят Dateno в портал по макроэкономике/макростатистике. Их также можно загрузить +5 млн датасетов в короткое время.

А в агрегированных геоданных сейчас есть объективный "пузырь", огромное число датасетов по Германии отчего в любом поисковике по данным доля геоданных их Германии достигает 40-60% от общего числа. Если не больше.

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

#opendata #data #dateno #thoughts #geodata
В качестве мини-хобби, очень мини, я время от времени систематизирую ссылки по темам в жанре awesome list на Github с некоторой надеждой что над этими списками не я один буду работать. Надежды, как правило, не оправдываются, за редким исключением.

Список Awesome Digital Preservation, за время существования всего 14 лайков. У цифровой архивации мало фанатов, увы.

Или, например, у меня есть список Awesome Open Data software с ПО и стандартами по работе с открытыми данными. Почти всё ПО из реестра каталогов данных в Dateno, плюс ссылки на форматы файлов и стандарты обмена данными. Звездочек маловато, всего 24, не самая популярная тема.😜

Или вот Awesome Data Takeout со ссылками на сервисы получения всех своих данных из онлайн сервисов. 54 звезды, тоже, очень мало.

Для дата журналистов Awesome data journalism со списками инструментов для визуализации и не только. Набрало, 178 звезд, давно не обновлялось.

Russian Awesome Open data каталог источников открытых данных по РФ. Составлялся очень давно, как-то собрал 200 звездочек, уже практически не пополняется. Вместо него развивали datacatalogs.ru

Побольше в Awesome Forensic Tools с подборкой ресурсов в задачах цифрового дознания. Набрало 472 лайка при том что я почти не прилагал усилий по его пополнению, только один раз собрал всё вместе.

И, наконец, Awesome Status Pages собравшее 2738 лайков. Активное настолько что утомляет, сплошным потоком разработчики создают очередные сервисы проверки и публикации статусов сервисов и используют всякую маркетинговую мишуру чтобы их продвинуть. Дважды предлагали выкупить у меня эту страницу. Чувствую зря я её не продал;)

В общем-то по настоящему выстрелило только последнее, хотя списки составлять я лично люблю. Списки это же частный вид таблицы, можно ещё жанр завести. Awesome table of <something>, но в форматы Github'а или Telegram'а они плохо укладываются. Но может найдется близкий интересный формат

#opendata #datajournalism #data #digitalforensics #readings #thoughts
Я тут тоже думал про всякое применение ИИ, как в продуктовых и рабочих делах, так и общечеловеческих. Рабочие дела - это как применять ИИ для обработки, классификации, повышения качества, поиска, обогащения и тд. в работе с данными. Применений много, о них как-то в другой раз и скорее уже когда будет что показать и рассказать живое.

А вот про рабочее и полезное человечеству.
1. Не теряю всё же надежду что хоть кто-то из разработчиков сделает умный Inbox, AI ассистента нормально работающего с почтой, контактами и документами в рамках корпоративных и личных коммуникаций. Для людей живущих асинхронной жизнью это просто необходимо. Я вот не хочу сортировать почту по папкам, довылавливать спам, дозаполнять контакты после внесения, вспоминать треды переписки и так далее. Это всё совершенно точно поддаётся качественной даже не автоматизации, а глубокой трансформации без потери качества.
2. Есть огромное число малых/не национальных языков, никак не защищаемых государствами или защищаемых незначительно. Какие-то из них стагнируют, некоторые развиваются, большая часть медленно или быстро вымирает. Если по ним есть хоть какая-то устная и письменная история то AI для сохранения и обучения вымирающих языков. Не только как предмет анализа, исследований и научных работ, а по автоматизированному созданию автопереводчиков, словарей, обучающих материалов и так далее. Коммерческой идеи тут, может не быть. Подчеркну что идея тут не в автоматизации перевода, а в автоматизации создания обучающих материалов.

#ai #thoughts
Мысли вслух о индексировании датасетов

Я как то уже писал о том что потратил в своё время немало сил и времени на то чтобы научиться создавать данные из неструктурированных источников. Развивая мысль "всё таблица" в мысль "всё данные". Самое очевидное применение - это сайты к которым пишут многочисленные парсеры, но число сайтов бесконечно, а число парсеров конечно. И писать множество парсеров для каждого сайта не хватит и тысячи жизней.

Можно ли это автоматизировать? Можно ли автоматически понимать разметку страниц и извлекать из них смысл. Самый очевидный путь - это использовать микроформаты и разметку контента через Schema.org и вытаскивать объекты из индекса Common Crawl. Что, кстати, многие и делают для задач обучения ИИ и не только и что имеет свои ограничения из-за невысокого качества этой самой разметки.

Кроме того она используется далеко не всеми. Да чего уж там, огромное число государственных, корпоративных и академических вебсайтов не используют даже базовые инструменты для индексации поисковиками. У них нет файлов robots.txt, отсутствуют sitemaps и ещё много всего.

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

Геоданные почти все вообще не попадают в поисковые индексы как датасеты, для них нет разметки, а каталоги геоданных не оперируют метаданными из Schema.org, за редким исключением.

Как собирать метаданные в таких условиях?

По сути стратегия сбора метаданных о датасетах сводится к нескольким моделям:
1. Сбор стандартизированными инструментами через API каталогов данных или дампы каталогов.

Причём этих API может быть несколько. Тот же CKAN, к примеру, поддерживает собственное API и часто имеет дамп экспорта по стандарту DCAT, а у каталогов Dataverse ещё больше вариантов их индексации, с помощью внутреннего API, OAI-PMH, Sword и других вариантов. Это то что делают некоторые поисковики, например, научные или порталы агрегаторы данных, но они используют, как правило, 2-3 стандарта для сбора метаданных.

2. Индивидуализированное извлечение метаданных

В случае крупных каталогов данных написание парсеров исключительно под них и перенос метаданных в поисковый индекс. Это резко отличается от того что делают все остальные поисковики и агрегаторы, кроме тех которые используют большие открытые данные DataCite для каталогизации датасетов получивших DOI.

3. Краулинг + Schema.org

Стандартный механизм используемый Google Dataset Search и не используемый больше почти более нигде. В самом простом сценарии реализуется через поглощение sitemap файлов и последовательное извлечение разметки Schema.org Dataset из веб страниц. С одной стороны, не зависит от используемого в каталоге ПО, с другой стороны всё равно требует ручной верификации.

4. Умный анализ структуры каталога и автоматическое аннотирование датасетов

Это самое сложное и интересное. Как определить структура сайта? Как определить структуру веб страницы на которой размещён набор данных? Это можно делать по типовым шаблонам ссылок с префиксами типовыми для наборов данных, такими как /dataset/ и тд. Ещё один признак - это ссылки на дата файлы .csv, .json, .xml и им подобные, а также ключевые слова в разметке страниц и применение ИИ для понимания этой разметки. Всё вместе это может дать возможность приблизится к умному краулеру с обучением. Где-то с верификацией человеком, а где-то, возможно, даже без неё.

За бортом остаются порталы с собственным нестандартным API через которое рендерятся данные и другие порталы со встроенным AJAX'ом. Такие случаи даже умным краулером не обработать.

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

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

Например, особняком идёт всё что касается life sciences особенно в части биоинформатики. Практически все исследования там, или создают данные, или используют и ссылаются на данные, или то и другое. Фактически это огромная связанная инфраструктура через стандарты, идентификаторы, специальные платформы и специализированные платформы и базы данных. Собственный мир развивающийся по собственным правилам.

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

Особняком данные связанные с ИИ, одна из областей где коммерческих данных может быть больше чем научных. Большая часть из них сконцентрированы в Kaggle и Hugging Face.

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

Всё это сильно влияет на то как собирать данные, что считать датасетами, объём собираемых данных и так далее.

К примеру, сбор научных данных из репозиториев научных результатов - это, часто, поиск иголки в стоге сена. Не все научные репозитории поддерживают API и фильтрацию результатов по типу содержимого. Из репозиториев на базе DSpace, к примеру, надо вначале извлечь всё, а потом уже процеживать их по множеству критериев чтобы вытащить датасеты. Из 1 миллиона таких научных результатов, то что является датасетами будет 50-60 тысяч записей.

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

#thoughts #datasearch #openaccess #opendata
Про то как публикуют и работают с опубликованными датасетами расскажу про их публикацию по стандарту schema.org.

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

Особенность в том что если объекты типа Dataset ещё более-менее встречаются, то DataCatalog - это безусловная редкость. К примеру, в проекте Web Data Common за 2023 год извлечено менее миллиона (839 тысяч) ссылок на страницы с объектами Dataset и совсем нет объектов типа DataCatalog. Нет не случайно, потому что даже беглая проверка по каталогам данных в Dateno registry показывает что в лучшем случае у каждого тысячного каталога данных есть эта разметка.

А вот разметка Dataset присутствует у многих каталогов, из широко известных, к примеру, Hugging Face и Kaggle. А вот к примеру, на общеевропейском портале data.europa.eu этой разметки нет, а на национальном портале США data.gov она сокращённая и даёт только минимальные атрибуты такие как название и ключевые слова, без детализации прикреплённых ресурсов или лицензий.

При этом в команде Google, полтора года назад упоминали что в их поисковом индексе Google Dataset Search есть 45 миллионов записей с 13 тысяч сайтов. Правда у них охват шире чем у Common Crawl, а также явно кроме объектов Dataset они добавляют в индекс объекты типа DataDownload, они тоже есть в спецификации schema.org и, наконец, Google Dataset Search индексирует датасеты через разметку RDFa, а по ней нет статистики из Common Crawl. В проекте Web Data Commons нет отдельной выгрузки объектов типа Dataset для RDFa.

Основных проблем со Schema.org две.

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

Вторая в том что реально интересные каталоги данных Schema.org не поддерживают. Особенно это справедливо в отношении геоданных и геопорталы практически все используют только собственные стандарты публикации данных.

Собственно поэтому в Dateno основная индексация не через краулинг объектов Schema.org, а несколько десятков видов API.

#thoughts #datasearch #dateno
Давно пишу по кусочкам лонгрид про природу данных и наборов данных, про то как отличается их восприятие людьми разных профессий и потребностей и как от того где они применяются "плавает" это определение.

Самый простой пример - это всегда ли данные машиночитаемы? К примеру, данные в виде файлов csv, json, xml и тд. всегда можно рассматривать как машиночитаемые, а, к примеру, тексты, видео и изображения нет. Но если собрать тысячи, сотни тысяч текстов или фотографий, то вот, пожалуйста, датасет для обучения в data science. То есть данные не всегда машиночитаемы?

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

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

А как рассматривать API? К примеру, в геоданных массово данные доступны не в виде файлов, а в виде API по стандартам OGC или ряду проприетарных. Их принято относить к наборам данных. Но там разные API, к примеру, WFS, WMS без сомнений можно относить к data api (API для доступа к данным), а какие-нибудь WPS уже точно не data api, а процессные API для обработки данных, а WCS что ближе к не API для данных, с помогающих в работе с геоинструментами. Для аудитории специалистов по геоанализу они нужны, но как бы не данные.

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

Ещё пример, опять же про не машиночитаемость. С точки зрения архивации данных важно хранить данные в любой форме за условно любой период времени. К примеру, статистический сборник 19го века. Формально не машиночитаем, по факту исследователям статистикам может быть нужен? Безусловно. На многих порталах открытых данных опубликованы тысячи таких сборников как открытые данные. Но они не машиночитаемые. В такой логике к, примеру, Библиотека конгресса США или Национальная электронная библиотека в РФ это тоже каталоги данных? Или источники данных? Даже если они не машиночитаемы?

Всё это возвращает к размышлениям о том что наборы данных - это то о чём можно говорить как об опубликованным со смыслом (publish with the purpose), с пониманием аудитории и хотя бы одного сценария их применения.

В практическом применении это напрямую затрагивает, например, то какие данные индексируют и не индексируют поисковые системы. К примеру, Google Dataset Search не индексирует геоданные, они медленно, то уверенно склоняются к поисковику для исследователей. Научные поисковики вроде OpenAIRE, DataCite или BASE с самого начала декларируют что это не только поиск по данным, а по любым результатам научной деятельности до которых просто дотянутся. Для data science поисковика нет поскольку всего два основных ресурса, Hugging Face и Kaggle.

В Dateno индексируются геоданные (гео API) и порталы индикаторов причём с расширенной трактовкой индикаторов как то что датасетом является индикатор + страна во всех случаях когда можно сделать постоянную ссылку на файл или API. Так делают многие создатели этих порталов с индикаторами уже давно. Но это тоже некая форма интерпретации исходя из потребности и поиска пользователей.

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

#thoughts #data #datasets
Помучавшись немного с геоклассификацией объектов, в данном случае наборов данных, и решив эту задачу грубо, я в процессе набросал примерную структуру программного инструмента который помогал бы решать её красиво.

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

Задача то довольно простая, присвоение цифровым объектам геолокации не по принципу координат или адреса, а в привязке к территории от макрорегиона/группы стран, до конкретного города/территории субрегионального уровня. В Dateno это делается через привязку всего к справочникам UN M49, ISO3166-1 и ISO3166-2. Сложности возникают в том что в каталогах данных где есть геоаннотирование чаще всего нет уникальных кодов территорий и чаще всего названия макрорегионов, к примеру, не гармонизированы.

А потребность в аннотировании есть не только к датасетам, но и ко множеству других объектов: тексты, архивы, документы, изображения и тд.

#thoughts #modelling #geospatial
У меня довольно небольшой телеграм канал у которого чуть более 8 тысяч подписчиков и, честно говоря, я практически не вкладывался в его продвижение чем-либо кроме контента, но мне регулярно пишут с просьбой опубликовать тот или иной материал и несмотря на малость канала, похоже, нужна какая-то публичная политика с вопросами и ответами.

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

2. Но если Вы публикуете открытые данные или создаете продукт с открытым кодом по работе с данными и они любопытные, то я обязательно об этом захочу написать.

3. Также как если Вы проводите какое-либо интересное открытое мероприятие, особенно если оно посвящено таким редким темам как архивация цифрового контента. Напомню что про архивацию я также модерирую телеграм канал @ruarxive.

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

5. Я редко пишу про мероприятия где я не участвую, не участвовал или не участвовала Инфокультура или Open Data Armenia. Только если оно по каким-то причинам важно мне лично.

6. Я стараюсь писать про все случаи закрытых данных в РФ и не только, они все под хэшем #closeddata и если Вы такие новые факты знаете, я обязательно об этом напишу и упомяну.

7. То же самое в отношении недокументированных API о которых я пишу тут время от времени с оговоркой что публикация этой информации не приводит к каким-либо неприятным последствиям вроде исчезновения этих данных.

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

9. Во всём остальном действует очень простое правило. К публичному телеграм каналу я отношусь как открытой записной книжке. Фильтр который я задаю себе при любой публикации захочу ли я это перечитать в будущем? Если нет, то и зачем писать?

#thoughts #contentpolicy #blogging
В новостях про смену мировоззрения Павла Дурова с анархиста на прогосударственного французского гражданина и в скором исчезновении Флибусты есть одно немаловажное общее свойство. И там, и там, критические изменения в проекте/стартапе происходит ударом по наиболее уязвимому звену - человеку, лидеру, ключевому лицу.

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

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

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

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

#thoughts