Ivan Begtin
9.07K subscribers
2.52K photos
4 videos
114 files
5.3K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and etc.

CTO&Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Email ivan@begtin.tech

Ads/promotion agent: @k0shk
Download Telegram
Я неоднократно писал про такой продукт с открытым кодом OpenRefine, он малоизвестен в дата инженерной и корпоративно аналитической среде, но хорошо известен многим журналистам расследователям, аналитикам работающим над публикацией данных, всем кто работает в среде с интеграциями в Википедией и Викидатой и многим цифровым библиотекарям, архивистам и тд.

OpenRefine изначально вырос из проекта Google Refine который, в свою очередь, разрабатывался внутри проекта FreeBase который после поглощения Google превратился в Google Knowledge Graph.

OpenRefine позволяет вручную и полувручную, с использованием языка GREL (General Refine Expression Language) или кода на Jython через веб интерфейс чистить табличные наборы данных и сохранять их в CSV и я ряде других форматов. Никакого SQL, сложного кода, зато бесконечный цикл Undo/Redo.

Можно сказать что OpenRefine - это инструмент подготовки данных выросший из экосистемы управления знаниями. Явление он довольно редкое, и сам продукт довольно интересный, но не без ограничений.
Потому что внутри него не СУБД, а граф объектов на Java что резко ограничивало и ограничивает объемы редактируемых датасетов до 100 тысяч записей максимум. Но всё это с удобным UI и возможностью работать чистить данные без глубокого технического погружения в протоколы, SQL запросы и разработку кода.

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

Сейчас посмотрев на OpenRefine и его развитие свежим взглядом я могу сказать следующее:
1. Да, с помощью LLM можно очень быстро сделать его аналог, с изначально более-правильной архитектурой на базе Polars + DuckLake или Iceberg, с разделением бэкэнда и фронтэнда/фронтэндов и превратить его в инструмент обогащения данных с помощью LLM и не только.
2. При этом у него очень понятная аудитория, инструмент мог бы быть коммерческим или некоммерческим, важнее что он точно будет востребован

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

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

#opendata #opensource #ideas #dataquality #dataenrichment
👍1531🙏1🤝1