В предыдущем тексте (Мифы семантической технологии) не без доли эпатажа утверждалось, что в айтишной семантике нет никакой семантики. Хотя, конечно, надо отдельно отвечать на два вопроса: (1) содержат ли данные смысл? и (2) понимает ли этот смысл компьютер? Второй вопрос оставим философам, хотя ответ на него и так очевиден. Как очевиден и ответ на первый: информационные системы для того и нужны, чтобы обрабатывать информацию, то есть осмысленные, семантически определенные данные. При этом, конечно, надо понимать, что осмысленными эти данные являются только для человека, который исходно продуцирует эти данные, пишет программу для их обработки и в конечном счете воспринимает их смысл.
Разные IT-системы по-разному относятся к содержанию данных. Есть приложения, которые индифферентны к смыслу, то есть обрабатывают данные, полностью игнорируя их содержание. К таким следует отнести простейшие программы, работающие с текстом, звуком, изображением. Их алгоритмы не ориентируются на содержание обрабатываемых файлов. Текстовому редактору безразлично, загружен ли в него бизнес-договор, научная статья или домашнее задание школьника.
Остальные же IT-системы чувствительны к семантике, то есть так или иначе реагируют на содержание данных. Такие системы, в отличие от систем первого типа, хранят данные не в “гладких” файлах, а в виде структурированных массивов с разбиением на типы и значения. Вот эту самую структуру данных и следует ассоциировать с семантикой. Далее следует заметить, что существует два способа задания семантики данных: (1) посредством архитектуры системы, например, с помощью структуры таблиц базы данных, и (2) конфигурированием самих данных. То есть семантика данных либо жестко определяется структурой приложения, либо может быть независимой от приложения, вшитой в сами данные. И второй способ структурирования данных, когда модель данных определяется самими данными, мы и называем семантическим.
Итак, следует выделить особый тип IT-систем, оперирующих специальным семантическим форматом данных. Основной отличительной чертой семантических систем является то, что алгоритмы обработки данных задаются не архитектурой приложения (структурой БД или программным кодом), а самими данными: значения данных, их типизация и логические отношения записываются в виде массива унифицированных по формату утверждений. То есть, с одной стороны, мы имеем формат, с помощью которого данные описывают сами себя, свою семантику, а с другой, — универсальные приложения, которые обрабатывают данные произвольной семантики при условии, что они соответствуют формату. И вот тут, действительно, так и тянет сказать, что семантические системы понимают смысл данных, хотя, конечно, речь должна идти только о формальном отличении одного смысла от другого, без какого-либо понимания со стороны компьютера.
Здесь, конечно, следует заметить, что на данный момент семантические системы еще не в полной мере достигли уровня своих несемантических конкурентов. Семантическая разметка пока позволяет фиксировать только статическую структуру данных: описывать сущности, свойства, индивиды, значения свойств индивидов, устанавливать между сущностями отношения соподчинения, а также задавать правила вывода новых утверждений. То есть современная семантическая система — это по сути универсальное хранилище данных с возможностью реализации сложного поиска и генерации новых данных, согласно содержащимся в самих данных аксиомам и правилам. Причем хранилище может быть как распределенным (сетевым), так и локальным. Для полного счастья в технологии не хватает спецификации описания действий, то есть метода встраивания в семантические данные моделей бизнес-процессов.
Попробуем выделить преимущества семантических систем относительно стандартных и условия, необходимые для реализации этих преимуществ (описание идет без ссылок на какие-либо стандарты).
Прежде всего, семантические системы — это универсальные приложения, не привязанные жестко к предметным областям. Для работы с различными моделями данных в приложение не требуется вносить какие-либо изменения, необходимо только с помощью специальных языков описать структуру предметной области, то есть создать ее онтологию, и загрузить онтологию вместе с фактическими данными в приложение. Причем структура данных в любой момент может свободно модифицироваться, дополняться новыми концептами, отношениями, правилами.
Очевидно, что семантические приложения в общем случае работают медленнее тех, структура данных и алгоритмы которых жестко прописаны в коде. Однако существует множество бизнес-процессов, для которых важнее оперативность их моделирования и возможность свободной модификации моделей, чем скорость работы приложения.
К наиболее важным преимуществам семантической технологии следует отнести автоматизацию обмена данными. Благодаря универсальному формату описания данных появляется возможность свободного взаимодействия независимых приложений. Для полноценной реализации этой возможности необходимо соблюсти два условия: (1) использование приложениями единых словарей, содержащих определения сущностей, и (2) поддержка приложениями уникальной идентификация сущностей, предотвращающей коллизии. Словари должны быть составлены в формате семантических данных, и их элементы также должны иметь уникальные идентификаторы. В результате получаем возможность коллективного использования онтологий и свободного (без всяких API) обмена данными.
Семантическое представление данных, то есть совмещение в одном массиве фактических данных и их концептуальной схемы, позволяет реализовывать сложные варианты поиска с учетом всевозможных условий и зависимостей. Причем поиск может вестись не только по локальному хранилищу онтологий, но и по множеству приложений в сети.
Итак, основная задача семантических технологий — это унификация работы с данными с целью оптимизации построения символьных моделей предметных областей, автоматизации обмена данными между независимыми приложениями и детализации поиска данных. Задача решается: (1) включением метаданных в сами данные, (2) унификацией формата данных, (3) введением уникальной идентификации данных, (4) стандартизацией словарей и правил вывода.
Продолжение Семантика и деятельность
Разные IT-системы по-разному относятся к содержанию данных. Есть приложения, которые индифферентны к смыслу, то есть обрабатывают данные, полностью игнорируя их содержание. К таким следует отнести простейшие программы, работающие с текстом, звуком, изображением. Их алгоритмы не ориентируются на содержание обрабатываемых файлов. Текстовому редактору безразлично, загружен ли в него бизнес-договор, научная статья или домашнее задание школьника.
Остальные же IT-системы чувствительны к семантике, то есть так или иначе реагируют на содержание данных. Такие системы, в отличие от систем первого типа, хранят данные не в “гладких” файлах, а в виде структурированных массивов с разбиением на типы и значения. Вот эту самую структуру данных и следует ассоциировать с семантикой. Далее следует заметить, что существует два способа задания семантики данных: (1) посредством архитектуры системы, например, с помощью структуры таблиц базы данных, и (2) конфигурированием самих данных. То есть семантика данных либо жестко определяется структурой приложения, либо может быть независимой от приложения, вшитой в сами данные. И второй способ структурирования данных, когда модель данных определяется самими данными, мы и называем семантическим.
Итак, следует выделить особый тип IT-систем, оперирующих специальным семантическим форматом данных. Основной отличительной чертой семантических систем является то, что алгоритмы обработки данных задаются не архитектурой приложения (структурой БД или программным кодом), а самими данными: значения данных, их типизация и логические отношения записываются в виде массива унифицированных по формату утверждений. То есть, с одной стороны, мы имеем формат, с помощью которого данные описывают сами себя, свою семантику, а с другой, — универсальные приложения, которые обрабатывают данные произвольной семантики при условии, что они соответствуют формату. И вот тут, действительно, так и тянет сказать, что семантические системы понимают смысл данных, хотя, конечно, речь должна идти только о формальном отличении одного смысла от другого, без какого-либо понимания со стороны компьютера.
Здесь, конечно, следует заметить, что на данный момент семантические системы еще не в полной мере достигли уровня своих несемантических конкурентов. Семантическая разметка пока позволяет фиксировать только статическую структуру данных: описывать сущности, свойства, индивиды, значения свойств индивидов, устанавливать между сущностями отношения соподчинения, а также задавать правила вывода новых утверждений. То есть современная семантическая система — это по сути универсальное хранилище данных с возможностью реализации сложного поиска и генерации новых данных, согласно содержащимся в самих данных аксиомам и правилам. Причем хранилище может быть как распределенным (сетевым), так и локальным. Для полного счастья в технологии не хватает спецификации описания действий, то есть метода встраивания в семантические данные моделей бизнес-процессов.
Попробуем выделить преимущества семантических систем относительно стандартных и условия, необходимые для реализации этих преимуществ (описание идет без ссылок на какие-либо стандарты).
Прежде всего, семантические системы — это универсальные приложения, не привязанные жестко к предметным областям. Для работы с различными моделями данных в приложение не требуется вносить какие-либо изменения, необходимо только с помощью специальных языков описать структуру предметной области, то есть создать ее онтологию, и загрузить онтологию вместе с фактическими данными в приложение. Причем структура данных в любой момент может свободно модифицироваться, дополняться новыми концептами, отношениями, правилами.
Очевидно, что семантические приложения в общем случае работают медленнее тех, структура данных и алгоритмы которых жестко прописаны в коде. Однако существует множество бизнес-процессов, для которых важнее оперативность их моделирования и возможность свободной модификации моделей, чем скорость работы приложения.
К наиболее важным преимуществам семантической технологии следует отнести автоматизацию обмена данными. Благодаря универсальному формату описания данных появляется возможность свободного взаимодействия независимых приложений. Для полноценной реализации этой возможности необходимо соблюсти два условия: (1) использование приложениями единых словарей, содержащих определения сущностей, и (2) поддержка приложениями уникальной идентификация сущностей, предотвращающей коллизии. Словари должны быть составлены в формате семантических данных, и их элементы также должны иметь уникальные идентификаторы. В результате получаем возможность коллективного использования онтологий и свободного (без всяких API) обмена данными.
Семантическое представление данных, то есть совмещение в одном массиве фактических данных и их концептуальной схемы, позволяет реализовывать сложные варианты поиска с учетом всевозможных условий и зависимостей. Причем поиск может вестись не только по локальному хранилищу онтологий, но и по множеству приложений в сети.
Итак, основная задача семантических технологий — это унификация работы с данными с целью оптимизации построения символьных моделей предметных областей, автоматизации обмена данными между независимыми приложениями и детализации поиска данных. Задача решается: (1) включением метаданных в сами данные, (2) унификацией формата данных, (3) введением уникальной идентификации данных, (4) стандартизацией словарей и правил вывода.
Продолжение Семантика и деятельность