• Nie Znaleziono Wyników

Struktura bazy wiedzy systemu PC-Shell

N/A
N/A
Protected

Academic year: 2021

Share "Struktura bazy wiedzy systemu PC-Shell "

Copied!
5
0
0

Pełen tekst

(1)

Metody realizacji systemów ekspertowych w środowisku systemu PC-Shell

Systemy ekspertowe — charakterystyka ogólna Właściwości:

• są narzędziem kodyfikacji wiedzy eksperckiej,

• mają zdolność rozwiązywania problemów specjalistycznych, w których duża rolę odgrywa doświadczenie a wiedza ekspercka jest dobrem rzadkim i kosztownym.

• zwiększają dostępność ekspertyzy,

• zapewniają możliwość prowadzenia jednolitej polityki przez centralę firm mających wiele oddziałów,

• poziom ekspertyzy jest stabilny - jej jakość nie zależy od warunków zewnętrznych i czasu pracy systemu,

• jawna reprezentacja wiedzy w postaci zrozumiałej dla użytkownika końcowego,

• zdolność do objaśniania znalezionych przez system rozwiązań,

• możliwość przyrostowej budowy i pielęgnacji bazy wiedzy.

Zastosowania:

• analiza ryzyka,

• ocena wniosków kredytowych, uczestników przetargów,

• monitorowanie, diagnostyka, predykcja,

• wspomaganie procesów diagnostycznych,

• analiza i interpretacja danych,

• instruktaż, dydaktyka, szkolenia.

Twórca narzêdzi

Narzêdzia do budowy

SE

Ekspert dziedzinowy

In¿ynier wiedzy

System Ekspertowy

Baza wiedzy

U¿ytkownik implementuje pozyskuje wiedzê

buduje i testuje testuje i rozszerza

Realizacja dziedzinowego SE (z uwzglêdnieniem zadañ twórców systemu )

Ogólna charakterystyka szkieletowego systemu ekspertowego PC-Shell

PC–Shell jest podstawowym elementem pakietu sztucznej inteligencji Sphinx®

• PC–Shell jest dziedzinowo niezależnym narzędziem do budowy systemów ekspertowych, posiada właściwości hybrydowe, wykorzystuje elementy architektury tablicowej;

• wykorzystuje różne metody reprezentacji wiedzy:

!"deklaratywna w postaci reguł i faktów,

!"wiedza rozproszona w sieci neuronowej,

!"imperatywna w formie programu algorytmicznego,

!"faktograficzna w formie tekstów, grafiki, dźwięku, sekwencji wideo;

• system zapewnia wyjaśnienia:

!"jak (ang. how),

!"dlaczego (ang. why),

!"co to jest (ang. what is),

!"metafory (ang. metaphor),

!"opisu faktów;

• wykorzystywane jest wnioskowanie wstecz (z nawrotami),

• bazy wiedzy mogą być parametryzowane,

• system ma możliwość bezpośredniego pozyskiwania informacji z baz danych (ODBC), wykorzystuje mechanizm DDE,

• system PC–Shell współpracuje z innymi elementami pakietu – systemem Neuronix przeznaczonym do tworzenia sieci neuronowych, systemem CAKE przeznaczonym do wspomagania pracy inżyniera wiedzy oraz realizującym funkcje systemu dbMaker, zarządzającego bazami wyjaśnień.

Podsystem komunikacji z u¿ytkownikiem Baza wyjaœnieñ Co To Jest?

Baza Metafor Baza

Ekspercka

Definicja Sieci Neuronowej

Baza Wiedzy

Symulator Sieci Neuronowej Translator JOBW

Sphinx

Edytor bazy wiedzy

Modu³ przegl¹du bazy

Modu³ wnioskowania

Modu³ wyjaœnieñ Sterowanie

J¹dro Systemu

Architektura systemu PC-Shell

(2)

PC Shell 3/ 10

Realizacja aplikacji w środowisku systemu PC-Shell

PC-Shell jest dziedzinowo—niezależnym, szkieletowym systemem ekspertowym o właściwościach hybrydowych. Dzięki zastosowaniu elementów architektury tablicowej, bazę wiedzy podzielić można na pewną ilość heterogenicznych źródeł wiedzy. Realizacja dziedzinowego systemu ekspertowego polega na stworzeniu stosownej bazy wiedzy. Klasyczne podejście do tego procesu polega na zapisie wiedzy w sformalizowanej postaci, do czego wykorzystywany jest język reprezentacji wiedzy. Do definiowania sieci neuronowej wykorzystuje się system Neuronix, tworzenie i zarządzanie bazami wyjaśnień umożliwia system dbMaker. Umieszczony niżej rysunek ilustruje proces realizacji hybrydowej bazy wiedzy.

