• Nie Znaleziono Wyników

Modelowanie zapytań i bazy reguł w regułowym języku zapytań z wykorzystaniem logiki rozmytej

N/A
N/A
Protected

Academic year: 2021

Share "Modelowanie zapytań i bazy reguł w regułowym języku zapytań z wykorzystaniem logiki rozmytej"

Copied!
12
0
0

Pełen tekst

(1)

RYSZARD BUDZIēSKI, MAGDALENA KRAKOWIAK Politechnika SzczeciĔska

Streszczenie

W artykule, na tle sklasyfikowanych zapytaĔ do baz danych, przedstawiono miejsce i zakładaną funkcjonalnoĞü regułowego jĊzyka zapytaĔ z wykorzystaniem lo-giki rozmytej. W oparciu o autorski model jĊzyka MELSQL ukazano aspekty mode-lowania zapytaĔ rozmytych i decyzyjnych reguł logicznych. Przedstawiono rozwią-zania dotyczące definicji postaci zapytania i reguły wnioskowania oraz fragmentów relacyjnego modelu danych do ich rejestracji.

Słowa kluczowe: zapytanie rozmyte, reguły decyzyjne, niepewnoĞü danych, jĊzyk zapytaĔ 1. WstĊp

Dynamicznie rozwijająca siĊ technologia baz danych jest odpowiedzią na stale rosnące wyma-gania stawiane tej klasy systemom. Współczesne systemy baz danych nie słuĪą juĪ tylko groma-dzeniu i prostemu udostĊpnianiu informacji, ale nastawione są na wspomaganie w podejmowaniu decyzji. Wzrost funkcjonalnoĞci i gotowoĞci informacyjnej w duĪej mierze zaleĪy od moĪliwoĞci jĊzyków zapytaĔ. Definiowane jako przyjazne uĪytkownikowi interfejsy do przeszukiwania bazy danych według wybranej kombinacji kryteriów i zdefiniowanego wyniku wyszukiwania stanowią podstawową wartoĞü współczesnych systemów baz danych [9].

2. Klasyfikacja zapytaĔ do baz danych

Wsparcie ze strony systemu informatycznego w podejmowaniu decyzji moĪe odbywaü siĊ na dwóch poziomach. Pierwszy z nich to sprawne wyszukiwanie dowolnej kombinacji informacji, a drugi to poziom wyĪszy czyli wnioskowanie. FunkcjĊ wyszukiwania informacji realizują kla-syczne jĊzyki zapytaĔ (standard SQL), natomiast wspomaganie w podjĊciu decyzji ĞciĞle związane jest ze złoĪonym procesem odkrywania wiedzy [2]. WyróĪnia siĊ cztery podstawowe nastĊpujące po sobie fazy odkrywania wiedzy:

• selekcja danych • transformacja danych • eksploracja danych • interpretacja wyników.

Najistotniejszym etapem odrywania wiedzy jest eksploracja danych (ang. Data Mining). Po wyborze krotek i relacji (selekcja), konwersji typów i dyskretyzacji wartoĞci (transformacja) nastĊ-puje ekstracja wiedzy.

(2)

• klasyfikacji • regresji • klastrowania • odkrywania charakterystyk • dyskryminacji • odkrywania asocjacji.

Odkryta wiedza wymaga odpowiednich form reprezentacji, które powinny byü proste w opisie i czytelne dla uĪytkownika. Do najczĊĞciej stosowanych i najbardziej praktycznych naleĪą drzewa decyzjne i reguły logiczne. Modele drzew decyzyjnych związane są przede wszystkim z wiedzą klasyfikującą, a ich przewaĪnie ogromne rozmiary mogą stanowiü problem w ich rozumieniu i analizowaniu. Reguły logiczne pozwalają na bardziej efektywną i silniejsza reprezentacjĊ wiedzy [11]. Ich budowa sprowadza siĊ do formuł implikacji tautologii Modus Ponens. Jest to jeden z najbardziej popularnych sposobów wnioskowania w logice klasycznej, wg którego zaobserwowany fakt stanowi przesłankĊ implikacji wniosków (konkluzji) [8]. Postaü reguły logicznej przedstawia wzór 1. P1(A1,W1) ́ P2(A2,W2) ́ ... ́ Pk (Ak,Wk) -> Pn (An,Wn)... ́ Pz(Az,Wz), (1) gdzie: P - predykat prosty A - atrybut W – wartoĞü.

