Wnioskowanie z danych zapisanych w zewnętrznych źródłach w systemie zarządzania wiedzą

Podobne dokumenty
Internet Semantyczny i Logika II

METODA ELPAR ŁĄCZENIA ONTOLOGII OPARTA NA ICH KARTOGRAFICZNEJ REPREZENTACJI

Model systemu zarządzania wiedzą z uwzględnieniem aspektów wiarygodności

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Internet Semantyczny. Logika opisowa

Tom 6 Opis oprogramowania

KARTOGRAFICZNA METODA REPREZENTACJI WIEDZY W SYSTEMIE KASEA

Implementacja widoków danych na bazę wiedzy

Automatyzacja procesu tworzenia i zarządzania Wirtualnymi Organizacjami w oparciu o wiedzę w zastosowaniu do architektur zorientowanych na usługi

Wykład I. Wprowadzenie do baz danych

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI 2016 ROK

Systemy ekspertowe. System ekspertowy wspomagający wybór zestawu komputerowego w oparciu o ontologie i system wnioskujący RacerPro

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Moduł mapowania danych

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Alicja Marszałek Różne rodzaje baz danych

Hurtownie danych - przegląd technologii

Baza danych. Modele danych

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Praca magisterska Jakub Reczycki. Opiekun : dr inż. Jacek Rumiński. Katedra Inżynierii Biomedycznej Wydział ETI Politechnika Gdańska

Katedra Inżynierii Oprogramowania Tematy prac dyplomowych inżynierskich STUDIA NIESTACJONARNE (ZAOCZNE)

Eksploracja danych. KLASYFIKACJA I REGRESJA cz. 2. Wojciech Waloszek. Teresa Zawadzka.

LISTA KURSÓW PLANOWANYCH DO URUCHOMIENIA W SEMESTRZE ZIMOWYM 2015/2016

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

Kostki OLAP i język MDX

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

