Говорят, что аналитики с квалификацией Data Science больше всего страдают от того, что 80% их рабочего времени уходит на подготовку данных, а оставшиеся 20% занимают сетования на низкое качество исходных данных. Это, возможно, преувеличение, однако значительная, если не большая часть рабочего времени этих дорогостоящих специалистов уходит на рутинную работу, связанную с наведением порядка в данных, а не на собственно аналитику и извлечение содержательной информации из данных. Этот не слишком творческий, но необходимый процесс первичной обработки данных с подачи ученых из Калифорнийского университета в Беркли называют data wrangling («выпас данных»), а специалистов, использующих его, вполне можно назвать пастухами для данных — или ковбоями.

Процесс data wrangling — это подготовка сырых данных для выполнения последующей аналитики над ними, преобразование сырых (грязных) данных, хранящихся в любых произвольных форматах, в требуемые для аналитических приложений. Несмотря на относительную новизну технологий, стоящих за data wrangling, их экономическое значение высоко оценивается и постоянно растет, поскольку цена хранения и обработки неуклонно снижается, а стоимость труда аналитиков, напротив, неуклонно растет — возникла острая необходимость оптимизировать труд специалистов data scientist. Однако на фоне других широковещательных заявлений о Больших Данных сообщение о «ковбоях» выглядит достаточно скромно, воистину — мы чаще всего связываем прогресс с межпланетными перелетами, хотя гораздо больше приходится сталкиваться со стиральными машинами.

Существование разнообразных технологий очистки данных (data cleansing, data cleaning или data scrubbing) не новость — все они давно и успешно применяются для поиска ошибок в базах данных и таблицах. Обычно такие технологии используют при загрузке хранилищ данных на этапе ETL и в системы бизнес-аналитики. Суть этих технологий в повышении качества данных, улучшении их соответствия окружающему миру. Понятие data quality еще в 1972 году предложил швед с болгарским именем Христо Иванов, но спустя сорок лет возникает иная потребность — теперь нужно не просто обеспечить соответствие данных внешней среде, а научиться воплощать в данных все многообразие внешнего мира, а потом еще каким-то образом использовать эти данные. Вот для этого и нужны средства data wrangling, которые не только улучшают качество данных, но и обеспечивают единообразное согласование данных, поступающих из многочисленных источников. Здесь еще нет полной формализации, поэтому чаще всего такую работу приходится выполнять в полуавтоматическом режиме — приведением данных в порядок заняты специалисты в области «выпаса данных», а суть их деятельности состоит в сборе и организации данных, получаемых из внешних источников. По своему положению в спектре занятости в ИТ этот вид деятельности можно сравнить с работой программиста-кодировщика, с тем различием, что одни имеют дело с кодами, а другие — с данными. Подобное разделение обязанностей можно обнаружить и в промышленности, где также есть две специализации — материаловеды и технологи.

Из крупных поставщиков на этом поприще известна компания Informatica, а также ряд компаний-стартапов.

  • Компания Datameer предлагает интегрированное решение Datameer Analytics Solution, с помощью которого можно осуществлять консолидацию данных, управление ими в динамике и визуализацию результатов. Это решение позволяет пользователям, привыкшим к работе в среде электронных таблиц, легко адаптироваться к Hadoop. В состав DAS входит более сотни стандартных табличных функций и набор средств для обработки текстов на естественных языках.
  • Компания ClearStory развивает инструменты для Data Intelligence (DI) — совокупности технологий, упрощающих бизнес-пользователям работу с интересующими их данными. Основное различие между DI и BI в их предназначении: задача BI — делать выводы, а DI — в информационном обеспечении. По мнению специалистов из ClearStory, DI и BI — части целого, более высококачественная подготовка данных служит гарантией для более эффективного анализа и в итоге позволяет создать предприятие, извлекающее наибольшую пользу из данных (Data Intelligencе Entertprise). В работе такого предприятия сочетается деятельность тех, кто готовит данные, с деятельностью тех, кто извлекает из данных полезную информацию.
  • Dataiku специализируется на Data Science, в качестве вспомогательного инструмента предлагая Data Science Studio с функциями data wrangling.

Впрочем, перечисленные компании не только «пасут данные» — в 2012–13 годах было образовано несколько компаний, специализирующихся исключительно в этой сфере: Paxata, Trifacta, DataWrangler и Data Tamer. Все они основаны серьезными специалистами — выходцами из крупных корпораций и из ведущих университетов Америки. Еще есть сообщество, разрабатывающее продукт с открытым кодом OpenRefine.

OpenRefine

