Работа с данными с нечеткой структурой
Прежде чем продолжить рассуждения, а что же такое данные с нечеткой структурой? Начну с примера.
При преобразовании HTML в RSS, как, например, это происходит в Скиуре, очень часта ситуация когда структура данных меняется. Это может быть из-за того что немного подкрутили верстку или, к примеру, у новости появилась метка которая при обучении на данных сайта не встречалась, но была с самого начала предусмотрена, например, «новое» или ещё что-либо не являющееся сменой CMS или реорганизацией структуры сайта, но затрагивающее HTML структуру ленты новостей.
Сейчас, чтобы обеспечить обработку новостной ленты в любом случае, лента распознавание структуры Скиур производит каждый раз «на лету» полностью игнорируя любые ранее накопленные данные. Это позволяет обеспечить высокий уровень распознавания, ограниченный лишь числом поддерживаемых форматов дат и времени, но и накладывает ряд ограничений в числе которых:
- более долгий процесс извлечения структурных блоков;
- невозможность ручной корректировки шаблона распознавания в виду его отсутствия.
Это пример, ситуации и решения когда источник данных находится вне управления и возможности воздействия системы потребляющей его информацию и необходим ряд мер по приведению его к нормализованному виду за счёт предварительного или динамического распознавания структуры данных и приведение распознанной структуры к хранимых данных.
В случае новостной информации — это довольно просто и даже очень просто, поскольку структура транслируемых новостей давно уже определена в спецификациях RSS/ATOM, и то при распознавании достаточно 10% от специфицированных полей. Кроме того отслеживание структурных аномалий для частного случая — это однократная и решаемая задача. Поиск решения для новостной информации закодированной в HTML у меня занял пару месяцев — в основном на анализ и систематизацию структуры данных в источниках.
А вот в случае условно неограниченного числа данных различных по структуре, форме размещения/публикации, способу хранения и так далее, ситуация отличается в корне. Без автоматизации процесса распознавания, без формализации поиска отклонений в структуре данных, без совмещения динамического формирования шаблонов с шаблонами уже накопленными — решить эту задачу невозможно. Фактически полноценное решение требует системы близкой по логике к ETL, но отличной в том что в отличии от ETL источники данных там не фиксированы, структуры данных могут меняться, новые источники могут добавляться даже при неполном описании приходящих из них данных, а все ошибки в обработке яляются не предметом приостановки процесса импорта или игнорирования, а обучения. При этом, разумеется, необходимы специальные методы распознавания структур данных, решение проблемы производительности использования больших баз регулярных выражений и так далее.
К вопросу о том зачем всё это нужно? Это нужно, поскольку сейчас процесс организации данных в Linked Data и иных связанных машиночитаемых формах — весьма долгосрочен. В каждом случае — это связано с долгим ожиданием когда владелец/контролёр источника данных решит представлять его в более удобной форме. При том что есть множество энтузиастов которые могут оцифровать тот или иной срез данных — как, например, статистические данные США или России, в машиночитаемую форму — тем не менее систематизация источников данных позволит обеспечить доступность данных на потоковой основе.
Или, говоря иначе, ненужно ждать пока государство начнёт отдавать данные в RDF или же общедоступные данные станут доступными в виде микроформатов или тех или иных срезов — необходимо создавать механизмы и программные продукты автоматизирующие процесс преобразования данных из Legacy форм в формы пригодные к последующей интеграции.
Всё это к вопрос о том как лично я вижу data.gov.ru примерно через пару лет, разумеется, в случае его появления.
Поделиться в соц. сетях
-
http://shcherbak.net SHCHERBAK
-
http://ivan.begtin.name ivbeg
-
http://shcherbak.net SHCHERBAK
Microsoft Translate
Рубрики
- BI (3)
- CEP (1)
- IBM (13)
- Novell (6)
- WTF (1)
- apple (3)
- blogging (61)
- couchdb (3)
- data.gov.ru (250)
- datasets (104)
- diagramming (11)
- e-Government (925)
- eGov (944)
- google (33)
- gtd (5)
- links (65)
- linux (19)
- microsoft (47)
- not so wtf yet (3)
- opengovdata.ru (197)
- opensource (56)
- productivity (2)
- saas (4)
- second life (2)
- security (6)
- semweb (15)
- sun (13)
- virtualization (16)
- vista (2)
- web (223)
- web 2.0 (108)
- wikileaks (1)
- yahoo (11)
- Без рубрики (4)
- Енот Поискун (17)
- Общественное благо (12)
- алгоритмы (73)
- алгоритмы (51)
- аналитика (19)
- антисео (5)
- бывает и такое (8)
- виртуализация (21)
- вопросы (20)
- госзаказ (172)
- идеи (29)
- из жизни (95)
- инновации (27)
- интересные проекты (7)
- информация (108)
- книги (2)
- метапост (1)
- открытое государство (49)
- открытые данные (8)
- поиск (93)
- почти несерьёзно (16)
- размышления (127)
- расшифровка реальности (10)
- робототехника (1)
- руководство проектами (3)
- скиур (19)
- социальные сети (45)
- социоранк (9)
- стандарты (22)
- стоит почитать (21)
- футуристика (1)
- электронное государство (943)
- юзабилити (25)
- юмор (14)
Метки
антиспам госзакупки гослюди госуслуги датасеты дебаты извлечение информации инновации кузьминов метаданные навальный открытое государство открытые данные поиск почти без иронии публичность раскрытие информации расшифровка реальности систематизация социоранг социоранк стартапы форматы файлов футуристика #belyh #rucamp #socamp 94-ФЗ antispam apps4russia icamp icamp2009 md5 ogp open government searchme semweb sha1 ssl usability