KaĪda reguła składa siĊ z ciała (ang. body) i głowy (ang. head) stanowiących odpowiednio le-wą i prale-wą stronĊ reguły. PomiĊdzy danymi a regułami mogą zachodziü dwie relacje. Pierwsza z nich, potwierdzenie, wystĊpuje wtedy, gdy dla wartoĞci atrybutów krotki ciało i głowa reguły przyjmują wartoĞci logicznej prawdy. W przypadku, gdy ciało reguły przyjmuje wartoĞü logicznej prawdy, a głowa reguły logicznego fałszu, zachodzi relacja naruszenia. Ponadto kaĪdą regułĊ ce-chują dwa wskaĨniki statystyczne waĪnoĞci i siły: wsparcie (ang.support) czyli liczba lub procent krotek potwierdzających regułĊ oraz zaufanie (ang. confidence) wyraĪające wiarygodnoĞü reguły. W zaleĪnoĞci od stosowanej techniki odkrywania wiedzy rozróĪnia siĊ reguły klasyfikujące, aso-cjacyjne i dyskryminujące.

(3)

Rys.1 Klasyfikacja zapytaĔ do baz danych do zarządzania ħródło: (opracowanie własne)

W celu komunikacji uĪytkownika z systemem odkrywania wiedzy powstała generacja reguło-wych jĊzyków zapytaĔ. Przedstawione w literaturze rozwiązania [6][7] stanowią rozszerzenie jĊzy-ka SQL o nowe typy danych, polecenia i operatory. PodejĞcie to ma swoje uzasadnienie w jedno-czesnej realizacji obsługi dwóch typów zapytaĔ. UĪytkownik moĪe budowaü klasyczne zapytania w celu wyszukiwania informacji oraz specyfikowaü poszukiwane reguły i dane, które muszą byü

obsługa zapytaĔ rozmytych obsługa zapytaĔ precyzyjnych regułowy jĊzyk zapytaĔ (np. MineSQL) deklaratywny jĊzyk zapytaĔ (standard SQL) rozmyty jĊzyk zapytaĔ (np. FQUERY) MELSQL wspomaganie decyzji w systemach informatycznych zarządzania poziomy wsparcia wyszukiwanie informacji wnioskowanie

(4)

eksplorowane w celu odkrycia tych reguł. Przykładem takiej realizacji regułowego jĊzyka zapytaĔ jest MineSQL wprowadzający nowy typ danych do przechowywania i obsługi reguł RULE [7].

