Я неоднократно писал про такой продукт с открытым кодом 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
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
openrefine.org
General Refine Expression Language | OpenRefine
Basics
👍15❤3✍1🙏1🤝1