• Nie Znaleziono Wyników

3. KONCEPCJA INTELIGENTNEGO SYSTEMU WYSZUKIWANIA WIEDZY

3.3. Wybrane przykłady wyszukiwania wiedzy w sieciach semantycznych

W podrozdziale pokazano przykłady, które ilustrują opisane algorytmy tworzenia tezaurusa i ontologii oraz proces wyszukiwania wiedzy w sieciach semantycznych. Najpierw zostanie przedstawiony przykładowy klasyfikator konstrukcyjno-technologiczny dla sieci semantycznej

str. 100

w systemie produkcji. Następnie przedstawiono fragment sieci semantycznej dla systemu diagnostyki oraz wnioskowanie na podstawie danych zapisanych w tej sieci.

Klasyfikator konstrukcyjno-technologiczny dla systemu produkcji

Używając wprowadzonego aparatu pojęciowego, przedstawimy metodę rozmywania wiedzy konstrukcyjno-technologicznej o elementach obrotowo-symetrycznych reprezentowanej w sieci semantycznej, zaproponowaną przez zespół R. Knosali [kno02]. Przykład ten stał się inspiracją do utworzenia procedury wyznaczania tezaurusa oraz dyskretyzacji wartości podobieństwa konceptów i ról do danych wzorcowych opisanych w podrozdziale 3.1.3.

Przykładowy schemat sieci semantycznej dla elementów obrotowo-symetrycznych znajduje się na rysunku 3.1.

Dla tej sieci można wyróżnić następujące koncepty i role [bry12b]. Koncepty:

 Wałek (koncept Top – wszystkie możliwe do produkcji elementy obrotowo-symetryczne)

o postać zewnętrzna, o postać wewnętrzna,

o powierzchnie elementarne, o postać dwustronnie stopniowana, o otwór czołowy,

o i inne.

Konceptami są też odpowiednie zalecane w konstrukcji parametry techniczne.

Role: ma, nie ma, ma długość, jest typu, ma średnicę, ma masę, wykonano go z, skala

produkcji, wymagana obróbka, ma zarys i inne.

Dla tej sieci semantycznej buduje się schemat szkieletowy sieci semantycznej klasyfikatora konstrukcyjno-technologicznego według wzoru pokazanego na rysunku 3.2. Rodzina diagramów zbudowanych według tego wzoru dla konkretnych wzorcowych elementów produkcji jest siecią semantyczną w danym systemie produkcji [bry12b].

Dla przedmiotów wzorcowych 𝑃1, 𝑃2, … 𝑃𝑖, … , 𝑃𝑘 oraz dowolnego przedmiotu 𝑃𝑥 określone są koncepty podobieństwa dowolnego przedmiotu do przedmiotu 𝑃𝑖 w węźle 𝜔 semantycznej sieci szkieletowej przedmiotu 𝑃𝑖. Rolami są opisane w tej sieci związki konceptu w węźle 𝜔 i konceptu w wyżej położonym węźle 𝜔’.

Nazwami konceptów są nazwy określone dla ustalonych przedmiotów wzorcowych 𝑃𝑖 i węzła ω sieci szkieletowej tego przedmiotu za pomocą schematu: „przedmiot podobny do przedmiotu 𝑃𝑖 w węźle 𝜔”. Nazwami ról są nazwy związków określone według schematu „opisane w sieci szkieletowej przedmiotu 𝑃𝑖 związki konceptu w węźle 𝜔 i konceptu w węźle wyżej położonym 𝜔’”. Wystąpieniami konceptów są indywidualne nazwy konkretnego zamawianego przedmiotu 𝑃𝑥 podobnego do konkretnego wzorcowego przedmiotu 𝑃𝑖, natomiast wystąpieniami ról są stosowne pary wystąpień powiązanych rolą konceptów.

str. 101

Rysunek 3.2. Przykładowa sieć semantyczna opisująca element typu Wałek [kno02].

Wałek Postać wewnętrzną Postać zewnętrzną Powierzchnie elementarne Wydrążenie Powierzchnie czołowe

Powierzchnia czołowa lewa Powierzchnia czołowa prawa

