Миф семантического веба
В сфере семантического моделирования сложилась довольно странная ситуация: в качестве базовых используется набор стандартов и спецификаций от W3C, заточенных под проект “семантического веба” (RDF/OWL, SPARQL и пр.), хотя сам проект не только не реализован на данный момент, но и, по всей видимости, никогда не будет воплощен вследствие сомнительности исходных гипотез.
Семантический веб мыслился его автором Тимом Бернерсом Ли как следующий этап развития интернета. Идея была вполне рациональной: надо соединить все ресурсы сети не бессодержательными ссылками, отправляющими пользователя с одной страницы на другую, а осмысленными (семантическими) связями. Для этого предлагалось присвоить каждой онлайн и даже оффлайн сущности (объекту, свойству) уникальный идентификатор и объединить эти сущности в единый граф. После чего пользователи смогли бы быстро и точно находить нужную информацию, а самое главное, и у компьютеров появлялся бы доступ к смысловому содержанию сети. То есть ставилась цель создать распределенный граф знаний, связывающий в едином сетевом пространстве семантически определенные данные, с возможностью их машинной обработки и логического вывода новых фактов.
Так описанная идея семантической сети выглядит не только актуальной, востребованной, но и вполне реализуемой с использованием современных технологий — таких, как одноранговые сети с устойчивыми к атакам алгоритмами консенсуса, криптографическая идентификация пользователей и криптографическая же защита данных. Но основателями проекта исходно были приняты сомнительные архитектурные и идеологические решения, которые так и оставили семантический веб в статусе красивой мечты.
Поскольку основной целью создания семантического веба мыслилось совместное использование информации в интернете, в качестве технологической платформы проекта был выбран этот самый интернет, то есть хаотическая свалка сайтов, контентом которых распоряжаются не авторы, а владельцы доменов. Ориентация на современную сеть с необходимостью определила базовые принципы проекта: (1) использование в качестве основы для идентификаторов ресурсов (URI) интернет-адреса, (2) возможность любому делать утверждение о любом ресурсе, (3) предположение об открытом мире, то есть неполноте информации. Эти принципы и явились главными проблемами.
Прежде всего, очевидно, что адреса в интернете это не то, что может служить основой идентификации сущностей. Домен может сменить собственника, может быть заброшен, да и просто технически недоступен. Структура имен внутри домена может произвольно меняться. Не говоря о том, что множество разношерстных технологий и движков, на основе которых строятся сайты, не придерживаются никаких стандартов формирования адресов.
Но основной формальной причиной провала проекта семантического веба следует признать именно второй базовый принцип, то есть надежду на то, что единый сетевой семантический граф будут строить владельцы сайтов. Хотя уже при зарождении идеи проекта было очевидно, что владельцы сайтов пойдут на любой подлог, чтобы обмануть поисковые роботы (вплоть до прописывания на страницах невидимого текста и манипуляций с ключевыми словами). Среди тех же, кто честно захотел бы выполнить семантическую разметку страниц, справились бы с задачей только единицы. Но даже в идеальном варианте, если бы на все существующие сайты была грамотно накинута семантическая сеть, проект все равно бы не заработал. Ведь тогда вскрылось бы очевидное: мы имеем дело с сотнями и тысячами дубликатов одного и того же ресурса (текста, изображения, ролика) с разными идентификаторами (адресами). Да к тому же, у большинства экземпляров одной сущности не совпадали бы свойства, ведь «любой имеет право делать утверждение о любом ресурсе». Ну и понятно, что найти среди этих копий авторский оригинал не представляется возможным.
И конечно же, возникли большие проблемы и с третьим принципом, провозглашающим презумпцию открытого мира, то есть подразумевающего возможность свободного добавления фактов в общую сеть. Остановимся на нем подробнее.
По сути, идея открытого мира унаследована от стандартного интернета, где каждый волен добавлять любые домены, страницы, сущности и ссылаться при этом на любые другие сущности. Но семантический граф тем и отличается от ссылочной сети, что должен устанавливать логические, в идеале формально проверяемые, отношения между утверждениями о сущностях, а следовательно, для того, чтобы быть непротиворечивым, должен быть замкнутым. Составитель семантического графа, моделируя некоторый фрагмент предметной области, должен исходить из строгой концептуальной схемы, в которой принципиально недопустимы неоднозначность терминологии, неуникальность идентификаторов и, тем более, произвольное добавление утверждений любыми акторами. То есть, если и говорить об открытости логического мира, то эта открытость должна подразумевать свободное добавление в граф новых замкнутых моделей, а не произвольных фактов. Сеть должна составляться из независимых предметных и уровневых онтологий, взаимодействие между которыми обеспечивается использованием общих словарей. Требуется строго разделять две задачи: (1) построение онтологии предметной области и (2) решение проблемы взаимодействия/соотнесения разных онтологий, то есть согласование идентификаторов сущностей, поименования типов и логических ограничений для согласования обмена данными.
Следует также признать ошибочным решением и ориентацию проекта семантического веба на создание единственно верного, непротиворечивого графа, построенного по канонам формальной (монотонной) логики. С таким подходом еще можно согласиться при построении фиксированной базы знаний в некоторых практически завершенных предметных областях (география, инженерные стандарты и т.п.). Однако инструмент моделирования онтологий нужен не для описания статичных структур, а для поддержки функционирования реальных сложных систем, в которых не только во время их становления, но и в итоговом состоянии недостижимы монотонность и непротиворечивость описания. Тут стоит признать, что возникновение ошибки при построении системы является фактом, который изменяет ее состояние, и игнорирование этого факта может привести к катастрофическим последствиям. То есть логика семантического графа не должна быть монотонной. И тут следует вспомнить, что авторы идеи семантического веба оказались не единственными наступившими на грабли единой онтологии – после многолетних попыток построения единого непротиворечивого семантического пространства небезызвестный проект CYC отказался от этой идеи и перешел на работу с микротеориями – локально замкнутыми онтологиями отдельных предметных областей.
По сути, ошибка при проектировании инструментов семантического веба заключалась в том, что не было выявлено и учтено различие между двумя задачами. Первая — это создание локальной онтологии предметной области: добавление в нее утверждений, валидированных локальными же (оффлайн и онлайн) средствами, логический вывод новых утверждений по правилам, встроенным в локальную онтологию. Вторая — соединение локальных онтологий в единый сетевой граф и попытка получения выводов из множества независимых данных. Очевидно, что даже если все сетевые источники данных используют одинаковые словари и каждый из них сам по себе логически безупречен, то ответы, полученные на запросы к совокупному графу (если это вообще возможно) будут иметь принципиально иной статус достоверности по сравнению с результатами, полученными в каждой локальной онтологии.
Описанная разница в работе с локальными онтологиями и общим семантическим графом может быть формально выражена в терминах открытости мира: запрос к сети должен исходить из презумпции открытости мира, а логика работы с локальными онтологиями чаще всего будет строиться на гипотезе замкнутого мира. Можно сказать, что мир должен быть открыт, но не для отдельных утверждений, а для целостных онтологий.
Вот и получается, что стандарты W3C продолжают разрабатываться под мифический семантический веб, а все, кто пытается использовать их в реальных проектах, то есть для создания онтологий предметных областей, вынуждены постоянно придумывать костыли, чтобы получить работающий продукт.
(Продолжение следует).