Skip to content

Поиск или разработка онтологий

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

Однако вовсе не обязательно найдутся в явном виде все перечисленные уровни, даже в очень широко распространённой методике моделирования. И даже какой-то их минимум не всегда можно выявить. Строго говоря, невозможно определить какой-то уровень без определения уровня выше него, но можно иметь верхний уровень в неявном виде, и таким неявным верхнем уровнем чаще всего оказывается естественный язык.

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

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

Очень удобно взять уже кем-то разработанную мета-У модель. Её ведь не просто так разрабатывали, не просто ради совместимости данных. Онтологии предметных областей часто делаются лучшими специалистами из этих областей, и несут их взгляд на предметную область, являющийся самым передовом. Впрочем, бывает и наоборот – стандартизация всегда долгий процесс, и стандарт к моменту выпуска может уже сильно устареть.

Рекомендуется искать в первую очередь именно рабочие документы комитетов по стандартизации – они обычно отражают самые свежие взгляды. И лучше ориентироваться на разработки отраслевых консорциумов (типа OMG), чем на международные организации по стандартизации (типа ISO) – их процессы идут гораздо быстрее.

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

Например, уточняя в своей маркетинговой задаче «описание сообщества», я могу, используя принципы описания сообществ в целом, разработанные группой специалистов в этом деле, найти то, что для моего конкретного сообщества сейчас не работает или вообще не рассматривалось мною ранее.

В общем, превращать мета-У модель в мета-С – это допустимая и рекомендуемая операция, если вы знаете, какие более точные (специализированные) классы/типы объектов вам будут нужны. Мета-У-модель, поскольку она берется из книжки (из учебника, стандарта, и так далее) скорее всего, будет нуждаться в определённой до**работке напильником по месту. Так вы можете построить свою прикладную онтологию, допиливая то, что нашли в учебнике. Этот подход является противоположным тому, чтобы выделять объекты как есть, стихийно, и дальше попробовать придумать для них «хорошие» классы (типы), ожидая, что в какой-то момент они встроятся в подходящую верхнеуровневую онтологию.