Otwór czołowy Otwór czołowy Dwustronnie stopniowana Jednostkowa Frezowanie Stal ST4 3,7 kg 56 mm 280 mm Gwint 40 mm Trójkątny 100 mm Odsadzanie 1 40 mm 100 mm Rowek wpustowy Odsadzanie 2 100 mm 40 mm ma nie ma nie ma ma ma ma jest typu skala produkcji wymagana obróbka wykonano go z ma masę ma średnicę ma długość ma ma ma ma średnicę ma średnicę ma długość ma długość ma długość ma średnicę ma ma zarys ma ma ma

str. 102

Rysunek 3.3. Schemat szkieletowy sieci semantycznej klasyfikatora konstrukcyjno-technologicznego. Opracowanie własne.

Wskaźnik podobieństwa kosztów dwóch obiektów jest wyrażony wzorem (77), gdzie: 𝑥 – koszt pierwszego przedmiotu, 𝑦 – koszt drugiego przedmiotu. Przyjmijmy, zgodnie z opisaną

I poziom

Posiada cechę konstrukcyjną należy do klasy (zespołu)

Przedmiot zamawiany do produkcji w porównaniu z wzorcowym przedmiotem Klasa 1 Cecha (1.1) Cecha (1.2) Klasa 3 Cecha (3.1) Cecha (3.2) Klasa 2 Cecha (2.1) Cecha (2.2) II poziom Jest rodzaju technologicznego

należy do podklasy Podklasa 3.2.1 Technologia (3.2.1.1) Technologia (3.2.1.2) Podklasa 3.2.2 Technologia (3.2.2.1) Technologia (3.2.2.2) III poziom

Należy do typu części posiadającej technologię (3.2.2.2)

Typ wielkości fizycznej 3.2.2.2.1 Część 1 (3.2.2.2.1.1) Część 2 (3.2.2.2.1.2) Typ kształtu 3.2.2.2.2 Część 1 (3.2.2.2.2.1) Część 2 (3.2.2.2.2.2) Typ materiału 3.2.2.2.3 Część 1 (3.2.2.2.3.1) Część 2 (3.2.2.2.3.2) Funkcjonalność (jakość, ograniczenia, skala produkcji) 3.2.2.2.4

str. 103

wcześniej koncepcją (rozdz. 3.1.3.), że wzorcowym przedmiotom 𝑃1, 𝑃2, … , 𝑃𝑘 odpowiadają koszty: 𝑐1, 𝑐2, … , 𝑐𝑘. Będą rozważane tylko wskaźniki podobieństwa kosztów 𝑥, 𝑦, dla których 𝑐(𝑥, 𝑦) > 𝛼𝑘 (np. 𝛼𝑘 = 0,9), gdzie 𝛼𝑘 jest wartością uznawaną przez ekspertów za minimalną wartość wskaźnika podobieństwa kosztów, dla którego różnice kosztów są nieistotne. Jako wzorcowe pary wzorcowych przedmiotów 𝑃𝑖 , 𝑃𝑗 do porównań kosztów 𝑐𝑖, 𝑐𝑗 przyjmie się tylko takie pary, dla których spełniony jest warunek (78).

Zakłada się, że można mieć zaufanie tylko do takiego obliczania wskaźnika podobieństwa przedmiotów, w którym przyjęto taką funkcję ważenia 𝑣(𝜔), że dla wszystkich wyróżnionych wzorcowych par (𝑃𝑖, 𝑃𝑗) wskaźnik podobieństwa [𝜔(𝑃𝑖, 𝑃𝑗)] różni się minimalnie od wskaźnika podobieństwa kosztów 𝑐(𝑐𝑖, 𝑐𝑗). Eksperci mogą za wiarygodne uznać np. kryterium (79), czyli będą akceptować różnicę podobieństwa przedmiotów od podobieństwa kosztów w granicach 10% [kno02].

Wyróżnienie wskazanego wyżej zbioru funkcji ważenia pozwala wyznaczyć bazowy zbiór

Fuz interpretacji rozmytych oraz wyznaczyć zbiór wszystkich wskazanych sposobów

obliczania wskaźników podobieństwa dowolnego przedmiotu 𝑃 do dowolnego przedmiotu wzorcowego 𝑃𝑖. Dla dowolnego węzła 𝜔 sieci semantycznej klasyfikatora podobieństwa przedmiotu 𝑃 do przedmiotu wzorcowego 𝑃𝑖 w węźle 𝜔 stopień ważenia w tym węźle jest