Технология OpenRefine ведет свою родословную от средств очистки данных Google Refine. Замена Google в названии на Open произошла после того, как компания Google отказалась от поддержки этого проекта, но образовалось сообщество, которое продолжает его развитие. В 2010 году Google купила компанию Metaweb Technologies, имевшую на тот момент два открытых проекта: основной Freebase и вспомогательный Gridworks. Первый весьма амбициозен и заключался в создании силами сообщества некоторой мировой коллаборативной базы знаний, собираемой из Web. Второй проект скромнее — это инструмент подготовки данных для Freebase, вот его-то и переименовали в Google Refine. В Google приобрели Metaweb главным образом ради Freebase, а сам инструмент, к тому же работающий в автономном режиме на компьютере пользователя, интереса не представляет, поэтому в 2012 году компания отпустила его в свободное плавание под именем OpenRefine. Этот шаг стал успешным — за время своего существования под именем Google Refine продукт вызвал заметный интерес у различных специалистов, главным образом у data scientist.

Аналитика неструктурированных данных

Фасетный поиск был предложен индийским библиотековедом Сиркали Ранганатаном как вариант библиотечно-библиографического подхода к многоаспектной классификации для обычных бумажных библиотек и позже распространен для компьютерных приложений. Фасетная формула не только определяет порядок следования терминов в поисковом образе документа (например, процесс — материал — оборудование — свойство и т. д.), но и играет роль индекса.

Леонид Черняк

Математическая основа OpenRefine весьма оригинальна и построена на архитектуре фасетного просмотра (Faceted Browsing Architecture). «Фасет» — это грань или плоскость на граненом изделии, не случайно граненый кристалл стал эмблемой OpenRefine. Фасетный поиск (Faceted search, faceted navigation или faceted browsing) — это метод доступа к данным, организованным по принципам фасетной классификации, предложенной еще в 30-е годы XX века для целей библиографии. В этом контексте фасетом называют какой-то определенный признак, пересечение которых образует фасетную структуру, или формулу, а классификационные индексы образуются путем сочетания фасетных признаков в соответствии с фасетной формулой. Такой же подход к индексации используется в СУБД Endeca, купленной Oracle.

Внешне OpenRefine напоминает электронную таблицу, но по устройству система скорее подобна базе данных. Данные содержатся в таблице со строками и колонками, аналогично реляционной СУБД. Каждому проекту соответствует одна таблица. Работая с ней, пользователь может фильтровать строки, используя фасеты, которыми заданы критерии фильтрации. Все действия пользователя отражаются средствами пользовательского интерфейса и сохраняются в протоколе проекта. Все трансформации данных могут быть описаны на собственном языке OpenRefine Expression Language или же на Jython (реализация Python на языке Java).

Paxata

Компания Paxata была создана ветеранами отрасли с большим производственным стажем работы, в том числе и в SAP, которые поставили перед собой цель создать ПО нового поколения, позволяющее пользователям собственными силами готовить большие наборы данных для последующей обработки и для анализа. Облачный продукт компании, Adaptive Data Preparation, позиционируется между средствами визуальной аналитики и извлечения информации из данных, предлагаемыми Tableau и QlikTech, с одной стороны, и репозиториями данных типа Hadoop или параллельными базами данных класса in-memory, с другой. Adaptive Data Preparation призван обеспечить пользователям необходимую свободу оперирования данными в процессе их подготовки, как и уже имеющиеся средства [1]. Существующие аналоги типа ETL или MDM не столь оперативны и менее приспособлены для самообслуживания, поскольку требуют поддержки со стороны персонала ИТ, к тому же Adaptive Data Preparation позволяет смешивать данные из разных источников.

Как многие стартапы, Paxata не стремится раньше времени раскрывать свои карты, и из открытых источников можно сделать вывод о том, что в Adaptive Data Preparation используется комбинация технологий из поисковых систем и платформ, поддерживающих социальные сети, что дает возможность применительно к сырым данным выполнять «интеллектуальную» индексацию, распознавание текстовых образов и статистический анализ графов.

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

Trifacta

Компания Trifacta создана в 2012 году профессорами Джозефом Хеллерстейном и Джефри Хиром из Стэнфорда и Беркли, которые коммерциализовали в этой компании опыт и знания двадцатилетних совместных исследований в области очистки данных. Из всех компаний, работающих в области data wrangling, Trifacta имеет самую долгую предысторию и самый серьезный научный задел. Хеллерстейн и Хир, еще будучи аспирантами, начинали свою научную работу в середине девяностых в Беркли по программе с образным названием Potter's Wheel (гончарный круг), отражающим идею создания изделия из сырой массы с использованием рук и специального инструмента. Свое отношение к идее очистки данных они выразили следующим образом: «На практике данные из реального мира не соответствуют ограничениям схем, форматов и способов записи, которые накладывают на них СУБД. Причиной тому являются многообразие источников данных и неизбежные ошибки. До помещения их в базы и хранилища данные должны пройти процесс очистки». Эти слова были актуальны уже давно, но стали особо важны сейчас, когда объемы данных и их разнообразие приобрели совершенно иные масштабы.