Baza Wiedzy zawieraj¹ca heterogeniczne Ÿród³a wiedzy Neuronix

Definiowanie struktury i parametrów sieci, uczenie, generacja

pliku opisu sieci

PC-Shell Tworzenie, edycja, rozwój, testowanie baz

eksperckich, zarz¹dzanie projektem

dbMaker Zarz¹dzanie muli- medialnymi bazami

wyjaœnieñ CO TO JEST? i METAFORAMI Tworzenie, testowanie, pielêgnacja i rozwój aplikacji

Podejœcie klasyczne

a = X if b = X, c = 3.2;

b = X if k = Y, e = Z;

e = X if d = Z, h = Z;

k = X if h = Z, g = 4;

Ekspercka BW

Definicja SN CO TO JEST?

To jest tekst w bazie wyjaœnieñ CO TO JEST? To zwyk³y tekst, ale mog¹ byæ te¿ obrazki oraz dŸwiêk.

PC-Shell Dialog

œmig³owy turboœmig³owy odrzutowy Podaj typ samolotu

OK Dlaczego Co to?

Dziedzinowy system ekspertowy

Dialogi Grafika DŸwiêk Wyjaœnienia:

- Co To Jest? - Metafory?

Wnioskowanie Zarz¹dzanie Ÿród³ami Wyjaœnienia:

- Dlaczego?

- Jak?

Pakiet Sphinx® zawiera system CAKE (ang. Computer Aided Knowledge Engineering), który jest przeznaczony do wspomagania procesu realizacji dziedzinowych aplikacji szkieletowego systemu ekspertowego PC–Shell. Dzięki wykorzystaniu systemu CAKE można realizować aplikacje systemu PC–Shell bez dokładnej znajomości języka opisu bazy wiedzy. Na każdym z etapów pracy system oferuje wygodne narzędzia wspomagające, eliminujące konieczność żmudnego wprowadzania kodu. Zapis baz wiedzy

w postaci binarnej zapewnia z jednej strony ochronę zgromadzonej wiedzy przed niepowołanym dostępem, z drugiej zaś strony poprawia efektywność wykonania aplikacji w

PC Shell 4/ 10

środowisku systemu PC–Shell. Dzięki systemowi uprawnień i haseł można ograniczyć dostęp do aplikacji zarówno na etapie jej tworzenia jak również na etapie jej wykonywania.

Umieszczony poniżej rysunek ilustruje przebieg procesu realizacji aplikacji eksperckiej w środowisku systemu CAKE.

Tworzenie, testowanie, pielêgnacja i rozwój aplikacji Wykorzystanie systemu CAKE

PC-Shell Dialog

œmig³owy turboœmig³owy odrzutowy Podaj typ samolotu

OK Dlaczego Co to?

Ocena stanu techniczego

Dziedzinowy system ekspertowy

Dialogi Grafika DŸwiêk Wyjaœnienia:

- Co To Jest? - Metafory?

Wnioskowanie Zarz¹dzanie Ÿród³ami Wyjaœnienia:

- Dlaczego?

- Jak?

CAKE Plik Edycja Przegląd Uprawnienia Pomoc

Dialog

reguła 001 reguła 002 reguła 003 reguła 004 reguła 005 reguła 006

przegląd = nie if typ = odrzutowy, brak_awarii, sprawny_technicznie;

Dialog

Tekst wyjaśnień dla atrybutu SAMOLOT

Neuronix

Definiowanie struktury i parametrów sieci, uczenie, generacja

pliku opisu sieci

111011010110 111010101111 010100111010 111111111100 110101111011 Definicja

SN

101010101010 101011011010 110110101011 110100011101 011111000100 Ekspercka

BW Projekt

Uprawnienia Has³a U¿ytkownicy

110110101011 110100011101 Co To?

101010101010 101011011010 110110101011 110100011101 011111000100 Metafory

Binarna Baza Wiedzy

(3)

Struktura bazy wiedzy systemu PC-Shell

Baza wiedzy systemu zapisywana jest przy użyciu wyspecjalizowanego języka opisu bazy wiedzy SPHINX. Integruje on w sobie deklaratywny język reprezentacji wiedzy oraz strukturalny język programowania. Baza wiedzy zapisywana jest w postaci pliku (lub plików) tekstowych poddawanych procesowi translacji na początku każdej sesji konsultacyjnej.

Baza wiedzy ma strukturę blokową. Ogólną syntaktykę baz wiedzy oraz funkcje poszczególnych bloków przedstawia umieszczona poniżej tabela.

Podsystem komunikacji z u¿ytkownikiem Edytor bazy

wiedzy

Modu³ objaœnieñ Modu³

przegl¹du bazy wiedzy Baza

wiedzy

Bazy wyjaœnieñ