stopniem rozmycia roli opisanej przez związek konceptu w węźle 𝜔 i konceptu w wyżej położonym węźle. Zgodnie z kryteriami przyjętymi przez ekspertów przyjmuje się, że zakres

ufności rozmycia konceptu 𝐶 w węźle 𝜔 ≠ 𝜔(𝑃𝑖, 𝑃) jest zbiorem 𝑉(𝐶) wskaźników podobieństwa [𝜔]. Natomiast zakres ufności rozmycia roli R wyznaczonej w węźle 𝜔 jest zbiorem 𝑉(𝑅) wartości 𝑣(𝜔) pewnej wyróżnionej funkcji ważenia.

Implementacja w języku OWL DL pomiaru ciśnienia sprężania w silniku samochodowym

Zdecydowana większość pośrednich układów wtrysku benzyny w silnikach samochodowych nie ma czujnika ciśnienia paliwa zasilającego wtryskiwacza, a więc sterownik nie zna jego aktualnej wartości. System diagnostyczny sterownika nie jest również w stanie wykryć uszkodzeń typu hydraulicznego w układzie paliwowym (nieszczelności, wzrost oporów przepływu paliwa przez wtryskiwacze). Ma też trudności z wykryciem uszkodzeń typu elektrycznego wtryskiwaczy, jeśli uszkodzenie nie jest jednoznaczne, np. przerwanie obwodu cewki wtryskiwacza, a jest to tylko jej przebicie [mys10]. W celach diagnostycznych dokonuje się pomiaru ciśnienia sprężania. Na rysunku 3.4. pokazano układ paliwowy przygotowany do takiego pomiaru. Na rysunku: 1 oznacza zbiornik paliwa (w zbiorniku jest jeszcze niepokazany wstępny filtr ssawny); 2 – elektryczna pompa paliwowa; 3 – dokładny filtr paliwa; 4 – listwa paliwowa zasilająca wtryskiwacze; 5 – wtryskiwacze; 6 – regulator ciśnienia paliwa; 7 – kolektor dolotowy; 8 – silnik.

str. 104

Rysunek 3.4. Schemat układu paliwowego pośredniego, wielopunktowego, powrotnego układu wtryskowego, przygotowanego do pomiaru ciśnienia [mys10].

Jeśli zmierzone ciśnienie jest za niskie, to może być to spowodowane różnymi czynnikami [mys10]:

 Uszkodzeniem zaworu przelewowego w pompie paliwa – dla sprawdzenia tej ewentualności należy wykonać pomiar maksymalnego ciśnienia tłoczenia pompy paliwowej.

 Uszkodzeniem regulatora ciśnienia paliwa.

 Niektóre układy posiadają tłumik pulsacji ciśnienia, montowany pomiędzy pompą paliwa a listwą paliwową, jego uszkodzenie lub rozregulowanie (zasadniczo nie podlega on regulacji, choć w niektórych silnikach ma śrubę regulacyjną) może również spowodować za niskie ciśnienie tłoczenia.

Jeśli zmierzone ciśnienie jest za wysokie, to może być to spowodowane różnymi czynnikami [mys10]:

 Uszkodzeniem regulatora ciśnienia paliwa.

 Niedrożnym przewodem powrotnym paliwa z regulatora ciśnienia paliwa do zbiornika paliwa.

 Jeśli dany układ posiada tłumik pulsacji ciśnienia, montowany na przewodzie powrotnym paliwa z regulatora ciśnienia paliwa do zbiornika paliwa, to jego niesprawność może również spowodować wzrost ciśnienia paliwa.

 Jeśli dany układ posiada tłumik pulsacji ciśnienia, to jego uszkodzenie lub rozregulowanie może również spowodować wzrost ciśnienia tłoczenia.

Zmierzone ciśnienie może wskazywać na różne usterki w badanym układzie, jednak dla przykładu zostanie pokazana diagnostyka, czy uszkodzeniu uległ reduktor ciśnienia paliwa. Poniżej przedstawiono opis układu opisanego za pomocą OWL w celu diagnostyki uszkodzenia reduktora ciśnienia paliwa.

