Так как данное исследование нацелено на изучение предметно-ориентированного подхода к представлению знаний, можно привести сравнение некоторых его особенностей с особенностями решений, основанных на объектно-ориентированном подходе.
Итак, информационную основу портала составляет некая метаструктура или онтология, важным компонентом которой является описание понятий предметной области. Такой подход нашел отражение в технологии Protйgй, где реализовано представление объектов в виде иерархии классов, слотов, позволяющих описывать свойства и отношения между объектами этих классов. Основным преимуществом такого подхода можно назвать отделение процедурных знаний от декларативных, говорят Грибова В.В. и Клещев А.С., авторы публикации [7]. Однако это также означает, что декларативное представление знаний, то есть разработка методов решения для отдельных задач в интеллектуальных системах не является наилучшим подходом, так как он не обеспечивает четкое разделение между базой знаний и онтологией. Таким образом, Клещев А.С. утверждает, что, добившись этого разделения, формирование базы знаний будет разделено между инженерами по знаниям и экспертами, что позволит первым формировать методы сопровождения баз знаний, ориентированных на вторых, в той терминологии, на которой "специализирован" интеллектуальный портал.
Средство обработки описанной базы знаний, которое уже было упомянуто выше как "метод решения задач" определим как механизм логического вывода, то есть инструмент, осуществляющий процесс порождения информации (вычислительный процесс), которая будет получена "на выходе". Его роль заключается в построении пути (в случае организации семантической сети - пути по графу) по "входным" и "выходным" данным или в модификации пути (графа), в зависимости от полноты данных. В декларативных моделях данный механизм обрабатывает информацию независимо от ее смысла и содержания, и считается устаревшим. Поэтому здесь рассматривается процедурная модель, в основе которой лежит семантика, заложенная в описании всех элементов базы знаний, что существенно повышает эффективность поиска решений. Подсистема поиска информации предоставляет пользователю возможность задания запроса не только по ключевым словам, но и в терминах предметной области.
Интеллектуальный интерфейс - важнейшая составляющая интеллектуального портала. Интеллектуализация интерфейса на сегодняшний день набирает высокие темпы развития, новые машины способны понимать человека и от него теперь требуется намного меньше усилий, чтобы получить доступ к необходимой информации. Такой интерфейс может значительно отличаться от классического, но, несмотря на это, он имеет похожий набор требований [9]:
. поддержка взаимодействия интеллектуального портала и пользователя посредством web-браузера;
2. поддержка графического интерфейса пользователя: окна, иконки, меню, указатель (WIMP);
. эргономичность интерфейса, адаптация к особенностям "входных" и "выходных" данных.
Пользовательский интерфейс генерируется также на основе метаинформации, и обеспечивает работу эксперта без участия инженеров. Для настройки портала на конкретного пользователя или группу пользователей в его состав должна быть включена информационная модель. В частности, модель пользователя содержит тематические предпочтения, список дополнительно подключаемых/отключаемых ресурсов, способ визуализации страниц. Интерфейс также может быть реализован посредством агентов, которые будут обрабатывать поступающие в систему события, авторы [7] считают, что данный подход значительно облегчает реализацию интерфейса.
Эксперты должны иметь возможность редактировать базу знаний
(осуществляется через редактор контента), что организуется посредством
интерфейса, например, сгенерированного по онтологии, а онтологию, в свою
очередь формируют инженеры, через редактор онтологий, ориентированный на
метаструктуру (см. рис. 1.2.).
Рисунок 1.2 Семантически структурированные интеллектуальные
порталы
Семантические технологии web очерчивают общие рамки, позволяющие осуществлять обмен данными и их многократное использование в различных приложениях, корпорациях и даже сообществах. Семантические технологии web это эффективный способ представления данных в Интернете. Такую структуру также можно символически отождествить с базой данных, которая связана в глобальном масштабе с содержанием документов в Интернете. Причем эта связь осуществляется способом, понятным компьютерам.
Синтаксические конструкции семантической сети, на основе которой строится интеллектуальный портал, отображаются в виде команд и данных, понятных компьютеру, позволяя ему интерпретировать их и осуществлять логический вывод и вычисления для решаемой задачи поиска релевантной информации в сети.
Иллюстрация ниже (см. рис. 1.3.), показывает преимущество
портала, реализованного на базе семантической сети перед классическим
web-сайтом, так как семантическая сеть "видит" больше информации, чем
первоначально требует пользователь, то результатом запроса окажется более
широкое знание, с учетом всех релевантных запросу данных, что также доказывает
эффективность использования семантических сетей.
Рисунок 1.3 Запрос пользователя
Для систем искусственного интеллекта, к которым можно отнести и интеллектуальные порталы, существует только то, что уже в них представлено или может быть представлено, поэтому в области искусственного интеллекта самым распространенным определением онтологии является определение, данное в работе [9]. Согласно этому определению, онтология является точной спецификацией концептуализации. Под концептуализацией может пониматься упрощенное представление какой-либо области знаний, то есть абстракция этой области, построение которой направлено на достижение некоторой цели. Концептуализация включает сущности, такие как объекты, понятия и другие, существующие в предметной области, а также отношения между ними.
Семантическая сеть может быть использована для представления различных видов информации, являясь результатом абстракции синтаксиса языка конкретных областей знаний, представляет собой граф или множественные графы. Поэтому некоторые задачи преобразования семантической информации в различных областях профессиональной деятельности или возникающие на стыке нескольких областей можно сформулировать в терминах преобразования семантических сетей [17]. Например, к таким задачам относится задача отображения онтологий.
В последние годы выявлен рост числа исследований, связанный с изучением онтологий, в том числе и в работах по интеллектуализации web-порталов и сайтов. Цель таких проектов, как правило, заключается в разработке новых подходов к построению пространств знаний и средств работы с ними. Некоторые рассматривают онтологию как концептуальную "семантическую" систему, определяемую как основа базы знаний. Также существует мнение о том, что онтология - словарь или спецификация некоторой области.
Под онтологией понимается информация о том, как группируются разрозненные экземпляры, определяющие определенную предметную область. Эффективность обработки документов осуществляется посредством специального инструментария, который позволяет извлечь скрытую внутри онтологии информацию [19]. Разработка web-порталов, основанных на онтологиях - популярная тема, сосредотачивающая на себе все больше внимания исследователей в последние годы. Существуют различные подходы, использующие онтологии для концептуализации web-систем, а также предлагающие автоматическую генерацию порталов по онтологиям, что позволило бы реализовать интерфейс автоматически, так же как генерируется интерфейс по схеме базы данных. Язык web-онтологий (OWL, Web Ontology Language) является языком Semantic Web, созданным для представления онтологий.
Онтологии интеллектуальных порталов описывают как предметную область, релевантные ей ресурсы, совокупность терминов и отношений, семантически значимых для данной предметной области, так и правила, позволяющие делать утверждения об элементах исследуемой области. Взаимодействие пользователя с такими порталами происходит посредством эффективных интеллектуальных средств, таких как, например, семантическая индексация, для которой описываются связи понятий или онтология предметной области. Механизм скрытого семантического индексирования (LSI - Latent Semantic Indexing) используется для того, чтобы наполнять сайт релевантным контентом, и он высоко эффективен при поисковой выдаче. Некоторые специалисты, занимающиеся продвижением сайтов, уже широко используют данный механизм, так как он позволяет систематизировать хранящиеся на сайте данные более эффективным образом благодаря скрытой семантике текста.
К семантическим технологиям также относятся:
1) глобальная схема имен (URL);
2) стандартный синтаксис описания данных (RDF);
3) стандартные способы описания свойств данных (схема RDF);
4) стандартные способы описания связей между объектами данных (Web Ontology Language).
URL - это идентификатор web-ресурса, начинающиеся с http или ftp и определяющий структуру Интернета: все, что имеет URL, считается частью данной глобальной сети. Любые объекты, схемы или модели данных семантической сети должны иметь собственный уникальный адрес (URL).- это технология, предназначенная для моделирования метаданных о ресурсах в Интернете. Данная спецификация определяет синтаксис для описания ресурсов в таком виде, который способен понять компьютер [8].Web - технология, применяемая в качестве надстройки или расширения текущего Web, ориентированная на объединение данных из различных источников. Это основа поиска ответов на вопросы, которые возможно найти только в совокупности источников (базы знаний, инженерные системы знаний) нежели чем на отдельных ресурсах. Semantic Web позволит как машинам, так и людям искать, читать, воспринимать и использовать данные из Web для выполнения полезных задач [22].
Для того чтобы нагляднее проследить развитие представления данных в сети Интернет, а также понять преимущества и недостатки существующих решений, необходимо проанализировать и сравнить некоторые из технологий. Для примера будет использована технология OSTIS и активно развивающаяся технология SemanticWeb. Критерии, по которым они будут оцениваться в рамках данного анализа, описаны ниже:
) основная идея;
2) общий принцип построения архитектуры;
) язык;
) способ извлечения информации пользователем;
) средство обработки данных;
) инструмент-исполнитель;
) сложность реализации.
Для Semantic Web характерен такой способ представления данных, который радикально отличается от классического Web: запись информации в виде семантической сети с помощью онтологий. То есть построение концептуальных схем некоторых областей знаний. Обычно такие схемы состоят из структуры данных, содержащей все релевантные классы объектов, их связи и правила (теоремы, ограничения), принятые в этой области. Если одна система передает другой не только сами данные, но и информацию об их предметной сущности (смысле, семантике), это позволяет лучше абстрагировать обменивающиеся системы друг от друга, чем при использовании выгрузок в web-сервисах [13].
Проект OSTIS предлагает технологию близкую по идее к SemanticWeb: представление информации происходит в виде интеллектуального портала, т.е. такой логико-семантической модели, которая
) абсолютно не зависит от каких бы то ни было вариантов технической реализации проектируемой системы, т.е. является платформенно-независимой, вплоть до возможности использования принципиально новых компьютеров;
2) предполагает достаточно простую процедуру интеграции с логико-семантическими моделями других интеллектуальных систем;
) полностью и конструктивно отображает семантику (смысл) используемых знаний и суть используемых способов решения задач.
С формальной точки зрения результатом проектирования логико-семантической модели любой интеллектуальной системы является текст, включающий в себя:
) исходный текст базы знаний;
2) исходные тексты программ, описывающих различные операции обработки знаний, т.е. поведение агентов, осуществляющих обработку общей базы знаний;
) текст документации (исходный текст базы знаний help-системы, обеспечивающей всестороннее информационное обслуживание пользователей).
Таким образом, выявленные различия в сравниваемых технологиях описаны ниже (См. таблицу 1.1.).
Таблица 1.1. Сравнение технологий OSTIS и SemanticWeb
Semantic Web
OSTIS
Основная идея
Снабжение Интернет-страниц описаниями, которые
понятны как человеку, так и компьютеру
Хранение в виде в виде графа, реализованного в
Интернет-пространстве)
Общий принцип архитектуры
Сеть сайтов, использующих гиперссылки для
переходов от страницы к странице Язык
RDF
Семантические сети, построенные при помощи
sc-кода
Способ извлечения информации пользователем
Браузердля web-сайта
Интеллектуальный портал, "умеющий"
самообучаться (IMS. OSTIS)
Средство обработки данных
Онтология
Семантическая сеть
Инструмент-исполнитель
Агенты, использующие онтологии как базы знаний
Механизм логического вывода
Сложность реализации
Проблемы вычислительного характера,
необходимость наличия специфических знаний у разработчика
Проблемы логического характера, недостаток
готовых программных компонент, необходимость наличия специальных знаний и
навыков у разработчика, которые затруднительно получить ввиду недостаточной
популярности технологии
Также важной отличительной чертой является то, что OSTIS в
отличие от технологий SemanticWeb акцентирует внимание на разработку
семантически совместимых абстрактных моделей интеллектуальных систем, абсолютно
не зависящих от каких бы то ни было платформ (в том числе, от
Интернет-ориентированных платформ и от новых интеллектуальных компьютеров) [8].
Для различных предметных областей существуют многие способы
представления знаний, однако, те, что более эффективно для человека могут
описать одну область для другой будут не так информативны или понятны. Можно
выделить основные из существующих способов:
) текстовое представление информации на формальных или
естественных языках;
2) табличное представление информации;
) формульное представление информации;
) графическое представление информации.
Очевидно, что графическое представление информации для
человека является самым полным, так как с помощью него можно увидеть не только
структурные элементы некоторой области знаний, но также процессы и связи,
имеющиеся между ними. Ниже рассмотрены традиционные способы представления
знаний.
Термин "семантическая сеть" используется для
описания метода представления знания, основанного на сетевой структуре [11].
Этот метод является одним из наиболее эффективных методов хранения знаний.
Семантические сети состоят из узлов и дуг, их соединяющих. Иными словами,
семантическая сеть отображает совокупность объектов предметной области и
отношений между ними. При этом объектам соответствуют вершины сети, а
отношениям - соединяющие их дуги. В семантическую сеть включаются только те
объекты предметной области, которые необходимы для решения прикладных задач. В
качестве объектов могут выступать события, действия, обобщенные понятия или
свойства объектов. Вершины сети соединяются дугой, если соответствующие объекты
предметной области находятся в каком-либо отношении.
Достоинства семантических сетей:
·
выразительность
и наглядность, графическое отображение области знаний;
·
структура
системы знаний близка к структуре выражений естественного языка.
Недостатки семантических сетей:
·
семантическая
сеть не дает ясного представления о структуре предметной области, на которой
она "специализируется", что приводит к затруднениям в изменении
модели;
·
обработка
семантической сети требует наличия специального аппарата формального вывода;
·
поиск
решения или фрагмента сети может быть затруднен при громоздкой схеме знаний.
Ниже приведен пример базы знаний, реализованной на базе
технологии OSTIS (см. рис. 1.4.).
Рисунок 1.4 База знаний, спроектированная на основе
технологии OSTIS
Следующий способ представления знаний - фреймовые модели.
Фреймовая модель основана на концепции систематизированной модели памяти
человека, представляющая собой структуру, данные которой (фреймы) состоят из
слотов. Слоты могут быть элементом иерархии или конечным элементом (фрейм
нижнего уровня), они имеют свои значения, которые называются заполнителями
слотов.
К преимуществам фреймовых моделей можно отнести организацию
знаний, основанную на принципе наследования, что позволяет совершать анализ при
экономном расходе памяти и абстрагировании от ряда деталей. Также посредством
фреймовой модели возможна реализация знаний любой предметной области.
Основным недостатком фреймовых систем считается высокая
сложность, ввиду которой увеличивается трудоёмкость трансформации, что приводит
к снижению скорости обработки информации механизмом логического вывода. Однако
фреймовые модели не предполагают механизм логического вывода, разработчики
вынуждены осуществлять его самостоятельно, внедряя собственные процедуры.
Предметно-ориентированный язык (Domain Specific Language,
DSL) - это язык программирования или моделирования, созданный для использования
в рамках конкретной предметной области. С такими языками мы встречаемся
практически каждый день: SQL, shell-скрипты, языки описания пользовательского
интерфейса - это все примеры предметно-ориентированных языков, поскольку они
создавались для решения определенных задач в некоторой конкретной предметной
области [15].
При выборе инструментов решения какой-либо задачи перед
разработчиками или инженерами встает два варианта: использовать универсальное
средство, либо применить специализированные средства и инструменты, выбрать
нестандартный подход. Общие подходы и универсальные инструменты рассчитаны на
решение множества типовых задач, и потому, как правило, они не являются
оптимальными в случае, если стоящая перед разработчиками задача является
нестандартной и имеет много уникальных особенностей. Специализированные
средства и инструменты ориентированы на конкретную узкую область и
предоставляют средства для решения задач только этой области. Такие средства и
будут эффективны для решения подобных задач. Казакова А.С. утверждает, что
основными отличительными признаками предметно-ориентированного языка по
сравнению с традиционными языками (например, такими, как LISP, Fortran),
является "компактность самого языка и ограниченность выразительных средств
рамками одной конкретной предметной области" [10]. Также автор дает
собственное определение предметно-ориентированного языка: "термин
предметно-ориентированный язык (Domain Specific Language, DSL) обозначает язык
программирования или моделирования, применяющийся для решения конкретного круга
задач в терминах, максимально приближенных к данной предметной области"
[10].
В противопоставление традиционным языкам программирования,
которые нацелены непосредственно на выполнение определенных функций,
предметно-ориентированные языки нацелены на создание единой модели предметной
области [16].
Нельзя не заметить существование огромного множество
вариантов определений предметно-ориентированного языка. Предполагается, что
наиболее популярным на сегодняшний день является данное Мартином Фаулером, где
автор определяет предметно-ориентированный язык как "язык программирования
с ограниченными выразительными возможностями, ориентированный на некую
конкретную предметную область" [18].
Бобровикова О.И. [1] предлагает архитектуру
предметно-ориентированного языка в следующей форме (см. рис. 1.5.):
Рисунок 1.5 Архитектура предметно-ориентированного языка
Семантическая модель играет центральную роль,
предметно-ориентированный язык заполняет эту модель посредством этапа
синтаксического анализа. Однако семантическая модель может являться как
объектной, то есть сочетать в себе данные и обработку, структурной, то есть
представлять собой структуры данных, так и смешанной. Во многих системах
используется модель предметной области для охвата базового поведения
программной системы. Часто DSL заполняет значительную часть модели предметной
области. Обычно семантическая модель является множеством предметной области,
поэтому можно разделять понятия семантической модели и предметной области.
Ниже приведено подробное рассмотрение некоторых ключевых
особенностей существующих DSL, которые применяются при разработке мобильных
приложений, а также Web-структур.
Существуют различные способы проектирования динамичных
web-приложений, различного уровня сложности посредством технологии HTML5. Такие
приложения могут быть основаны как на front-end языках (JavaScript, Node. js, jQuery),
так и на предметно-ориентированных языках с генерацией года.
Ниже приведен обзор некоторых реализаций таких
предметно-ориентированных языков: PULP, WebDSL, WebLang. Это позволит
проанализировать возможности и методы их реализации.
. PULP - DSL для игровых мобильных HTML5 приложений,
помогающий абстрагироваться от недостатков JavaScript, машин, обладающих
внутренними состояниями и достичь кросс-платформенного воспроизведения, которое
генерируется в ходе трансформации.
Разработчики интерактивного контента и приложений для
мобильных устройств сталкиваются с огромным многообразием платформ (iOS, Google
Android Platforms, WebOS, Windows Mobile и многие другие), поэтому выбор
платформы может быть затруднительным. В исследовании [22] говорится о тенденции
использования HTML5, открывающей новые возможности поддержки мобильных
устройств в web-приложениях, посредством стандартизации способов использования
общих технологий для различных устройств и поддержкой языка разметки,
использующего стандартный синтаксис. Предметно-ориентированный язык PULP
нацелен на решение вопроса: "Как можно реализовывать интерактивный контент
(в частности, поддержку движения пальцев по сенсорной поверхности) в web для
следующего поколения платформ, при поддержке моделирования предметно-ориентированного
языка для конечных пользователей приложений с быстро осуществляемыми этапами
разработки". Основу языка или структурный скелет составляют изображения и
медиа-файлы, на основе которых в последствии генерируется работающее
приложение.- текстовый DSL, что позволяет разработчикам осуществлять больший
контроль над структурой приложения, рабочим пространством взаимодействия и
автоматизированное управление версиями. Генерация кода упрощает и ускоряет
этапы разработки, путем быстрого создания соответствующихHTML и JavaScript.
Сгенерированные артефакты транслируют пользовательский интерфейс элемента и
добавляют новые возможности взаимодействия.
По мнению авторов [22], основным преимуществом технологии
быстрого визуального прототипирования, основанной на графических объектах,
является то, что она позволяет разработчикам фокусироваться на исполняемых
графических объектах, которые структурируют опыт взаимодействия с
пользователем, исключая создание предопределенных элементов интерфейса.
. WebDSL - DSL, применяемый для моделей с большими
данными, состоит из меньших базовых подъязыков, включающих конструкции по
определению сущностей, страниц и бизнес-логики [23]. Базовым расширением языка
является модуль, в котором представлены абстракции более высокого уровня,
контроль доступа и основные рабочие процессы. На рисунке 1.6 представлен пример
программы описанной на WebDSL.
. WebLang - DSL, который обеспечивает простой
общедоступный метод проектирования архитектуры web-приложений, подходящий для
генерации тестируемого прототипа [20]. По мнению авторов, данный метод способен
уменьшить разрыв между UML моделированием и реализацией. Процесс разработки
данного языка предполагает MDD подход, а синтаксис языка максимально приближен
к естественной человеческой речи (в отличие от, например, XML). Данный
инструмент интегрирован в IBMEclipseIPE и в данный момент доступен для
платформы J2EEJBoss. Однако и другие сервисы и технологии позволяют
реализовывать данный метод, предполагая лишь расширение числа шаблонов и
проектирование и интеграцию новых модулей.
Инструменты WebLang симулируют и исполняют модель, после чего
одним неделимым действием генерируют приложение. Авторы в работе [20] ожидают,
что генерация целостного приложения преимущественна в использовании, нежели
генерация приложения по фрагментам. Это объясняется тем, что все генерируемые
файлы стандартны и могут быть легко модифицированы разработчиками, а само
приложение определяется централизованной и уникальной моделью.
Набор сущностей в каждом модуле образовывают архитектуру
языка, глобальный синтаксис выглядит как язык общего назначения, например, Java
или С. В то время как внутренняя спецификация языка основана на абстрагировании
от деталей, что приводит к упрощению технологии, синтаксический анализатор
обрабатывает базовые элементы или группы элементов прежде, чем они будут
сгенерированы в файлы.
Рисунок 1.6. Пример программы, описанной на WebDSL
На основе сделанного анализа, можно сказать, что языки более
гибкие по сравнению с существующими графическими редакторами, легко
модифицируемы и расширяемы.
Исследование возможностей технологии OSTIS показал, что
навыков инженера по знаниям недостаточно для разработки и сопровождения
интеллектуального портала, так как язык описания базы знаний сложен для
понимания и требует глубокого изучения. Логично было бы отказаться от
применения этой технологии, однако ее убедительные преимущества и особенности
говорят о том, что технология заслуживает внимания. Учитывая открытость
исходного кода в проекте OSTIS, попытку усовершенствования языковых средств
технологии путем углубленного анализа, можно считать целесообразной.
Ранее в работе была описана семантическая технология
проектирования интеллектуальных порталов OSTIS, в ходе описания были выявлены
особенности технологии, а также ряд причин (которые были перечислены выше),
объясняющих, почему данная технология актуальна и заслуживает внимания. В том
числе структурированное представление знаний, совместимость языковых средств с
принципами построения интеллектуальных систем, ориентация на абстрагирование от
особенностей, связанных с процессом разработки и внедрения интеллектуальных
систем. И хотя, заинтересованные исследователи, работающие в рамках проекта
OSTIS, нацелены на создание массовой технологии проектирования таких систем, им
удалось решить не все вопросы проектирования интеллектуальных систем.
На основании вышеперечисленного был описан метод достижения
данной цели - разработка предметно-ориентированного языка для проектирования
интеллектуальных порталов. Универсального и единого способа осуществления
данной задачи не было найдено. Поэтому было принято решение разбить задачу на
несколько этапов:
. Детальное изучение, анализ и описание элементов и
конструкций, использующихся при проектировании баз знаний порталов на базе
технологии OSTIS.
2. Выделение всех возможных метаструктур - метамножеств
(множеств, элементами которых являются множества), метаотношений, структур,
первичными и/или вторичными элементами которых являются знаки структур), иными
словами, определить наполнение метамодели языка.
3. Построение метамодели в среде Meta Language, на основе
проделанной работы. Данная метамодель будет являться описанием SC-кода,
включающий в число элементов множества и переменные. SC (Semantic Code) -
семантический язык представления знаний, ориентированный на описание сложно
структурированных предметных областей, обеспечивающий представление логических
высказываний самого различного вида и обладающий высокой степенью открытости
[6].
. Построение метамодели более высокого уровня декомпозиции,
отражающей элементы языка OSTIS.
. На основе полученной метамодели создать графическую модель
описания структуры интеллектуального портала для предметной области, освещающую
проекты конференций, связанные с тематикой DSM-подхода к разработке систем.
. Проанализировав выполненную работу с пункта 1 по пункт 5,
выявить и описать недостатки, присущие каждому из исследуемых в них объектов.
Определение требований, которым должен удовлетворять
разрабатываемый язык является крайне важным этапом процесса разработки
интеллектуальных порталов, так как предметно-ориентированный язык должен быть
универсальным, то есть доступным при разработке интеллектуальных порталов,
описывающих любые предметные области; понятным не только инженерам по знаниям,
но и экспертам предметной области.
Ряд проблем в области представления знаний, существующих на
сегодняшний день, обусловлен некоторыми факторами, играющими роль в проектировании
баз знаний. Сюда относятся отсутствие реализации или интеграции баз знаний,
сложности описания знаний посредством существующих языков, высокие требования к
квалификации разработчиков баз знаний, ограничения на модификацию языков, и
другие.
Более того, вышеприведенный обзор языка OSTIS выявил слабые
стороны в синтаксисе и структуре языка, которые могут препятствовать
дальнейшему развитию технологии. Для их преодоления были сформированы
нижеперечисленные требования, соблюдение которых приведет к усовершенствованию
языка.
1. Гибкость. Язык должен быть легко
модифицируемым. 3. Лаконичность. Данное требование
обеспечит повышение эффективности и снижение трудоемкости процесса разработки
интеллектуальных порталов. Поэтому язык должен быть лишен избыточных,
повторяющихся или неоднозначных элементов.
4. Интегрируемость. Разрабатываемый язык
направлен не только на изучение данного метода, но также на оптимизацию
технологии OSTIS, поэтому он должен быть свободно интегрирован в эту систему в
качестве ее надстройки. Так, разработчики и исследователи интеллектуальных
порталов смогут оценить предметно-ориентированный подход в этой области знаний.
5. Расширяемость. Это требование
удовлетворяет намерению расширять и наращивать язык в дальнейшем, поскольку
планируется применять данную разработку на практике.
Соблюдение вышеизложенных требований при разработке
предметно-ориентированного языка позволит создавать многоуровневые, легко
изменяемые модели, интегрировать и расширять базы знаний.
В рамках работы была исследована технология OSTIS, которая
позволяет представлять самые различные знания в виде
семантически-структурированных графов (семантических сетей), отражающих смысл
этих знаний. Как и все системы в мире, она имеет как преимущества, так и
недостатки.
Проект OSTIS зародился в Белоруссии. Минские разработчики с
2004 года, начали публиковать статьи и монографии, направленные на исследование
применения технологий искусственного интеллекта в процессе проектирования
интеллектуальных порталов. В последствие, они стали создавать массовую
семантическую технологию компонентного проектирования интеллектуальных систем
различного назначения, ориентированную на существенное сокращение сроков
разработки подобных систем. Если говорить об OSTIS как о деятельности, то
проект OSTIS является открытым и состоит из большого числа частных проектов,
предоставляет полный пакет документации по всем компонентам предлагаемой
технологии (включая исходные тексты соответствующих программных средств).
Если же трактовать OSTIS как технологию - то она представляет
собой комплекс средств и методов для проектирования интеллектуальных систем, а
также для совершенствования самой технологии. Следует подчеркнуть то, что сама
идеология интеллектуальных систем, обеспечение максимальной независимости
эволюции баз знаний от эволюции решателей задач, позволяет рассматривать
интеллектуальные системы как класс компьютерных систем, обладающих высокой
степенью открытости.
Итогом данной исследовательской работы являлась
спроектированная база знаний части выбранной предметной области - SC-граф,
содержащий в себе структурные единицы и связи между ними, различные по типам и
назначениям. Семантическая сеть позволяет представлять сложноструктурированную информацию
в виде графа, упрощать машинное кодирование посредством бинарных связок в
графе. Иными словами, является основой для такого интеллектуального портала,
который благодаря скрытой семантике знаний, размещенных на нем, будет
"понимать" запросы пользователя и предлагать ему множество
релевантной информации помимо искомого решения.код - один из возможных способов
визуального представления sc-текстов (текстовых языков или текстового
семантического кода) и sc. g-графов. SCg-код является абстрактным языком,
представляет собой достаточно простой компьютерный код семантических сетей. Его
можно рассматривать как универсальную основу машинного кодирования знаний в
памяти будущих компьютеров, ориентированных на обработку семантических сетей
[5].
Основополагающим принципом, заложенным в основу SCg-кода,
является то, что каждому sc-элементу в соответствие ставится sc. g-элемент
(графическое отображение).
Итак, в ходе проектирования базы знаний на основе данного
решения, а также его анализа были выявлены следующие основные его преимущества.
. В виде семантической сети можно представить любую
область знаний.
2. Открытый характер системы, возможность легко
модифицировать, наращивать и исправлять проектируемую базу знаний.
. Наличие средств SC-кода, предоставляющих возможность
регулирования визуальной массивности семантической сети, то есть производить
графическую декомпозицию, например, любой объект в графе можно преобразовать в
идентификатор, при этом, не нарушив семантики предметной области.
. Возможность описывать исчерпывающую информацию об
объекте в базе знаний.
Также были выявлены следующие недостатки языка:
. Система не предоставляет никаких подсказок по ходу
проектирования базы знаний БЗ, не комментирует ошибки.
2. Так как система является открытой, может дорабатываться
различными разработчиками, не исключено наличие в ней внутренних ошибок.
. Невыразительность, ненаглядность конструкций
SC-кода.
SC-код является абстрактным языком, следовательно, можно
разрабатывать различные графические уточнения SC-кода (например, SCg-код),
различные варианты изображения sc-конструкций в виде строк символов (например,
SCs-код), различные варианты машинного представления sc-конструкций в адресной
памяти традиционных компьютеров, а также в специальной структурно перестраиваемой
ассоциативной памяти будущих компьютеров, ориентированных на обработку баз
знаний. SC-код представляет собой достаточно простой компьютерный код
семантических сетей, который является не "инородным" представлением
семантических сетей, а их представлением тоже в виде семантических сетей, но
максимально простого вида - с минимальным алфавитом и c бинарными связками.язык
- один из возможных способов визуального представления sc-текстов или sc.
g-графов (описание конструкций языка приведено в Приложении A).код имеет
четырехуровневую структуру. Для построения предметно-ориентированного языка
необходимо рассмотреть каждый из уровней структуры подробно, для выделения
сущностей и связей, которыми представлен SCg-код.
Введение нескольких копий изображения одного и того же
sc-элемента, т.е. допущение многократного вхождения изображений одного и того
же знака можно отнести к числу дополнительных мер, обеспечивающих повышение
наглядности scg-текста, так как это означает, что в scg-тексте могут
встречаться синонимичные sc-элементы.
Поскольку два синонимичных sc-элемента семантически
представляют собой изображения одного и того же знака, они могут быть логически
склеены. Подчеркнем при этом, что возможность в языкеSC"склеивать"
синонимичные sc-элементы не только логически, но и физически придает этому
языку хорошие ассоциативные свойства, т.е. возможность поиска нужной информации
по связям.
SCg-ядро - это наиболее близкий способ представления
sc-текстов в графическом виде. Каждому элементу алфавита SCg-кода соответствует
элемент алфавита SCg-кода.
Тексты, записанные с помощью SCg-ядра удобны для иллюстрации
синтаксических и семантических свойств SCg-кода, но не удобны для широкого
практического использования в качестве языка визуализации sc-текстов, т.к. не
являются наглядными. Разработка SCg-кода как раз и направлена на разрешение
этого противоречия. В приложении А представлен алфавит SCg-языка.
Некоторым из sc. g-элементов могут быть приписаны строковые
идентификаторы, которые являются именами изображаемых sc-элементов (то как эти
идентификаторы представлены в базе знаний, будет описано далее). Это нужно для
того, чтобы пользователь мог читать sc. g-тексты. Указанные идентификаторы
могут быть:
) глобальными (системными), которые являются абсолютно
уникальными в рамках системы. В основном эти идентификаторы используются самой
системой и её разработчиками;
2) основными, которые являются уникальными в рамках
режима диалога, ориентированного на носителя соответствующего естественного
языка.
) дополнительными, являющиеся различными синонимами;
Второй уровень SCg-кода направлен на уменьшение количества
отображаемых на экране sc. g-элементов для повышения наглядности sc. g-текстов
[6]. Основная идея, которая лежит в основе SCg-кода второго уровня заключается
в том, что изображение наиболее часто используемых дуг принадлежности
sc-элементов к типовым (базовым) sc-множествам, можно заменить на некоторый,
характерный для них, графический признак.
Множество sc-узлов, кроме разбиения по признаку
константности, разбивается на следующие подмножества, по структурному признаку:
) множество sc-узлов, обозначающих небинарные связки;
2) множество sc-узлов, обозначающих структуры;
) множество sc-узлов, обозначающих ролевые отношения;
) множество sc-узлов, обозначающих неролевые
отношения;
) множество sc-узлов, обозначающих абстрактные
объекты, не являющиеся множествами;
) множество sc-узлов, обозначающих материальный
объект.
Принадлежность sc-узла к одному из выше перечисленных
множеств изображается с помощью специальных графических примитивов, которые
расположены внутри фигур, изображающих константные или переменные sc-узлы (см.
Приложение A).
При больших объемах sc. g-текстов и второго уровня может
оказаться недостаточно. Как и при переходе с 1-го уровня на 2-й уровень,
повышение читабельности sc. g-текстов можно достичь еще более существенным
сокращением изображаемых на экране элементов. Для этого введен 3-й уровень
SCg-кода.
Часто возникает ситуация, когда из sc. g-узла выходит много
sc. g-дуг (пар) (или же большое количество sc. g-дуг в него входит). В таком
случае sc. g-текст становится сложно читать, так как вокруг этого sc. g-узла
рисуется много sc. g-дуг, которые могут накладываться на текстовый
идентификатор. Поэтому существует SCg-код четвертого уровня [6].
SCg-код является не только способом визуального представления
sc-текстов, а также используется в графическом пользовательском интерфейсе для
организации диалога пользователя с системой. Конечно, пользователь может
производить общение с помощью трех первых уровней (пользователь рисует
сообщения вручную). Но, чтобы повысить эффективность, на четвертом уровне
SCg-кода вводятся sc. g-элементы управления [3]. Нажатие на такой объект
инициирует некоторое действие, которое он обозначает.
Итак, было описано содержание технологии, разрабатываемой
проектом OSTIS. Данная технология находится в постоянном развитии,
дорабатывается многими разработчиками. Для того, чтобы рассмотреть ее
подробнее, в следующей главе будет описан пример применения SCg-кода при
проектировании sc. g-графов на примере разработки базы знаний на основе
исследуемой технологии.
Метамодель языка представляет собой структуру семантической
сети, другими словами, для построения схемы базы знаний технология OSTIS в
отличие от других технологий использует не только понятия, которые будут
являться составом предметной области, но также и структуру. Знания структурируются
таким способом, что все многообразие их видов унифицируется (приводятся к общей
форме), так 110 как это является основополагающим принципом технологи,
позволяющим интеграцию знаний в базе знаний и интеграцию баз знаний.
В рассматриваемой технологии в качестве такой формы выступает
SCg-код - визуальное представление SC-кода. При этом алфавит всех sc-языков
совпадает с алфавитом SC-кода. SC-код представляет собой единство языка и
метаязыка. Так, например, в виде sc-конструкций можно описать синтаксис,
семантику и онтологию SC-кода. С формальной точки зрения SC-код можно
трактовать как метаязык базовой семантической спецификации sc-элементов с
помощью специального набора ключевых узлов SC-кода.
Так как данная работа опирается на графическое представление
данных, для удобства между ними можно поставить тождество.
Следовательно, SC-язык может быть использован в качестве
метаязыка для описания любого внешнего языка, т.е. языка, тексты которого не
являются sc-конструкциями.
Анализ метасистемы"ims. ostis.net" и опыт,
полученный в работе [3], позволили выделить следующие составляющие SCg-кода:
· Sc-конструкция - семантическая сеть,
представленная в SC-коде, каркас базы знаний.
· Sc-элемент - метка или ключевой узел
sc-конструкции, может являться представлением объекта, структуры, элемента
управления.
· Sc-константа - ключевое понятие, знак
множества.
· Sc-переменная - семантически элементарный
фрагмент текста.
· Sc-алфавит - представляет собой множество
видов sc-элементов.
SC-код служит для представления сложно структурированной
информации, логично будет заметить, что его внутреннее устройство нельзя
назвать лаконично организованным. Поэтому аналитическую работу над данным
средством логично будет начать с описания высокого уровня абстракции. Поэтому
была построена метамодель языка, называемого SC-кодом, которая приведена на
рис. 2.1.
Рисунок 2.1 Метамодель "SC_lang"
Следующим уровнем будет описание структуры sc-алфавита:
. Sc - алфавит представлен метками, иллюстрирующими то
или иное множество, которое называется sc-узел.
2. Sc-узел - сущность, представляющая собой множество
элементов алфавита семантической сети.
. Sc-узел является абстрактным классом, от которой
наследуются следующие сущности:
· структура - класс элементов является
меткой и на модели имеет следующее изображение (см. рис. 2.2.).
Рисунок 2.2. Структура
· понятие - это узел обозначает область
значений (множество), атрибут "идентификатор" означает, что узел
является абстрактным классом (см. рис. 2.3.).
На модели таким символом обозначают как системные
идентификаторы, так и просто группы объектов. Информация о конференциях будет
представляться в базе знаний как системный идентификатор, содержащий
соответствующую информацию. Все системные идентификаторы нужны для того, чтобы
система могла склеивать по ним одинаковые узлы. Системные идентификаторы всегда
уникальны в базе знаний. Другими словами, не может быть два одинаковых узла с
одинаковым идентификатором. Если же такие узлы есть в SCg-тексте, то считается,
что они обозначают один и тот же объект.
Рисунок 2.3. Понятие
Подобными узлами будут обозначаться также следующие
множества:
) Темы (theme);
2) Авторы (Authors).
· материальный объект (см. рис. 2.4.);
Рисунок 2.4. Материальный объект Рисунок 2.5. Небинарная связка
· множество - множество, по отношению к
которому все остальные нормализованные множества являются подмножествами (см.
рис. 2.4.).
Рисунок 2.4. Множество
· константный узел для обозначения связей и
типов связей (см. рис. 2.6.).
Рисунок 2.6. Неролевое отношение
· роль - подмножество отношений
принадлежности имеет атрибут "арность связи" (см. рис. 2.6.).
Рисунок 2.6. Ролевое отношение
ссылки - это sc-элемент, обозначающий определенный файл,
который можно просматривать или некоторую компьютерную систему, с которой можно
взаимодействовать [23].
В среде моделирования MetaLanguage были созданы сущности с
соответствующими именами, каждой из них была присвоена пиктограмма для
наглядности модели.
Можно не определять связь между идентификаторами и
относящимися к ним группами объектов. Типы определяются посредством создания
соответствующих узлов для определения типа, в подписи которых указывается
арность отношения.
Далее необходимо описать виды отношений, которые будут
спроектированы в графической модели. Несмотря на то, что некоторые из
вышеописанных сущностей (небинарная связка, ролевое отношение, неролевое
отношение), узлы или метки связываются при помощи дуг:
· sc-дуга показывает то, что определенная
метка показывает совокупность имеющихся в нем объектов. Дуги могут быть
ориентированными и неориентированными.
· константная дуга;
· дуга принадлежности;
· стационарная принадлежность (см. рис.
2.7.);
Рисунок 2.7. Стационарная принадлежность
· бинарная ориентированная дуга (см. рис.
2.8.);
Рисунок 2.8. Бинарная ориентированная дуга
· sc-ребро - связующий элемент между
ориентированными или неориентированными отношениями, может обозначать связь
между узлом и дугой, а также между двумя узлами. Отсюда, вытекает свойство
связей элементов, существующих в sc-алфавите: его структура задается бинарными
отношениями инцидентности.
· sc-ссылка.
Свойства и типы связей (синтаксические правила) - это пары
каждого отношения инцидентности может быть sc-элемент любого вида. В
частности, sc-дуги могут выходить из других sc-дуг, а также из sc-ребер.
Кроме того, sc-дуги могут входить в sc-ребра и в другие sc-дуги.
Аналогично этому sc-ребро может соединять: два sc-узла; sc-узел
с sc-дугой; sc-узел с другим sc-ребром; sc-дугу с sc-дугой;
sc-дугу с sc-ребром; sc-ребро с sc-ребром.код
оперирует только семантически нормализованными множествами. Это дает
возможность четко отличать первичные (терминальные) sc-элементы, являющиеся
обозначениями внешних объектов (объектов, не являющихся множествами) от
вторичных sc-элементов, которые являются обозначениями множеств, все элементы
которых могут непосредственно входить в состав sc-конструкций.
После создания всех классов и связей между ними, получилось
подробное изображение абстрактного синтаксиса метамодели, представленное на
рисунке B.1. в приложении B.
После формирования синтаксиса построена модель (см.
рис.2.10). На ней можно увидеть использование таких языковых элементов языка,
как узлы, дуги и ребра. Эта модель описывает фрагмент предментой области
"интеллектуальный портал".
Рисунок 2.10. Графическая модель базы знаний
На сегодняшний день существует множество инструментальных
средств (DSM-платформ), позволяющих создавать и сопровождать визуальные языки.
Они получили широкое распространение благодаря тому, что использование
правильно выбранной DSM-платформы может существенно снизить издержки, связанные
с внесением изменений в язык, что является преимуществом перед инструментами
создания DSL. Например, инженеры могут модифицировать его путем модификации
метамодели. При появлении потребности в создании схожих по объектам моделей,
изменив визуальный DSL: добавив или удалив свойства и объекты, можно получить
модифицированный язык, что также реализовано во многих DSM-платформах.
Многообразие отечественных и зарубежных DSM-платформ
затрудняет выбор наиболее подходящей для разработки, модификации и анализа
предметно-ориентированных языков. Различные системы предоставляют различные
функции и средства, применимые для проектирования предметно-ориентированных
языков.
Ввиду того, что помимо множества систем существует также
множество исследований, связанных со сравнительным анализом этих систем, выбор
становится осуществим более простым способом: исходя из потребностей в функциональных
характеристиках и методиках. Помимо научных исследований, некоторые
разработчики систем, например,MetaEdit+ при выходе той или иной версии
сравнивают свою разработку с конкурирующими ей. Касательно данной работы,
необходимость обзора средств для проектирования языка сводится к описанию
требований, требований, а для сравнения систем достаточными будут следующие
критерии:
) возможность вертикальной трансформации языка;
) способность языка к изменению.
Обзор инструментальных средств, представленный в работе [15],
показал, что целесообразно использовать программное средство MetaEdit+ или
EclipseGMF, что является наиболее подходящим для разработки
предметно-ориентированного языка, так как первое из них поддерживает
модификацию описания DSL и метаязыка во время работы системы, а также позволяет
интегрировать в одной системе несколько языков. EclipseGMF, помимо интеграции
языков, поддерживает возможность проектирования собственных
предметно-ориентированных языков (как и MetaEdit+), интеграцию языков, и более
того, модификацию кода. Таким образом, дальнейшее сравнение инструментальных
средств исключает такие варианты популярных языков, как Real-IT, MPS и другие.
Результат исследования [15] также показывает состоятельность во всех
Для разрабатываемого предметно-ориентированного языка
описания структуры интеллектуальных порталов было принято решение использовать
систему MetaLanguage, так как возможность многоуровневого моделирования,
реализованная в этой системе, позволит решить задачу данного исследования.
Выше были описаны методы анализа языковых средств OSTIS:
посредством практического опыта и предметно-ориентированного моделирования были
получены результаты, характеризующие как сильные, так и слабые стороны
технологи. Однако было определено, что применение сильных сторон для
проектирования интеллектуальных порталов на данном этапе затруднительно, по
ряду вышеизложенных причин (ненаглядность языка, отсутствие внятного описания, отсутствие
контроля над типами данных). Следовательно, мощное средство описания знаний и
проектирования порталов знаний являются лишь потенциально сильным. Для того,
чтобы потенциал был реализован необходимо внести некоторые изменения в
синтаксические правила языка.
Для того, чтобы задать некоторые атрибуты элементам
sc-алфавита узел, дуга или ребро в базе знаний необходимо задать им связи, что
помимо того покажет принадлежность этого элемента к базе знаний.
Sc-модель носит принципиально нестационарный характер,
поэтому практического значения эта модель не имеет, поскольку хранить ее в
sc-памяти невозможно, также c-модель предметной области практически всегда
является бесконечным sc-графом. Это значит, что ценность имеют лишь фрагменты
базы знаний. Поэтому рекомендуется реализовать возможность интеграции
нескольких фрагментов для описания той или иной предметной области, чтобы
открыть доступ к хранению структуры стационарных моделей.
Очевидно так же, что необходимо улучшить графическое
представление элементов базы знаний. Для большинства разработчиков сложно
использовать инструментарий, где объект и отношение задаются одним способом.
Рекомендуется изменить язык так, чтобы база знаний представляла собой визуально
структурированный и эргономичный граф. Под этим изменением подразумевается
изменение понятий "узел", "ребро" и "дуга",
разбиение их на четкие типы. Также рекомендуется добавить возможность задания
пользователем ограничений и особенностей связей этих типов. Другой вариант преодоления
сложностей, связанных с структуризацией графа - попробовать разработать язык,
напоминающий HTML, (классическая разметка web-страниц) но с элементами
семантического языка.
В рамках проделанной работы были проанализированы
существующие языки описания web-приложений и интеллектуальных систем.
Сформулированы требования к языку описания интеллектуальных порталов.
Проанализирован язык описания знаний системы OSTIS.
В среде MetaLanguage были построены метамодели языка,
предлагаемого технологией OSTIS позволяющего описать структуру
интеллектуального портала.
Было выявлено, что SC-код позволяет описывать
структуру любой информационной конструкции, не принадлежащей SC-коду, на
любом этапе синтаксического и семантического анализа. SC-код хорошо приспособлен
к использованию в условиях так называемых не-факторов: нестационарности,
неточности, противоречивости, неактуальности, неполноты знаний. Основное
достоинство SC-кода заключается в том, что он создает основу для
конструктивного, четкого решения проблемы интеграции баз знаний и языков
представления знаний.
Также были сформированы рекомендации по усовершенствованию
языка описания интеллектуальных порталов.
Возможно, предложенные рекомендации несколько перегрузят
язык, но несомненно, они направлены на решение главной проблемы, привлечение
широкого круга специалистов к разработке интеллектуальных порталов, что
позволило бы весьма перспективной технологии OSTIS развиваться и занимать нишу
в эволюции проектирования web-структур и интеллектуальных порталов.
В ходе предыдущих этапов исследования был изучен и
проанализирован язык описания структуры интеллектуальных порталов, предлагаемый
технологией OSTIS. Была построена метамодель данного языка, что позволило
выявить слабые стороны при использовании технологии OSTIS в проектировании
интеллектуальных порталов и сформировать рекомендации по улучшению языковых
средств данной технологии.
На данном этапе необходимо приступить непосредственно к
разработке языка описания структуры интеллектуальных порталов в среде
MetaLanguage, в соответствии с предложенными рекомендациями и сформированными
требованиями к языку.
Создание данного языка, аналогично описанию языка OSTIS, приведенного
в предыдущей главе, следует начать с определения абстрактного синтаксиса. Так
как было предложено изменить структуру ранее описанного языка OSTIS, в том
числе, понятия, отношения и их классификацию, синтаксис разрабатываемого языка
будет кардинально отличаться, что говорит о необходимости создания новой
метамодели.
Изменение абстрактного синтаксиса влечет за собой также
изменение конкретного синтаксиса.
Таким образом, за основу предметно-ориентированного языка
описания интеллектуальных порталов будет взят ранее изученный язык OSTIS, далее
ход и характер внесения изменений будет описан подробно.
Как было сказано ранее, целесообразно синтаксис языка
необходимо подвергнуть изменениям. В метамодели нового языка были созданы
сущности, тождественные сущностям SC-языка, которым были даны более
естественные наименования.
· Область знаний - абстрактный класс, его
значение на метамодели тождественно значению описанной в предыдущей главе
сущности sc-алфавит. То есть при создании данной метамодели использовалось
название, более приближенное к терминологии управления знаниями, нежели к
терминологии построения графов. Класс область знаний связана отношением
агрегации со следующими сущностями:
o знание - абстрактный
класс, в метамодели языка OSTIS означает sc-узел. В данной метамодели означает
некоторую совокупность информации о связях и отношениях между понятиями.
Поэтому от "знания" наследуются классы "коннектор" и
"понятие":
§ коннектор - данный класс создан для того, чтобы
обозначать различные типы связей. В таблице 3.1 ниже показаны все возможные
связи между дугами, узлами и ребрами, что язык, используемый технологией OSTIS;
§ понятие - совокупность некоторых элементов. В
языке OSTIS обозначается как "множество", имеющее входящие в него
неделимые элементы. Множество может быть соединено с другим множеством, то есть
принадлежать ему;
o структура - так как в
OSTIS нет понятия подмножества и для отображения такой связи возникает необходимость
строить дополнительные конструкции, в нашем случае для этого появляется
сущность "структура", принадлежащая "понятию". То есть
отпадает потребность в дополнительных элементах для отображения связи
"множество"-"неделимый элемент", такая связь показывается
связью "понятие"-"понятие", а связь
"множество"-"подмножество" отображается связью
"понятие"-"структура";
o внешний объект -
документ, изображение, аудио или видео файлы; в базе знаний хранится описание
этих объектов, как составляющее семантической окрестности знаний;
o ссылка - средство
указания на электронные ресурсы;
o связь - наследник класса
"коннектор", отношение связующего элемента (ребра или дуги) с узлом
(см. рис 3.4.). Отношение между значениями.
o отношение - наследник
класса "коннектор", отношение связующего элемента (ребра или дуги) с
другим связующим элементом (ребром или дугой).
Из таблицы, в которой приводится сравнение фрагментов
метамодели изученного языка OSTIS с фрагментами разрабатываемого языка, можно
понять смысл сущности "коннектор" (см. таб. 3.1.). Напомним, что в
разрабатываемом языке сущность "знание" обозначает сущность
"sc-узел" в языке OSTIS.
Таблица 3.1 Смысл сущности "коннектор"
OSTIS
Разрабатываемый язык
Метамодель
Модель
Метамодель
Благодаря появлению "коннекторов", уменьшается
количество дуг и ребер, то есть избыточность элементов базы знаний. Так как
модель языка на данном этапе не построена, преимущество введения
"коннектора" наглядно продемонстрировано ниже (см. рис. 3.1.).
Рисунок 3.1 Сущность "коннектор"
Для реализации отношений между сущностями в метамодели были
использованы такие виды связей, как агрегация, ассоциация, наследование. Ниже
они будут описаны подробней.
Отношение агрегация представлено видом связи
"часть" между такими сущностями, как "знание"
и"область знаний", "структура" и "область
знаний", "внешний объект" и "область знаний",
"ссылка" и "область знаний" (см. рис. 3.2.).
Рисунок 3.2 Отношение агрегации
Отношение ассоциации реализовано посредством нескольких
связей:
· "область знаний - область
знаний" - отношение сущности "область знаний" к сущности
"область знаний".
· "ссылка-ссылка" -
двунаправленное отношение сущности "ссылка" к сущности
"ссылка".
· "понятие-понятие" -
двунаправленное отношение сущности "понятие" к сущности
"понятие".
· "структура-структура" -
двунаправленное отношение сущности "структура" к сущности
"структура".
· "агрегация" - отношение,
показывающее, что сущность "понятие"содержит сущность
"структура". Пример такого отношения приведен ниже (см. рис. 3.3.).
Рисунок 3.3 Отношение ассоциации
Для того чтобы передать некоторым конкретным объектам
свойства абстрактного класса необходимо провести связь наследования. В нашем
случае эта связь типа "является" между сущностями
"коннектор" и "знание", "понятие" и
"знание", "связь" и "коннектор",
"отношение" и "коннектор" (см. рис. 3.4.).
Рисунок 3.4 Наследование
Построение метамодели позволило получить универсальный
визуальный язык моделирования. Данная метамодель является самым примитивным
уровнем абстракции, на ее основе будет разработан язык проектирования структуры
интеллектуальных порталов (см. рис. 3.5.).
Рисунок 3.5 Общецелевая метамодель
Для того, чтобы получить язык для конкретной цели
проектирования интеллектуальных порталов на основе полученной метамодели
необходимо построить модель языка, которая и будет в дальнейшем использоваться
для разработки конкретных порталов. Таким образом, результатом предыдущего
этапа исследования является описанная выше мета2-модель, а целью
данного этапа - разработка метамодели языка проектирования интеллектуальных
порталов.
Начнем с того, что интеллектуальные порталы будут сильно
отличаются от привычных пользователю сайтов, как было отмечено в работе [3],
тем, что из-за сложной структуры трудно реализовать традиционную разметку
страниц. Однако исходя из того, что в данной работе исследуется возможность
улучшить (а значит и упростить) семантический язык, то за основу такого сайта
взята именно классическая разметка страниц, при этом с добавлением некоторых
специфических элементов, без которых язык потерял бы свою эффективность.
Итак, интеллектуальный портал будет состоять из страниц:
· страница - область знаний, структурная
составляющая интеллектуального портала.
Каждая страница состоит из (или может состоять) из трех
блоков (header, sidebar, footer):
o "header" -
область знаний, заголовочная часть страницы, содержит заголовок, также может
содержать подзаголовок;
§ заголовок (см. рис. 3.6.);
Рисунок 3.6 Заголовок
§ "подзаголовок";
o "sidebar" -
область знаний, которая охватывает основной контент портала, его основными
составляющими являются:
§ "меню" (см. рис. 3.7);
Рисунок 3.7 Меню
§ "раздел" - структурный элемент, может
содержать множества других элементов;
§ "подраздел"
o "footer" -
область знаний, нижняя и необязательная часть страницы, может содержать
реквизиты в виде ссылок и информационные поля:
§ "реквизиты".
Возможность объединять модели в MetaLanguage позволит
создавать портал и постоянно его наращивать, добавляя новые
"страницы".
При этом возможна и более тонкая интеграция подъязыков,
заключающаяся в таком эквивалентном изменении интегрируемых подъязыков, которое
приводит к максимально возможному количеству синонимичных (и соответственно
склеиваемых) ключевых узлов. Главное условие при объединении моделей -
различные названия элементов. Такая тонкая интеграция подъязыков заключается в
сближении семантически близких ключевых узлов, принадлежащих разным подъязыкам,
и приводит к сокращению общего количества ключевых узлов того подъязыка,
который является результатом интеграции.
Блоки "header", "sidebar" и
"footer"это структурные элементы "страницы", из которых она
состоит. Каждый блок имеет "индивидуальное" назначение:
· "ссылка" - внешний элемент;
· "документ" - внешний элемент;
· "изображение" - внешний элемент;
· "аудиофайл" - внешний элемент;
· "видеофайл" - внешний элемент.
Текст, состоящий из слов, содержится в информационном поле,
как и текстовое описание таких элементов, как "ссылка",
"документ", "изображение", "аудиофайл",
"видеофайл", которое задается пользователем при заполнении атрибута
"наименование". Перечисленные ниже элементы являются семантическим
ядром интеллектуального портала.
· "Информационное поле" -
текстовая информация, содержащаяся на портале;
· "слово" - отношение, имеет
значение в формировании семантической окрестности, так как отображает тип
отношения: пояснение, пример, синоним, определение;
· "ключевое слово" - понятие,
которое связано с отношением "слово" и семантической окрестностью
связью "часть", что обеспечивает быстрый поиск семантической
окрестности понятий;
· "семантическая окрестность" -
множество ключевых слов и отношений между ними, семантическая структура
мультимедиафайлов или информационных конструкций.
Получившаяся метамодель языка готова для того, чтобы
проектировать интеллектуальный портал на ее основе (см. рис. C.1.). Подробное
описание отношений, элементов и их атрибутов можно найти в Приложении C.
Следующим шагом будет проектирование фрагмента
интеллектуального портала.
После построении общецелевой метамодели и метамодели языка
проектирования интеллектуальных порталов создается модель языка. Небольшой
фрагмент модели можно увидеть ниже (см. рис. 3.8.).
Рисунок 3.8 Фрагмент модели интеллектуального портала
В данном случае, это изображение фрагмента страницы на
портале, содержащем знания о междисциплинарных конференциях. Этот фрагмент
содержит информацию такого рода, как:
· заголовок:
o имя конкретного автора;
o фотография автора;
· основная часть:
o ученая степень;
o название публикаций;
o сфера научной
деятельности; Вся информация размещена в блоках. В заголовочной части
располагается заголовок и подзаголовок - имя конкретного автора. В основной
части расположено два раздела "Образование / ученая степень", который
имеет еще два подраздела "Сфера научной деятельности" и
"E-mail", а также раздел "Публикации". Здесь же расположены
информационные поля с текстовой информацией, а также фотография, хранящая
информацию о своей структуре - имени автора. В нижней части находится ссылка на
организацию (реквизит). В Приложении D более полно представлена модель
интеллектуального портала (см. рис. D.1.).
Проектирование интеллектуальных порталов - очень сложный
процесс, выбор методов проектирования, языкового средства играет в нем
значительную роль. В целом, исследований в области интеллектуализации
Web-ресурсов много, но несмотря на то, что существуют достаточно масштабные разработки
в области интеллектуализации Web, не существует готовых решений для людей, кто
занимается разработкой решений для проектирования интеллектуальных порталов.
Заинтересованные данной областью науки минские ученые разработали открытый
проект OSTIS, позволяющим заинтересованным разработчикам и исследователям
участвовать в создании языка, который в дальнейшем может быть решением данной
проблемы.
В ходе выполнения данной выпускной квалификационной работы
была предпринята попытка на основе анализа семантического языка OSTIS. Анализ
технологии OSTIS, выявление и преодоление ее сильных и слабых сторон послужил
основой для разработки собственного языка проектирования порталов.
Ниже описаны основные этапы данного исследования:
. Проанализирована технология OSTIS и язык
проектирования интеллектуальных порталов.
2. Предложены рекомендации по усовершенствованию OSTIS.
. Приведен обзор понятия DSL и обзор средств их
разработки.
. Разработан предметно-ориентированный язык,
позволяющий описывать структуру интеллектуального портала.
. Создана модель интеллектуального портала с
использованием разработанного языка.
Анализ технологии и языка OSTIS показал, что конструкции
языка ненаглядны, отсутствует необходимый механизм интеграции баз знаний. Для
преодоления таких недостатков были сформированы соответствующие рекомендации,
которые в дальнейшем были использованы при разработке
предметно-ориентированного языка. Несмотря на последнее, OSTISсоздает основу
для решения проблемы интеграции баз знаний и языков представления знаний,
поэтому в данной работе представлено это решение - интеграция моделей в
MetaLanguage.
Разработанный язык имеет следующие преимущества перед языком
OSTIS:
. Язык содержит конструкции, имеющие семантическую
интерпретацию в понятиях предметной области, что обеспечивает возможность
строить модели.
2. Снижена трудоемкость процесса разработки.
. Созданный язык является модифицируемым.
Так же можно сделать вывод о том, что имеет смысл продолжать
данное исследование в дальнейшем. Возможно внедрение созданного языка в систему
KBE 0.3.0, так как формат таких файлов основан на XML. Из этого следующим
этапом исследования может быть изучение возможности использовать данный язык
совместно с языком OSTIS, что включает в себя разработку программы, которая
будет генерировать файлы на основе моделей, которые были построены и описаны в
третьей главе. разработанный язык может быть свободно интегрирован в систему
OSTIS, в качестве ее надстройки. Так, разработчики и исследователи
интеллектуальных порталов смогут в полной мере оценить
предметно-ориентированный подход в этой области знаний.
1. Бобровикова
О.И. Организация порталов знаний на основе онтологий [Электронный ресурс]
[Режим доступа: http://www.cs. umd.edu/projects/plus/SHOE/onts/docmnt1.0.html]
[Проверено: 28.04.2015]
2. Гаврилова
Т.А. Базы Знаний интеллектуальных систем // Открытые семантические технологии
проектирования интеллектуальных систем: материалы междунар. науч. конф. -
Минск, Изд-во БГУИР, 2013 - c.9-31.
. Гималтдинова,
Я.М. Применение технологии OSTIS при проектировании интеллектуальных порталов
[Текст]: курс. раб. / Я.М. Гималтдинова - Пермь: НИУ ВШЭ-Пермь, 2014.
. Голенков
В.В., Гулякина В.А. Принципы построения массовой семантической технологии
компонентного проектирования интеллектуальных систем // Открытые семантические
технологии проектирования интеллектуальных систем / 2011. - с 22.
. Голенков
В.В., Гулякина Н.А. Открытый проект, направленный на создание технологии
компонентного проектирования интеллектуальных систем. - Минск: БГУИР, 2013.
6. Голенков
В.В. Представление и обработка знаний в ассоциативных графодинамических машинах
/ О.Е. Елисеева, В.П. Ивашенко. Минск: Коллектив авторов. 2001.404 с.
. Грибова
В.В., Клещев А.С. Облачные семантические технологии проектирования интеллектуальных
порталов // Открытые семантические технологии проектирования интеллектуальных
систем: материалы междунар. науч. конф. - Минск, Изд-во БГУИР, 2013 - c.25-27
8. Декер
С., Мельник С., Хермелен Ф., Фенсел Д., Клейн М., Брукстра Д., Эрдманн М., Хоррокс
Я. SemanticWeb: роли XML и RDF // Открытые системы 2001. [Электронный ресурс]
[Режим доступа: http://osp. admin. tomsk.ru/os/2001/09/041. htm] [Проверено:
20.03.2015].
. Загогулько
Ю.А., Технологии разработки интеллектуальных систем, основанные на интегрированной
модели представления знаний // Открытые семантические технологии проектирования
интеллектуальных систем: материалы междунар. науч. конф. - Минск, Изд-во БГУИР,
2013 - c.32-39.
. Казакова
А.С. Методы и инструменты реализации предметно-ориентированных языков
программирования [Электронный ресурс] / Казакова А.С. // Системное
программирование. - Электрон. дан. - с.52-75. - Режим доступа:
http://elibrary.ru.
. Кандрашина
Е.Ю. Представление знаний о времени и пространстве в интеллектуальных системах
/ Е.Ю. Кандрашина, Л.В. Литвинцева, Д.А. Поспелов. М.: Наука, 1989. c.34
. Классификация
информационных систем // Институт открытого образования. [Электронный ресурс]
[Режим доступа: http://hi-edu.ru/e-books/xbook717/01/part-002. htm] [Проверено:
2.03.2015]
. Невзорова
О.А., Кириллович А.В. Технологии связывания данных в пространстве открытых
данных на примере математической коллекции // Открытые семантические технологии
проектирования интеллектуальных систем: материалы междунар. науч. конф. -
Минск, Изд-во БГУИР, 2013 - c.91-92.
. Система
информационного Интернет-портала OSTS. [Электронный ресурс] [Режим доступа:
www.ostis.net] [Проверено: 28.04.2015].
. Сухов
А.О. Классификация предметно-ориентированных языков и языковых инструментариев
/ Математика программных систем: межвуз. сб. науч. ст. Пермь: Изд-во Перм. гос.
нац. исслед. ун-та, 2012. - Вып.9. c.
. Сухов
А.О. Сравнение систем разработки визуальных предметно-ориентированных языков.
// Математика программных систем: межвуз. сб. науч. ст. - Пермь: Изд-во Перм.
гос. нац. исслед. ун-та, 2012. - Вып.9. c.
17. Тимченко
В.А. Метод преобразования классов семантических сетей // Открытые семантические
технологии проектирования интеллектуальных систем: материалы междунар. науч.
конф. - Минск, Изд-во БГУИР, 2013 - c.81
18. Фаулер
М. Предметно-ориентированные языки программирования. Пер. с англ. М.: ООО
"И.Д. Вильямс", 2011. - с.121.
19. Хорошевский
В.Ф. Пространства знаний в сети Интернет и SemanticWeb (Часть 1) //
Искусственный интеллект и принятие решений, 2008 - с. 80-97
20. Berners-Lee
T., Hendler J., Lassila O. The Semantic Web. - Scientific American, 17.05.2001.
21. Buchwalder.
WebLang: A Language for Modeling and Implementing Web Applications, M. S.
thesis, Networking Lab., Swiss Fed. Instit., Lausanne, Switzerland, 2009.
. Funk
M., Rauterberg M., PULP Scription: A DSL for mobile HTML5 Game Applications //
Eindhoven University of Technology, Eindhoven, The Netherlands, 2012.
23. Groenewegen
D.M., Hemel Z., KatsL. C.L., and E. Visser. WebDSL: A Domain-Specific Language
for Dynamic Web Applications // Delft University of Technology Software
Engineering, The Netherlands, 2008.
1.2 Анализ
традиционных способов представления знаний
1.3 Понятие
предметно-ориентированного языка
1.4 Обзор
существующих предметно-ориентированных языков для web-приложений
Глава 2.
Анализ технологии OSTIS
2.1
Требования к разрабатываемому языку
2.2
Устройство и особенности языка технологии OSTIS
2.3 SCg -
язык
2.3.1 SCg-код
первого уровня (SCg-ядро)
2.3.2 SCg-код
второго уровня
2.3.3 SCg-код
третьего уровня
2.3.4 SCg-код
четвертого уровня
2.4 Создание
метаструктур языка
2.5
Обоснование выбора DSM-платформы
2.6
Рекомендации по усовершенствованию языка описания интеллектуальных порталов
2.7
Результаты анализа технологии OSTIS
Глава 3.
Разработка предметно-ориентированного языка проектирования интеллектуальных
порталов
3.1
Общецелевая метамодель языка описания структуры интеллектуального портала

.2 Метамодель
языка проектирования интеллектуальных порталов
3.3 Пример
модели интеллектуального портала
Заключение
Библиографический
список