Создатели Trifacta подвергают критическому анализу существующие методы очистки данных и предлагают свой собственный, который и был положен в основу современных продуктов компании. По их мнению, все известные средства очистки очень похожи и состоят из двух типов инструментов: одни служат для анализа, а вторые — для преобразования данных. Алгоритмическая основа могла быть разной (и data mining, и машинное обучение и еще что-то), но все их объединял общий подход — оба инструмента использовались в пакетном режиме применительно к некоторому набору данных. Со времен первых мэйнфреймов хорошо известны недостатки пакетного режима разработки, и главный из них — результаты обработки не видны вплоть до ее окончания. Сразу получить нужный результат не удается — для достижения приемлемого качества требуется выполнить определенное число итераций, и чтобы избавить программиста от пакетного режима, был разработан интерактивный режим взаимодействия человека с машиной, а Хеллерстейн и Хир предложили аналогичный подход к очистке, заменив пакетный режим интерактивным. В этом их главная идея.

Название следующего проекта Trifacta — Data Wrangler, что отлично отражает его сущность. Но, в отличие от других близких по смыслу проектов, он более технологичен — здесь не только обеспечивается преобразование сырых данных в более приемлемую для анализа форму, но и создается описание выполненных действий, чтобы в последующем можно было это описание оценить и, если нужно, отредактировать и повторить преобразование. В этом проекте сочетаются пользовательский интерфейс, поддерживающий диалоговый режим, и язык декларативного типа для описания преобразований. Описание на языке, близком к естественному, создается методом программирования путем демонстрации (Programming by Demonstration, PbD), используемым для обучения роботов. Система не просто механически фиксирует введенные пользователем команды, как, например, это делается в текстовых редакторах при сохранении введенных действий в одной макрокоманде, а еще и связывает их с особенностями преобразуемых данных так, чтобы в последующем описание можно было адаптировать для тех случаев, когда данные похожи на преобразованные, но имеют некоторые отличия. Отредактированное описание можно использовать многократно.

Data munging

В некоторых источниках data munging и data wrangling представлены как синонимы, что не совсем корректно — термином data munging обычно называют ограниченное подмножество действий над данными, попадающее в категорию data wrangling, причем последний термин является более общим. Чаще всего продукт data munging представляет собой написанные пользователем программы для работы со строчными данными на языках Perl, R, Python или иных, приспособленных к работе с текстовыми файлами. Сам термин data munging на десятки лет старше data wrangling и происходит от необычного глагола mung или munge, которым на компьютерном жаргоне обозначают необратимое преобразование данных. Слово mung — абсолютный компьютерный неологизм: в обычном английском языке его нет. Происхождение mung датируется 1960 годом, тогда он появился в МТИ для обозначения некоторых операторов в популярном в то время текстовом редакторе TECO (Text Editor and COrrector). За неудобства операторов mung стали в шутку расшифровывать как «Mash Until No Good» (мешай пока не испортишь). С тех пор неудобство прошло, а слово осталось.

Data Tamer

Компания Data Tamer была создана в прошлом году группой ученых из Массачусетского технологического института под руководством Майкла Стоунбрейкера, а ее название, переводимое как «укротитель данных», — явный парафраз от «data wrangler». О компании известно очень мало, но она привлекает к себе внимание очень известными именами своих основателей. О ее будущей деятельности можно косвенно судить по отдельным тематическим статьям, в которых применительно к данной компании упоминаются такие слова, как «присмотр», «наблюдение» или «опека»; скорее всего, речь идет о создании системы для масштабируемого наблюдения. Наблюдение за данными предполагает создание системы сбора сведений из десятков тысяч источников, объединенных принадлежностью к общему домену знаний: это содержательно связанные между собой сайты, научные статьи, истории болезней или иные формы представления результатов исследований. Каждый из источников содержит в себе фрагмент полезной информации, но его автор сам не в состоянии совместить свой вклад с информацией, скрытой в данных, находящихся в тысячах аналогичных источников. Задача состоит в том, чтобы агрегировать распределенную информацию для извлечения нового знания. Она решается путем совмещения функционала системы Data Tamer, обладающей способностью к обучению, и деятельности нескольких категорий специалистов, управляющих работой системы и процессом ее обучения. За сбор данных из источников отвечает администратор Data Tamer Administrator, он же организует совместную работу прикладных специалистов Domain Experts, а в ряде случаев целесообразно использовать приемы из краудсорсинга.

***

Первой реакцией на проблему Больших Данных стало появление специалистов в области Data Science, однако со временем выяснилось, что данные требуют предварительной обработки, и в ответ возникло направление Data Wrangling, появились «ковбои данных». Не исключено, что на этом пути индустрию ждет еще немало неожиданностей.

Литература

  1. Леонид Черняк. Технологии аналитики действия // Открытые системы.СУБД. — 2013. — № 6. — С. 43–47.

Леонид Черняк (conf@osp.ru) — научный редактор, «Открытые системы.СУБД» (Москва). Подробности про управление качееством данных и технологиях очистки на конференции «Качество данных — 2020».