str. 105

W pierwszej kolejności należy utworzyć klasę silnik, która będzie określać badany obiekt diagnozowany, jakim jest układ paliwowy w silniku samochodowym, oraz klasę pomiar ciśnienia, określającą przeprowadzony pomiar.

<owl:Class rdf:ID="Silnik"/ >

<owl:Class rdf:ID="PomiarCisnienia"/>

Następnie klasy silnik i pomiar ciśnienia zostają połączone ze sobą rolą (właściwością) „ma badanie”, oraz rolą odwrotną „dotyczy silnika”. Dzięki tej roli wiadomo, że dany silnik ma badanie pomiaru ciśnienia.

<owl:ObjectProperty rdf:ID="maBadanie"> <owl:domain rdf:resource="#Silnik"/> <owl:range rdf:resource="#PomiarCisnienia"/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID="dotyczySilnika"> <owl:domain rdf:resource="#PomiarCisnienia"/> <owl:range rdf:resource="#Silnik"/> <owl:inverseOf rdf:resource="#maBadanie"/> </owl:ObjectProperty>

Opisujemy również klasę „wynik pomiaru ciśnienia” oraz rolę „ma wynik”, która łączy klasę pomiar ciśnienia z klasą wynik pomiaru ciśnienia. Wynik pomiaru ciśnienia jest klasą, która przyjmuje wartości z kolekcji: „Niski”, „Normalny”, „Wysoki”.

<owl:Class rdf:ID="WynikPomiaruCisnienia"> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Niski"/> <owl:Thing rdf:about="#Normalny"/> <owl:Thing rdf:about="#Wysoki"/> </owl:oneOf> </owl:Class> <owl:ObjectProperty rdf:ID="maWynik"> <owl:domain rdf:resource="#PomiarCisnienia"/> <owl:range rdf:resource="#WynikPomiaruCisnienia"/> </owl:ObjectProperty>

Opisana zostaje również klasa „pomiar ciśnienia wykazujący nadciśnienie”, która występuje, gdy pomiar ciśnienia ma wynik „wysoki”.

<owl:Class rdf:ID="PomiarCisnieniaWykazujacyNadcisnienie"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#PomiarCisnienia"/> <owl:Restriction> <owl:onProperty rdf:resource="#maWyniki"/> <owl:hasValue rdf:resource="#Wysoki"/> </owl:Restriction> </owl:intersectionOf> </owl:Class>

str. 106

Klasa „silnik zagrożony usterką regulatora ciśnienia” występuje, gdy występuje pomiar ciśnienia w silniku, a wynik badania ma pomiar ciśnienia wykazujący nadciśnienie.

<owl:Class rdf:ID="SilnikZagrozonyUsterkaRegulatoraCisnienia"> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Silnik"/> <owl:Restriction> <owl:onProperty rdf:resource="#maBadanie"/> <owl:someValuesFrom rdf:resource= "#PomiarCisnieniaWykazujacyNadcisnienie"/> </owl:Restriction> </owl:intersectionOf> </owl:Class>

Z opisanej wyżej ontologii za pomocą języka OWL można zauważyć, że wynikają pewne fakty:

1) Właściwości (role) „ma badanie” i „dotyczy silnika” są odwrotne: maBadanie(X, Y) ⇔ dotyczySilnika(Y, X).

2) Klasa „pomiar ciśnienia wykazujący nadciśnienie” zachodzi wtedy, gdy dla danego obiektu, silnika, zostanie wykonany pomiar ciśnienia i wynik tego pomiaru będzie wysoki: PomiarCisnieniaWykazujacyNadcisnienie(X) ⇔ PomiarCisnienia(X) ∧ maWynik(X, #Wysoki).

3) Klasa „silnik zagrożony usterką regulatora ciśnienia” zachodzi, gdy dla pewnego silnika (obiektu) zostanie wykonane przynajmniej jedno badanie, a wynik tego badania będzie wysoki, czyli będzie spełniał klasę „pomiar ciśnienia wykazujący nadciśnienie”: SilnikZagrozonyUsterkaRegulatoraCisnienia(X) ⇔ Silnik(X) ∧ ∃Y(maBadanie(X, Y) ∧ PomiarCisnieniaWykazujacyNadcisnienie(Y)).

