В качестве примера утилиты metacrafter [1] по распознаванию типов данных две очень разные базы данных , в одной копия данных по сетевой инфраструктуры в РФ собранная из bgpview, а в другой база федеральных госконтрактов заключенных с 2007 по 2011 годы.
Обе базы содержат вложенные объекты и хранятся в MongoDB, поэтому анализ данных происходит ещё и вглубь объектов.
И распознаются уже более половины значащих полей с данными, распознаются с привязкой к зарегистрированным семантическим типам данных.
Но ещё есть многое что нужно дорабатывать и добавлять. Например, ещё не распознаются и не определяются коды ASN, в реестре типов уже есть, а в правила они ещё не добавлены. Или старые коды продукции в России - ОКП, тоже не определяются как и ряд редко используемых справочников.
Есть доля ложных срабатываний по кодам стран, которые определяются как language tag, потому что значения код ISO 3166 Alpha2 почти полностью входят в коды RFC 5646 и так далее. Но это всё решает усложнением правил.
Уже сейчас почти в каждой базе данных есть хотя бы несколько идентифицируемых семантических типов данных.
Куда более сложная задача, о которой я писал ранее, это выявление / понимание типов данных без предобучения, на основе повторяющихся шаблонов и связывание наборов данных, в том числе, через подобные типы данных
Ссылки:
[1] https://github.ccom/apicrafter/metacrafter
#opensource #dataunderstanding