KS-ZSA. Mechanizm centralnego zarządzania rolami

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Proces ETL. Katedra Inżynierii Oprogramowania Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska {kris,

Tematy dyplomów inżynierskich 2009 Katedra Inżynierii Oprogramowania

The Binder Consulting

Monitoring procesów z wykorzystaniem systemu ADONIS

Wykład 2. Relacyjny model danych

3 grudnia Sieć Semantyczna

O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,

Tomasz Grześ. Systemy zarządzania treścią

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Zadanie 2: Arytmetyka symboli

Technologie informacyjne - wykład 12 -

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Notacja RPN. 28 kwietnia wyliczanie i transformacja wyrażeń. Opis został przygotowany przez: Bogdana Kreczmera.

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Komunikacja i wymiana danych

Projektowanie relacyjnych baz danych

Repozytorium Zasobów Wiedzy FTP

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

SZKOLENIE: Administrator baz danych. Cel szkolenia

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Forum Client - Spring in Swing

Język UML w modelowaniu systemów informatycznych

Przykładowy dokument XML

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

Web 3.0 Sieć Pełna Znaczeń (Semantic Web) Perspektywy dla branży motoryzacyjnej i finansowej. Przyjęcie branżowe EurotaxGlass s Polska 10 luty 2012

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Dokumentacja projektu QUAIKE Architektura oprogramowania

Współczesna problematyka klasyfikacji Informatyki

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

Bioinformatyka. Ocena wiarygodności dopasowania sekwencji.

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel

PODSTAWOWE ANALIZY I WIZUALIZACJA Z WYKORZYSTANIEM MAP W STATISTICA

Pojęcie bazy danych. Funkcje i możliwości.

Proces ETL MS SQL Server Integration Services (SSIS)

Język opisu sprzętu VHDL

Oracle PL/SQL. Paweł Rajba.

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Baza danych. Baza danych to:

Generowanie raportów

Zadanie 1. Suma silni (11 pkt)

Specjalizacja magisterska Bazy danych

PLAN STUDIÓW Wydział Elektroniki, Telekomunikacji i Informatyki, Wydział Zarządzania i Ekonomii Inżynieria danych

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

OfficeObjects e-forms

2

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

Wykład XII. optymalizacja w relacyjnych bazach danych

16MB - 2GB 2MB - 128MB

INSTRUKCJA UŻYTKOWNIKA Podpis cyfrowy ISO 9001:2008 Dokument: Wydanie: Podpis cyfrowy. Spis treści... 1

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Bazy danych 2. Wykład 1

Tom 6 Opis oprogramowania

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

OLAP i hurtownie danych c.d.

Transkrypt:

Rozdział 26 Wnioskowanie z danych zapisanych w zewnętrznych źródłach w systemie zarządzania wiedzą Streszczenie. Rozdział prezentuje proces wnioskowania z danych przechowywanych w zewnętrznych źródłach. W procesie tym wykorzystywane są dwie nowe metody: metoda semantycznego wzbogacania źródeł SED (Semantic Enrichment of Data) oraz wykorzystująca ją metoda wnioskowania z danych zewnętrznych RED (Reasoning over External Data). Obie te metody zostały w niniejszym rozdziale przedstawione. Metoda SED służy do opisania zewnętrznych źródeł danych terminami pochodzącymi z ontologii. Opisy utworzone z wykorzystaniem metody SED są następnie stosowane w metodzie RED, w celu odwzorowania wiedzy reprezentowanej kartograficznie w zbiór zapytań skierowanych do zewnętrznych źródeł. Metoda ta dostosowuje algorytmy właściwe dla metody kartograficznej w taki sposób, aby możliwe było ich zastosowanie, kiedy opis świata musi być tworzony dynamicznie z danych nieontologicznych. W rozdziale ponadto opisano wyniki zastosowania w praktyce obu metod. 1 Wstęp W procesie integracji wiedzy [1], [2] kluczowym problemem jest zarządzanie danymi przechowywanymi w różnorodnych zewnętrznych źródłach, jak również dostarczenie mechanizmów wnioskowania z tych danych. Rozwój Sieci WWW znacząco uwydatnił ten problem, a już w sieci semantycznej (ang. Semantic Web) [3] jest on w sposób szczególny akcentowany. W sieci WWW znajdują się różnorodne źródła danych, w sieci semantycznej są one dodatkowo opisane semantycznie. Zbiór pojęć, którymi źródło danych może być opisane, jest zawarty w ontologii. W ramach inicjatywy sieci semantycznej powstał język OWL (Web Ontology Language) [4], umożliwiający formalne zapisywanie ontologii. Ustanowienie tego języka jako standard W3C jest wielkim krokiem naprzód do rozwiązania problemu integracji wiedzy, choć nie rozwiązuje go całkowicie. W rozdziale tym zaproponowano dwie metody. Pierwsza z nich metoda SED wprowadza sposób semantycznego opisu źródeł. Język OWL pozwala zapisywać ontologie, w tym ich część asercyjną, w sposób sformalizowany. W sieci semantycznej większość danych i informacji o nich nie jest niestety zapisana w takiej formie. Metoda SED pokazuje, w jaki Krzysztof Goczyła, Teresa Zawadzka, Michał Zawadzki Politechnika Gdańska, Wydział Elektroniki, Telekomunikacji i Informatyki, Katedra Inżynierii Oprogramowania, ul. G. Narutowicza 11/12, 80-952 Gdańsk, Polska email:{kris, tegra, michawa}@eti.pg.gda.pl

K. Goczyła, T. Zawadzka, M. Zawadzki sposób opisać dane, aby mogły być one traktowane przez system wnioskujący identycznie jak dane zapisane bezpośrednio w formacie OWL. Metoda RED pokazuje, w jaki sposób system reprezentacji wiedzy może wnioskować z danych zawartych w zewnętrznych źródłach, których zawartość opisana jest semantycznie metodą SED, służącą do semantycznego opisu źródeł. Opis ten jest niezależny od systemu wnioskującego i algorytmów w nim użytych. Metoda RED jest natomiast dedykowana dla algorytmów wnioskujących z wiedzy reprezentowanej kartograficznie [5]. W podrozdziale 2 opisano pokrótce metodę kartograficzną i wymagania, z których wyrosły proponowane metody. Podrozdział 3 prezentuje architekturę systemu Knowledge Layer [7] odpowiedzialnego za wnioskowanie z danych zewnętrznych. Następne dwa podrozdziały 4 i 5 opisują metodę SED i RED zastosowaną we wspomnianym systemie. Wyniki testów porównujących czasy odpowiedzi w przypadku, gdy dane są bezpośrednio wczytywane do modułu wnioskującego z ontologii,i w przypadku, kiedy dane te są przechowywane w zewnętrznych źródłach, zostały opisane w podrozdziale 6. Podrozdział 7 porównuje zaproponowane rozwiązanie z istniejącymi podejściami do integracji wiedzy i danych, zaś podrozdział 8 ostatni podsumowuje rozdział. 2 Motywacje Idea systemu wnioskującego z danych zewnętrznych Knowledge Layer (KL) powstała na skutek wymagania zarządzania danymi przechowywanymi w zewnętrznych źródłach. Systemy wnioskujące, a wśród nich system KaSeA (Knowledge Signature Analyzer) [6] opracowany na Politechnice Gdańskiej, wymagają wczytania do ich wewnętrznej bazy wiedzy wszystkich danych zapisanych w ontologii. Wnioskowanie może być prowadzone tylko z tych danych. System wnioskujący KaSeA został zbudowany w taki sposób, aby efektywnie odpowiadać na zapytania w przypadku dużej liczby osobników zapisanych w ontologii. Aby sprostać tym wymaganiom, opracowano i wykorzystano kartograficzną reprezentację wiedzy. W reprezentacji tej każdy koncept ma przypisaną sygnaturę. Sygnatura jest tablicą bitów reprezentujących obszary atomowe na mapie konceptów. W rzeczywistości mapa konceptów pokazuje zależności pomiędzy konceptami w terminologii i może być reprezentowana graficznie w formie podobnej do diagramów Venna. Przykładowa mapa konceptów dla pewnej ontologii została przedstawiona na rys. 1. Rys. 1. Przykładowa mapa konceptów (a); po wprowadzeniu nowych aksjomatów (b) 284

Wnioskowanie z danych zapisanych w zewnętrznych źródłach w systemie zarządzania wiedzą Każdy obszar atomowy (nazywany dalej regionem), tj. obszar nie zawierający żadnego innego obszaru, reprezentuje unikalne, poprawne przecięcie konceptów atomowych. Poprzez poprawne przecięcie rozumiemy takie przecięcie, które jest spełniane w odniesieniu do zadanej terminologii. Przecięcia konceptów, które nie są dozwolone przez aksjomaty terminologiczne, są usuwane z mapy. Na mapie znajduje się n regionów, z których każdy ma przypisaną kolejną liczbę z zakresu <1, n>. Ponieważ każdy obszar na mapie składa się z pewnej liczby regionów, może być reprezentowany jako ciąg bitów o długości n, przy czym bit na i-tej pozycji jest ustawiony wtedy i tylko wtedy, gdy i-ty region jest zawarty w danym obszarze. W przeciwnym razie bit ten jest wyzerowany. Każdy koncept ma przypisany pewien obszar, co jest równoważne przypisaniu mu odpowiedniego ciągu bitów, zwanego sygnaturą. W terminach sygnatur możemy opisać dowolną kombinację dopełnienia, sumy i przecięcia konceptów poprzez odwzorowanie tych operacji w działania algebry Boole a. Analogicznie, w procesie wczytywania asercji o osobnikach każdemu z nich jest nadawana sygnatura osobnicza. Różnica między sygnaturami osobniczymi a sygnaturami konceptów polega na tym, że bit ustawiony w sygnaturze konceptu oznacza, że odpowiedni region należy do obszaru przypisanemu danemu konceptowi, natomiast w przypadku sygnatur osobniczych bit ustawiony oznacza, że osobnik może przynależeć do danego regionu. W rzeczywistości każdy osobnik należy do dokładnie jednego regionu. Jeśli więc sygnatura osobnicza zawiera więcej niż jeden ustawiony bit, oznacza to, że nie można jednoznacznie określić, do którego z tych regionów dany osobnik należy. Do systemu wnioskującego wczytywane są również wystąpienia ról. Podstawą procesu wnioskowania w systemie KaSeA jest porównywanie sygnatur. Przykładowo, problem określenia zbioru wystąpień konceptu C jest ograniczony do znalezienia wszystkich osobników, których sygnatury są zawarte w sygnaturze konceptu C (sygnatura s 1 jest zawarta w sygnaturze s 2, jeśli każdy bit sygnatury s 1 jest nie większy niż odpowiadający mu bit sygnatury s 2 ). Rozwiązanie zastosowane w systemie KaSeA ma niezaprzeczalną zaletę, jaką jest szybkość wywodzenia wszelkich wniosków. Rozwiązanie takie ma także pewne wady: długi czas ładowania danych z ontologii do systemu KaSeA, aktualizowanie danych załadowanych do bazy wiedzy wymaga zastosowania złożonych technik, nie istnieje mechanizm informujący o zmianach w źródłach danych wymagane jest zastosowanie zewnętrznego systemu analizującego ich zawartość, rozwiązanie to nie jest łatwo skalowalne zarządzanie wszystkimi danymi z zewnętrznych źródeł poprzez załadowanie ich do wewnętrznej bazy wiedzy systemu KaSeA jest w praktyce niewykonalne. W sytuacji, kiedy system zarządzania wiedzą zarządza tylko kilkoma wolno zmieniającymi się źródłami danych, rozwiązanie zastosowane w systemie KaSeA jest wystarczające. Jednak w przypadku, gdy system ma zarządzać wieloma źródłami danych, podlegającymi ciągłym zmianom, musi być zastosowane inne rozwiązanie. Taka sytuacja zachodzi również w sieci semantycznej. Odpowiedzią na te wymagania jest podsystem wnioskujący KL, wykorzystujący usługi systemu KaSeA i metodę kartograficzną do wnioskowania z danych zapisanych w zewnętrznych źródłach. 285

K. Goczyła, T. Zawadzka, M. Zawadzki 3 Architektura podsystemu Knowledge Layer W systemie KL użytkownik jest nieświadomy, gdzie faktycznie znajdują się dane, na podstawie których system generuje odpowiedź. Zapytanie zadawane do systemu KL jest zadawane dokładnie w taki sam sposób jak do systemu KaSeA, tj. poprzez interfejs DIGUT (Description Logic Interface by Gdańsk University of Technology [8]). Możliwości wnioskowania o osobnikach w systemie KL są bardzo podobne do możliwości systemu KaSeA (aktualna implementacja systemu nie odpowiada jedynie na zapytanie o koncepty, do jakich przynależy dany osobnik). Na rys. 2 przedstawiony został zbiór komponentów wchodzących w skład systemu KL oraz miejsce zastosowania wspomnianych wcześniej metod SED i RED. Każdy system KL (a może być ich wiele w jednym systemie zarządzania wiedzą) musi logicznie współpracować z systemem KaSeA, do którego załadowana została terminologia, której terminami zostały opisane zewnętrzne źródła danych. Podczas ładowania terminologii wyznaczane są wszystkie sygnatury dla konceptów używane później w procesie odpowiadania na zapytania skierowane do systemu KL. W wyniku zastosowania metody SED tworzony jest plik XML opisujący odwzorowania pomiędzy ontologią a zewnętrznym źródłem. Odwzorowania te są przetwarzane przez kluczowy komponent systemu (zgodnie z założeniami metody RED), którym jest moduł o nazwie Procesor. Jest on odpowiedzialny za: transformację odwzorowań zdefiniowanych w pliku na odwzorowania w terminach sygnatur, zachowanie tych odwzorowań w bazie danych modułu, odpowiadanie na pytania zadane w terminach opisanych wspomnianą wcześniej terminologią. Rys. 2. Architektura systemu KL 4 Metoda SED Możemy wyróżnić trzy typy odwzorowań: odwzorowania konceptów, odwzorowania ról oraz odwzorowania atrybutów. Odwzorowaniem opisującym koncept jest para (koncept, zapytanie), przy czym zapytanie pozwala wydobyć wszystkie osobniki przynależące do da- 286

Wnioskowanie z danych zapisanych w zewnętrznych źródłach w systemie zarządzania wiedzą nego konceptu. Poprzez odwzorowanie opisujące rolę rozumiemy parę: (rola, zapytanie) przy czym zapytanie pozwala na wydobycie wszystkich par osobników powiązanych daną rolą. Analogicznie, odwzorowanie opisujące atrybut to para (atrybut, zapytanie). Istotną zaletą metody SED jest jej niezależność od typu źródeł danych (SQL, XML, CSV, XLS, MDB i in.). Jedynym wymaganiem jest zdefiniowanie odpowiednich zapytań i umieszczenie ich w pliku z odwzorowaniami. Taka elastyczność wymaga jednak spełnienia jednego warunku: musi istnieć język zapytań dla dowolnego typu źródła danych, dla którego są budowane odwzorowania. Język ten musi spełniać pewne wymagania (jak na przykład musi istnieć możliwość zdefiniowania zapytania złożonego jako sumy kilku zapytań prostych). To za pomocą tego języka muszą zostać wyrażone zapytania znajdujące się w pliku z odwzorowaniami. Oczywisty jest fakt, że nie dla wszystkich wymienionych wcześniej typów źródeł istnieją takie języki. W związku z tym metoda SED zakłada, że takie języki zostaną wyspecyfikowane. Dla takich języków muszą także istnieć komponenty potrafiące takie zapytania wykonać. Komponenty te na rys. 2 zostały przedstawione jako otoczki. Jako że większość aktualnie istniejących źródeł to relacyjne bazy danych, w dalszej części rozdziału skupimy się na języku SQL, który oczywiście spełnia przedstawione wymagania, oraz na serwerze RDBMS pełniącym rolę otoczki dla tego języka. 5 Metoda RED Głównym zadaniem metody RED jest wykorzystanie utworzonych powyżej opisaną metodą odwzorowań do wnioskowania o osobnikach z wykorzystaniem algorytmów operujących na kartograficznej reprezentacji wiedzy. Zadanie to wymaga uzyskania informacji o sygnaturach konceptów ze współpracującego z Procesorem systemu KaSeA. Każda para (koncept, zapytanie) przetwarzana jest na parę postaci (sygnatura, zapytanie). Zapytanie pozostanie niezmienione, natomiast sygnatura konceptu (być może złożonego) wyliczana jest na podstawie sygnatur przechowywanych w systemie KaSeA. Takie odwzorowywanie zapisywane jest w bazie danych. Odpowiedź na zapytanie zadane w terminach używanej ontologii wymaga odnalezienia najbardziej pasującego (być może złożonego) zapytania zrozumiałego przez zewnętrzne źródło danych. Algorytm największego pokrycia MC Kluczowym problemem, jaki musi zostać rozwiązany w module Procesor, jest odnalezienie najbardziej odpowiedniego zapytania pozwalającego na wydobycie osobników przynależących do danego konceptu. Odwzorowania opisujące najbardziej odpowiednie zapytania dla konceptów zdefiniowanych są zapisane w bazie danych. Przez słowo zdefiniowanych rozumiemy tutaj koncepty bezpośrednio odwzorowane w zapytania przy użyciu metody SED. Dla wspomnianych zapytań przyjęte jest bardzo ważne założenie zapytanie odpowiadające pewnej sygnaturze zawsze zwraca wszystkie wystąpienia konceptu opisanego tą sygnaturą. W celu sformułowania najbardziej odpowiedniego zapytania dla konceptu, który nie posiada odwzorowania, a jest reprezentowany poprzez sygnaturę s (sygnatura ta jest wyliczana przez system KaSeA), Procesor musi utworzyć nową sygnaturę złożoną z pewnej liczby sygnatur podrzędnych (dla których istnieją odwzorowania), mianowicie taką, która pokrywa możliwie najwięcej regionów atomowych reprezentowanych sygnaturą s. Warto zauważyć, że użycie sygnatury pokrywającej najwięcej regionów atomowych z sygnatury s gwa- 287

K. Goczyła, T. Zawadzka, M. Zawadzki rantuje, iż wszystkie osobniki wydobyte z zewnętrznego źródła będą przynależały do konceptu opisanego sygnaturą s. Może się jednak zdarzyć sytuacja, w której nie jesteśmy w stanie wyznaczyć takiego złożenia istniejących (jawnie odwzorowanych) sygnatur, które w pełni pokrywa zadaną sygnaturę s. Dla przykładu przyjmijmy, że w zapytaniu chcemy się odnieść do konceptu Człowiek reprezentowanego sygnaturą s = 001100, natomiast w zewnętrznym źródle danych istnieje tylko odwzorowanie dla konceptu Kobieta (w tym źródle nie ma zawartych informacji o mężczyznach). Załóżmy, że koncept Kobieta jest reprezentowany poprzez sygnaturę 001000. W takiej sytuacji Procesor utworzy sygnaturę 001000, która dla danego źródła pokrywa maksymalną liczbę regionów atomowych reprezentowanych sygnaturą 001100. Lista sygnatur, które muszą zostać połączone, jest wyliczana przy użyciu algorytmu największego pokrycia MC (ang. Maximal Coverage) opisanego poniżej. Algorytm ten bazuje na algorytmie Apriori [9]. W algorytmie określenie sygnatura atomowa oznacza sygnaturę, której odwzorowanie utworzono w momencie ładowania pliku z odwzorowaniami. Każda inna sygnatura, która znajduje się w bazie danych, nie jest już sygnaturą atomową (gdyż jest złożeniem takich sygnatur). Algorytm 1. Algorytm największego pokrycia MC Wejście: Sygnatura s. Wyjście: Suma przecięć sygnatur, które pokrywają największą liczbę regionów atomowych opisanych sygnaturą s. 1. Jeżeli sygnatura s istnieje (posiada odwzorowanie): 2. Zwróć sygnaturę i odpowiadające jej zapytanie. 3. W przeciwnym wypadku: 4. Znajdź wszystkie sygnatury atomowe, które nie są rozłączne z s i nie są podrzędne w stosunku do s, a następnie zapisz je na listę l 0. 5. Znajdź wszystkie sygnatury atomowe, które są podrzędne w stosunku do s, a następnie zapisz je na listę l 1. 6. Jeżeli lista l 0 nie jest pusta: 7. Dla każdej pary (s i, s j ) takich, że s i, s j œ l 0 ; s i s j : 8. Oblicz sygnaturę s t = s i AND s j (zapamiętaj używane sygnatury) 9. Jeżeli s t = s 10. Zwróć listę sygnatur, których przecięcie utworzyło sygnaturę s t. 11. W przeciwnym wypadku: jeśli s t jest podrzędne w stosunku do s dodaj ją do listy l 1. 12. W przeciwnym wypadku dodaj s t do listy l 2. 13. Koniec {Dla każdego} 14. Dopóki lista l 2 nie jest pusta: 15. Przenieś zawartość listy l 2 na listę l 3 i wyczyść listę l 2. 16. Dla każdej pary (s i, s j ) takich, że s i œ l 3, s j œ l 0 : 17. Oblicz sygnaturę s t = s i AND s j (zapamiętaj używane sygnatury) 18. Jeśli s t = s 19. Zwróć listę sygnatur, których przecięcie utworzyło sygnaturę s t. 20. W przeciwnym wypadku: jeśli s t jest podrzędne w stosunku do s dodaj ją do listy l 1. 21. W przeciwnym wypadku dodaj s t do listy l 2. 22. Koniec {Dla każdego} 23. Koniec {Dopóki} 24. Koniec {Jeżeli} 288

Wnioskowanie z danych zapisanych w zewnętrznych źródłach w systemie zarządzania wiedzą 25. Z listy l 1 usuń te sygnatury, które są podrzędne w stosunku do dowolnej innej sygnatury na tej liście. 26. Lista l 1 zawiera listę list sygnatur. Zwróć tę listę jako sumę przecięć sygnatur z tej listy 27. Koniec {Jeżeli} Opiszemy teraz rozwiązania zastosowane w Procesorze służące udostępnieniu usług odpowiedzialnych za tworzenie odwzorowań sygnatur, zapisywaniu ich w bazie danych oraz odpowiadaniu na zapytania w terminach zdefiniowanych w ontologii. Odwzorowania dla konceptów, ról i atrybutów budowane są na podstawie pliku z odwzorowaniami. Na początku wyliczane są sygnatury dla odwzorowywanych konceptów (wyliczanie sygnatur odbywa się przy użyciu systemu KaSeA z załadowaną terminologią). W ten sposób można utworzyć listę par składających się z sygnatury i odpowiadającego jej zapytania. W dalszej części taka para (sygnatura, zapytanie) będzie nazywana odwzorowaniem sygnatury. Lista takich odwzorowań zapisywana jest do bazy danych. Następnie tworzone są odwzorowania dla konceptów postaci ŸC, gdzie C jest konceptem, dla którego utworzono odwzorowanie. Aby utworzyć zapytanie dla konceptu ŸC, wykorzystywany jest algorytm MC. Ostatnim krokiem przy budowaniu odwzorowań jest zbudowanie odwzorowań dla konceptu Top oraz konceptów postaci $R.C. Mając zdefiniowane zapytanie dla roli R i zapytanie dla konceptu C (być może wyliczone przy użyciu algorytmu MC), Procesor tworzy zapytanie zwróć wszystkie podmioty roli R, dla których dopełnienie tej roli jest wystąpieniem konceptu C. Również i te odwzorowania są zapisywane do bazy danych (jej struktura została opisana w [7]). System KL pozwala na wykonywanie zapytań dotyczących podstawowych problemów wnioskowania: problemu określenia zbioru wystąpień konceptu (ang. instance retrieval problem), problemu sprawdzenia przynależności (ang. instance check problem), problemu relacji między wystąpieniami (ang. related individuals problem), problemu dopełnień w relacji między wystąpieniami (ang. role fillers problem) oraz problemu wartości nadanej (ang. told values problem) [8]. Procesy przetwarzania i odpowiedzi na te zapytania przedstawione zostały na poniższych ogólnych algorytmach, które jednak mogą zostać zoptymalizowane pod kątem specyficznego języka zapytań i możliwości konkretnych typów otoczek. Algorytm 2. Algorytm określania zbioru wystąpień konceptu Wejście: Koncept C. Wyjście: Zbiór wystąpień należących do konceptu C. 1. Znajdź sygnaturę dla konceptu C 2. Znajdź zapytanie dla tej sygnatury: 3. Jeśli nie istnieje w bazie danych odwzorowanie sygnatury w zapytanie 4. Znajdź najbardziej odpowiednie zapytanie używając algorytmu MC 5. W przeciwnym wypadku 6. Pobierz zapytanie z bazy danych 7. Wykonaj zapytanie 8. Zwróć wynik zapytania Algorytm 3. Algorytm sprawdzania przynależności Wejście: Koncept C, osobnik i. Wyjście: True jeżeli i należy do konceptu C, false jeżeli i nie należy do konceptu C lub maybe w przeciwnym wypadku. 289

K. Goczyła, T. Zawadzka, M. Zawadzki 1. Znajdź sygnaturę dla konceptu C 2. Znajdź zapytanie dla tej sygnatury: 3. Jeśli nie istnieje w bazie danych odwzorowanie sygnatury w zapytanie 4. Znajdź najbardziej odpowiednie zapytanie używając algorytmu MC 5. W przeciwnym wypadku 6. Pobierz zapytanie z bazy danych 7. Wykonaj zapytanie 8. Sprawdź, czy osobnik i znajduje się wśród wyników zapytania 9. Jeśli osobnik i znajduje się wśród wyników zapytania 10. Zwróć true 11. W przeciwnym wypadku: 12. Znajdź sygnaturę dla konceptu ŸC 13. Znajdź zapytanie dla tej sygnatury: 14. Jeśli nie istnieje w bazie danych odwzorowanie sygnatury w zapytanie 15. Znajdź najbardziej odpowiednie zapytanie używając algorytmu MC 16. W przeciwnym wypadku 17. Pobierz zapytanie z bazy danych 18. Wykonaj zapytanie 19. Sprawdź, czy osobnik i znajduje się wśród wyników zapytania 20. Jeśli osobnik i znajduje się wśród wyników zapytania 21. Zwróć false 22. W przeciwnym wypadku 23. Zwróć maybe Warto zauważyć fakt, że mimo iż zewnętrzne źródła danych modelowane są zgodnie z założeniem świata zamkniętego (ang. Closed World Assumption) [10], system KL otwiera ten świat i pozwala na uzyskanie odpowiedzi zgodnych z założeniem świata otwartego (ang. Open World Assumption). Dla problemu określenia zbioru wystąpień konceptu zwracane są tylko te wystąpienia, co do których system ma pewność, że należą do danego konceptu. W przypadku problemu sprawdzenia przynależności zwracana jest wartość true wtedy i tylko wtedy, gdy system jest pewien, że dane wystąpienie należy do podanego konceptu, a false wtedy, gdy jest pewien, że nie należy, natomiast w innym wypadku (gdy nie może jednoznacznie stwierdzić przynależności lub jej braku) zwraca wartość maybe. 6 Testy wydajnościowe Przed prezentacją wyników testów wydajnościowych należy zaznaczyć zasadniczą różnicę między systemem KaSeA i system KL. System KaSeA umożliwia wnioskowanie różnego rodzaju pozwala odkrywać nowe wnioski zarówno z terminologii, jak i asercji, natomiast KL umożliwia wnioskowanie tylko z asercji. W tabeli 1 zebrane zostały porównania czasów odpowiedzi na zapytania dotyczące wystąpień należących do pewnego konceptu (czyli rozwiązywania problemu określenia zbioru wystąpień konceptu). Eksperymenty przeprowadzone zostały na ontologii leków (ontologia Drug została przygotowana przez Uniwersytet w Liverpoolu w ramach projektu PIPS [11]) oraz źródle danych Farmadati. Ontologia zawiera informacje o producentach leków, składnikach aktywnych, interakcjach, jak również o kodach ATC (ang. Anatomichal Therapeutic Code). Źródło Farmadati to relacyjna baza danych Oracle 9i, która zawiera informacje o lekach. Dane przechowywane są w 13 tablicach, które łącznie zawierają 250496 wierszy. Każdy eksperyment został powtórzony 100 razy, a czasy zostały uśrednione. W przypadku systemu KL czasy odpowiedzi mocno 290

Wnioskowanie z danych zapisanych w zewnętrznych źródłach w systemie zarządzania wiedzą zależą od wydajności poszczególnych otoczek. W prezentowanym przykładzie jako otoczkę umożliwiającą dostęp do danych traktujemy serwer SQL. Eksperymenty przeprowadzone zostały na komputerze klasy PC z procesorem Pentium 4 3 GHz z 1 GB RAM. Tabela 1. Czasy odpowiedzi na pytania o wystąpienia konceptu KaSeA KL Top za długo, by policzyć 22687 ms Drug 27407 ms 4656 ms Drug + DrugContainer 35094 ms 11375 ms S + U + V 27305 ms 18969 ms Dla pierwszych dwóch konceptów istnieje odwzorowanie, co oznacza, że odpowiednie zapytania dla sygnatur konceptów Top oraz Drug znajdują się w bazie. Dla pozostałych dwóch konceptów (koncepty S, U oraz V są podkonceptami konceptu ATCCode) zapytanie musi zostać sformułowane przy użyciu algorytmu MC. Pytania, które już raz zostały zadane, są w systemie KL zapamiętywane. Oznacza to, że kiedy zostanie zadane zapytanie o wystąpienia konceptów, dla którego nie istnieje w bazie danych odpowiednie odwzorowanie sygnatury w zapytanie do źródła, takie odwzorowanie jest zapamiętywane. Gdy następnym razem zostanie zadane to samo zapytanie, odpowiadające mu zapytanie zostanie bezpośrednio pobrane z bazy i nie będzie powtórnie przeliczane. Pozwala to zmniejszyć czas wykonywania dwóch ostatnich pytań o około 3 sek. 7 Porównanie z istniejącymi rozwiązaniami Rzeczywista potrzeba zarządzania danymi z zewnętrznych źródeł została doświadczona w ramach projektu PIPS (Personalised Information Platform for life and health Services), w którym autorzy niniejszego rozdziału współuczestniczą. PIPS jest projektem 6. Programu Ramowego Unii Europejskiej, którego głównym celem jest stworzenie infrastruktury sieciowej wspomagającej ochronę zdrowia i promowanie zdrowego stylu życia wśród obywateli Unii. Jednym z głównych zadań w tym projekcie jest opracowanie narzędzi do zarządzania wiedzą z wielu różnych źródeł informacji. W ramach tego projektu autorzy są współtwórcami systemu KaSeA, który pozwala na efektywne wywodzenie wniosków z danych o dużej liczbie osobników. Pewnym mankamentem tego systemu jest wymaganie, aby wszystkie dane, na których ma zostać przeprowadzone wnioskowanie, były załadowane do bazy wiedzy systemu. Problem ten uwidacznia się zwłaszcza wtedy, gdy mamy do czynienia z dużymi ilościami szybkozmiennych danych. Rozwiązanie polegające na każdorazowym czyszczeniu bazy wiedzy i ponownym wczytywaniu wszystkich danych lub stosowaniu zaawansowanych technik aktualizacji danych okazuje się efektywnościowo nieakceptowalne z punktu widzenia wymagań projektu. W związku z tym opracowano przedstawione w niniejszym rozdziale rozwiązanie wzbogacające zewnętrzne źródła danych o opis semantyczny, pozwalający na traktowanie danych z tych źródeł w taki sam sposób, jak gdyby były one fizycznie załadowane do bazy wiedzy systemu KaSeA. Innymi znanymi praktycznymi rozwiązaniami problemów integracji danych są Information Manifold [12], SIMS [13] czy PICSEL [14]. Większość tych systemów została jednak oparta na podejściu widoku globalnego, i to wówczas, gdy język OWL nie był jeszcze standardem W3C. Systemy te ukierunkowane były głównie na konkretne zastosowanie aplikacyjne, a przez to również na konkretny typ źródeł danych. Mimo, iż były one nastawione na 291

K. Goczyła, T. Zawadzka, M. Zawadzki wydajność, nie mogą spełnić wymagań nakładanych przez źródła internetowe, dla których to wymagań stworzony został system KL. 8 Podsumowanie Poniżej przedstawiono najważniejsze cechy rozwiązania zastosowanego w systemie KL: jest niezależne od formatu źródła danych dla strukturalnych źródeł danych takich jak XML, relacyjne bazy danych czy jakiekolwiek inne źródła, dla których istnieje język zapytań oraz procesor tych zapytań, jedynym wymaganiem jest utworzenie odpowiedniego pliku opisującego odwzorowania; może zostać użyte dla źródeł danych, dla których nie ma zdefiniowanego języka zapytań (przykładowo pliki XLS) należy wówczas opracować język zapytań (potencjalnie bardzo prosty) i zbudować odpowiednią otoczkę; wszystkie zmiany w źródle danych, które nie wpływają na strukturę samego źródła, są zawsze widoczne w systemie KL nie są wymagane żadne aktualizacje; zmiana struktury źródła danych wymaga zdefiniowania nowych odwzorowań i załadowania ich do systemu proces przetwarzania pliku z odwzorowaniami przez system KL jest jednak dużo szybszy niż proces ładowania danych do systemu KaSeA; dla przykładu: czas potrzebny do załadowania danych ze źródła Farmadati do systemu KaSeA to około 48 godzin, podczas gdy proces przetwarzania odwzorowań w systemie KL trwał tylko około 3 minut; nie są wymagane żadne zaawansowane techniki aktualizacji bazy wiedzy. Dalszy rozwój systemu Knowledge Layer obejmuje przede wszystkim jego implementację dla różnych typów źródeł strukturalnych i półstrukturalnych. W ramach tego zadania istnieje potrzeba opracowania języków zapytań dla różnych typów danych i stworzenia otoczek rozumiejących i umiejących wykonywać te zapytania. Rozwój systemu KL to także rozszerzenie zbioru obsługiwanych zapytań w pierwszej kolejności zapytanie o koncepty, do których przynależy zadany osobnik. Oprócz samego rozwoju systemu istotny jest również rozwój narzędzi wspomagających, takich jak np. edytor odwzorowań umożliwiający w wygodny, a przede wszystkim efektywny i poprawny sposób tworzyć pliki z informacjami o odwzorowaniach. Literatura 1. Pinto S., Gomez-Perez A., Martins J.: Some Issues on Ontology Integration, Proceedings of the JCAI-99 Workshop on Ontologies and Problem-Solving Methods (KRR5), Stockholm, Sweden, 1999. 2. Calvanese D., De Giacomo G., Lenzerini M: A Framework for Ontology Integration. Proceedings of the First Semantic Web Working Symposium, 2001, pp. 303 316. 3. Semantic Web Initiatives, http://www.semantic-web.org/. 4. OWL Web Ontology Language Guide, W3C Recommendation 10 February 2004, http://www.w3.org/tr/owl-guide/ 5. Goczyła K., Grabowska T., Waloszek W., Zawadzki M.: The Cartographer Algorithm for Processing and Querying Description Logics Ontologies. LNAI 3528: Advances in Web Intelligence, Third International Atlantic Web Intelligence Conference, Springer 2005. pp. 163 169. 292

Wnioskowanie z danych zapisanych w zewnętrznych źródłach w systemie zarządzania wiedzą 6. Goczyła K., Grabowska T., Waloszek W., Zawadzki M.: The Knowledge Cartography A new approach to reasoning over Description Logics ontologies. SOFSEM 2006: Theory and Practice of Computer Science, LNCS 3831, pp. 293 302. 7. Goczyła, K., Zawadzka, T., Zawadzki, M., Managing Data from Heterogeneous data Sources using Knowledge Layer, Software Engineering Techiques: Design for Quality, IFIP International Federation for Information processing, Vol. 227, K. Sacha (red.), Boston, Springer, 2006, pp. 300 312. 8. DIGUT Interface Version 1.3. KMG@GUT Technical Report, 2005, available at http://km.pg.gda.pl/km/digut/1.3/digut_interface_1.3.pdf. 9. Wittem I. H., Frank E.: Data Mining. Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufmann Publisher 2000. 10. Baader F. A., McGuiness D. L., Nardi D., Patel-Schneider P. F.: The Description Logic Handbook: Theory, implementation, and applications, Cambridge University Press, 2003. 11. Goczyła K., Grabowska T., Waloszek W., Zawadzki M.: Inference Mechanisms for Knowledge Management System in E-health Environment, In: Software Engineering: Evolution and Emerging Technologies, Eds. K. Zieliński, and T. Szmuc, IOS Press, Series: Frontiers in Artificial Intelligence and Applications, 2005, pp. 418 423. 12. Levy A. Y.: The Information Manifold Approach to Data Integration, IEEE Intelligent Systems, numer 13, 1998. 13. Arens Y., Knoblock C. A., Shen W.: Query Reformulation for Dynamic Information Integration, Journal of Intelligent Information Systems, 1996. 14. Lattes V., Rousset M.-C.: The use of CARIN language and algorithms for Information Integration: the PICSEL project, W: Proceedings of the ECAI-98 Workshop on Intelligent Information Integration, 1998. 293