Załóżmy, że mamy konkretny silnik samochodowy o numerze identyfikacyjnym pojazdu VIN: 1M8GDM9A_KP042788. Zostały również wykonane dwa pomiary ciśnienia dla tego silnika: A. Silnik(#VIN1M8GDM9A_KP042788) B. maBadanie(#VIN1M8GDM9A_KP042788, #BadanieJK1) C. PomiarCisnienia(#BadanieJK1) D. maWynik(#BadanieJK1, #Normalny) E. PomiarCisnienia(#BadanieJK2) F. dotyczySilnika(#BadanieJK2, #VIN1M8GDM9A_KP042788) G. maWynik(#BadanieJK2, #Wysoki)

Powyższe obiekty zostały zapisane za pomocą OWL:

<Silnik rdf:ID="#VIN1M8GDM9A_KP042788"> <maBadanie rdf:resource="#BadanieJK1"/> </Silnik> <PomiarCisnienia rdf:ID=„BadanieJK1"> <maWynik rdf:resource="#Normalny"/> </PomiarCisnienia>

str. 107

<PomiarCisnienia rdf:ID=„BadanieJK2">

<dotyczySilnika rdf:resource="#VIN1M8GDM9A_KP042788"/> <maWynik rdf:resource="#Wysoki"/>

</PomiarCisnienia>

Na tej podstawie możemy odpowiedzieć na pytanie, czy silnik jest zagrożony usterką regulatora ciśnienia, czyli czy: SilnikZagrozonyUsterkaRegulatoraCisnienia (#VIN1M8GDM9A_KP042788)? W tym celu należy przeprowadzić wnioskowanie na podstawie opisanej ontologii.

Zauważmy, że BadanieJK1 ma wynik „normalny”, dlatego to badanie na pewno nie wskazuje na poszukiwaną usterkę. Proces wnioskowania przeprowadzimy dla badania JK2. Z punktu F. i 1) można zauważyć, że jeżeli silnik ma badanie, to badanie dotyczy tego silnika:

dotyczySilnika(#BadanieJK2, #VIN1M8GDM9A_KP042788)⇒ maBadanie(#VIN1M8GDM9A_KP042788, #BadanieJK2)

Następnie należy określić, czy pomiar ciśnienia wykazuje nadciśnienie:

PomiarCisnieniaWykazujacyNadcisnienie(#BadanieJK2)

Z punktów E., G. i 2) wynika, że rzeczywiście pomiar BadanieJK2 wykazuje nadciśnienie:

PomiarCisnienia(#BadanieJK2) ∧ maWynik(#BadanieJK2, #Wysoki) ⇒ PomiarCisnieniaWykazujacyNadcisnienie(#BadanieJK2)

Ostatnim etapem wnioskowania jest odpowiedź na pytanie, czy silnik jest zagrożony usterką regulatora ciśnienia:

SilnikZagrozonyUsterkaRegulatoraCisnienia(#VIN1M8GDM9A_KP042788)

Z punktów A. i 3) oraz powyższych ustaleń można zauważyć:

Silnik(#VIN1M8GDM9A_KP042788) ∧ maBadanie(#VIN1M8GDM9A_KP042788, #BadanieJK2) ∧ PomiarCisnieniaWykazujacyNadcisnienie(#BadanieJK2) ⇒ SilnikZagrozonyUsterkaRegulatoraCisnienia(#VIN1M8GDM9A_KP042788)

Z czego wynika, że silnik jest zagrożony usterką regulatora ciśnienia.

Powyższy przykład ilustruje, w jaki sposób można zapisać proces diagnostyczny za pomocą języka OWL. Został również opisany proces wnioskowania na podstawie takiego zapisu. Oczywiście, należałoby także uwzględnić inne usterki badanego obiektu, które mogą wystąpić, gdy ciśnienie jest wysokie. Można by również rozszerzyć przykład o opis badanego silnika lub przypadek, gdy ciśnienie jest niskie itd.

Należy również zauważyć, że w opisanym przykładzie do opisu wyniku pomiaru ciśnienia zostały wykorzystane zmienne lingwistyczne: „Niski”, „Normalny”, „Wysoki”, do których można określić funkcję przynależności określającą rozmyty charakter tych określeń.