Проектирование экспертных систем технической поддержки на основе онтологий
Рабчевский Е. А.,
E-mail: evgeny@ranat.ru
Архипов Е. С.,
E-mail: saibro@mail.ru
Пермский государственный университет
кафедра компьютерных систем и телекоммуникаций
Россия 614990 г.Пермь, ул.Букирева, 15
Выявлены понятия, необходимые для осуществления технической поддержки. Создана онтология, предоставляющая соответствующие термины. Реализовано web приложение, использующее технологии Semantic Web, - машина логического вывода с интерфейсом экспертной системы, работающая с указанными понятиями. Работа приложения демонстрируется на технической поддержке компьютера и автомобиля.
Введение
Техническую поддержку многих систем экономически более выгодно оказывать удаленно, в автоматическом режиме, то есть использовать формализованные знания эксперт. Знания, обеспечивающую техническую поддержку для различных предметных областей, имеют схожую структуру. Для их представления рационально использовать онтологии, и другие технологии Semantic Web.
Пользователь всякой системы технической поддержки, как правило, не знает всех причинно-следственных связей используемой им технической системы, и имеет дело лишь с «симптомами». Задача экспертной системы технической поддержки - по неполной информации о системе, однозначно определить ее состояние и выдать пользователю рекомендации по переводу системы в целое состояние. Причем интеллектуальность системы зависит от того насколько быстро система “поставит диагноз”.
При создании базы знаний экспертной системы технической поддержки предлагается разделить понятия, которыми оперирует экспертная система при принятии решения: состояние поддерживаемой системы, факторы, влияющие на него и т.п.; и термины конкретной предметной области, которые можно отнести к этим понятиям. Например, «автомобиль» находится в состоянии «не заводится», на это может влиять то, что «аккумулятор» находится в состоянии «разряжен».
Такой подход позволит повторно использовать одну и туже машину логического вывода (уже с интерфейсом) в качестве экспертной системы для поддержки различных предметных ‘областей. Для этого необходимо «разметить» конкретную предметную область в терминах предложенного словаря.
База знаний
В качестве базы знаний экспертной системы предлагается использовать OWL, онтологию — компонент технологии Semantic Web. Принцип разделения понятий машины вывода и терминов конкретной предметной области разделяет базу знаний на онтологию логики принятия решений, в которой определяются понятия, с которыми оперирует машина логического вывода, и онтологию предметной области — формальное описание предметной области в терминах онтологии логики принятия решений.
Далее прописными буквами обозначаются ключевые элементы онтологии логики принятия решений.
Пользователь имеет дело с ЭЛЕМЕНТАМИ СИСТЕМЫ или её ПОДСИСТЕМ. Каждый ЭЛЕМЕНТ имеет своё СОСТОЯНИЕ. На состояние элемента влияет набор ФАКТОРОВ. Фактор имеет ряд разрешенных ЗНАЧЕНИЙ. Причем один фактор может влиять на несколько элементов, а на значение самого фактора могут влиять другие факторы. Состояние всякого элемента однозначно определяется значениями всех влияющих на него. В рамках одного элемента каждый фактор имеет ПРИОРИТЕТ. Для реализации отношения элемент-фактор-приоритет предлагается расширить триплетную модель данных OWL. Фактору определено КАК_ОПРЕДЕЛИТЬ_ИЗМЕНИТЬ.
Ниже представлена ЕR-диаграмма онтологии логики принятия решений, разработанной с помощью редактора онтологий Ргоtege 3.1.
Уровень логического вывода
Состояние системы определяется состоянием её элементов, пользователь указывает элементы, состояние которых его не устраивает, и определяет целевое состояние. Экспертная система определяет набор всех факторов, способных перевести систему в целевое состояние.
Если пользователь уже определил значения некоторых факторов, то ввиду того, что значение одного фактора может определяться значением другого, из набора всех факторов, способных перевести систему в целевое состояние, возможно, потребуется устранить факторы, запрещенные другими. Таким образом, образуется иерархия факторов.
Интеллектуальная задача системы состоит в том чтобы, определить фактор, изменив значение которого пользователь переведет систему в целевое состояние, при том что пользователю будет задано минимум вопросов (предложено определить значения минимального количества факторов).
Экспертная система выбирает фактор по следующим критериям:
в иерархии факторов выбирается верхний (влияющий на наибольшее количество других факторов);
фактор, влияющий на наибольшее количество элементов, состояние которых не устраивает пользователя;
фактор с наибольшим приоритетом.
Пользователь определяет или изменяет значение предложенного фактора, и если система не переходит в целевое состояние, то по указанным критериям выбирается следующий фактор, и пользователю предлагается определить или изменить его значение.
Изначально полагается, что поддерживаемая система не обладает «памятью», то есть порядок изменения значений факторов не имеет значения.
Предполагается, что в онтологии предметной области указаны все факторы, способные перевести систему в целевое состояние. Это означает, что рано или поздно пользователю будет предложен фактор, изменение значение которого, переведет систему в целевое состояние.
В следствие, кросс-платформености Semantic Web приложений, предлагается использовать платформу Java2. Механизм логического вывода реализуется с помощью Jena Semantic Web Framework - библиотеки Java классов для работы с RDF и OWL, онтологиями.
В коде приложения следует разделять классы, обеспечивающие загрузку онтологии в память, классы, которые проводят с онтологией указанные процедуры логического вывода, и классы, непосредственно связанные с интерфейсом пользователя. Это позволит развивать систему модульно.
В частности, предложенная онтология лишь определяет основные понятия работы эксперта, при этом простота OWL. онтологий позволяет ввести, например понятие, обеспечивающее самообучение, лишь на уровне онтологии. Для реализации нескольких моделей вывода, например, еще нечеткого, предлагается ввести RDF-словарь самой экспертной системы с профилем логического вывода.
Интерфейс
Для реализации интерфейса предлагается использовать технологии JSP страниц и сервлетов, компонентов спецификации J2EE которая позволяет разрабатывать корпоративные веб приложения. Таким образом, экспертная система представляет собой веб приложение.
Классы интерфейса пользователя позволяют визуализировать элементы онтологии и осуществлять диалог с пользователем.
Важным моментом в успехе внедрения экспертной системы является осуществление через тот же веб интерфейс таких функций, как администрирование, модификация онтологии предметной области.
Заключение
Предложенные онтология логики принятия решений и машина логического являются одним из немногих российских приложений, использующих технологии Semantic Web. Используя данный подход, созданы онтологии для двух предметных областей: компьютер, автомобиль. Более подробно с соответствующими приложениями можно познакомиться на сайте http://semanticweb.dev,juga.ru.
Авторы благодарят М. А. Марценюка за обсуждение работы.
Cписок литературы
1.Tim Barners Lee, Semantic Web, SCIENTIFIC AMERICAN 2001.
2.OWL Web Ontology Language Use Cases and Requirements http://www.w3.org/TR/2004/REC-webont-req-20040210/
3.OWL Web Ontology Language Guide http://www.w3.org/TR/2004/REC-owl-guide-20040210/
4.Prot.eg.e home page http://protege.stanford.edu/
5.The Prot.eg.e OWL Plugin: for Semantic Web Applications Holger Knublauch, Ray W. Fergerson, Natalya F. Noy and Mark A. Musen Stanford Medical Informatics, Stanford School of Medicine
6.Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Prot.eg.e/OWL
7.Defining N-aru Relarions on the Semantic Web: http:/www.w3/TR/2006/NOTE-swbp-n-aryRelations-20060412/
8. Jena Semantic Web Framework home page: http://jena.sourceforge.net/
10. http://www.ksl.stanford.edu/people/dlm/webont/wineAgent/