Sterowanie

Modu³ wnioskowania Translator jêzyka

opisu bazy wiedzy

STRUKTURA SYSTEMU PC-Shell

Struktura bazy wiedzy systemu PC-Shell

Struktura bazy wiedzy Opis funkcji bloków bazy wiedzy

knowledge base nazwa

sources

opis_plików

end;

Definicja plików zawierających źródła wiedzy:

ekspercka baza wiedzy, definicja sieci neuronowej, baza wyjaśnień.

facets

opis_faset

end;

Definicja atrybutów - ich typów i właściwości, ustalenie wartości przełączników sterujących wnioskowaniem.

rules

opis_reguł

end;

Blok opisu reguł zapisanych w postaci klauzul Horna.

facts

opis_faktów

end;

Blok opisu faktów zapisanych w postaci trójek Obiekt-Atrybut-Wartość.

control

program

end;

Blok programu - sterowanie wnioskowaniem i aktywacją źródeł, pozyskiwanie i wstępne przetwarzanie danych, dostęp do plików baz danych, dynamiczna wymiana danych itp.

end;

Blok deklaracji źródeł wiedzy

Format opisu źródła:

gdzie type służy do specyfikacji typu źródła, jednego z poniższych:

kb - eksperckie bazy wiedzy,

neural_net - sieci neuronowe,

metaphor - bazy danych zawierające wyjaśnienia typu metafory,

what_is - bazy danych zawierające wyjaśnienia typu co to jest, natomiast file łańcuch_znaków określa plik, w którym przechowywane jest źródło wiedzy.

nazwa_źródła :

type { kb | metaphor | what_is };

file łańcuch_znaków;

(4)

PC Shell 7/ 10

Przykładowa deklaracja bloku źródeł:

Ogólna struktura bloku faset

Fasetami określa się tu zbiór deklaracji odnoszących się do wybranych atrybutów. Blok faset zawiera wykaz wszystkich atrybutów używanych w bazie wiedzy, wraz z przypisanymi do nich fasetami.

Rodzaje faset opisujących atrybuty:

ask - określa czy system może stawiać pytania dotyczące danego atrybutu; system zadaje pytania jedynie w sytuacji, gdy nie potrafi potwierdzić warunku reguły lub hipotezy wykorzystując fakty i reguły zawarte w bazie wiedzy;

query- umożliwia zdefiniowanie przez użytkownika własnej treści zapytań o wartość atrybutu, generowanych przez system;

unit - umożliwia zadeklarowanie jednostki miary, w której wyrażane są wartości danego atrybutu, podczas wyświetlania informacji zawierającej dany atrybut, dodatkowo - po wartości - będzie pojawiał się tekst zadeklarowany jako jednostka_miary.

sources

decyzja_kredytowa :

type kb

file "c:\\bazy\\bw\\decyzja.zw";

prognoza_finansowa : type neural_net

file "c:\\bazy\\sieci\\prognoza.def";

metafory :

type metaphor

file "c: \\bazy\\bw\\kredyt.dbm";

coto :

type what_is

file "c: \\bazy\\bw\\kredyt.dbw";

end;

facets opis_faset end;

opis_faset:

atrybut1 [ deklaracje_faset1 ];

-

atrybutn [ deklaracje_fasetn ];

PC Shell 8/ 10

val - określa zbiór dopuszczalnych wartości danego atrybutu. Wartości mogą być numeryczne lub symboliczne; do określenia dozwolonych lub niedozwolonych wartości służą następujące deklaracje związane z fasetą val : oneof, someof, range, except;

param - faseta ta umożliwia zadeklarowanie tzw. zmiennych parametrycznych i przypisanie im wartości domyślnych;

picture, sound - fasety te umożliwiają związanie rysunków i/lub dźwięku z atrybutem lub jego wartościami; rysunek jest automatycznie pokazywany, np. gdy pojawia się zapytanie dotyczące atrybutu z którym związany jest rysunek; dźwięk można odtworzyć po wybraniu odpowiedniego przycisku.

Przykłady definicji atrybutów z użyciem faset :

facets

temperatura_ciała :

query "Podaj temperaturę ciała:";

unit "°C";

val range < 36, 42 >;

param { NORMALNA = 36.7, STAN_PODGOR = 37.5 };

- -

kolor_nadwozia :

query "Proszę podać kolor nadwozia samochodu:" ; val oneof { "biały", "czerwony", "niebieski" };

pojemność_silnika :

query "Proszę podać pojemność silnika:" ; unit "cm3";

val except { < MIN, 600 ), ( 4000, MAX > };

- - grzyb :

val oneof { "pieczarka", "muchomor", "maślak" } picture { "piecz.bmp", "muchomor.bmp","maslak.bmp"};

