ДонНТУ   Портал магистров

Реферат

Содержание

Введение

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

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

Таким образом, можно предположить, что используя вышесказанные технологии, как предлагаемый путь разработки инструментального комплекса, способного обеспечить создания в его среде баз знаний для автоматизации синтеза сайтов, потенциально возможен и эффективен.

1. Актуальность темы

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

2. Классификация онтологий.

Среди специалистов, занимающихся проблемами компьютерной лингвистики, наиболее устоявшимся считается определение онтологии, данное Губертом [10]:

Онтология – это спецификация концептуализации.

Под концептуализацией понимается некоторая абстракция, т.е. упрощенное представление некоторой части мира, построенное для определенной цели [9].

Концептуализация – структура реальности, заданная независимо от:

Концептуализация на примере сайта: набор возможных положений блоков, но не конкретное расположение блоков.

Онтология призвана структурировать и упорядочивать знания, а также объединить терминологию данной предметной области [9].

Онтология может быть разработана только коллективными усилиями экспертов данной предметной области.

Разрабатываемая онтология должна помочь пользователю за очень короткий промежуток времени получить желаемый результат(сайт).

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

Выделяют два типа классификации онтологий: семантическая и прагматическая [3].

1. Семантическая классификация:

По уровню выразительности онтологии бывают тяжеловесные и легковесные. Тяжеловесные онтологии в отличие от легковесных, более однозначны, так как правила в них указаны явно. Аксиоматизация позволяет избежать терминологической неоднозначности из-за неправильной интерпретации. Таким образом, тяжеловесные онтологии, хотя и более трудоемки в процессе построения, можно считать более предпочтительными на практике [3]. Онтологии, которые описываются на произвольном языке, носят называние неформальных, а онтологии, которые строго типизированы, с заданной семантикой термов – формальная онтология. Бывают онтологии, которые более детализированы. В них может содержать много деталей, включая правила, по которым термины могут быть связаны между собой. Такие онтологии имеют высокий уровень детализации [3].

2. Прагматическая классификация:

По степени зависимости от конкретной задачи или прикладной области можно выделить онтологии верхнего уровня, ориентированные на предметную область и ориентированные на задачу. Онтологии верхнего уровня описывают онтологию общими понятиями и связями. Такие онтологии описывают наиболее общие концепты (пространство, время, материя, объект, событие, действие и т.д.), которые не зависимы от конкретной проблемы или области. На сегодняшний день существует множество онтологий, которые применяются в конкретной предметной области. В области медицины созданы большие стандартные, структурированные словари, такие как SNOMED [3]. Когда онтология используется для решения конкретной задачи, то говорят, что она ориентирована на задачу. Такие онтологии используются программным обеспечением, ориентированным на решение конкретной задачи в конкретной предметной области. Классификация онтологии по предметной области является важнейшим отличием одной онтологии от другой. Онтология отражает общие знания о предметной области, такие, как иерархия классов понятий и семантические отношения на этих классах. Для каждой предметной области онтологии создаются экспертами своей области, которые проводят формализацию знаний, определений и правил получения новых знаний [3].

3. Характеристика среднего эксперта

Инструментальный комплекс для создания web-приложений должен быть рассчитан на эксперта средней квалификации в предметной области.

С общей точки зрения можно выдели три класса экспертов предметной области играющих роль инженеров по знаниям, в инженерии знаний. Эксперт низкой квалификации в состоянии предоставить набор решений, но не в состоянии предоставить какие-либо правила вывода описывающие методики проектирования в форме продукционной базы знаний для данной предметной области [5].

Умный эксперт способен описать методику проектирования явно в виде специализированной продукционной базы знаний.

Средний эксперт достаточно хорошо знает предметную область, т.е. модель объекта проектирования, но затрудняется описать методику проектирования [2]. Такой эксперт может описать связи между объектами и представить варианты структур отношений в форме И-ИЛИ дерева, а так же задать отношения совместности-несовместности между различными комбинациями значений ИЛИ-узлов, определяя тем самым реальные прототипы [4]. Отношение совместности-несовместности есть способ косвенного заданий продукционных правил.

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

Создание генератора программ, ориентированного на среднего эксперта, является актуальной задачей, так как большинство потенциальных создателей и пользователей таких генераторов являются, чаще всего, именно средними специалистами в своей предметной области. Такие специалисты, чаще всего, ориентированы на представление информации в виде графических моделей изображения. Как правило, такие специалисты прекрасно знают, как устроена система, какие в ней используются классы или термины, знают, как взаимосвязаны классы между собой, какие между ними зависимости, но при этом затрудняются [1]:

Минимум информации, которая нужна для представления сайта в виде онтологии, это [1]:

4. Представление знаний

Проектируемый инструментальный комплекс должен позволять эксперту в предметной области, выполняющему роль инженера по знаниям, построить И-ИЛИ дерево для сайта определенного типа со всеми возможными вариантами связей, структурных зависимостей и атрибутов.

Процесс построения базы знаний разбивается на последовательный ввод модулей знаний. С помощью готовой базы знаний можно выбрать модуль знаний любого уровня и запустить логический вывод.

Модуль знаний разбивается на подмодули [1]:

1) Внешняя граница как состав внешних параметров, данных, которые отражают связи блока с внешней средой. Это отдельное И-ИЛИ дерево с отношениями совместности-несовместности;

2) Внутренняя граница как состав внутренних подблоков, тоже как И-ИЛИ дерево;

3) Совокупность связей между подблоками по данным, тоже как И-ИЛИ дерево.

Состав таблиц экспертной системы:

1) Таблица внешних границ:

2) Таблица подблоков:

3) Таблица типов блоков (таблица идентификатор модулей знаний):

4) Таблица связей:

