Вступление
Данная статья предназначена для тех, кто знаком с таким понятием как онтология хотя бы на начальном уровне. Если Вы не знакомы с онтологиями, то, скорее всего, Вам будет не ясна цель онтологий и данной статьи в частности. Советую ознакомиться с данным явлением, прежде чем начать чтение данной статьи (возможно хватит даже статьи с Википедии).
Итак Онтология - это детальная характеристика некой рассматриваемой предметной области. Такая характеристика должна быть дана на каком-либо четко сформулированном языке. Для описания онтологий можно использовать методологию IDEF5, которая имеет в своем арсенале 2 языка:
- Схематический язык IDEF5. Этот язык является визуальным и использует графические элементы.
- Текстовый язык IDEF5. Этот язык представляется в виде структурированного текста.
В данной статье будет рассмотрен первый вариант - схематический язык. О текстовом поговорим в следующих статьях.
Объекты
В схематическом языке, как уже было сказано, используются графические элементы. Для начала следует рассмотреть основные элементы данного языка.
Зачастую, в онтологии используются как обобщенные сущности, так и конкретные объекты. Обобщенные сущности называются видами. Изображаются они в виде окружности с меткой (названием объекта) внутри:
Виды представляют собой совокупность отдельных экземпляров данного вида. То есть такой вид как "Автомобили" может представлять целую совокупность отдельно взятых автомобилей.
В качестве экземпляров такого вида могут выступать конкретные автомобили, либо отдельные виды техники, либо отдельные марки. Всё зависит от контекста, предметной области и ее уровня детализации. Например, для автомастерской важны будут конкретные автомобили как физические сущности. Для ведения некой статистики по продажам в автосалоне будут важны конкретные модели и т.д.
Отдельные экземпляры видов обозначаются аналогично самим видам, только обозначаются точкой в нижней части окружности:
Также в рамках обсуждения объектов стоит упомянуть такие объекты как процессы.
Если виды и экземпляры - это, так называемые, статические объекты (не изменяющиеся во времени), то процессы являются динамическими объектами. Это значит, что данные объекты существуют в некий строго определенный промежуток времени.
Например, можно выделить такой объект как процесс изготовления автомобиля (раз уж речь пошла о них). Интуитивно понятно, что данный объект существует только во время непосредственно изготовления этого самого автомобиля (строго определенный промежуток времени). Стоит иметь в виду, что данное определение условно, ибо такие объекты как автомобиль также имеют свой срок службы, срок годности, существования и т.п. Однако не будем вдаваться в философию и в рамках большинства предметных областей можно принять, что экземпляры, а уж тем более виды существуют вечно.
Процессы изображаются в виде прямоугольника с меткой (наименованием) процесса:
Процессы используются в схемах перехода одних объектов в другие. Подробнее об этом будет рассказано далее.
Помимо процессов, в таких схемах используются логические операторы. Тут все достаточно просто для тех, кто знаком с предикатами, булевой алгеброй или программированием. В IDEF5 используются три основных логических оператора:
- логическое И (AND);
- логическое ИЛИ (OR);
- исключающее ИЛИ (XOR).
В стандарте IDEF5 (http://idef.ru/documents/Idef5.pdf - большинство информации из данного источника) определено изображение логических операторов в виде малых окружностей (по сравнению с видами и экземплярами) с меткой в виде символов. Однако в разрабатываемой графической среде IDEF5 мы отошли от данного правила по многим причинам. Одна из них - сложная идентификация этих операторов. Поэтому мы используем текстовое обозначение операторов с идентификационным номером:
Пожалуй на этом с объектами закончим.
Отношения
Между объектами существуют отношения, которые в онтологии означают правила, которые определяют взаимодействие между объектами и из которых получаются новые выводы.
Обычно, отношения определяются типом схемы, используемой в онтологии. Схема - это совокупность объектов онтологии и отношений между ними. Различают следующие основные виды схем:
- Схемы композиции.
- Схемы классификации.
- Схемы переходов.
- Функциональные схемы.
- Комбинированные схемы.
Также иногда выделяют такой вид схем как экзистенциальные. Экзистенциальной схемой называют совокупность объектов без отношений. Такие схемы просто показывают, что в некой предметной области существует некий набор объектов.
Ну а теперь по порядку о каждой из видов схем.
Схемы композиции
Данный тип схем используется для представления состава какого-либо объекта, системы, структуры и т.д. Типичный пример - детали автомобиля. В самом укрупненном составе, автомобиль состоит из кузова и трансмиссии. В свою очередь, кузов делится на раму, двери и прочие детали. Такую декомпозицию можно продолжать дальше - все зависит от необходимого уровня детализации в данной конкретной задаче. Пример такой схемы:
Отношения композиции отображаются в виде стрелки с наконечником на конце (в отличии, например, от отношения классификации, где наконечник в начале стрелки, подробнее далее). Такие отношения могут быть подписаны меткой как на рисунке (часть).
Схемы классификации
Схемы классификации призваны выражать определение видов, их подвидов и экземпляры видов. Например, автомобили могут быть легковыми и грузовыми. То есть вид "Автомобиль" имеет два подвида. ВАЗ-2110 - конкретный экземпляр подвида "Легковой автомобиль", а ГАЗ-3307 - экземпляр подвида "Грузовой автомобиль":
Отношения в схемах классификации (подвид или конкретный экземпляр) имеют вид стрелки с наконечником в начале и, также как и в случае со схемами композиции, могут иметь метку с наименованием отношения.
Схемы переходов
Схемы такого типа необходимы для отображения процессов перехода объектов из одного состояния в другое под воздействием некого процесса. Например, после процесса покраски красной краской черный автомобиль становится красным:
Отношение перехода обозначается стрелкой с наконечником в конце и с кружком в центре. Как видно из схемы, процессы относятся к отношениям, а не к объектам.
Помимо обыкновенного перехода, представленного на рисунке, существует строгий переход. Он используется в тех случаях, если переход в данной ситуации не очевиден, однако нам важно его подчеркнуть. Например, монтаж зеркала заднего вида на автомобиль не является значительной операцией если рассматривать процесс сборки автомобиля глобально. Однако в некоторых случаях необходимо выделить данную операцию:
Строгий переход обозначается аналогично обычному переходу, за исключением двойного наконечника на конце.
Обычный и строгий переходы могут быть также помечены как мгновенные. Для этого в центральный кружок добавляется треугольник. Мгновенные переходы используются в тех случаях, когда время перехода настолько мало, что совершенно незначительно в рамках рассматриваемой предметной области (меньше минимально значимого отрезка времени).
Например, при хотя бы малейшем повреждении автомобиля можно считать его поврежденным и его цена резко падает. Однако большинство повреждений происходит мгновенно, в отличии от старения и износа:
В примере представлен строгий переход, однако можно использовать и обычный переход как мгновенный.
Функциональные схемы
Такие схемы используются для указания структуры взаимодействия между объектами. Например, автомеханик проводит техобслуживание автомобилей, а менеджер автосервиса принимает заявки на ремонт и передает их автослесарю:
Функциональные отношения изображаются прямой линией без наконечника, но иногда с указанием метки, которая является наименованием отношения.
Комбинированные схемы
Комбинированные схемы являются сочетанием ранее рассмотренных схем. Большинство схем в методологии IDEF5 - комбинированные, поскольку редко встречаются онтологии, использующие только один вид схем.
Во всех схемах зачастую используются логические операторы. За счет их использования можно реализовать отношения между тремя, четырьмя и более объектами. Логический оператор может выражать некую общую сущность, над которой осуществляется процесс или которая участвует в другом отношении. Например, можно объединить предыдущие примеры в один следующим образом:
В конкретном случае в комбинированной схеме используются схема композиции (зеркало + автомобиль без зеркала = автомобиль с зеркалом) и схема перехода (автомобиль с зеркалом под воздействием процесса покраски красной краской становится красным автомобилем). Причем автомобиль с зеркалом не выражается явно - вместо этого указывается логический оператор И.
Заключение
В данной статье я постарался описать основные объекты и отношения в методологии IDEF5. В качестве примера я использовал предметную область, связанную с автомобилями, поскольку на их примере оказалось гораздо проще строить схемы. Однако схемы IDEF5 могут быть использованы в любой другой области знаний.
Онтологии и анализ знаний о предметной области является довольно обширной и трудоемкой темой. Однако в рамках IDEF5 все оказывается не так уж и сложно, по крайней мере, азы данной тематики усваиваются довольно просто. Цель же моей статьи - привлечь новую аудиторию к проблеме анализа знаний, пусть и за счет такого примитивного инструмента IDEF5 как графический язык.
Проблема графического языка в том, что с его помощью нельзя достаточно четко сформулировать некоторые отношения (аксиомы) онтологии. Для этого есть текстовый язык IDEF5. Однако на начальном этапе графический язык может быть очень полезен для формулировки начальных требований к онтологии и определения вектора разработки более подробной онтологии на текстовом языке IDEF5 или в любом другом средстве.
Надеюсь данная статья станет полезна для начинающих в данной области, может быть даже для тех, кто уже давно занимается вопросом онтологического анализа. Весь основной материал данной статьи переведен и осмыслен был позаимствован из стандарта IDEF5, на который я ссылался раньше (дублирую).