RMonto: ontologiczne rozszerzenie dla RapidMiner

- autor: tsissput

Wprowadzenie

Historia systemów do eksploracji danych zaczyna się wraz z tzw. systemami pierwszej generacji, które wspierały tylko dane w postaci tabeli atrybut-wartość i wspierały niewielki zakres algorytmów. Przykładowym rozwiązaniem tego typu jest Statistica Neural Networks, obecnie już dość wiekowe oprogramowanie umożliwiające przetwarzanie danych tabularycznych z wykorzystaniem różnych rodzajów sieci neuronowych. Systemy drugiej generacji, takie jak np. Weka, rozwiązują dodatkowo problemy związane ze skalowalnością, umożliwiające wykorzystywanie języków zapytań i dostęp do hurtowni danych. Zadanie, które stoi przed systemami trzeciej generacji, to rozwiązanie problemu umożliwienia dostępu do różnorodnych źródeł danych przy jednoczesnym zapewnieniu wygody w używaniu oprogramowania. RapidMiner stara się zapewnić użytkownikom możliwie wygodny interfejs, jednak nadal wspiera wyłącznie dane w postaci atrybut-wartość. W celu rozszerzenia możliwości RapidMiner i umożliwienia mu wykorzystywania danych w postaci strukturalnej, w szczególności danych z informacjami semantycznymi, zapisanych w postaci RDF, stworzono RMonto.

Powiązane prace

Dotychczasowe działania w dziedzinie stworzenia narzędzi do uczenia maszynowego z danymi semantycznymi zaowocowało stworzeniem kilku narzędzi i propozycji standardów, które jednak nie są tak rozbudowane jak RMonto. Prawdopodobnie najważniejszą pozycją jest DL-Learner, narzędzie służące do odkrywania reguł decyzyjnych dotyczących ontologicznych baz wiedzy. Umożliwia on odkrywanie reguł zapisanych w języku ALC na podstawie danej listy przykładów pozytywnych i negatywnych, będących identyfikatorami zasobów w bazie wiedzy.

Narzędziem, również będącym ontologicznym rozszerzeniem dla RapidMiner, jest rapidminer-semweb. Umożliwia on transformację grafu RDF na postać tabeli atrybut-wartość przez konstrukcję odpowiednich cech oraz wizualizację tej transformacji. Niestety, nie umożliwia on bezpośredniego wykorzystania bazy wiedzy, bez kroku transformacji.

Zaproponowano również rozszerzenie języka SPARQL, nazywające się SPARQL-ML. Ma ono na celu rozszerzenie języka SPARQL o wsparcie dla algorytmów uczenia maszynowego i w efekcie rozszerzenia możliwego zbioru wyników o np. model grupujący wyniki.

Założenia projektowe

Projekt takiego systemu musi uwzględniać kilka niezwykle ważnych cech. Przede wszystkim trzeba zauważyć, że obecnie nie istnieje jeden słuszny system wnioskujący. Wśród nich dominują dwa nurty:

  • Oparty na metodzie tableau, zapewniający wyciągnięcie wszystkich możliwych wniosków, jednak kosztem bardzo wysokiej złożoności obliczeniowej. Przykładem takiego systemu jest Pellet.
  • Oparty na regułach, generalnie prowadzący do wnioskowania przybliżonego i niekompletnego, jednak zapewniający wysoką wydajność wnioskowania. Przykładowym takim systemem jest OWLim.
Drugim ważnym spostrzeżeniem jest fakt, że również w dziedzinie przechowywania danych istnieje duża różnorodność. Nie dość, że występuje wiele formatów plików (np. RDF/XML, N3, Turtle), to dane mogą być również pobierane bezpośrednio z końcówki SPARQL za pomocą zapytania typu CONSTRUCT. Dodatkowo użytkownik może posiadać część danych w bazie danych bądź pliku tekstowym, zapisane po prostu jako kolejne trójki RDF.
Problem różnorodności systemów wnioskujących został rozwiązany przez zapewnienie modułowej budowy. Wszystkie implementacje interfejsów do systemów wnioskujących implementują wspólny zbiór interfejsów, nazwany PutOntoAPI. Z kolei implementacje algorytmów i operatory RapidMiner mogą wykorzystywać systemy wnioskujące wyłącznie przez wspomniane API. Umożliwia to łatwą wymianę wtyczek, zapewnia wybór użytkownikowi oraz możliwość samodzielnego rozszerzania. Z rozmysłem nie zastosowano tutaj OSGi, by nie wprowadzać dodatkowej skomplikowanej biblioteki do systemu.
Drugie wymaganie, dotyczące różnorodności źródeł danych, na szczęście daje się łatwo rozwiązać, gdyż systemy wnioskujące generalnie wspierają wczytywanie danych z różnych formatów, a RapidMiner posiada dobre wsparcie dla wczytywania danych z plików i baz danych.

Możliwości