KaĪdy z przedstawionych powyĪej dwóch typów zapytaĔ do bazy danych moĪemy rozpatrywaü w kategorii zapytaĔ precyzyjnych i zapytaĔ rozmytych. Klasyczne wyszukiwanie informacji (zapy-tania twarde) bez obsługi zapytaĔ regułowych realizuje SQL. Zapy(zapy-tania precyzyjne regułowe ob-sługuje m.in. wspomniany wyĪej MineSQL. WĞród rozmytych jĊzyków zapytaĔ bez obsługi reguł na uwagĊ zasługuje FQUERRY for Access [3][10]. W artykule przedstawiono elementy model jĊzyka MELSQL, który ma za zadanie połączyü w sobie funkcje jĊzyka rozmytego i regułowego, co znacznie podniesie jego uĪytecznoĞü i przyjaznoĞü.

3. Zastosowanie logiki rozmytej w bazach danych

W otaczającym nas Ğwiecie od tysiĊcy lat spotykamy siĊ z informacją rozmytą. Pozyskiwaną przez ludzi bądĨ odczytaną z urządzeĔ pomiarowych informacjĊ cechuje precyzja, która jest od-wrotnie zaleĪna od ziarnistoĞci informacji, wyraĪanej przez szerokoĞü ziarna. Zatem wynik bardzo dokładnego pomiaru jest informacją o małej ziarnistoĞci. SzerokoĞü jej ziarna w skrajnym przy-padku jest nieskoĔczenie mała i wówczas mówimy o informacji precyzyjnej. Natomiast „informa-cja o skoĔczonej, wiĊkszej od zera, szerokoĞci ziarna” [8] definiowana jest przez twórcĊ i odkryw-cĊ pojĊcia ziarnistoĞci, Lofti Zadeha, jako informacja rozmyta.

NiepewnoĞü danych czyli brak precyzyjnej wiedzy o Ğwiecie wcale nie przeszkadza człowie-kowi w nim Īyü i podejmowaü decyzjĊ. Ludzie niezaleĪnie od wykształcenia, poziomu wiedzy tworzą (w swoim umyĞle) swój własny wewnĊtrzny model otaczającej ich rzeczywistoĞci oparty na takich, nieprecyzyjnych leksykalnych pojĊciach (niepewnoĞü lingwistyczna) jak np. duĪy, mały, wysoki, niski, gorący, chłodny itp. Takie informacje są dla niektórych systemów jedynymi dostĊp-nymi informacjami, a wystĊpujące ewentualnie informacje precyzyjne mogą byü obarczone pew-nym błĊdem pomiarowym (niepewnoĞü pomiarowa) [8]. Ponadto niepewnoĞü analizowanych da-nych moĪe wynikaü z rachunku prawdopodobieĔstwa (niepewnoĞü stochastyczna). Zatem wbrew obawom odwzorowanie w bazie danych fragmentu Ğwiata rzeczywistego za pomocą informacji rozmytych jest pełniejsze i trafniej oddaje jego specyfikĊ. Dotyczy to zarówno modelowania nie-precyzyjnych wartoĞci atrybutów (wartoĞci lingwistyczne, liczby przybliĪone) jak równieĪ prze-chowywania i aktualizacji relacji rozmytych.

(5)

Rys.2 Klasyfikacja i modelowanie danych niepewnych ħródło: opracowanie własne

4. Modelowanie zapytaĔ rozmytych

W załoĪeniach projektowych modułu sformalizowanego jĊzyka MELSQL uwzglĊdniono bu-dowĊ własnej bazy danych do realizacji jego funkcji. Jedną z nich jest zapis zadawanych zapytaĔ przez poszczególnych uĪytkowników w okreĞlonym czasie. W związku z tym zaistniała potrzeba analizy zapytania w celu jednoznacznego okreĞlenia jego postaci i stworzenia modelu danych do jego zapisu.

Przedstawione fragmenty relacyjnego modelu danych zrealizowane zostały w technice SERM, rozszerzonym modelu związków encji. Zdefiniowane obiekty oznaczone zostały odpowiednim symbolem kategorii (E-encja, ER-Encjorelacja, R-relacja).

4.1. Definicja zapytania rozmytego

W przypadku rozmytych jĊzyków zapytaĔ nieostroĞü ma charakter temporalny i powstaje w czasie formułowania zapytania. Wystąpienie w nim przynajmniej jednej z poniĪszych cech de-cyduje o jego charakterze rozmytym [4]:

• wartoĞci rozmyte atrybutów (wartoĞci lingwistyczne, liczby przybliĪone) rodzaje dostĊpnych informacji wartoĞü prawdopo-dobieĔstwa (np. „0.1”) wartoĞü lingwi-styczna (np. „mało ...”) liczba rozmyta (np. „około 3”) rodzaje niepewno- niepewnoĞü lingwistyczna niepewnoĞü pomiarowa niepewnoĞü stochastyczna brak precy-zyjnej in-formacji modelowanie

rozmyte budowa tablicy

prawdopodobieĔstwa i funkcji rozkładu moĪliwoĞci budowa tablicy podobieĔstw ele-mentów z przestrzeni lin-gwistycznej zmien-nej budowa funkcji przynaleĪnoĞci liczb do zbioru rozmytego np. „około 3”,

(6)

• rozmyte operatory arytmetyczne • rozmyte kwantyfikatory

• operatory kompensacyjne.

Mając na wzglĊdzie wymienione powyĪej czynniki rozmywające zapytanie definiuje siĊ nastĊ-pującą postaü zapytania rozmytego [4]:

SELECT I A1 ,A2 ... FROM T1 ,T2 ... WHERE P1 Xok Ol P2.... (2) gdzie:

I - liczba odpowiedzi (konkretna wartoĞü lub %) A - atrybut

T - tabela

P - predykat prosty

Ol - operator logiczny (AND, OR)

Xok - współczynnik operatora kompensacyjnego (waga, próg reakcji) Predykat prosty sprowadza siĊ do postaci :

P = Xk KA Xo O Xw W,

(3) gdzie:

Xk – wartoĞü podobieĔstwa dla kwantyfikatora K

K - kwantyfikator twardy (istnieje, wszyscy, Īaden) lub rozmyty (prawie wszyscy, prawie Īaden)

Xo – wartoĞü podobieĔstwa dla operatora arytmetycznego O

O – operator arytmetyczny twardy (=, !=, <, >, =>, =<) lub rozmyty (prawie =, prawie !=, prawie <, prawie >)

Xw – wartoĞü wg rozkładu moĪliwoĞci/podobieĔstw dla warunku

W –wartoĞü atrybutu (wartoĞü precyzyjna, wartoĞü lingwistyczna, liczba przybliĪona). PowyĪsza postaü zapytania bazuje na klasycznej składni instrukcji SELECT jĊzyka SQL, bo funkcja projektowanego jĊzyka ogranicza siĊ do wyszukiwania informacji, a nie ich zmiany. Prze-niesienie ujĊtej

w zapytaniu definicji warunku do instrukcji UPDATE jest naturalną konsekwencją rozbudowy modelu jĊzyka.

(7)

4.2. Model danych zapytania

Szczególną rolĊ w analizie zapytania przypisuje siĊ wyodrĊbnieniu z warunków tzw. predyka-tów prostych [5]. Do ich zapisu słuĪy przedstawiona poniĪej czĊĞü schematu z nastĊpującymi obiektami:

• KWANTYFIKATOR (E) – zbiór kwantyfikatorów (twardych i rozmytych)

• OPERATOR ARYTMETYCZNY (E) – lista dostĊpnych operatorów arytmetycz-nych (twardych

i rozmytych)

• PREDYKAT PROSTY (ER) – wykaz wystĊpujących w warunkach predykatów • TYP WARTOĝCI (E) – rodzaje wartoĞci atrybutów.

Powiązania pomiĊdzy encjami tej czĊĞci schematu przedstawia rysunek 3. Linia przerywana ukazuje relacje

z obiektami z innych fragmentów modelu. ZawartoĞü powyĪszych obiektów przedstawia siĊ nastĊ-pująco:

Kwantyfikator:

Id_kwant - identyfikator kwantyfikatora (PK) Nazwa - nazwa kwantyfikatora

Typ - typ kwantyfikatora Operator arytmetyczny:

Id_op_a - identyfikator operatora arytmetycznego (PK) Nazwa - nazwa operatora arytmetycznego

Typ - typ operatora arytmetycznego Typ wartoĞci:

Id_typu_w - identyfikator typu wartoĞci (PK) Nazwa - nazwa typu wartoĞci

Predykat prosty:

Id_pred - identyfikator predykatu (PK)

Xk - wartoĞü podobieĔstwa dla kwantyfikatora

Xo - wartoĞü podobieĔstwa dla operatora arytmetycznego Id_atr - identyfikator atrybutu (FK)

Id_kwant - identyfikator kwantyfikatora (FK)

Id_op_a - identyfikator operatora arytmetycznego (FK) Id_typu_w - identyfikator typu wartoĞci (FK)

(8)

Rys. 3 Fragment modelu danych – Predykat prosty

Przedstawiona powyĪej składnia zapytania rozmytego wymaga do zapisu w bazie danych wy-stĊpowania dodatkowo takich obiektów jak [5]:

• ZAPYTANIE (ER) – zbiór zadanych przez uĪytkowników zapytaĔ • FROM (ER) – wykaz tabel wystĊpujących w zapytaniach

• SELECT (ER) – lista powiązanych z zapytaniem atrybutów • WHERE (ER)– spis predykatów poszczególnych zapytaĔ

• OP. LOG. (ER) – lista operatorów logicznych i ich współczynników w zapytaniu

1. 2. 3. PK PK PK Tabela UĪytkowni k Atrybut PK FK PK FK FK Zapytanie Predykat prosty From Select

Where Op. log. zapytania PK

FK

Rys. 4 Fragment modelu danych – Zapytanie

Rysunek 4 ukazuje powyĪszy fragment struktury na tle wczeĞniej zdefiniowanych obiektów. 1.1.1.1 Pre-dykat pro-1.1.1.2 Kwan tyfi-kator Operator aryt-metyczny 1.1.1.3 Atry-but 2 F 3 F K 4 F K Typ wartoĞci 5 F

(9)

PoniĪej przedstawiono atrybuty obiektów tej czĊĞci struktury, która odpowiada za rejestracjĊ zapytania rozmytego.

Zapytanie:

Id_zap - identyfikator zapytania (PK) Data - data rejestracji

I - zadana liczba odpowiedzi Id_u - identyfikator uĪytkownika (FK)

From:

Id_zap - identyfikator zapytania (PK, FK) Id_tabeli - identyfikator tabeli (PK, FK) Select:

Id_sel - kolejny numer selecta (PK) Alias - alias atrybutu w zapytaniu Reguła - opis reguły w zapytaniu

Id_zap - identyfikator zapytania (PK, FK) Id_atr - identyfikator atrybutu (FK) Where:

Id_zap - identyfikator zapytania (PK, FK) Id_pred - identyfikator predykatu (PK, FK) Pozycja - pozycja w zapytaniu

Operator logiczny zapytania:

Id_zap - identyfikator zapytania (PK, FK) Id_pred - identyfikator predykatu (PK, FK) Oper_log - operator logiczny

Xok - współczynnik operatora kompensacyjnego 5. Modelowanie bazy reguł

Tak jak w przypadku zapytaĔ, rejestracja w bazie danych reguł wnioskowania wymaga zdefi-niowania postaci reguły i stworzenia odpowiedniego fragmentu modelu danych do jej zapisu. 5.1. Definicja reguły wnioskowania

Na podstawie definicji reguł logicznych i postaci predykatu przyjĊto nastĊpującą formĊ reguły wnioskowania:

R: JEĝLI (P1 Xok Ol P2...) TO (P3 Xok Ol P4...), (4) gdzie:

P - predykat prosty

Xok - współczynnik operatora kompensacyjnego (waga, próg reakcji) Ol - operator logiczny (AND, OR)

(10)

5.2. Model danych reguł

Rysunek 5 przedstawia czĊĞü struktury danych do rejestracji bazy reguł poszczególnych uĪyt-kowników. Ciało i głowĊ reguły umieszczono w jednym obiekcie w celu wykluczenia powtarzania siĊ predykatów po obu stronach reguły; zastosowano klucz złoĪony składający siĊ z reguły i predy-katu, co gwarantuje unikalnoĞü kombinacji tych danych.

PK 1. UĪytkow nik PK FK Reguła Predykat prosty

Strona Op. log.

strony PK

Rys. 5 Fragment modelu danych – reguły logiczne Reguła:

Id_reg - identyfikator reguły (PK) Data - data rejestracji

Id_u - identyfikator uĪytkownika (FK) Strona:

Id_reg - identyfikator reguły (PK, FK) Id_pred - identyfikator predykatu (PK, FK) Pozycja - pozycja w stronie

Strona - strona reguły (ciało lub głowa) Operator logiczny strony:

Id_reg - identyfikator reguły (PK, FK) Id_pred - identyfikator predykatu (PK, FK) Oper_log - operator logiczny

Xok - współczynnik operatora kompensacyjnego

6. Podsumowanie

Przedstawione w artykule aspekty modelowania zapytaĔ rozmytych i bazy reguł stanowią czĊĞü opracowanego modelu jĊzyka MELSQL. Jest to regułowy jĊzyk obsługujący zapytania rozmyte, zatem łączy w sobie funkcjonalnoĞü obu typów jĊzyków (rys. 1). Stanowi on podstawĊ działania modułu dedykowanego informatycznym systemom zarządzania z własną bazą danych, której od-powiednie fragmenty zostały zaprezentowane.

(11)

Bibliografia

1. BudziĔski R., LipiĔska M., Edytor informowania w systemie baz danych, InĪynieria baz da-nych. Prace naukowe Politechniki SzczeciĔskiej Katedra Systemów Informatycznych Zarzą-dzania nr 557, Wydawnictwo Uczelniane Politechniki SzczeciĔskiej.

2. BudziĔski R., OrdysiĔski T., Metody ekstrakcji wiedzy w zasobach informacyjnych przedsiĊ-biorstwa „nowej gospodarki”

3. Kacprzyk J., ZadroĪny S., FQUERY for Access: fuzzy querying for a windows-based DBMS. „Fuzziness in Database Management Systems”, Heidelberg 1995.

4. LipiĔska M., Metoda transformacji zapytaĔ rozmytych na zapytania w standardzie SQL w ba-zach danych, Materiały VIII Sesji Naukowej Informatyki, Szczecin 2003.

5. LipiĔska M., Model danych interaktywnego jĊzyka zapytaĔ w wyspecjalizowanych systemach baz danych, , Materiały X Sesji Naukowej Informatyki, Szczecin 2005.

6. Meo R., Psaila G, Ceri S., A New SQL-like Operator for Mining Association Rules, Proc. of 22nd VLDB Conference, Bombay 1996

7. Morzy T., Zakrzewicz M., SQL-like language for database mining, Proc. of the First East-European Symposium on Advanced in Databases and Information Systems-ADBIS’97, St. Pe-tersburg 1997.

8. Piegat A., Modelowanie i sterowanie rozmyte, Akademicka Oficyna Wydawnicza EXIT, War-szawa 1999.

9. Subieta K., Teoria i konstrukcja obiektowych jĊzyków zapytaĔ, Wydawnictwo Polsko-JapoĔskiej WyĪszej Szkoły Technik Komputerowych, Warszawa 2004.

10. ZadroĪny S., Zapytania nieprecyzyjne i lingwistyczne podsumowania baz danych, Problemy współczesnej nauki. Teoria i zastosowania, Akademicka Oficyna Wydawnicza EXIT, War-szawa 2006.

(12)

MODELLING QUERIES AND DATA BASE RULES IN QUERY LANGUAGE RULE WITH USING FUZZY LOGIC

Summary

In this article are clasificate querries to data bases and it is presented place and functionality of query language rule with using fuzzy logic. According to authorship model of MELSQL language there were shown some aspects of modelling fuzzy querries and decision logic rules. There is presented a solution concerning of query definition and rules of deduction and some parts of relation database’s model to reg-istration.

Keywords: fuzzy query, decision rules, query language

Ryszard BudziĔski rbudzinski@ps.pl

Wydział Informatyki, Politechnika SzczeciĔska ul. ĩołnierska 49, 71-210 Szczecin

Cytaty

Powiązane dokumenty

Mianowicie compositional rule of inference (CRI) - złożeniowa reguła wniosko- wania odnosić się będzie do pewnego wzorca postępowania (będziemy mówić o regule wnioskowania),

Niezależność aplikacji i danych - dane mogą być wprowadzane do bazy bez konieczności modyfikacji korzystających z nich programów czy systemów użytkowych, a z drugiej

Dla każdej edycji określone są terminy jej rozpoczęcia oraz zakończenia (w danym dniu może zostać uruchomiona tylko jedna edycja danego kursu), liczba dostępnych

Sens tego zapytania można opisać w następujący sposób: Wybrać (SELECT) wszystkie kolumny z tabeli Ucznio- wie (Uczniowie.*) oraz wszystkie kolumny z tabeli Klasy (Klasy.*),

Jeśli na serwerze MS SQL znajduje się zainstalowana baza danych i dysponujemy MS SQL Server Managemant Studio, to istnieje możliwość skierowania do wybranej bazy danych poleceń

Czytelnik książki Dokurny, jeśli poszukuje przede w szystkim konkretu anali­ tycznego, jeśli interesuje się tekstam i Norwida, m ógł ostatecznie pominąć owo

Świadom ość znaczenia problem ów z pogranicza literatury polskiej i rosyjskiej, a w stosunku do epok dawniejszych także ukraińskiej i białoruskiej, od w ielu

Nie współgra więc z rozumieniem podmiotowości omawianym przez Sendykę: odnosi się bardziej do kartezjańskiego „ja” niż self, które to pojęcia autorka zdecydowanie