sound { "ok.bmp", "alarm.bmp", "ok.bmp" };

- -

ilość_pamięci_RAM :

query "Podaj przewidywaną ilość pamięci RAM:";

unit "MB";

val range < 1, 128 >

- - end;

(5)

Bloki opisu faktów

Przykłady poprawnie zapisanych faktów:

Bloki opisu reguł

Przykłady poprawnie zapisanych reguł:

facts opis_faktów end;

opis_faktu: trójka_OAW; lub not trójka_OAW;

facts

temperatura_ciała( kowalski ) = 37.5;

kolor_nadwozia = "biały";

pojemnosc_silnika = 2500;

grzyb = "maślak";

end;

rules opis_reguł end;

opis_reguły:

[ nr_reguły : ] konkluzja if warunek_1 &

warunek_2 &

...&

warunek_n;

typModemu = "Zoltrix 56000 Cobra Voice V.90 PCI" if producentModemu = "Zoltrix",

jakiModem = "modem wewnętrzny", szybkośćModemu = "56000";

typDrukarki = "Hewlett-Packard Desk Jet 1120C" if rodzajDrukarki = "drukarka atramentowa", producentDrukarki = "Hewlett-Packard", zastosowanieDrukarki = "wydruk tekstu i rysunków", jakośćWydruku = "jak najlepsza";

ryzyko_rozwoju_choroby_wieńcowej = "wysokie" if

skłonności_dziedziczne_choroby_wieńcowej = "występują", miażdżyca_tętnic_wieńcowych = "występuje";

gatunek = "DOOM METAL" if instrument = "gitara elektryczna", rytm = "umiarkowany",

rodzaj_wokalu = "mroczny, ponury", klimat = "ponury",

tempo = "wolne";

Blok sterujący

Typy danych

• całkowite (int, longint),

• rzeczywiste (float, double),

• tablicowe (jedno i dwuwymiarowe),

• rekordowe.

Instrukcje programowania (podział ogólny)

• instrukcje sterujące wykonaniem programu,

• instrukcje inicjujące i sterujące procesem wnioskowania,

• instrukcje operujące na bazie wiedzy,

• instrukcje podsystemu komunikacji z użytkownikiem,

• instrukcje symulatora sieci neuronowej,

• instrukcje związane z parametryzacją baz wiedzy,

• instrukcje obsługujące dostęp do plików,

• instrukcje obsługujące dostęp do baz danych,

• instrukcje dotyczące dynamicznej wymiany danych.

Przykładowy blok sterujący control

program end;

program:

[deklaracje zmiennych]

instrukcje

control run;

createAppWindow;

vignette( "NET", "Demonstracyjna baza wiedzy" );

setAppWinTitle("Konfiguracja sieci komputerowych");

menu "Konfiguracja"

1. "Dobór rodzaju sieci"

2. "Dobór konfiguracji serwera (NOVELL)"

3. "Dobór konfiguracji stanowisk roboczych"

4. "Nowa konsultacja"

5. "Wyjście"

case 1;

solve( nos, "typ_systemu_operacyjnego=Jaki_system" );

case 2;

solve( server,"konfiguracja_serwera=Jaki_serwer" );

case 3;

solve( pc, "konfiguracja_stacji_roboczych=Jakie_stacje");

case 4;

delNewFacts;

case 5;

exit;

end;

end;

end;

Cytaty

Powiązane dokumenty

Baza wiedzy systemu zapisywana jest przy użyciu wyspecjalizowanego języka opisu bazy wiedzy SPHINX. Integruje on w sobie deklaratywny język reprezentacji wiedzy oraz

• Jeśli w systemie funkcja Autoodtwarzanie NIE jest włączona, kliknij pozycję File Explorer (Eksplorator plików) w menu Start, a następnie kliknij dwukrotnie ikonę karty pamięci,

Rough Sets and Data Mining, Kluwer Academic Publishers..

System proponuje również konsultację ze sprzedawcą wtedy, gdy użytkownik wybiera jazdę po górach, terenach trudnych i niebezpiecznych, ale nie chce roweru

Magistrala VL-Bus pozwala jednocześnie przesłać 32 bity danych, dzięki czemu możliwa jest komunikacja pomiędzy procesorem a kompatybilnym podsystemem graficznym lub dyskiem

Obszar opisu wydania składa się z nazwy wydania (zwykle tożsamej z tytułem), złożonej większym fontem, która znajduje się na górze; listy metadanych z lewej

Write a shell script to change the name of a file called shell1.pdf to a file called simple shell.pdf.. Write a shell script to make the file,

Sekwencja wykonywanych rozkazów określona jest poprzez program. Może być ona jednak zmieniana na skutek zewnętrznego zdarzenia zwanego przerwaniem, lub wewnętrznego zwanego