RMonto skonstruowane jest w formie kilkunastu operatorów, podzielonych w zależności od funkcjonalności na wiele grup, dostępnych w drzewie operatorów w RapidMiner. Poniższy opis jest podzielony zgodnie z tymi grupami.

  • Loading Zawiera trzy operatory: Load from file, Load from SPARQL endpoint oraz Build knowledge base. Pierwsze dwa działają na zasadzie wykonania zwrotnego i służą zdefiniowaniu parametrów operacji, która jest wykonywana w kontekście bazy wiedzy definiowanej przez ostatni z nich. Load from file  wspiera ładowanie danych z dowolnej lokacji dostępnej za pomocą standardowych metod dostępu do plików (a więc plików lokalnych oraz dostępnych w zasobach sieciowych), zapisanych w formatach RDF/XML, Turtle, N3, N-Triple. Load from SPARQL endpoint umożliwia ściąganie grafów RDF bezpośrednio z końcówek SPARQL przy wykorzystaniu zapytań typu CONSTRUCT.
  • ABox Operatory SPARQL selector oraz ABox extractor umożliwiają pobranie z bazy wiedzy listy występujących tam indywiduuów. Pierwszy z nich umożliwia to poprzez zapytanie SPARQL SELECT oraz wskazanie nazwy zmiennej z tego zapytania, zawierającej
  • TBox Zawiera dwa operatory, służące konstrukcji cech na potrzeby jednej z miar podobieństwa, Epistemic kernel. Oba dostarczają wyników w postaci tabeli zawierającej opisy klas zgodnie ze składnią Manchester. Pierwszy z nich, All known classes zwraca listę wszystkich nazwanych klas występujących w bazie wiedzy, natomiast drugi, Feature selector umożliwia ręczną konstrukcję cech przez łączenie nazwanych klas zgodnie z wyżej wskazaną składnią. Jego zaletą jest dostarczenie edytora wspierającego tworzenie tych cech przez odpowiednie kolorowanie składni.
  • Kernels W tej grupie znajdują się operatory umożliwiające budowanie macierzy niepodobieństwa dla wybranej grupy indywiduuów. Wszystkie z nich jako parametry wejściowe przyjmują listę indywiduuów (o długości n, pochodzącą np. z operatorów z grupy ABox bądź z pliku czy bazy danych) oraz bazę wiedzy. Na wyjściu znajduje się macierz typu n*n, będąca macierzą Grama dla danego zbioru indywiduuów. Aktualnie dostarczane są trzy operatory: Identity uwzględniający jedynie równoważność indywiduuów, Common classes opierający się na liczbie wspólnych nazwanych klas oraz Epistemic kernel, wykorzystujący zbiór cech, skonstruowany np. przy pomocy operatorów z TBox bądź wczytanych z pliku.
  • Clustering Aglomerative hierarchical clustering oraz Semantical k-Medoids wykorzystują macierze niepodobieństwa (uzyskane np. przez zastosowanie operatorów z poprzedniego punktu) oraz informacje z bazy wiedzy w celu wykonania grupowania. Pierwszy z nich buduje hierarchię opisanych grup, natomiast drugi buduje jeden poziom grup i opisuje je zgodnie z elementami centralnymi tych grup.
  • Pattern mining Fr-Ont-Qu  służy do wyszukiwania w bazie wiedzy wzorców, wyrażonych jako wzorce SPARQL, zgodnie ze wskazaną miarą podobieństwa. Wykorzystując miarę nienadzorowaną Support on KB uzyskuje się operator odkrywający częste wzorce, natomiast wykorzystując miary nadzorowane (np. Info gain), w wyniku otrzymuje się wzorce rozróżniające przykłady pozytywne od negatywnych.
  • Data transformation Operatory Propositionalisation oraz Add label from KB służą do transformacji danych uzyskanych z innych operatorów. Pierwszy z nich pozwala przetransformować bazę wiedzy z postaci grafu na postać binarnej tabeli. Oczywiście, jest to transformacja stratna. Wejściem dla tego operatora jest indywiduuów, które mają stanowić kolejne obiekty w uzyskanej tabeli oraz lista wzorców odkrytych przez Fr-Ont-Qu (bądź uzyskanych z innego źródła), stanowiąca listę atrybutów. Tak przetransformowane dane mogą później posłużyć jako wejście dla normalnych algorytmów uczenia maszynowego, np. indukcji drzew decyzyjnych. Operatorem o technicznym znaczeniu jest Add label from KB, który pozwala rozszerzyć listę indywiduuów o odpowiadające im wartości wskazanej cechy z bazy wiedzy.

Dalsze informacje

Powyższy wpis powstał w oparciu o artykuł „RMonto – towards KDD workflows for ontology-based data mining” (J. Potoniec, A. Ławrynowicz), dostępny w ramach materiałów z warsztatu PlanSoKD2011 i tam też można szukać dalszych informacji. Dodatkowe informacje dostępne są również na oficjalnej stronie projektu http://semantic.cs.put.poznan.pl/RMonto/, gdzie można znaleźć między innymi tutoriale wideo dotyczące sztandarowych zadań możliwych do wykonania z wykorzystaniem RMonto.

Autor: Jędrzej Potoniec (84868)

Advertisements

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: