Смекни!
smekni.com

Разработка элективного курса "Основы искусственного интеллекта" (стр. 11 из 12)

Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем: Учебник для вузов. СПб: Питер,2001 год, 384 стр. Учебник для технических вузов по входящим в различные дисциплины вопросам разработки интеллектуальных систем. Актуальность предмета определяется стремительно развивающейся сферой применения инженерии знаний и системного анализа в различных областях деятельности. Особенностью изложения является его практическая направленность: освоения имеющегося материала должно быть достаточно для начала самостоятельной работы над созданием интеллектуальной системы, основанной на знаниях. В учебнике учтена все возрастающая роль Интернета и потому подробно рассматривается применение инженерии знаний в Сети.

2.5. Рекомендуемое программное обеспечение для проведения лабораторных работ

Из рассмотренных выше специализированных средств работы со знаниями для проведения практических работ была выбрана система Prot?g?.

Prot?g? – локальная, свободно распространяемая Java-программа, разработанная группой медицинской информатики Стенфордского университета (первая версия – 1987, последняя Prot?g?-3.0 – июнь 2004). Программа предназначена для построения (создания, редактирования и просмотра) онтологий прикладной области. Её первоначальная цель – помочь разработчикам программного обеспечения в создании и поддержке явных моделей предметной области и включение этих моделей непосредственно в программный код. Prot?g? включает редактор онтологий, позволяющий проектировать онтологии разворачивая иерархическую структуру абстрактных или конкретных классов и слотов. Структура онтологии сделана аналогично иерархической структуре каталога. На основе сформированной онтологии, Prot?g? может генерировать формы получения знаний для введения экземпляров классов и подклассов. Инструмент имеет графический интерфейс, удобный для использования неопытными пользователями, снабжен справками и примерами.

Prot?g? основан на фреймовой модели представления знания OKBC и снабжен рядом плагинов, что позволяет его адаптировать для редактирования моделей хранимых в разных форматах (стандартный текстовый, в базе данных JDBC, UML, языков XML, XOL, SHOE, RDF и RDFS, DAML+OIL, OWL).

Prot?g? имеет 3-х уровневую архитектуру, где существует четкое разделение между хранением онтологий, модулями бизнес-логики логики приложений и приложениями интерфейса пользователя. Эти инструменты обладают большими возможностями по наращиванию (например, при помощи плагинов). Большинство инструментов хранит свои онтологии в текстовых файлах, что ограничивает размер онтологий. Только Prot?g? (и WebODE) могут хранить свои онтологии в базах данных и таким образом управлять большими онтологиями. Наконец, большинство инструментов реализовано на Java.

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

Описание Prot?g? – 2000

Prot?g?-2000 – это интегрированное инструментальное программное средство, которое используется разработчиками систем и экспертами по предметным областям для разработки систем, основанных на знаниях. Приложения, разработанные при помощи Prot?g?-2000, используются при решении задач и принятии решений в конкретной предметной области.

В то время как в более раннем средстве Prot?g?/Win, как в классической системе баз данных, отдельно определялись классы информации (схема) и хранились экземпляры этих классов, Prot?g?-2000 облегчает работу и с классами, и с экземплярами. Так, отдельный экземпляр может быть использован на уровне описания класса, а класс можно хранить, как экземпляр. Подобным образом, слоты, которые ранее использовались только внутри классов, сейчас поднялись до уровня, на котором находятся классы. Используя эту новую модель знаний, также обеспечивается соответствие протоколу ОКВС (Open Knowledge Base Connectivity) для доступа к базам данных, хранящимся в системах представления знаний. В конечном счете, приложения из этих компонентов также исполняются внутри интегрированной среды Prot?g?-2000.

Средство Prot?g?-2000 получает доступ ко всем этим частям при помощи унифицированного графического интерфейса пользователя, верхний уровень которого включает перекрывающиеся вкладки для компактного представления частей и удобного их совместного редактирования. Такой дизайн верхнего уровня со вкладками позволяет интеграцию (1) моделирования онтологии классов, описывающей определенную дисциплину, (2) создания средства приобретения знаний для сбора информации, (3) ввода отдельных экземпляров данных и создание базы знаний и (4) выполнения приложений. Онтология определяет набор понятий и их отношения. Средство приобретения знаний разрабатывается специально для предметной области, позволяя экспертам по предметной области легко и свободно вводить свои знания в предметной области. Конечная база знаний затем может быть использована вместе с методом поиска решения задач для ответа на вопросы и решения задач в предметной области. В конечном счете, приложение является конечным продуктом, созданным, когда база знаний используется для решения задачи конечного пользователя с использованием подходящих методов поиска решения задач, методов «эксперт-система» или методов поддержки принятия решений.

Основное предположение в Prot?g?-2000 – это то, что системы баз знаний обычно очень дорого строить и поддерживать. Например, предполагается, что разработкой системы, основанной на знаниях, занимается команда, включая как разработчиков, так и экспертов по предметной области, которые могут быть в меньшей степени знакомы с компьютерным ПО. Prot?g?-2000 предназначено для того, чтобы вести разработчиков и экспертов по предметной области в процессе разработки системы. Prot?g?-2000 предназначено для того, чтобы позволить разработчикам повторно использовать онтологии предметных областей и методы поиска решения задач, таким образом уменьшая время, необходимое для разработки и поддержки программы. Несколько приложений могут использовать одну и ту же онтологию предметной области для решения различных задач; один и тот же метод поиска решения задач может быть использован с различными онтологиями. Более подробно о построении систем, основанных на знаниях, и о подходе, используемом в Prot?g?-2000, можно узнать в разделе Планирование Проекта Prot?g?-2000.

В настоящее время Prot?g?-2000 используется в клинической медицине и биометрических науках, хотя ее можно использовать в любой области, в которой понятия можно представить в виде иерархии классов.

2.6. Лабораторные работы

По всем темам курса:

· основы инженерии знаний

· модели представления знаний

· теоретические аспекты извлечения знаний

· когнитивная психология в инженерии знаний

· методы извлечения знаний

· методология структурирования знаний

· машинно-ориентированные приобретение и формирование знаний

были разработаны лабораторные работы.

Например, работа по теме «методы извлечения знаний» приведена ниже.

Заполнить семантическую сеть. Решите, про что будет сеть. Например, "Меня беспокоят мои отношения с моими друзьями или коллегами. Значит, цель моей сети - "Мои отношения с коллегами ". Если я выбраю себе автомобиль, цель решетки - "Какие бывают автомобили". Чтобы перейти к вводу элементов - кнопка "Стоп!"

Напишите 8-15 людей или предметов, отвечающих названию сети. Лучше, если вам поможет составить список элементов ваш консультант. Если работаете самостоятельно, постарайтесь, чтобы введенные элементы примерно равномерно описывали проблему. Для примера, здесь лежит список ролей, предложенный самим Дж.Келли. Можете, воспользовавшись им, подставить свои значения. Далее переходим к выявлению конструктов.

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

Этап называется "Ранжирование". Предполагается, что все, по очереди предъявляемые элементы, вы отнесете к более соответствующему полюсу конструкта.

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

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

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