В рамках любого И-ИЛИ дерева определяются отношения совместности-несовместности – как связь, которая показывает взаимоисключающие элементы в И-ИЛИ дереве.

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

Это может существенно сократить время опроса пользователя и сузить количество вариантов решений. Кроме того, смежные подмодули тоже связаны отношениями несовместности [1].

Существует два типа Или-узлов:

1) Узел с конкретным ограниченным набором альтернатив среди которых есть вариант, ∅;

2) Узел с неограниченным но счетным множеством вариантов, например указать текст, изображения, которое будут располагаться в определенном месте на страничке. В таком случае пользователю задается вопрос определенного формата (введите текст, укажите файл и т.д.). Тип такого узла nil.

Эксперт вводит блочную структуру в виде И-ИЛИ дерева ориентируясь на представление html-текста где имеются схожие понятия – тэги.

Кроме того эксперт вводит вопросы к тем или иным ИЛИ-узлам которые при синтезе адресуются конечному пользователю.

Процесс генерации html-текста при проходе И-ИЛИ дерева. Анимация содержит 9 кадров с задержкой в 50 мсек.

Процесс генерации html-текста при проходе И-ИЛИ дерева. Анимация содержит 9 кадров с задержкой в 50 мсек.

На анимации динамически показан процесс генерации html-текста при проходе конечным пользователем ИЛИ-узлов в процессе синтеза требуемого объекта.

5. Онтологическая модель IDEF5

Ontology Description Capture — Стандарт онтологического исследования сложных систем. С помощью методологии IDEF5 онтология системы может быть описана при помощи определенного словаря терминов и правил, на основании которых могут быть сформированы достоверные утверждения о состоянии рассматриваемой системы в некоторый момент времени. На основе этих утверждений формируются выводы о дальнейшем развитии системы и производится её оптимизация [6].

Методология IDEF5 служит для наглядного представления данных, полученных в результате онтологического исследования в простой графической форме.

5.1 Концепции IDEF5

Процесс построения онтологии, согласно методологии IDEF5 состоит из пяти основных действий [6]:

1) Изучение и систематизирование начальных условий. Это действие устанавливает основные цели и контексты проекта разработки онтологии, а также распределяет роли между членами проекта.

2) Сбор и накапливание данных. На этом этапе происходит сбор и накапливание необходимых начальных данных для построения онтологии.

3) Анализ данных. Эта стадия заключается в анализе и группировке собранных данных и предназначена для облегчения построения терминологии.

4) Начальное развитие онтологии. На этом этапе формируется предварительная онтология, на основе отобранных данных.

5) Уточнение и утверждение онтологии – Заключительная стадия процесса.

5.2 Виды схем и диаграмм IDEF5

1) Диаграмма классификации – обеспечивает механизм логической систематизации знаний, накопленных при изучении системы [6];

Рисунок 1 – Диаграмма классификации

Рисунок 1 – Диаграмма классификации

2) Композиционные схемы – механизм графического представления классов типа «что из чего состоит» [6];

Рисунок 2 – Композиционная схема

Рисунок 2 – Композиционная схема

3) Диаграммы состояния объекта – документируют процесс с точки зрения изменения состояний объекта [6];

Рисунок 3 – Диаграммы состояния объекта

Рисунок 3 – Диаграммы состояния объекта

Выводы

Тенденции в программировании сейчас ведут к созданию генераторов программ, которые могли бы решать определенные задачи в виде базы знаний.

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

Средний эксперт достаточно хорошо знает предметную область, может описать связи между объектами и представить их в виде И-ИЛИ дерева. Именно на среднего эксперта предметной области будет ориентирован инструментальная оболочка.

Создание данной инструментальной оболочки должно значительно снизить необходимый уровень знания предметной области как конечного пользователя так и самого эксперта, которому уже не обязательно иметь полные спектр знаний о методике проектирования. Достаточно описать связи между объектами, представить варианты структур отношений в форме И-ИЛИ дерева и задать отношения совместности - несовместности между различными комбинациями значений ИЛИ-узлов.

Список литературы

  1. Григорьев А.В, Павловский Е.В. «Проектирование интеллектуальной CMS» // Материалы научно-технической конференции студентов, аспирантов и молодых ученых «Информатика и компьютерные технологии – 2012»
  2. Григорьев А.В, Павловский Е.В. Представление сайта на языке HTML какмодели структурного уровня САПР. // Наукові праці ДонНТУ Серія “Інформатика, кібернетика та обчислювальна техніка” 2011 г.
  3. Григорьев А.В. Пути создания интеллектуальных САПР при различных уровнях квалификации экспертов // Научно-теоретический журнал «Искусственный интеллект». – 2005. – №3. - С. 758–763.
  4. Григорьев А.В. Методы поиска новых решений в специализированной инструментальной оболочке для создания интеллектуальных САПР // Десятая национальная конференция по искусственному интеллекту с международным участием КИИ-2006 (25-28 сентября 2006г., Обнинск): Труды конференции; в 3-т. -- М.: Физматлит, 2006. – Т.3. – С. 1031-1046.
  5. Григорьев А.В. Состав параметров адаптации на проблемную область в инструментальной оболочке для автоматизации построения интеллектуальных САПР // Научные труды Донецкого государственного университета: Серия: Информатика, кибернетика и вычислительна техника. – 2011. – випуск 14(188).
  6. Лекция Стандарты моделирования IDEF // Лекции по курсу «Корпоративные информационные системы».
  7. Онтология (информатика). // Статья викиверситета
  8. Морозов А.Б. Создание онтологии «генетический алгоритм» в системе PROTEGE.
  9. Загорулько Ю.А. Онтологии: определения, классификации, приложения.
  10. Gruber T.R. A translation approach to portable ontologies // Knowledge Acquisition. 1993. – № 5(2). – С. 199-220.