pobierz plik referatu - BDAS

Transkrypt

pobierz plik referatu - BDAS
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Rozdział 9
w
w
Zastosowanie wartości lingwistycznych
w autonomicznym module translacji zapytań
rozmytych na zapytania dokładne
da
.b
w
Streszczenie. W niniejszym rozdziale przedstawiono wybrane aspekty
wykorzystania zmiennych lingwistycznych w rozmytych bazach danych oraz
problemy pojawiające się przy ich zastosowaniu. W pracy zakłada się zastosowanie wartości lingwistycznych w autonomicznym module tłumaczącym
zapytania rozmyte na zapytania dokładne, a także przetwarzającym wyniki
zapytania dokładnego na wyniki zapytania rozmytego. Dane, względem których można definiować warunki rozmyte są typu numerycznego. Moduł taki
pozwala na stosunkowo swobodne operowanie treścią i wynikami zapytania,
wartości lingwistyczne mogą tu być wykorzystane w stosunkowo szerokim
zakresie. Rozważania przedstawione w rozdziale zostały zilustrowane odpowiednimi przykładami.
1 Wprowadzenie
pl
s.
Podstawową funkcją komputerów i systemów informatycznych jest ułatwienie
i usprawnienie podstawowych czynności i prac człowieka. Do tego celu projektuje się
i wdraża setki, a nawet tysiące aplikacji wspomagających niemal każdy aspekt ludzkiego
życia. Niestety często zdarza się, że z różnych powodów niewłaściwie wykonują one swoje
zadanie, powodując zamiast upraszczania – nawarstwianie utrudnień, bądź niepotrzebne
komplikowanie zagadnienia.
Dążenie do uzyskania jak największej ergonomii systemów komputerowych jest zatem
nieodzownym kierunkiem rozwoju współczesnej informatyki. Interesujące możliwości daje
nam w tym zakresie logika rozmyta [1]. Zastosowanie rozwiązania dopuszczającego wartości nieprecyzyjne zbliża bowiem sposób przetwarzania maszyny do rozumowania ludzkiego. Należy zdawać sobie jednak sprawę, że wprowadzenie logiki rozmytej i algebry
zbiorów rozmytych powoduje przyrost operacji matematycznych oraz zmiennych, które
muszą być przeanalizowane przez komputer (a także ludzki umysł) [2], [3], [4], [5]. Aby
zatem w pełni wykorzystać potencjał i szanse jakie oferuje logika rozmyta w uzyskaniu
większej ergonomii systemu, należy pójść o krok dalej – uwolnić użytkownika od szeregu
cyfr i liczb, prezentując mu informacje w jak najbardziej przyswajalnej i prostej formie.
Możliwe staje się to dzięki zastosowaniu w bazach danych zmiennych lingwistycznych [6],
Janusz Podstawny, Bożena Małysiak
Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice, Polska
email: [email protected], [email protected]
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
J. Podstawny, B. Małysiak
[7], [8]. Dziedzina ta jest intensywnie rozwijana - począwszy od prac [9], [10], [11], [12]
w latach 90-tych, po nowsze publikacje w tym zakresie, m.in.: [12], [13], [14], [15], [16],
[17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33],
[34], [35] itp. W niniejszym rozdziale przedstawiono wybrane aspekty wykorzystania
zmiennych lingwistycznych w rozmytych bazach danych, a także występujące przy ich
zastosowaniu problemy.
w
2 Stosowane pojęcia z teorii zbiorów rozmytych
3 Interpretacja określeń względnych
pl
s.
da
.b
w
w
Zbiór rozmyty [1] definiowany jest jako zbiór par liczb, A = {(µA(x), x)}, gdzie x oznacza
wartość elementu w zbiorze, zaś µA(x), jego stopień przynależności do rozmytego zbioru A.
Stopień ten przyjmuje wartości z przedziału <0;1>. 0 oznacza, iż dany element nie należy
do zbioru A, a 1 oznacza pełną przynależność do zbioru A, natomiast wartości pośrednie
informują o częściowej przynależności elementu do zbioru. Stopień przynależności
elementu do zbioru rozmytego wyznacza się wykorzystując zdefiniowane wcześniej
funkcje przynależności. Funkcja przynależności stanowi przyporządkowanie, które
każdemu elementowi zbioru przypisuje jego stopień przynależności do zbioru A.
Wartość rozmyta stanowi nieprecyzyjne określenie wartości określonego atrybutu.
Wartości rozmyte są często definiowane przy pomocy funkcji przynależności. Jeżeli
wartość dotyczy atrybutu typu numerycznego, to jest często nazywana liczbą rozmytą [3].
Możliwe jest także wyrażenie wartości rozmytej w postaci słownej. Wartość wyrażoną
w ten sposób nazywa się wartością lingwistyczną [36]. Przykładami wartości lingwistycznych są określenia “prawie 10”, “około 5”, ale także “bardzo dużo” lub “niezbyt wysoki”.
W dalszych rozważaniach brane będą pod uwagę tego typu zmienne.
Mianem zapytania rozmytego QF określa się zapytanie do bazy danych (w języku SQL)
zawierające przynajmniej jeden element rozmyty. Element rozmyty jest w tym aspekcie
rozumiany jako: rozmyty warunek filtrujący CF, sprowadzający się do porównania wartości
z bazy danych z wartością rozmytą (wyrażoną liczbą rozmytą bądź wartością
lingwistyczną), grupowanie rozmyte, rozmyty warunek łączący dwa podzapytania, bądź
inne elementy.
W pracy zakłada się zastosowanie wartości lingwistycznych w autonomicznym module
tłumaczącym zapytania rozmyte na zapytania dokładne (kierowane do klasycznej bazy
danych), a także przetwarzającym wyniki zapytania dokładnego na wyniki zapytania rozmytego. Dane, względem których można definiować warunki rozmyte, są typu numerycznego. Moduł taki [8] pozwala na stosunkowo swobodne operowanie treścią i wynikami
zapytania, wobec czego wartości lingwistyczne mogą być tu wykorzystane w stosunkowo
szerokim zakresie.
Ponieważ rozpatruje się moduł uniwersalny, a zatem niezależny od bazy danych oraz
zawartych w niej danych, pierwszym zagadnieniem jest zdefiniowanie listy dostępnych
określeń wartości lingwistycznych i ich ewentualna unifikacja. Jeśli bowiem system
wykorzystujący omawiany moduł miałby być możliwie ergonomiczny, to należy rozważyć
możliwość wystąpienia wartości charakterystycznych dla bazy danych.
92
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie wartości lingwistycznych w autonomicznym module translacji zapytań rozmytych ...
w
Biorąc pod uwagę określenia definiujące poziom danego atrybutu x w ramach pewnego
zakresu można w najprostszym przypadku zdefiniować następujące wartości lingwistyczne:
− mały / średni / duży lub
− bardzo mały / mały / poniżej średniej / średni / powyżej średniej / duży / bardzo
duży.
Propozycja przyporządkowania wartości rozmytych przypisanych poszczególnym
określeniom dla przykładowego przedziału <0; 100> (zmiennej lingwistycznej zakres) jest
przedstawiοna na rys. 1 [8]:
Stopień
przynależności
niski
w
bardzo
niski
1
poniżej
średniej
w
0
10
15
25
30
średni
40 45
powyżej
średniej
55 60
wysoki
70 75
bardzo
wysoki
85 90
100 zakres
da
.b
Rys. 1. Wartości lingwistyczne zmiennej lingwistycznej zakres (zdefiniowane przez
odpowiednie funkcje przynależności)
Utworzenie wykresu (rys. 1) jest możliwe tylko w przypadku określenia zakresu, w jakim
mogą się znajdować dane w bazie danych. Powyższe określenia są bowiem określeniami
względnymi. Zatem dla danych z przedziału <-100; 100> określenie “powyżej średniej”
przekłada się na zupełnie inną wartość rozmytą niż dla przedziału <500; 1000>. Powyższy
wykres należy zatem interpretować jako:
f(x) = f((xmax – xmin) * 100%)
pl
s.
gdzie:
− xmax – wartość maksymalna atrybutu x w bazie danych
− xmin – wartość minimalna atrybutu x w bazie danych.
Podążając za takim tokiem rozumowania należy przyjąć, że by móc przedstawić
właściwe wyniki w odpowiedzi na zapytanie zawierające wartość lingwistyczną, należy
w pierwszej kolejności znaleźć wartości xmax oraz xmin dla danego atrybutu x. Nasuwa się
zatem pytanie: W jaki sposób można uzyskać takie informacje?
Po pierwsze, należy zastanowić się, czy wartości te powinny być zależne od zawartych
w bazie informacji, czy też nie. Możliwe są bowiem dwie sytuacje: albo wartość skrajna
spośród dostępnych danych definiuje minimum bądź maksimum zakresu lub też zakłada się
odgórne przyjęcie wartości granicznych. Przykładowo, jeśli w zbiorze danych o temperaturze powietrza znajdują się wartości: 28, 30, 35, to wartość 28 jest wartością minimalną,
jednak czy można o niej powiedzieć, że odpowiada jej zmienna (również skrajna) “bardzo
zimno”? Innym przypadkiem mogą być dane o kursach walut, gdzie trudno przewidzieć
możliwe skrajne wartości, toteż dostępne minimum i maksimum definiują punkty graniczne
(xmax oraz xmin). Dalsze rozważania dotyczą drugiego z omówionych przypadków.
Pierwszą nasuwającą się możliwością jest wyliczenie tych wartości przy każdym
wykonaniu zapytania rozmytego. W przypadku niewielkiego obciążenia bazy danych,
rozwiązanie to jest całkowicie akceptowalne. Pozwoli ono w każdym przypadku uzyskać
aktualne wartości xmax oraz xmin bez stosowania dodatkowych mechanizmów. Należy
jedynie wziąć pod uwagę możliwość ciągłej zmiany tych wartości. Jest to uwarunkowane
93
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
J. Podstawny, B. Małysiak
w
częstością napływania nowych danych do bazy danych oraz wykazywanymi przez te dane
tendencjami do skoków i rozrzutów, a zatem w rezultacie częstością zmian wartości xmax
oraz xmin. Podsumowując, należy zauważyć, że w przypadku omawianego rozwiązania to
samo zapytanie zadane dwukrotnie w krótkim odstępie czasu, zwrócić może różne wyniki,
co nie zawsze jest zjawiskiem korzystnym.
Alternatywnym rozwiązaniem uwzględniającym natychmiast przyrost danych w bazie
danych, jest zastosowanie metadanych w postaci zestawów liczb przechowywanych dla
każdego atrybutu każdej tabeli bazy, dla którego może zostać zdefiniowany warunek
rozmyty:
r = [tabela; atrybut; xmin; xmax]
Istotnym w tym modelu wymaganiem jest konieczność kontroli aktualności danych
po wprowadzeniu każdego kolejnego wiersza tabeli. Choć bowiem w większości
przypadków wartości xmax oraz xmin nie ulegną zmianie, to jednak za każdym razem
zachodzi potrzeba wykonania stosownego porównania. Może to znacząco odbić się na
wydajności całego systemu, jednak w instalacjach, w których informacje zawarte
w metadanych muszą być zawsze aktualne, staje się to koniecznością.
W niektórych systemach rozsądnym kompromisem jest ograniczenie częstości
aktualizowania metadanych. Można tutaj rozważyć dwa sposoby postępowania:
− aktualizację po upłynięciu określonego odstępu czasu,
− aktualizację po przekroczeniu określonej liczby wprowadzonych do tabeli wierszy,
− kombinację powyższych metod (aktualizację po przekroczeniu określonej liczby
wprowadzonych do tabeli wierszy, chyba że upłynął już czas graniczny Tmax
od ostatniej aktualizacji).
System, w którym zastosowano pierwsze z wymienionych rozwiązań został
przedstawiony w pracy [8]. W instalacji zostało określone, iż dane będą dodawane do bazy
danych raz dziennie, w związku z czym także aktualizacja metadanych jest prowadzona raz
dziennie. Dzięki temu zabiegowi zminimalizowano liczbę operacji uaktualniających
metadane, zapewniając jednocześnie ich aktualność.
Dostęp do wartości xmax oraz xmin może być także niezbędny w przypadku wartości
lingwistycznych opisanych przy pomocy liczby rozmytej. Przykładami takich wartości
mogą być: “około 20”, “poniżej 0”, “powyżej 30”. Na rys. 2 przedstawiono funkcję
przynależności definiującą wartość rozmytą: “około 30 lat”.
pl
s.
da
.b
w
w
Stopień
przynależności
1
0
27
30
33
wiek
Rys. 2. Funkcja przynależności wartości rozmytej „około 30 lat”
94
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie wartości lingwistycznych w autonomicznym module translacji zapytań rozmytych ...
w
Należy zwrócić uwagę, że w tym przypadku sama nazwa wartości lingwistycznej (liczby
rozmytej) może określać punkt, w którym stopień przynależności osiąga wartość 1 (wartość
modalną liczby), o tyle wartości graniczne (w przykładzie 27 oraz 33 – rys. 2) nie są
w żaden sposób zdefiniowane i są wartościami umownymi. Trudno zakładać, że
dla każdego atrybutu odległość wartości granicznych od punktu centralnego będzie zawsze
taka sama. Inne wartości będą bowiem uważane za spełniające warunki zapytania
w przypadku rozpatrywania np. życia ludzkiego (zakres 0-120), a inne w przypadku
rozpatrywania 1000-letniego okresu czasu. Bardziej logicznym wydaje się rozumowanie
zakładające uzależnienie położenia tych wartości granicznych od zakresu rozważanych
danych, a zatem ponownie od wartości xmax oraz xmin.
w
4 Problem zróżnicowanego nazewnictwa
da
.b
w
Jak wspomniano w poprzednich podpunkatach, założeniem jest budowa modułu możliwie
uniwersalnego, niezależnego od charakteru i tematyki przechowywanych w bazie danych
informacji. Nie stwarza to szczególnych problemów w przypadku udostępniania zapytań
rozmytych bazujących na uniwersalnym języku matematyki. Niezależnie od tematyki, dane
liczbowe są wówczas wyrażone liczbami (oraz symbolami pomocniczymi) wobec czego
ich interpretacja jest jednoznaczna. Jednakże jeśli chce się określać słownie (za pomocą
wartości lingwistycznych) wartości pewnych zmiennych, mogą występować różnice,
zależne od rodzaju zmiennej, którą chcemy opisywać. Co innego oznacza „średnia”
w kontekście prędkości samochodu niż w kontekście wagi człowieka. Przykładowe
zestawienie wartości lingwistycznych dla różnych zmiennych przedstawione zostało
w tabeli 1.
Tabela 1. Zestawienie wartości lingwistycznych dla różnych wielkości
Rodzaj danych
Gęstość substancji
Prędkość
Waga
Stabilność
Wrażenie estetyczne
Stan pacjenta
Zimno
Rzadka/
Rozrzedzona
Wolno / Powoli
Lekki
Niestabilny
Brzydki
Zdrowy
Niezadowolony
Zadowolenie klienta
Zapatrywania polityczne Konserwatywny
Określnik wartości
średniej
Średnio
Określnik
wartości
wysokiej (dużej)
Ciepło
Gęsta/
Zagęszczona
Szybko
Ciężki
Stabilny
Piękny
pl
s.
Temperatura
Określnik
wartości niskiej
(małej)
Średnia
Średnio
Średni
Średniej stabilności
Średni
Umiarkowanie
Krytyczny
poważny
Średnio zadowolony Zadowolony
Umiarkowany
Liberalny
Zestawienie przedstawione w tabeli 1, wyraźnie pokazuje, jak bardzo mogą różnić się
wartości lingwistyczne opisujące różne wielkości (zmienne lingwistyczne). Stwarza to
poważne trudności w implementacji systemu, który ma jednocześnie zapewnić
uniwersalność oraz możliwie wysoką ergonomię i wygodę użytkownika. Rozwiązaniem
najprostszym jest przygotowanie jednolitych wartości dla każdej wielkości, przy
95
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
J. Podstawny, B. Małysiak
w
wykorzystaniu najpopularniejszych określeń. Mogłyby to być na przykład następujące
zestawy:
− “mało” / “średnio” / “dużo” lub
− “niski” / “średni” / “wysoki”.
Tego typu zestawy wystarczą w wielu przypadkach, by zapewnić użytkownikowi pracę
intuicyjną. Podejście takie w odniesieniu do kursów giełdowych i kursów walut
zastosowano między innymi w [8]. Można bowiem w sposób naturalny przyjąć, że wartość
“niska gęstość” oznacza substancję “rozrzedzoną”, a nie “zagęszczoną”, bądź że “niskie
wrażenia estetyczne” oznaczają “brzydotę” a nie “piękno”. Takiego rodzaju zamienniki
stosowane są często w mowie potocznej i mogą być użyte z powodzeniem także w
omawianym module. Niestety nie zawsze będzie to możliwe, gdyż bez dodatkowych
informacji trudno powiedzieć czy “mały stan pacjenta” oznacza “mały poziom uszkodzeń
ciała” - a zatem odpowiada określeniu “zdrowy” czy też “mały procent szans
na rekonwalescencję” - a zatem określenie “krytyczny”. Tego typu przykładów, które bez
dalszego doprecyzowania stałyby się niejasne można wymienić wiele.
Rozwiązaniem idealnym przedstawionego problemu, byłoby zaimplementowanie
w systemie słownika oraz “inteligentnego” interpretera, który automatycznie (na przykład
na podstawie nazwy tabeli oraz kolumny w bazie danych) dobierze i zaakceptuje właściwe
określenia dla poszczególnych wielkości. Niestety jest to zadanie niezwykle pracochłonne
i w praktyce trudne do zrealizowania, gdyż trudne lub całkiem niemożliwe będzie
przewidzenie wszystkich przypadków.
Warto jednak w tym miejscu powrócić do założeń przygotowywanego systemu.
Po pierwsze, pamiętać należy że moduł tłumaczeniowy przesyła w każdej konkretnej
instalacji dane do bazy danych o znanym i ustalonym formacie. Można zatem przyjąć,
iż struktura tego typu bazy danych jest stała i możliwe jest zebranie informacji
o charakterze danych przechowywanych w poszczególnych kolumnach tabel. Po drugie
zaś, ponieważ rozpatruje się dane o charakterze liczbowym każda wielkość (w tym także
opisywany wcześniej “Stan pacjenta” czy “Zapatrywania polityczne”) musi być wyrażona
w postaci skali liczbowej. Co za tym idzie, możliwe jest dla każdego atrybutu określenie
wartości granicznych xmax oraz xmin , które opisano w poprzednim punkcie.
Podsumowując powyższe rozważania stwierdzono, iż możliwe jest przygotowanie
danych pomocniczych, które w ramach niezmiennej pod względem budowy bazy danych,
pozwolą skutecznie opisać wartości lingwistyczne wykorzystywane przy budowaniu
warunków rozmytych do danego atrybutu. W najprostszym przypadku, metadane tego typu
mogą przyjąć postać szeregu wierszy, zawierających wprost wartości lingwistyczne dla
danego atrybutu (będącego w tym ujęciu zmienna lingwistyczną):
pl
s.
da
.b
w
w
r = [tabela; atrybut; okr. wartości niskiej; okr. wartości średniej; okr. wartości wysokiej]
Lepszym rozwiązaniem wydaje się być struktura, która nie zakłada z góry liczby
określeń dla danego atrybutu. W punkcie 3, zaprezentowano siedmiowartościową skalę
opisu zmiennych lingwistycznych (rys. 1.), jednak nawet taka skala nie musi być
ograniczeniem maksymalnym. Wobec czego celowym wydaje się zaproponowanie
zastosowania tabeli o potrójnym kluczu:
r = [tabela; atrybut; stopień; określenie wartości]
Użyte określenie stopień oznacza “numer” danej wartości
w siedmiostopniowej skali, sposób numeracji przedstawiono w tabeli 2.
96
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
lingwistycznej
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie wartości lingwistycznych w autonomicznym module translacji zapytań rozmytych ...
Tabela 2. Przypisanie wartościom ogólnym stopnia z siedmiostopniowej skali
w
określenia
bardzo
mało
mało
stopień
1
2
poniżej
powyżej
średnio
dużo
średniej
średniej
3
4
5
6
bardzo
dużo
7
w
w
Dzięki takiemu podejściu, uzyskuje się nie tylko możliwość stosowania dowolnie
szczegółowego stopniowania, ale także możliwość pominięcia jednego lub więcej stopni
i nie przypisania im żadnej wartości lingwistycznej. Co więcej, warto zauważyć, iż stopień
staje się w pewnym zakresie także liczbowym wyróżnikiem poziomu wartości, a nie
jedynie numeracji. Oznacza to, że możliwe jest – bez korzystania z dodatkowych
informacji – wyrażenie znacznej przerwy w stopniowaniu wartości (przykład
przedstawiono w tabeli 3).
Tabela 3. Przypisanie wartościom lingwistycznym odpowiadających im stopni
określenia
chłodno
ciepło
bardzo ciepło
upalnie
da
.b
stopień
2
5
6
7
Problemem w tym przypadku staje się niestety konieczność przechowywania informacji
o liczbie stopni, na które podzielone są określenia opisujące dany atrybut. Nie jest bowiem
ustalone, czy w każdym przypadku zawsze jest w użyciu stopień o najwyższym numerze.
Względnie, można przyjąć, że liczba stopni dla każdego atrybutu jest stała i znana.
Alternatywą dla tego rozwiązania może być budowa wszystkich atrybutów w takiej
formie, aby określenia z grupy “niski” / “wysoki” lub “mały” / “duży” były dla nich
jednoznaczne i zrozumiałe. Przykład transformacji niektórych nazw atrybutów
prezentowanych w tabeli 1 przedstawiono w tabeli 4.
pl
s.
Tabela 4. Transformacja wybranych nazw atrybutów
Określenie oryginalne
Określenie przetworzone
Gęstość substancji
Stabilność
Wrażenie estetyczne
Stan pacjenta
Zadowolenie klienta
Zapatrywania polityczne
Stopień gęstości substancji
Stopień stabilności
Pozytywność wrażeń estetycznych
Powaga stanu pacjenta
Stopień zadowolenia klienta
Liberalizm zapatrywań politycznych
Stosując mniej lub bardziej złożone przebudowanie nazw atrybutów można wyrazić
dowolne wielkości w takiej formie, by najprostsze odnośniki (“niski” / “wysoki” lub
“mały” / “duży”) były zrozumiałe i jednoznaczne. Kosztem jest w tym przypadku
rozbudowanie i skomplikowanie fraz zapytań, które muszą być konstruowane przy użyciu
97
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
J. Podstawny, B. Małysiak
dłuższych nazw atrybutów. Mimo to, uproszczenie omawianego
implementacyjnego wydaje się być bezsporne i godne rozważenia.
problemu
5 Problemy językowe
w
w
w
Wszystkie dotychczasowe przykłady prezentowane były w języku polskim. Niestety
w języku tym, podobnie jak w innych językach słowiańskich przymiotniki (które
najczęściej stanowią określenia wartości atrybutów) podlegają odmianie ze względu na rodzaj i liczbę. Wywołuje to dodatkowe problemy w projektowaniu systemów, które mają być
sterowane przy użyciu wyrażeń słownych (w tym przypadku – wartości lingwistycznych).
W systemie przedstawionym w pracy [8] do wszystkich atrybutów stosowano
dla uproszczenia te same wartości lingwistyczne. Mimo to podjęto decyzję o realizacji
systemu w języku angielskim, z uwagi na dodatkowe komplikacje, jakie wprowadzają
polskie odmiany przymiotników. Powstające problemy, związane z odmianą przymiotników w języku polskim oraz ich odpowiedniki w języku angielskim zaprezentowano
w tabeli 5.
Tabela 5. Odmiana przymiotnika „bardzo niski” w języku polskim i angielskim
Pojedyncza
Pojedyncza
Pojedyncza
Mnoga
Mnoga
da
.b
Liczba
Rodzaj
Wyrażenie w
Wyrażenie w języku
języku polskim angielskim
Męski
Żeński
Nijaki
Męskoosobowy
Niemęskoosobowy
bardzo niski
bardzo niska
bardzo niskie
bardzo niscy
bardzo niskie
very low
very low
very low
very low
very low
pl
s.
Kwestia akceptowalności pominięcia odmiany przymiotników i uznania jej za problem
drugorzędny może być sprawą sporną. Naturalnie większość użytkowników poradzi sobie
z takim ograniczeniem bez trudu, zwłaszcza, że w ogromnej części stron internetowych,
aplikacji czy systemów informatycznych takie uproszczenia się stosuje. Trudno jednak
całkowicie pominąć to zagadnienie.
W powyższych rozważaniach pojawiła się wzmianka o zastosowaniu “inteligentnego”
interpretera, analizującego nazwy i przeznaczenie atrybutów. Wydaje się, że budowa
modułu zdolnego odmieniać przymiotniki np. w języku polskim byłaby mniejszym
problemem. Mimo to, rozwiązanie to należy potraktować jako zawiłe i skomplikowane.
Przyjmując jednak format metadanych zaproponowany w punkcie 4 można wprost
rozwiązać problem odmian. Możliwe bowiem staje się bezpośrednie zapisanie określeń we
właściwej formie osobno dla wszystkich atrybutów. Nie ma przy tym znaczenia forma
gramatyczna (rodzaj) rzeczownika, którego dotyczy dana wielkość. Przykładowo, jeśli
w kolumnie przechowuje się wartości temperatur krzepnięcia metali (rodzaj męski) oraz
cieczy łatwopalnych (rodzaj żeński) to zawsze właściwe będą wartości lingwistyczne
w rodzaju żeńskim (ponieważ rodzaju żeńskiego jest atrybut “temperatura krzepnięcia”).
Podsumowując, można powiedzieć, że zaproponowane w tym punkcie rozwiązanie nie
powoduje konieczności przechowywania dodatkowych informacji w stosunku do punktu 4.
98
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie wartości lingwistycznych w autonomicznym module translacji zapytań rozmytych ...
Liczba wierszy metadanych jest bowiem dokładnie taka sama jak w przypadku wersji
ignorującej odmiany (lub wyrażonej np. w języku angielskim).
6 Przechowywanie metadanych
w
da
.b
w
w
Rozważyć pozostaje sposób przechowywania omawianych wcześniej struktur
pomocniczych - metadanych. Można wskazać kilka rozwiązań, zaś wybór najlepszego
i najefektywniejszego będzie ponownie zależał od charakteru systemu. Zasadniczo jednak,
najwłaściwsze wydają się dwa rozwiązania:
− przechowanie metadanych jako tabeli bazy danych (łatwe do zaimplementowania
z uwagi na prostą i stałą strukturę oraz gwarantujące trwałość informacji, jednak
stwarzające konieczność przeprowadzania częstych zapisów i odczytów na/z pamięci
trwałej),
− przechowywanie metadanych jako dynamicznej struktury w jednym z obiektów
aplikacji (przy wykorzystaniu języków wysokiego poziomu – prosta implementacja
oraz bardzo szybki dostęp, jednak istnieje ryzyko utraty danych wskutek ich
przechowywania w pamięci niestałej – zatem należy opracować mechanizmy ich
odzyskiwania).
7 Generowanie raportów wykorzystujących wartości lingwistyczne
pl
s.
Dotychczasowe rozważania skoncentrowane zostały wokół problemów pojawiających się
w momencie wprowadzenia w systemie wartości lingwistycznych. Warto jednak jeszcze
jednym przykładem podkreślić przewagę, jaką w pewnych sytuacjach może dać
wykorzystanie w aplikacji języka naturalnego.
Warto również zwrócić uwagę, iż wartości lingwistyczne można zastosować nie tylko na
etapie budowania zapytania zawierającego warunki rozmyte. Nie zawsze bowiem celowym
jest zwrócenie w odpowiedzi na takie zapytanie wartości liczbowych. Można wskazać
przypadki, w których lepszą (bardziej przejrzystą) okazać się może odpowiedź zawierająca
wyrażenia języka naturalnego.
Przykładem zastosowania powyższego rozumowania jest generator artykułów,
utworzony jako część systemu przedstawionego w [8]. System ten, jak wcześniej
wspomniano gromadzi dane giełdowo – ekonomiczne oraz umożliwia dostęp do nich
poprzez zastosowanie zapytań zawierających elementy rozmyte. Ponadto w oparciu
o zebrane informacje, przygotowany szablon oraz wybrane przez użytkownika parametry
system generuje miniartykuł (news prasowy) dotyczący aktualnych danych.
W pierwszej chwili można odnieść wrażenie, że dane giełdowo – ekonomiczne są
informacjami na tyle ścisłymi i precyzyjnymi, iż konieczne jest wyrażanie ich w sposób
dokładny – a zatem liczbami. W praktyce okazać się jednak może, że wersja tekstowa,
niemal pozbawiona cyfr niesie wystarczająco wiele informacji, aby czytający mógł wysnuć
z niej prawidłowe i zgodne z rzeczywistością wnioski. Dodatkowo, dzięki uniknięciu
konieczności czytania liczb, cały artykuł może zostać przyswojony w krótszym czasie.
Jako przykład zaprezentowany zostanie fragment opisywanego artykułu w dwóch
wersjach – zawierającej dużą liczbę danych numerycznych oraz ze zminimalizowaną liczbą
danych numerycznych [8].
99
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
J. Podstawny, B. Małysiak
Wersja 1 (duża liczba danych numerycznych)
w
During the last day, the main Polish stock index - WIG has lost 330,61 points, falling to the
level of 25524,02 points. This is a high (1,28%) decrease. Today's exchange value for this
index was little (19154,00 thousands PLN). This means a low (30,14 percent) decrease.
WIG20 has gained 7,68 points, and reached the level of 1891,90 points. This is a low
(0,41%) increase. Exchange value for today was below average (40185,00 thousands PLN),
which means a high (110,36 percent) increase.
Wersja 2 (minimalna liczba danych numerycznych)
w
w
During the last day, the main Polish stock index - WIG has noted a high decrease, falling
to the level of 25524,02 points. Today's exchange value for this index was little. This means
a low decrease. WIG20 has reached the level of 1891,90 points. This is a low increase.
Exchange value for today was below average, which means a high increase.
Odpowiednio skonstruowana treść, również w przypadku pozbawienia jej wartości
numerycznych pozostaje jak widać zrozumiała oraz przekazuje podstawowe informacje.
Przykład ten wskazuje zatem na możliwość wykorzystania wartości lingwistycznych
również po stronie odpowiedzi systemu.
da
.b
7 Podsumowanie
Literatura
1.
2.
3.
pl
s.
Zmienne lingwistyczne przenoszą system współpracujący z bazą danych wykorzystujący
logikę rozmytą na zupełnie nowy poziom. Stanowią one przede wszystkim pomost łączący
użytkownika posługującego się językiem naturalnym, z systemem komputerowym,
bazującym na ścisłych danych numerycznych. Właściwie zdefiniowane i określone
zmienne i wartości lingwistyczne stają się dla użytkownika intuicyjną drogą do uzyskania
oczekiwanych informacji. Cecha ta nadaje sens dalszym badaniom nad budową interfejsów
możliwie przyjaznych i przejrzystych, skracających dzięki temu czas potrzebny
na precyzowanie dokładnych zapytań, umożliwiając konstrukcję zapytań znacznie bardziej
zbliżonych do zdań budowanych w języku potocznym.
Powyższe rozważania prezentują pewne trudności, jakie napotkać można w procesie
projektowania i implementacji systemu współpracującego z bazą danych wykorzystującego
zmienne i wartości lingwistyczne. Niektóre z nich zostały już przynajmniej w części
pokonane, nad rozwiązaniem pozostałych trwają badania. Niemniej korzyści płynące
ze stosowania interfejsów przyjaznych użytkownikowi są niepodważalne, co powala
twierdzić, iż tematyka ta warta jest dalszych rozważań, prac i badań.
Zadeh L. A.: Fuzzy sets, Information and Control 8, 338-353, 1965.
Czogała E., Pedrycz W.: Elementy i metody teorii zbiorów rozmytych. Wydawnictwa NaukowoTechniczne, Warszawa 1985.
Łachwa A.: Rozmyty świat zbiorów, liczb, relacji, faktów, reguł i decyzji. Akademicka Oficyna
Wydawnicza Exit, Warszawa 2001.
100
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
Zastosowanie wartości lingwistycznych w autonomicznym module translacji zapytań rozmytych ...
4.
5.
6.
7.
w
8.
9.
10.
11.
12.
13.
14.
16.
17.
18.
19.
20.
21.
23.
24.
25.
26.
27.
28.
pl
s.
22.
da
.b
15.
w
w
Yager R, Filev D.: Podstawy modelowania i sterowania rozmytego. Wydawnictwa Naukowo–
Techniczne, Wiley. Warszawa 1995.
Piegat A.: Modelowanie i sterowanie rozmyte. Akademicka Oficyna Wydawnicza Exit,
Warszawa 1999.
Małysiak B.: Metody aproksymacyjnego wyszukiwania obiektów w bazach danych, Rozprawa
doktorska, Politechnika Śląska, Instytut Informatyki, Gliwice 2003.
Małysiak B.: Wartości rozmyte w pytaniach sql do baz danych. Studia Informatica, Vol. 24, nr
2A (53), Gliwice 2004.
Podstawny J.: Rozproszony system dostępu do bazy danych giełdowych i ekonomicznych oparty
na logice rozmytej, Praca dyplomowa magisterska pod kierunkiem B. Małysiak. Politechnika
Śląska, Instytut Informatyki, Gliwice 2005.
Tahani V.: A Conceptual Framework for Fuzzy query processing: a step toward very intelligent
data systems. Inf. Proc. and Management 13. 1976.
Zadeh L. A.: PRUF – a meaning representation language for natural languages. International
Journal Man-Machine Studies, VOL. 10, pp. 395-460, 1978.
Kacprzyk J., Ziółkowski A.: Database Queries with Fuzzy Linguistic Quantifiers. IEEE
Transactions of Systems, Man, and Cybernetics. Vol. SMC-16, Nr 3, maj/czerwiec 1986.
Takahashi Y. A fuzzy query language for relational databases. IEEE Transactions on Systems,
Man, and Cybernetics. Vol. 21, No.6, November/December 1991
Bordogna G., Pasi G.: Recent Issues on Fuzzy Databases. A Springer–Verlag Company. Niemcy
Heidelberg 2000r.
Bordogna G., Pasi G.: Modeling Vagueness in Information Retrieval. Springer-Verlag Berlin
Heidelberg 2000.
Bordogna G., Pasi G.: A fuzzy query language with a linguistic hierarchical aggregator. ACM
1994.
Kacprzyk J., Szmidt E.: Intiutionistic Fuzzy Sets in Some Medical Applications. Springer-Verlag
Berlin Heidelberg, 2001.
Kacprzyk J., Szmidt E.: Intiutionistic Fuzzy Sets in Intelligent Data Analysis for Medical
Diagnosis. Springer-Verlag Berlin Heidelberg, 2001.
Kacprzyk J., Zadrożny S. :FQUERY for Access: Towards human consistent querying user
interface. ACM 0-89791-820-7, 1996.
Kacprzyk J., Zadrożny S.: Computing with words in intelligent database quering: standalone
and Internet-based applications. 1997.
Kacprzyk J., Zadrożny S.: On summarization of large data sets via a fuzzy–logic-based querying
add-on to Microsoft Access. Intelligent Information Systems VII. Proceedings of the Workshop.
Malbork czerwiec 1998r.
Małysiak, B., Mrozek, D., Kozielski, S.: Processing Fuzzy SQL Queries with Flat, ContextDependent and Multidimensional Membership Functions, Proc. of 4th IASTED International
Conference on Computational Intelligence (CI 2005), July 4-6, 2005, Calgary, Canada. ACTA
Press, 2005, pp. 36-41.
Bosc P., Dubois D., Prade H.: Fuzzy Functional Dependencies An Overview And A Critical
Discussion Flexible Query-Answering Systems. 1994.
Bosc P., Lietard L., Pivert O.: Quantified Statements in a flexible relational query language.
Proceedings of the 1995 ACM symposium on Applied computing, February 26-28, 1995,
Nashville, TN, USA. ACM 1995. p.488-492.
Bosc P., Pivert O.: Fuzzy queries and Relational Databases Proceedings of the 1994 ACM
Symposium on Applied Computing, March 6-8, 1994, Phoenix, AZ, USA. ACM 1994. 170-174.
Małysiak B.: Interpretacja rozmytych warunków filtrujących w zapytaniach SQL. Studia
Informatica, Vol.25, nr 2(58), Gliwice 2004.
Małysiak B.: Uzupełnianie zapytań SQL o stopień zgodności kryterium wyboru. Studia
Informatica, Vol.25, nr 2(58), Gliwice 2004.
Małysiak B.: Rozmyte grupowanie danych w pytaniach SQL.WNT, SCR’2004, Warszawa 2004.
Bosc P., Pivert O.: SQLf: A Relational Database Language for Fuzzy Querying. IEEE
Transactions on Fuzzy Systems. Vol. 3, Nr 1, luty 1995.
101
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007
Rozdział monografii: 'Bazy Danych: Nowe Technologie', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2007
J. Podstawny, B. Małysiak
w
29. Dubois D., Prade H.: Using fuzzy sets in flexible querying: Why and how? Query-Answering
Systems. 1996.
30. Małysiak, B., Mrozek, D.: Rozmyta agregacja danych w pytaniach SQL, w monografii Bazy
danych: Modele, Technologie, Narzędzia. Tom 2 – Analiza danych i wybrane zastosowania.
Wydawnictwa Komunikacji i Łączności, Warszawa, 2005, pp. 77-84.
31. Galindo J., Medina J. M., Pons O., Cubero J. C.: A Server for Fuzzy SQL Queries. SpringerVerlag Berlin Heiderberg, 1998.
32. Larsen H.: An Approach to flexible information access systems using soft computing.
International Conference on System Sciences, Hawaje 1999.
33. Yager R., Larsen H.: Retrieving information by fuzzyfication of queries. Journal of Intelligent
Information Systems. 1993.
34. Yu C.T., Meng W.: Principles of Database Query Processing for Advanced Applications.
Morgan Kaufmann Publishers, Inc., 1998.
35. Zadrożny S.: Zapytania nieprecyzyjne i lingwistyczne podsumowanie baz danych. Akademicka
Oficyna Wydawn. EXIT, 2006.
36. Kacprzyk J.: Wieloetapowe sterowanie rozmyte. Wydawnictwa Naukowo–Techniczne,
Warszawa 2001.
pl
s.
da
.b
w
w
102
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2007