pobierz plik referatu
Transkrypt
pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Rozdział 44 w Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery w 1 Wstęp da .b w Streszczenie. Popularność języka XML oraz jego powszechne użycie spowodowały rozwój systemów przechowujących dokumenty XML. Istnieje więc możliwość implementacji algorytmów eksploracji danych w bazach danych XML. Opracowanie przedstawia analizę metod grupowania dokumentów XML ze względu na ich strukturę oraz wnioski z implementacji jednego z rozwiązań w środowisku bazy danych XML, w języku XQuery. pl s. XML (ang. eXtensible Markup Language) [14] jest od kilku lat powszechnie wykorzystywanym standardem strukturalnego opisu danych. Duża popularność standardu i jego liczne zastosowania stworzyły potrzebę wykorzystania systemów składowania i przetwarzania dokumentów XML oraz zawartej w nich informacji. W odpowiedzi na istniejące zapotrzebowanie zaczęły powstawać nowe systemy zarządzania bazami danych dedykowane dla XML, a funkcjonalność istniejących systemów relacyjnych baz danych jest stopniowo dostosowywana do specyfiki standardu XML [3], [12]. Stale rosnąca liczba dokumentów XML oraz istnienie poważnych systemów pozwalających na ich składowanie sprawia, że coraz bardziej interesujące staje się zastosowanie algorytmów eksploracji danych do dokumentów XML. Interesująca może być również ocena zastosowania do eksploracji danych istniejących w bazach danych XML narzędzi oraz implementowanych w nich standardów związanych z przetwarzaniem dokumentów XML, takich, jak np. język zapytań XQuery [15]. W przypadku dokumentów XML analizie mogą podlegać zarówno dane opisane w dokumencie jak i same dokumenty XML traktowane jako szczególna postać danych o charakterystycznej drzewiastej strukturze. Jedną z metod eksploracji danych, która ma zastosowanie do dokumentów XML jest grupowanie dokumentów XML ze względu na ich strukturę. Analizy tego typu mogą mieć następujące zastosowania: − tworzenie indeksów w systemach zarządzania bazami danych dedykowanymi dla XML, − automatyczna ekstrakcja definicji typu dokumentu (DTD) lub jego schematu (XML Schema), Michał Kozielski: Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44-100 Gliwice, Polska email: [email protected] (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Kozielski w − podniesienie efektywności transformacji danych ze struktury dokumentu XML do struktury relacyjnej bazy danych [10], − wstępne grupowanie dokumentów XML wyszukiwanych w sieci Internet w celu ich dalszego przetworzenia, − wyszukiwanie źródeł takiej samej informacji w sieci Internet, − analiza struktur proteinowych, danych geoprzestrzennych lub innych danych o strukturze hierarchicznej opisanych, w drzewiastej strukturze dokumentu XML. W dalszej części rozdziału przedstawione są metody stosowane do grupowania dokumentów XML względem ich struktury (podrozdział 2) oraz szersze omówienie metody wybranej do implementacji z wykorzystaniem języka XQuery (podrozdział 3). Przedstawioną analizę kończą wyniki przeprowadzonych badań oraz wyciągnięte wnioski. w 2 Grupowanie dokumentów XML ze względu na ich strukturę da .b w Rezultat wykonanego grupowania dokumentów XML względem ich struktury zależy od następujących czynników: − od metody wyznaczania podobieństwa lub odległości między dokumentami, − od metody grupowania wykorzystanej do wyznaczenia grup dokumentów XML. Kolejne punkty przedstawiają metody wykorzystywane do realizacji wymienionych zagadnień. 2.1 Wyznaczanie podobieństwa struktury dokumentów XML ∑∑ δ (doc Ci dist (Ci , C j ) = Cj Ci k k =1 l =1 Ci C j pl s. Metody wyznaczania podobieństwa struktury dokumentów XML można podzielić na wykorzystujące odległość transformacji (ang. edit distance) pomiędzy dokumentami XML oraz wykorzystujące odległość wyznaczaną na podstawie kodowania dokumentów XML. Odległość między dwoma dokumentami XML, zwana odległością transformacji (ang. edit distance) [11], wyznaczana jest poprzez określenie, jaka liczba i jaki rodzaj modyfikacji jednego z dokumentów jest potrzebna do stworzenia dokumentów sobie równoważnych. Dla tej metody wartość odległości między dwiema grupami dokumentów, która może być wykorzystana w algorytmie grupowania wyznaczana jest zgodnie ze wzorem: Cj , docl ) (1) gdzie δ oznacza sumaryczny koszt wykonanych operacji dla porównywanych dokumentów, dockCi określa k-ty dokument w grupie Ci, |Ci| oznacza liczbę dokumentów w grupie Ci. Metody podobne lub rozwijające podejście zaprezentowane w [11] przedstawione są w [1], [8] Przykładem odmiennego podejścia do wyznaczania odległości między dokumentami XML są prezentowane w literaturze [4], [10], [18] metody wykorzystujące analizę wektora cech odzwierciedlającego strukturę dokumentu. Metoda zaprezentowana w [4] sprowadza grupowanie dokumentów XML względem struktury do analizy porównawczej sygnałów. Wektor cech charakteryzujący strukturę do438 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery w kumentu XML wyznaczany jest jako szereg czasowy zawierający wartości odpowiadające kolejno pojawiającym się w dokumencie elementom. Postać wektora cech jest wynikiem złożenia dwóch funkcji, z których jedna definiuje sposób kodowania na poziomie znaczników, druga określa sposób kodowania na poziomie dokumentu. Podejście to pozwala na uchwycenie cech dokumentu zarówno na poziomie poszczególnych elementów jak i na poziomie globalnym całego dokumentu. Odległość między dwoma dokumentami di i dj o strukturze zakodowanej jako sygnał jest wyznaczana zgodnie z poniższym wzorem: 1 ⎛M /2 2 ⎞2 dist (d i , d j ) = ⎜ ∑ ( [DFT (h1 )](k ) ) −( [DFT (h2 )](k ) ) ⎟ ⎝ k =1 ⎠ (2) w da .b w gdzie DFT jest interpolacją transformaty Fouriera do wyznaczonych dla obydwu dokumentów częstotliwości, M jest całkowitą liczbą interpolowanych punktów, h jest zakodowanym sygnałem. Wektor cech odzwierciedlający strukturę dokumentu XML może mieć również postać łańcucha bitów [10], [18], gdzie każdy bit odpowiada wystąpieniu lub braku wystąpienia w strukturze analizowanego dokumentu wybranego fragmentu struktury XML. Wektor cech dokumentu XML może być w takim przypadku tworzony np. na podstawie występujących w dokumencie ścieżek (ang. path-based method) lub par węzłów (ang. nodepairbased method). Odległość dwóch dokumentów XML może zostać dla tak przedstawionych metod wyznaczona zgodnie z jednym z poniższych wzorów: dist (d i , d j ) = xOR(d i , d j ) ( max d i , d j ) (3) gdzie |xOR(di,dj)| oznacza liczbę ścieżek lub par węzłów, którymi różnią się dokumenty di i dj, |di| oznacza liczbę jedynek występujących w wektorze cech dokumentu di, dist (d i , d j ) = 1 − di ∩ d j ( max d i , d j ) (4) 2.2 Wykorzystywane algorytmy grupowania pl s. gdzie |di∩dj| oznacza liczbę wspólnych ścieżek lub par węzłów dla dokumentów di i dj, |di| oznacza liczbę jedynek występujących w wektorze cech dokumentu di. Mając możliwość mierzenia odległości między dokumentami XML można zastosować wybrany algorytm grupowania w celu wyznaczenia grup dokumentów. Do najpopularniejszych algorytmów grupowania danych należą algorytmy podziałowe oraz algorytmy hierarchiczne [6], [7], [9]. Algorytmy podziałowe cechuje mniejsza złożoność, jednakże dla danych o wymiarach opisywanych przez wartości nieciągłe lub kategorie właściwsze może być użycie algorytmów hierarchicznych pozwalających na korzystanie jedynie z macierzy podobieństwa (ang. similarity matrix). Możliwe jest również wykorzystanie algorytmów stworzonych specjalnie dla danych, których wymiary są opisane przy pomocy kategorii [1], [5]. 439 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Kozielski 3 S-GRACE – algorytm grupowania dokumentów XML ze względu na ich strukturę w Do analizy jakości grupowania dokumentów XML względem ich struktury wybrany został algorytm S-GRACE [10] wykorzystujący bitowe kodowanie par węzłów [10] dokumentu XML oraz algorytm grupowania ROCK [5]. Wybór algorytmu, który nie wymaga złożonych przekształceń matematycznych jest uzasadniony przez wykorzystanie do implementacji języka XQuery. Interesujące wydawało się również wykorzystanie algorytmu grupowania stworzonego dla danych opisanych przez kategorie. w 3.1 Wyznaczanie wektorów cech jako łańcuchów bitów Metoda wykorzystująca bitowe kodowanie par węzłów w dokumencie XML [10] definiuje parę węzłów jako parę element-element w relacji rodzic-dziecko lub jako parę elementatrybut. w a) da .b b) <Pracownicy> <Pracownik> <Nazwisko> Jaworek </Nazwisko> <PESEL> 56022812345 </PESEL> <Zespol> Projektowania </Zespol> </Pracownik> </Pracownicy> <Pracownicy> <Pracownik> <Nazwisko> Jaworek </Nazwisko> <Data_ur> 28.02.1956 </Data_ur> <Zespol> Projektowania </Zespol> </Pracownik> </Pracownicy> Rys. 1. Przykładowe dokumenty XML pl s. Przykładowo, dla dokumentów z rys. 1.a) i rys. 1.b) można wyróżnić następujące pary węzłów oraz odpowiadające im kodowanie dokumentów przedstawione w tabeli 1. Tabela 1. Kodowanie par węzłów dla dokumentów przedstawionych na rys. 1 Para węzłów Pracownicy -> Pracownik Pracownik -> Nazwisko Pracownik -> PESEL Pracownik -> Data_ur Pracownik -> Zespol Dokument 1a Dokument 1b 1 1 1 0 1 1 1 0 1 1 Algorytm grupowania dokumentów XML o tak wyznaczonych wektorach cech może wykorzystać odległość dokumentów obliczaną np. zgodnie ze wzorem (4). 440 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery 3.2 Grupowanie algorytmem ROCK w W przypadku bitowego kodowania dokumentu XML uzasadnione jest traktowanie dokumentu XML o pewnej strukturze jako obiektu danych opisanego nie w sposób numeryczny, lecz przy pomocy kategorii. Przedstawione wcześniej algorytmy grupowania nie operują na danych o atrybutach opisanych przez kategorie. Dane o takim charakterze mogą być grupowane stosując algorytm o nazwie ROCK zaproponowany w [5]. Algorytm ROCK działa podobnie do algorytmów hierarchicznych scalających traktując początkowo każdy analizowany obiekt danych jako osobną grupę. W procesie grupowania, do wyznaczenia grup, które mają zostać połączone, wykorzystuje on jednak nie odległość między grupami, lecz liczbę wspólnych sąsiadów wyznaczoną dla każdej pary grup. Dwa obiekty danych są sąsiadami, jeżeli ich podobieństwo jest większe od ustalonego progu θ. Inicjalizacja algorytmu polega na wyznaczeniu listy wspólnych sąsiadów dla każdej pary grupowanych obiektów danych. W każdym kroku algorytmu łączone są dwie grupy, dla których największą wartość przyjmuje miara dobroci wyznaczana zgodnie ze wzorem: w w g (Ci , Ci ) = (n i + nj ) link (Ci , Ci ) 1+ 2 f (γ ) − ni 1+ 2 f (γ ) − nj 1+ 2 f (γ ) (5) da .b gdzie link(Ci,Cj) jest liczbą wspólnych sąsiadów dla grup Ci oraz Cj, ni jest liczbą dokumentów tworzących grupę Ci. Mianownik przedstawionego wyrażenia jest heurystycznym oszacowaniem spodziewanej liczby wspólnych sąsiadów dla rozważanych grup. Funkcja f(γ) ma postać: f (γ ) = 1− γ 1+ γ (6) gdzie γ jest dobieranym przez użytkownika parametrem. Normalizacja w przedstawionym wzorze ma na celu zapobieganie niezrównoważonemu scalaniu grup. 4 Wyniki pl s. Algorytm S-GRACE został zaimplementowany w języku XQuery [15], [16], [17] w środowisku bazy danych XML X-Hive [13]. Testy działania algorytmu zostały przeprowadzone na dwóch zbiorach danych: SIGMOD oraz RSS. Zbiór danych SIGMOD, analogiczny do zbioru, na który powoływali się autorzy metody S-GRACE [10], tworzyło 55 dokumentów XML zawierających dane artykułów, prac magisterskich i doktorskich, stron WWW i publikacji (ang. proceedings, inproceedings). Algorytm utworzył 20 wektorów cech analizowanych dokumentów XML. Dwa wektory cech zostały uznane za wartości skrajne, ponieważ nie posiadały wspólnych sąsiadów z innymi wektorami. Pozostałe wektory cech zostały prawidłowo rozdzielone na cztery grupy zawierające artykuły, prace magisterskie, prace doktorskie, publikacje (proceedings). Cechą charakterystyczną analizowanych dokumentów ze zbioru SIGMOD jest fakt, że zbiory par węzłów tworzone dla poszczególnych grup danych (np. artykułów i prac doktorskich) są rozłączne. Poprawny wynik grupowania należy w takim przypadku uznać za warunek konieczny, lecz niewystarczający dla zaakceptowania analizowanego algorytmu. 441 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Kozielski Zbiór danych RSS tworzyło 39 dokumentów XML. RSS jest językiem znaczników wykorzystywanym do opisu krótkich wiadomości (ang. news) publikowanych przez portale internetowe. Algorytm utworzył 14 wektorów cech analizowanych dokumentów XML. Intuicyjnie można pogrupować otrzymane wektory cech w sposób przedstawiony na rys. 2. a) lub b). w da .b w w a) b) Rys. 2. Intuicyjnie utworzone grupy wektorów cech dokumentów XML ze zbioru RSS pl s. Wyniki grupowania algorytmem ROCK zależą od dwóch parametrów θ i γ. Proces grupowania został powtórzony wielokrotnie dla różnych wartości parametrów θ i γ w celu wyznaczenia zależności wyników grupowania od tych wartości. Do porównania wyników wykorzystany został parametr IS zaproponowany w [10] określający średnie podobieństwo między parami utworzonych grup. Im mniejsza wartość parametru IS tym wyżej należy ocenić rezultat grupowania. W przeprowadzonych testach parametr γ nie wpływał w sposób znaczący na otrzymywane wyniki. Zależność jakości grupowania od wartości parametru θ przedstawiona jest na rys. 3. 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0,4 0,5 0,6 0,7 0,8 Wartość parametru theta Rys. 3. Zależność wartości parametru jakości grup IS od parametru θ, dla γ=0,7 442 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery Z przedstawionego wykresu wynika, że najlepszy efekt grupowania został otrzymany dla wartości θ=0.6. Ilustracja otrzymanego podziału na grupy dla wartości θ=0.6 została przedstawiona na rys. 4. w w w da .b Rys. 4. Rezultat podziału na grupy dla wartości θ=0,6, γ=0,7 Jak widać na powyższym rysunku otrzymany podział jest bardzo niezrównoważony i odbiega od oczekiwań przedstawionych na rys. 2. Porównanie wartości parametru IS dla rezultatów grupowania przedstawionych na rys. 3. z wartościami wyznaczonymi dla podziału intuicyjnego zostało przedstawione na rys. 5. 0,7 0,6 0,5 0,4 0,3 0,1 0 0,4 0,5 0,6 0,7 pl s. 0,2 Rys. 5. Porównanie wartości parametru jakości grup IS dla wyników algorytmu grupowania (kolor ciemniejszy) z wartościami wyznaczonymi dla grupowania intuicyjnego Przedstawione porównanie nie wskazuje na znaczące różnice w rezultatach grupowania, które w rzeczywistości istnieją. Porównanie zostało więc powtórzone z wykorzystaniem innego parametru jakości tworzonych grup. Nowy parametr, oznaczony jako ISIS, jest wyznaczany jako stosunek średniego podobieństwa par utworzonych grup do średniego podobieństwa wektorów wewnątrz grup. Im mniejsza wartość parametru ISIS tym wyżej należy ocenić rezultat grupowania. Porównanie z rys. 5. powtórzone dla wartości parametru ISIS przedstawione zostało na rys. 6. 443 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 M. Kozielski w w Rys. 6. Porównanie wartości parametru jakości grup ISIS dla wyników algorytmu grupowania (kolor ciemniejszy) z wartościami wyznaczonymi dla grupowania intuicyjnego w 5 Wnioski da .b Rezultaty przeprowadzonych badań pokazują, że zaimplementowana metoda grupowania dokumentów XML względem ich struktury nie daje satysfakcjonujących rezultatów dla wszystkich zbiorów analizowanych danych. Ponadto, zastosowany początkowo parametr oceny jakości grup IS wydaje się być zbyt mało ekspresyjny, by można było w oparciu o jego wartości dokonywać doboru parametrów algorytmu. Zastosowanie innego parametru oceny jakości grupowania, np. ISIS powinno pozwolić na lepsze sterowanie procesem grupowania. Wykonana implementacja pozwala również na ocenę języka XQuery jako narzędzia do analizy struktury dokumentów XML. Język ten nie spełnił pokładanych w nim nadziei, jego użycie do grupowania dokumentu XML względem ich struktury nie było wygodne, a brak definicji funkcji realizujących operacje matematyczne (np. potęgowanie) w znaczący sposób ogranicza jego wykorzystanie do implementacji przedstawionych algorytmów. Również warunki analizy rozbudowanego kodu, pomimo wykorzystania środowiska komercyjnej bazy danych, nie były niestety łatwe. 1. 2. 3. 4. 5. 6. pl s. Literatura Barbara D., Couto J., Li Y., COOLCAT: An entropy-based algorithm for categorical clustering, CIKM’02, McLean, USA, ACM, 2002. Dalamagas T., et al., Clustering XML Documents using Structural Summaries EDBT Workshop on Clustering Information over the Web (ClustWeb04), Heraklion, Greece, 2004. Duszeńko A., Kozielski M., w: Bazy danych XML, Bazy danych: Modele, technologie, narzędzia, WKŁ, Warszawa, 2005. Flesca S. et al., Fast Detection of XML Structural Similarity, IEEE Transactions on Knowledge and Data Engineering, Vol. 17, No. 2, February 2004. Guha S., Rastogi R., Shim K., ROCK: A Robust Clustering Algorithm for Categorical Attributes, 15th International Conference on Data Engineering (ICDE'99), 1999. Han J., Kamber M., Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers, Academic Press, San Francisco, 2001. 444 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 Grupowanie dokumentów XML ze względu na ich strukturę, z wykorzystaniem XQuery 7. 8. 9. 10. w 11. Hand D., Mannila H., Smyth P., Eksploracja danych, WNT, Warszawa, 2005. Jabłoński B., Zakrzewicz M., Ocena podobieństwa dokumentów XML, I Krajowa Konferencja Naukowa Technologie Przetwarzania Danych, Poznań, 2005. Jain A. K., Murty M. N., Flynn P. J., Data Clutering: A review, ACM Computing Surveys, Vol. 31, No. 3, September, 1999. Lian W. et al., An Efficient and Scalable Algorithm for Clustering XML Documents by Structure, IEEE Transactions on Knowledge and Data Engineering, Vol. 16, No. 1, January 2004. Nierman A., Jagadish H. V., Evaluating Structural Similarity in XML Documents, Fifth International Workshop on the Web and Databases (WebDB 2002), Madison, Wisconsin - June 6-7, 2002 http://www.eecs.umich.edu/~andrewdn/papers/webdb2002.pdf, 2002. Vakali A., Catania B., Maddalena A., XML Data Stores: Emerging Practices, IEEE Internet Computing, March – April, 2005. X-Hive Corporation B.V.: X-Hive/DB 6.1 – Manual, release 6.1.0 - Oct 18 2004. XML Core Working Group: Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation 04 February 2004, http://www.w3.org/TR/2004/REC-xml-20040204 (04.02.2004). XML Query Working Group and XSL Working Group: XQuery 1.0: An XML Query Language, W3C Working Draft 15 September 2005, http://www.w3.org/TR/2005/WD-xquery-20050915/ (05.10.2005). XML Query Working Group and XSL Working Group: XQuery 1.0 and XPath 2.0 Data Model, W3C Working Draft 29 October 2004, http://www.w3.org/TR/2004/WD-xpath-datamodel20041029/ (29.10.2004). XML Query Working Group and XSL Working Group: XQuery 1.0 and XPath 2.0 Functions and Operators, W3C Working Draft 15 September 2005, http://www.w3.org/TR/2005/WDxpath-functions-20050915/, (05.10.2005). Yoon J.P., Raghavan V., Chakilam V., Bitmap Indexing-based Clustering and Retrieval of XML Documents, Proceedings of ACM SIGIR Workshop on Mathematical/Formal Methods in Information Retrieval, New Orleans, LA, Sept. 2001. 12. 15. 16. 18. da .b 17. w w 13. 14. pl s. 445 (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006 Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006 w da .b w w pl s. (c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006