Об BigData

Sep 19, 2014 17:32

Выступал сегодня на конференции BigData Russia в DI Telegraph (http://bigdatarussia.ru/, я говорю тут http://youtu.be/oA4wYVQ8X_w?t=36m34s и ещё пара моих реплик дальше -- http://youtu.be/9Bh1dyL4bNQ), высказал пару-тройку не новых мыслей:

1. Термин BigData чем дальше в лес, тем более маркетинговый -- зонтик для каких угодно алгоритмов над какими угодно данными, и не в величине этих данных дело. Оговорочки докладчиков типа "большие BigData" много чего стоят. Можно говорить просто Data, не ошибётесь (ivbeg в своём выступлении на этой конференции так и сказал, что сегодня пик популярности термина, а дальше он сдохнет так же быстро, как Internet 2.0, Internet 3.0 и прочие из этой серии. Дальше будут просто Data -- и я с Иваном в этом вопросе совершенно согласен).

2. Современное программирование всё больше сводится ко всё более и более простым и единообразным алгоритмам, которые выполняются над всё более кучерявыми и кучерявыми данными. Я бы перефразировал Dijkstra с его "программа=алгоритм+данные": информация получается от алгоритмической переработки относительно независимых от этих обработок данных (в этом и была идея баз данных и языков моделирования в отличие от простого распухания языков программирования и их моделей данных), при этом алгоритмов переработки может быть много, так что информацию можно извлечь самую разную. Информация -- это когда мы понимаем, о чём речь и можем использовать её для действия. Данные -- это информация в консервах, они мертвы в плане их понимания, пока они не оживлены какой-то интерпретацией. Данные "X=10" мертвы (хотя и полны синтаксиса), пока вы не понимаете, что в окружающем мире это означает (семантика) и каков смысл этого заявления (прагматика).

Далее жёсткий тезис: computer science это про алгоритмику по большей части, а вот про моделирование данных, про соотношение данных и реального мира -- этот кусок потерян и в образовании, и в программной инженерии. Так что с данными работают "на коленке", и уровень работы с данными в переложении на уровень работы с алгоритмами -- это примерно как если бы сортировать главным образом пузырьком, и радостно говорить, что слышали о наличии каких-то других методов сортировки, но это "большая наука".

3. Все эти дискуссии про открытые и закрытые данные -- это политические дискуссии. Что у одних боевики, то у других ополченцы. Что у одних разведчики-герои, у других шпионы-гады. Что одни хотят открыть, другие хотят закрыть. И пока нет чётких моральных ориентиров, участвовать в таких дискуссиях бессмысленно.

К вопросу о морали: одна из докладчиц рассказала, что презентуемая разработка наследует многие онтологические решения, отработанные на лингвистическом софте для генерации текстов дорвеев (это хитрый способ спамить и обманывать людей, чтобы получать лишние переходы на рекламируемые страницы за счёт жуткого информационного загрязнения интернета, сбивания с толку поисковых машин и т.д.). На мой вопрос, крепко ли ей спится, вопрос был утвердительный: этими технологиями можно, оказывается, гордиться! "Ничего личного, профессиональная работа как работа". С такими этическими установками открытая информация будет в том числе и полученная в результате взлома сервера, а закрытая информация -- в результате взрыва сервера. Ничего страшного, цель оправдывает средства, "работа как работа".

4. Основной тезис про семантику и онтологии:
-- семантика (трипл-сторы, графовые базы данных и т.д.) снимают проклятие табличных и объект-ориентированных представлений. В факт-ориентированных представлениях не нужно каждый раз проводить переструктурирование схемы базы данных при добавлении нового куска схемы данных. Триплы сожрут всё и не подавятся.
-- онтология появляется там и тогда, где и когда нужно объединять данные для осмысленной их обработки, а не просто хранить разнородную информацию.
-- это независимые ходы. Вполне можно работать с онтологиями в объектно-ориентированных базах данных (например, современные PLM/CAD/CAE именно так устроены: в них есть upper ontology, в которой прописано общее устройство мира -- наличие функциональных объектов, физических объектов, процессов и т.д., но модель данных объект-ориентированная или даже реляционная), можно без онтологий работать с семантическими моделями данных (так работают с OWL-онтиками, т.е. факт-ориентированными описаниями отдельных кусочков мира, которые затем оказываются абсолютно неинтегрируемыми друг с другом). Конечно, онтологическая и семантическая работа одновременно является выигрышной, но learning curve таких решений запредельно велика, ибо этот подход поддерживается пока крайне малым числом инструментов. В IT побеждают не столько хорошие идеи, сколько хорошие инструменты. Так что для массового распространения семантического и онтологического одновременно подхода в работе с данными придётся немного подождать. Disclaimer: TechInvestLab как раз делает такой инструмент -- .15926 Editor (http://techinvestlab.ru/dot15926Editor -- кстати, мы позавчера выложили вторую бету версии 1.5, качайте и пользуйтесь).

5. Основной тренд -- это гибридные вычисления над данными, когда одновременно задействуются самые разные алгоритмы работы с одними и теми же данными: численные-статистические (все эти deep learning) и логические-структурные (логический вывод). Необходимость гибридных вычислений уже осознана (только на статистике или только на логическом выводе очень далеко в задачах искусственного интеллекта не уедешь -- нужно исхитриться использовать и то, и другое), но примеров и killer application пока единицы. Наиболее вероятно, что эти гибридные вычисления появятся где-то в обработке текстов и понимании языка: когда удастся объединить и простоту статистического машинного обучения и прецизионную точность работы с правилами при обработки каких-то важных нюансов смысла. Но в этой сфере ещё пахать и пахать.

UPDATE: неожиданно в FB несколько содержательных комментов к этому посту -- https://www.facebook.com/ailevenchuk/posts/10203228046836034
Previous post Next post
Up